feat: add JSONPathExtractor tool (#5052)

* feat: add JSONPathExtractor tool with lodash-based path extraction

  - Implement JSONPathExtractor tool for extracting values from JSON using path notation
  - Use lodash.get for robust path extraction supporting edge cases (numeric string keys, array indexing)
  - Add configurable error handling with returnNullOnError parameter
  - Include comprehensive test suite with 34 tests covering all scenarios
  - Support JSON strings, objects, and arrays as input

* fix lint

* Update pnpm-lock.yaml

* fix: exclude test files from TypeScript compilation

Prevents test files from being included in the dist folder which was causing
"jest is not defined" errors during server startup.

---------

Co-authored-by: Henry Heng <henryheng@flowiseai.com>
This commit is contained in:
anatolii burtsev
2025-08-18 02:55:58 -07:00
committed by GitHub
parent 4ce0851858
commit b126472816
7 changed files with 39438 additions and 38833 deletions
+7 -1
View File
@@ -8,7 +8,10 @@
"build": "tsc && gulp",
"lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
"clean": "rimraf dist",
"nuke": "rimraf dist node_modules .turbo"
"nuke": "rimraf dist node_modules .turbo",
"test": "jest",
"test:watch": "jest --watch",
"test:coverage": "jest --coverage"
},
"keywords": [],
"homepage": "https://flowiseai.com",
@@ -150,6 +153,7 @@
"@swc/core": "^1.3.99",
"@types/crypto-js": "^4.1.1",
"@types/gulp": "4.0.9",
"@types/jest": "^29.5.14",
"@types/lodash": "^4.17.20",
"@types/node-fetch": "2.6.2",
"@types/object-hash": "^3.0.2",
@@ -157,7 +161,9 @@
"@types/pg": "^8.10.2",
"@types/ws": "^8.5.3",
"gulp": "^4.0.2",
"jest": "^29.7.0",
"rimraf": "^5.0.5",
"ts-jest": "^29.3.2",
"tsc-watch": "^6.0.4",
"tslib": "^2.6.2",
"typescript": "^5.4.5"