@nocobase/plugin-ai 2.0.60 → 2.0.61
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/externalVersion.js +16 -16
- package/dist/node_modules/@langchain/xai/package.json +1 -1
- package/dist/node_modules/fast-glob/package.json +1 -1
- package/dist/node_modules/flexsearch/package.json +1 -1
- package/dist/node_modules/fs-extra/package.json +1 -1
- package/dist/node_modules/nodejs-snowflake/package.json +1 -1
- package/dist/node_modules/openai/package.json +1 -1
- package/dist/node_modules/zod/package.json +1 -1
- package/dist/server/llm-providers/anthropic.js +17 -23
- package/dist/server/llm-providers/dashscope.js +3 -3
- package/dist/server/llm-providers/deepseek.js +2 -2
- package/dist/server/llm-providers/google-genai.js +17 -22
- package/dist/server/llm-providers/kimi/provider.js +4 -4
- package/dist/server/llm-providers/mimo.js +2 -2
- package/dist/server/llm-providers/ollama.js +14 -21
- package/dist/server/llm-providers/openai/completions.js +2 -2
- package/dist/server/llm-providers/openai/embedding.js +1 -1
- package/dist/server/llm-providers/openai/responses.js +2 -2
- package/dist/server/llm-providers/provider.d.ts +3 -1
- package/dist/server/llm-providers/provider.js +49 -15
- package/dist/server/llm-providers/xai.js +2 -2
- package/package.json +2 -2
package/dist/externalVersion.js
CHANGED
|
@@ -8,20 +8,20 @@
|
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
module.exports = {
|
|
11
|
-
"@nocobase/plugin-acl": "2.0.
|
|
12
|
-
"@nocobase/plugin-workflow": "2.0.
|
|
13
|
-
"@nocobase/client": "2.0.
|
|
14
|
-
"@nocobase/utils": "2.0.
|
|
15
|
-
"@nocobase/database": "2.0.
|
|
16
|
-
"@nocobase/server": "2.0.
|
|
17
|
-
"@nocobase/plugin-file-manager": "2.0.
|
|
18
|
-
"@nocobase/actions": "2.0.
|
|
19
|
-
"@nocobase/ai": "2.0.
|
|
11
|
+
"@nocobase/plugin-acl": "2.0.61",
|
|
12
|
+
"@nocobase/plugin-workflow": "2.0.61",
|
|
13
|
+
"@nocobase/client": "2.0.61",
|
|
14
|
+
"@nocobase/utils": "2.0.61",
|
|
15
|
+
"@nocobase/database": "2.0.61",
|
|
16
|
+
"@nocobase/server": "2.0.61",
|
|
17
|
+
"@nocobase/plugin-file-manager": "2.0.61",
|
|
18
|
+
"@nocobase/actions": "2.0.61",
|
|
19
|
+
"@nocobase/ai": "2.0.61",
|
|
20
20
|
"react": "18.2.0",
|
|
21
21
|
"antd": "5.24.2",
|
|
22
22
|
"@formily/core": "2.3.7",
|
|
23
23
|
"@formily/react": "2.3.7",
|
|
24
|
-
"@nocobase/flow-engine": "2.0.
|
|
24
|
+
"@nocobase/flow-engine": "2.0.61",
|
|
25
25
|
"@ant-design/icons": "5.6.1",
|
|
26
26
|
"@formily/antd-v5": "1.2.3",
|
|
27
27
|
"react-router-dom": "6.30.1",
|
|
@@ -31,19 +31,19 @@ module.exports = {
|
|
|
31
31
|
"@langchain/core": "1.1.48",
|
|
32
32
|
"langchain": "1.2.39",
|
|
33
33
|
"@langchain/langgraph": "1.1.5",
|
|
34
|
-
"@nocobase/cache": "2.0.
|
|
34
|
+
"@nocobase/cache": "2.0.61",
|
|
35
35
|
"@langchain/anthropic": "1.3.17",
|
|
36
|
-
"axios": "1.7.7",
|
|
37
36
|
"@langchain/openai": "1.2.7",
|
|
38
37
|
"@langchain/deepseek": "1.0.11",
|
|
39
38
|
"@langchain/google-genai": "2.1.18",
|
|
40
39
|
"@langchain/ollama": "1.2.7",
|
|
41
|
-
"@nocobase/acl": "2.0.
|
|
42
|
-
"@nocobase/resourcer": "2.0.
|
|
40
|
+
"@nocobase/acl": "2.0.61",
|
|
41
|
+
"@nocobase/resourcer": "2.0.61",
|
|
43
42
|
"@emotion/css": "11.13.0",
|
|
44
43
|
"react-i18next": "11.18.6",
|
|
45
|
-
"@nocobase/plugin-data-source-manager": "2.0.
|
|
44
|
+
"@nocobase/plugin-data-source-manager": "2.0.61",
|
|
46
45
|
"ahooks": "3.7.8",
|
|
47
46
|
"@langchain/langgraph-checkpoint": "1.0.0",
|
|
48
|
-
"@nocobase/data-source-manager": "2.0.
|
|
47
|
+
"@nocobase/data-source-manager": "2.0.61",
|
|
48
|
+
"axios": "1.7.7"
|
|
49
49
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@langchain/xai","version":"1.3.3","description":"xAI integration for LangChain.js","author":"LangChain","license":"MIT","type":"module","engines":{"node":">=20"},"repository":{"type":"git","url":"git@github.com:langchain-ai/langchainjs.git"},"homepage":"https://github.com/langchain-ai/langchainjs/tree/main/libs/langchain-xai/","dependencies":{"@langchain/openai":"1.2.7"},"peerDependencies":{"@langchain/core":"^1.0.0"},"devDependencies":{"@tsconfig/recommended":"^1.0.3","@types/uuid":"^9","@vitest/coverage-v8":"^3.2.4","dotenv":"^16.3.1","dpdm":"^3.14.0","eslint":"^9.34.0","prettier":"^3.5.0","typescript":"~5.8.3","vitest":"^3.2.4","zod":"^3.25.76","@langchain/core":"^1.1.21","@langchain/eslint":"0.1.1","@langchain/openai":"^1.2.7","@langchain/tsconfig":"0.0.1","@langchain/standard-tests":"0.0.23"},"publishConfig":{"access":"public"},"main":"./dist/index.cjs","types":"./dist/index.d.cts","exports":{".":{"input":"./src/index.ts","require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"},"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"./package.json":"./package.json"},"files":["dist/","CHANGELOG.md","README.md","LICENSE"],"module":"./dist/index.js","scripts":{"build":"turbo build:compile --filter @langchain/xai --output-logs new-only","build:compile":"tsdown","lint:eslint":"eslint --cache src/","lint:dpdm":"dpdm --skip-dynamic-imports circular --exit-code circular:1 --no-warning --no-tree src/*.ts src/**/*.ts","lint":"pnpm lint:eslint && pnpm lint:dpdm","lint:fix":"pnpm lint:eslint --fix && pnpm lint:dpdm","clean":"rm -rf .turbo dist/","test":"vitest run","test:watch":"vitest --watch","test:int":"vitest --mode int","test:standard:unit":"vitest --mode standard-unit","test:standard:int":"vitest --mode standard-int","test:standard":"pnpm test:standard:unit && pnpm test:standard:int","format":"prettier --write \"src\"","format:check":"prettier --check \"src\"","typegen":"pnpm run typegen:profiles","typegen:profiles":"pnpm --filter @langchain/model-profiles make --config profiles.toml"},"_lastModified":"2026-
|
|
1
|
+
{"name":"@langchain/xai","version":"1.3.3","description":"xAI integration for LangChain.js","author":"LangChain","license":"MIT","type":"module","engines":{"node":">=20"},"repository":{"type":"git","url":"git@github.com:langchain-ai/langchainjs.git"},"homepage":"https://github.com/langchain-ai/langchainjs/tree/main/libs/langchain-xai/","dependencies":{"@langchain/openai":"1.2.7"},"peerDependencies":{"@langchain/core":"^1.0.0"},"devDependencies":{"@tsconfig/recommended":"^1.0.3","@types/uuid":"^9","@vitest/coverage-v8":"^3.2.4","dotenv":"^16.3.1","dpdm":"^3.14.0","eslint":"^9.34.0","prettier":"^3.5.0","typescript":"~5.8.3","vitest":"^3.2.4","zod":"^3.25.76","@langchain/core":"^1.1.21","@langchain/eslint":"0.1.1","@langchain/openai":"^1.2.7","@langchain/tsconfig":"0.0.1","@langchain/standard-tests":"0.0.23"},"publishConfig":{"access":"public"},"main":"./dist/index.cjs","types":"./dist/index.d.cts","exports":{".":{"input":"./src/index.ts","require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"},"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"./package.json":"./package.json"},"files":["dist/","CHANGELOG.md","README.md","LICENSE"],"module":"./dist/index.js","scripts":{"build":"turbo build:compile --filter @langchain/xai --output-logs new-only","build:compile":"tsdown","lint:eslint":"eslint --cache src/","lint:dpdm":"dpdm --skip-dynamic-imports circular --exit-code circular:1 --no-warning --no-tree src/*.ts src/**/*.ts","lint":"pnpm lint:eslint && pnpm lint:dpdm","lint:fix":"pnpm lint:eslint --fix && pnpm lint:dpdm","clean":"rm -rf .turbo dist/","test":"vitest run","test:watch":"vitest --watch","test:int":"vitest --mode int","test:standard:unit":"vitest --mode standard-unit","test:standard:int":"vitest --mode standard-int","test:standard":"pnpm test:standard:unit && pnpm test:standard:int","format":"prettier --write \"src\"","format:check":"prettier --check \"src\"","typegen":"pnpm run typegen:profiles","typegen:profiles":"pnpm --filter @langchain/model-profiles make --config profiles.toml"},"_lastModified":"2026-06-03T12:39:03.004Z"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"fast-glob","version":"3.3.2","description":"It's a very fast and efficient glob library for Node.js","license":"MIT","repository":"mrmlnc/fast-glob","author":{"name":"Denis Malinochkin","url":"https://mrmlnc.com"},"engines":{"node":">=8.6.0"},"main":"out/index.js","typings":"out/index.d.ts","files":["out","!out/{benchmark,tests}","!out/**/*.map","!out/**/*.spec.*"],"keywords":["glob","patterns","fast","implementation"],"devDependencies":{"@nodelib/fs.macchiato":"^1.0.1","@types/glob-parent":"^5.1.0","@types/merge2":"^1.1.4","@types/micromatch":"^4.0.0","@types/mocha":"^5.2.7","@types/node":"^14.18.53","@types/picomatch":"^2.3.0","@types/sinon":"^7.5.0","bencho":"^0.1.1","eslint":"^6.5.1","eslint-config-mrmlnc":"^1.1.0","execa":"^7.1.1","fast-glob":"^3.0.4","fdir":"^6.0.1","glob":"^10.0.0","hereby":"^1.8.1","mocha":"^6.2.1","rimraf":"^5.0.0","sinon":"^7.5.0","snap-shot-it":"^7.9.10","typescript":"^4.9.5"},"dependencies":{"@nodelib/fs.stat":"^2.0.2","@nodelib/fs.walk":"^1.2.3","glob-parent":"^5.1.2","merge2":"^1.3.0","micromatch":"^4.0.4"},"scripts":{"clean":"rimraf out","lint":"eslint \"src/**/*.ts\" --cache","compile":"tsc","test":"mocha \"out/**/*.spec.js\" -s 0","test:e2e":"mocha \"out/**/*.e2e.js\" -s 0","test:e2e:sync":"mocha \"out/**/*.e2e.js\" -s 0 --grep \"\\(sync\\)\"","test:e2e:async":"mocha \"out/**/*.e2e.js\" -s 0 --grep \"\\(async\\)\"","test:e2e:stream":"mocha \"out/**/*.e2e.js\" -s 0 --grep \"\\(stream\\)\"","build":"npm run clean && npm run compile && npm run lint && npm test","watch":"npm run clean && npm run compile -- --sourceMap --watch","bench:async":"npm run bench:product:async && npm run bench:regression:async","bench:stream":"npm run bench:product:stream && npm run bench:regression:stream","bench:sync":"npm run bench:product:sync && npm run bench:regression:sync","bench:product":"npm run bench:product:async && npm run bench:product:sync && npm run bench:product:stream","bench:product:async":"hereby bench:product:async","bench:product:sync":"hereby bench:product:sync","bench:product:stream":"hereby bench:product:stream","bench:regression":"npm run bench:regression:async && npm run bench:regression:sync && npm run bench:regression:stream","bench:regression:async":"hereby bench:regression:async","bench:regression:sync":"hereby bench:regression:sync","bench:regression:stream":"hereby bench:regression:stream"},"_lastModified":"2026-
|
|
1
|
+
{"name":"fast-glob","version":"3.3.2","description":"It's a very fast and efficient glob library for Node.js","license":"MIT","repository":"mrmlnc/fast-glob","author":{"name":"Denis Malinochkin","url":"https://mrmlnc.com"},"engines":{"node":">=8.6.0"},"main":"out/index.js","typings":"out/index.d.ts","files":["out","!out/{benchmark,tests}","!out/**/*.map","!out/**/*.spec.*"],"keywords":["glob","patterns","fast","implementation"],"devDependencies":{"@nodelib/fs.macchiato":"^1.0.1","@types/glob-parent":"^5.1.0","@types/merge2":"^1.1.4","@types/micromatch":"^4.0.0","@types/mocha":"^5.2.7","@types/node":"^14.18.53","@types/picomatch":"^2.3.0","@types/sinon":"^7.5.0","bencho":"^0.1.1","eslint":"^6.5.1","eslint-config-mrmlnc":"^1.1.0","execa":"^7.1.1","fast-glob":"^3.0.4","fdir":"^6.0.1","glob":"^10.0.0","hereby":"^1.8.1","mocha":"^6.2.1","rimraf":"^5.0.0","sinon":"^7.5.0","snap-shot-it":"^7.9.10","typescript":"^4.9.5"},"dependencies":{"@nodelib/fs.stat":"^2.0.2","@nodelib/fs.walk":"^1.2.3","glob-parent":"^5.1.2","merge2":"^1.3.0","micromatch":"^4.0.4"},"scripts":{"clean":"rimraf out","lint":"eslint \"src/**/*.ts\" --cache","compile":"tsc","test":"mocha \"out/**/*.spec.js\" -s 0","test:e2e":"mocha \"out/**/*.e2e.js\" -s 0","test:e2e:sync":"mocha \"out/**/*.e2e.js\" -s 0 --grep \"\\(sync\\)\"","test:e2e:async":"mocha \"out/**/*.e2e.js\" -s 0 --grep \"\\(async\\)\"","test:e2e:stream":"mocha \"out/**/*.e2e.js\" -s 0 --grep \"\\(stream\\)\"","build":"npm run clean && npm run compile && npm run lint && npm test","watch":"npm run clean && npm run compile -- --sourceMap --watch","bench:async":"npm run bench:product:async && npm run bench:regression:async","bench:stream":"npm run bench:product:stream && npm run bench:regression:stream","bench:sync":"npm run bench:product:sync && npm run bench:regression:sync","bench:product":"npm run bench:product:async && npm run bench:product:sync && npm run bench:product:stream","bench:product:async":"hereby bench:product:async","bench:product:sync":"hereby bench:product:sync","bench:product:stream":"hereby bench:product:stream","bench:regression":"npm run bench:regression:async && npm run bench:regression:sync && npm run bench:regression:stream","bench:regression:async":"hereby bench:regression:async","bench:regression:sync":"hereby bench:regression:sync","bench:regression:stream":"hereby bench:regression:stream"},"_lastModified":"2026-06-03T12:39:03.833Z"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"public":true,"preferGlobal":false,"name":"flexsearch","version":"0.8.212","description":"Next-Generation full-text search library for Browser and Node.js","homepage":"https://github.com/nextapps-de/flexsearch/","author":"Thomas Wilkerling","copyright":"Nextapps GmbH","license":"Apache-2.0","readme":"README.md","keywords":["fulltext search","elastic search","fastest search","contextual search","document search","fuzzy search","fuzzy match","search engine"],"repository":{"type":"git","url":"https://github.com/nextapps-de/flexsearch.git"},"bugs":{"url":"https://github.com/nextapps-de/flexsearch/issues","email":"info@nextapps.de"},"main":"dist/flexsearch.bundle.min.js","module":"dist/flexsearch.bundle.module.min.mjs","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","import":"./dist/flexsearch.bundle.module.min.mjs","require":"./dist/flexsearch.bundle.min.js"},"./lang/*":{"import":"./dist/module/lang/*.js","require":"./dist/lang/*.min.js"},"./db/*":{"import":"./dist/module/db/*/index.js","require":"./dist/db/*/index.cjs"},"./debug":{"import":"./dist/flexsearch.bundle.module.debug.mjs","require":"./dist/flexsearch.bundle.debug.js"}},"browser":{"flexsearch":"./dist/flexsearch.bundle.module.min.mjs","flexsearch/debug":"./dist/flexsearch.bundle.module.debug.mjs","dist/flexsearch.bundle.min.js":"./dist/flexsearch.bundle.min.js","dist/flexsearch.bundle.module.min.js":"./dist/flexsearch.bundle.module.min.mjs","dist/flexsearch.bundle.module.min.mjs":"./dist/flexsearch.bundle.module.min.mjs","worker_threads":false,"path":false,"clickhouse":false,"mongodb":false,"pg-promise":false,"redis":false,"sqlite3":false},"scripts":{"build":"npm run build:bundle && npm run build:bundle:debug && exit 0","build:bundle":"node task/build RELEASE=bundle DEBUG=false PROFILER=false SUPPORT_WORKER=true SUPPORT_ENCODER=true SUPPORT_CHARSET=true SUPPORT_CACHE=true SUPPORT_ASYNC=true SUPPORT_STORE=true SUPPORT_TAGS=true SUPPORT_SUGGESTION=true SUPPORT_SERIALIZE=true SUPPORT_DOCUMENT=true POLYFILL=false SUPPORT_PERSISTENT=true SUPPORT_RESOLVER=true SUPPORT_HIGHLIGHTING=true SUPPORT_KEYSTORE=true SUPPORT_COMPRESSION=false","build:bundle:debug":"node task/build RELEASE=bundle DEBUG=true PROFILER=false SUPPORT_WORKER=true SUPPORT_ENCODER=true SUPPORT_CHARSET=true SUPPORT_CACHE=true SUPPORT_ASYNC=true SUPPORT_STORE=true SUPPORT_TAGS=true SUPPORT_SUGGESTION=true SUPPORT_SERIALIZE=true SUPPORT_DOCUMENT=true POLYFILL=false SUPPORT_PERSISTENT=true SUPPORT_RESOLVER=true SUPPORT_HIGHLIGHTING=true SUPPORT_KEYSTORE=true SUPPORT_COMPRESSION=false FORMATTING=PRETTY_PRINT","build:compact":"node task/build RELEASE=compact DEBUG=false PROFILER=false SUPPORT_WORKER=false SUPPORT_ENCODER=true SUPPORT_CHARSET=true SUPPORT_CACHE=true SUPPORT_ASYNC=true SUPPORT_STORE=true SUPPORT_TAGS=true SUPPORT_SUGGESTION=true SUPPORT_SERIALIZE=true SUPPORT_DOCUMENT=true POLYFILL=false SUPPORT_PERSISTENT=false SUPPORT_RESOLVER=false SUPPORT_HIGHLIGHTING=true SUPPORT_KEYSTORE=false SUPPORT_COMPRESSION=false","build:compact:debug":"node task/build RELEASE=compact DEBUG=true PROFILER=false SUPPORT_WORKER=false SUPPORT_ENCODER=true SUPPORT_CHARSET=true SUPPORT_CACHE=true SUPPORT_ASYNC=true SUPPORT_STORE=true SUPPORT_TAGS=true SUPPORT_SUGGESTION=true SUPPORT_SERIALIZE=true SUPPORT_DOCUMENT=true POLYFILL=false SUPPORT_PERSISTENT=false SUPPORT_RESOLVER=false SUPPORT_HIGHLIGHTING=true SUPPORT_KEYSTORE=false SUPPORT_COMPRESSION=false FORMATTING=PRETTY_PRINT","build:light":"node task/build RELEASE=light DEBUG=false PROFILER=false SUPPORT_WORKER=false SUPPORT_ENCODER=true SUPPORT_CHARSET=false SUPPORT_CACHE=false SUPPORT_ASYNC=false SUPPORT_STORE=false SUPPORT_TAGS=false SUPPORT_SUGGESTION=true SUPPORT_SERIALIZE=false SUPPORT_DOCUMENT=false POLYFILL=false SUPPORT_PERSISTENT=false SUPPORT_RESOLVER=false SUPPORT_HIGHLIGHTING=false SUPPORT_KEYSTORE=false SUPPORT_COMPRESSION=false","build:light:debug":"node task/build RELEASE=light DEBUG=true PROFILER=false SUPPORT_WORKER=false SUPPORT_ENCODER=true SUPPORT_CHARSET=false SUPPORT_CACHE=false SUPPORT_ASYNC=false SUPPORT_STORE=false SUPPORT_TAGS=false SUPPORT_SUGGESTION=true SUPPORT_SERIALIZE=false SUPPORT_DOCUMENT=false POLYFILL=false SUPPORT_PERSISTENT=false SUPPORT_RESOLVER=false SUPPORT_HIGHLIGHTING=false SUPPORT_KEYSTORE=false SUPPORT_COMPRESSION=false FORMATTING=PRETTY_PRINT","build:es5":"node task/build RELEASE=es5 DEBUG=false PROFILER=false SUPPORT_WORKER=true SUPPORT_ENCODER=true SUPPORT_CHARSET=true SUPPORT_CACHE=true SUPPORT_ASYNC=true SUPPORT_STORE=true SUPPORT_TAGS=true SUPPORT_SUGGESTION=true SUPPORT_SERIALIZE=true SUPPORT_DOCUMENT=true POLYFILL=true SUPPORT_PERSISTENT=true SUPPORT_RESOLVER=true SUPPORT_HIGHLIGHTING=true SUPPORT_KEYSTORE=true SUPPORT_COMPRESSION=false LANGUAGE_OUT=ECMASCRIPT5_STRICT","build:es5:debug":"node task/build RELEASE=es5 DEBUG=true PROFILER=false SUPPORT_WORKER=true SUPPORT_ENCODER=true SUPPORT_CHARSET=true SUPPORT_CACHE=true SUPPORT_ASYNC=true SUPPORT_STORE=true SUPPORT_TAGS=true SUPPORT_SUGGESTION=true SUPPORT_SERIALIZE=true SUPPORT_DOCUMENT=true POLYFILL=true SUPPORT_PERSISTENT=true SUPPORT_RESOLVER=true SUPPORT_HIGHLIGHTING=true SUPPORT_KEYSTORE=true SUPPORT_COMPRESSION=false FORMATTING=PRETTY_PRINT LANGUAGE_OUT=ECMASCRIPT5_STRICT","build:lang":"node task/build RELEASE=lang","build:db":"npx rollup tmp/db/indexeddb/index.js --file dist/db/indexeddb/index.cjs --format cjs && npx rollup tmp/db/postgres/index.js --file dist/db/postgres/index.cjs --format cjs && npx rollup tmp/db/sqlite/index.js --file dist/db/sqlite/index.cjs --format cjs && npx rollup tmp/db/mongodb/index.js --file dist/db/mongodb/index.cjs --format cjs && npx rollup tmp/db/redis/index.js --file dist/db/redis/index.cjs --format cjs && npx rollup tmp/db/clickhouse/index.js --file dist/db/clickhouse/index.cjs --format cjs","build:module":"node task/babel && exit 0","build:module:debug":"node task/babel DEBUG=true && exit 0","build:module:min":"node task/babel RELEASE=min && exit 0","build:module:bundle":"node task/build RELEASE=bundle.module DEBUG=false PROFILER=false SUPPORT_WORKER=true SUPPORT_ENCODER=true SUPPORT_CHARSET=true SUPPORT_CACHE=true SUPPORT_ASYNC=true SUPPORT_STORE=true SUPPORT_TAGS=true SUPPORT_SUGGESTION=true SUPPORT_SERIALIZE=true SUPPORT_DOCUMENT=true POLYFILL=false SUPPORT_PERSISTENT=true SUPPORT_RESOLVER=true SUPPORT_HIGHLIGHTING=true SUPPORT_KEYSTORE=true SUPPORT_COMPRESSION=false","build:module:bundle:debug":"node task/build RELEASE=bundle.module DEBUG=true PROFILER=false SUPPORT_WORKER=true SUPPORT_ENCODER=true SUPPORT_CHARSET=true SUPPORT_CACHE=true SUPPORT_ASYNC=true SUPPORT_STORE=true SUPPORT_TAGS=true SUPPORT_SUGGESTION=true SUPPORT_SERIALIZE=true SUPPORT_DOCUMENT=true POLYFILL=false SUPPORT_PERSISTENT=true SUPPORT_RESOLVER=true SUPPORT_HIGHLIGHTING=true SUPPORT_KEYSTORE=true SUPPORT_COMPRESSION=false FORMATTING=PRETTY_PRINT","build:module:compact":"node task/build RELEASE=compact.module DEBUG=false PROFILER=false SUPPORT_WORKER=false SUPPORT_ENCODER=true SUPPORT_CHARSET=true SUPPORT_CACHE=true SUPPORT_ASYNC=true SUPPORT_STORE=true SUPPORT_TAGS=true SUPPORT_SUGGESTION=true SUPPORT_SERIALIZE=true SUPPORT_DOCUMENT=true POLYFILL=false SUPPORT_PERSISTENT=false SUPPORT_RESOLVER=false SUPPORT_HIGHLIGHTING=true SUPPORT_KEYSTORE=false SUPPORT_COMPRESSION=false","build:module:compact:debug":"node task/build RELEASE=compact.module DEBUG=true PROFILER=false SUPPORT_WORKER=false SUPPORT_ENCODER=true SUPPORT_CHARSET=true SUPPORT_CACHE=true SUPPORT_ASYNC=true SUPPORT_STORE=true SUPPORT_TAGS=true SUPPORT_SUGGESTION=true SUPPORT_SERIALIZE=true SUPPORT_DOCUMENT=true POLYFILL=false SUPPORT_PERSISTENT=false SUPPORT_RESOLVER=false SUPPORT_HIGHLIGHTING=true SUPPORT_KEYSTORE=false SUPPORT_COMPRESSION=false FORMATTING=PRETTY_PRINT","build:module:light":"node task/build RELEASE=light.module DEBUG=false PROFILER=false SUPPORT_WORKER=false SUPPORT_ENCODER=true SUPPORT_CHARSET=false SUPPORT_CACHE=false SUPPORT_ASYNC=false SUPPORT_STORE=false SUPPORT_TAGS=false SUPPORT_SUGGESTION=true SUPPORT_SERIALIZE=false SUPPORT_DOCUMENT=false POLYFILL=false SUPPORT_PERSISTENT=false SUPPORT_RESOLVER=false SUPPORT_HIGHLIGHTING=false SUPPORT_KEYSTORE=false SUPPORT_COMPRESSION=false","build:module:light:debug":"node task/build RELEASE=light.module DEBUG=true PROFILER=false SUPPORT_WORKER=false SUPPORT_ENCODER=true SUPPORT_CHARSET=false SUPPORT_CACHE=false SUPPORT_ASYNC=false SUPPORT_STORE=false SUPPORT_TAGS=false SUPPORT_SUGGESTION=true SUPPORT_SERIALIZE=false SUPPORT_DOCUMENT=false POLYFILL=false SUPPORT_PERSISTENT=false SUPPORT_RESOLVER=false SUPPORT_HIGHLIGHTING=false SUPPORT_KEYSTORE=false SUPPORT_COMPRESSION=false FORMATTING=PRETTY_PRINT","build:all":"npm run build:bundle && npm run build:bundle:debug && npm run build:light && npm run build:light:debug && npm run build:compact && npm run build:compact:debug && npm run build:module:bundle && npm run build:module:bundle:debug && npm run build:module:light && npm run build:module:light:debug && npm run build:module:compact && npm run build:module:compact:debug && npm run build:es5 && npm run build:es5:debug && npm run build:lang && npm run build:module && npm run build:module:debug && npm run build:module:min && npm run build:db","build:custom":"node task/build RELEASE=custom","test":"mocha test/*.js --exit","test:coverage":"c8 -c test/.c8rc.json mocha test/*.js --exit","test:keystore":"set NODE_OPTIONS=--max-old-space-size=16000 && c8 -c test/.c8rc.json mocha test/keystore.js --exit","test:db":"c8 -c test/.c8rc.json mocha test/persistent.*.js --exit","test:all":"npx mocha test/*.js --exit module/bundle && npx mocha test/*.js --exit module-debug/bundle && npx mocha test/*.js --exit module-min/bundle && npx mocha test/*.js --exit flexsearch.bundle.debug && npx mocha test/*.js --exit flexsearch.bundle.min && npx mocha test/*.js --exit flexsearch.bundle.module.debug && npx mocha test/*.js --exit flexsearch.bundle.module.min && npx mocha test/*.js --exit flexsearch.compact.debug && npx mocha test/*.js --exit flexsearch.compact.min && npx mocha test/*.js --exit flexsearch.compact.module.debug && npx mocha test/*.js --exit flexsearch.compact.module.min && npx mocha test/*.js --exit flexsearch.es5.debug && npx mocha test/*.js --exit flexsearch.es5.min && npx mocha test/*.js --exit flexsearch.light.debug && npx mocha test/*.js --exit flexsearch.light.min && npx mocha test/*.js --exit flexsearch.light.module.debug && npx mocha test/*.js --exit flexsearch.light.module.min","release":"npm version --no-git-tag-version patch && npm run build:all && npm run test:all"},"files":["dist/**","src/**","task/**","index.d.ts","README.md","CHANGELOG.md","LICENSE"],"devDependencies":{"babel-cli":"^6.26.0","babel-plugin-conditional-compile":"^0.0.5","babel-plugin-minify-constant-folding":"^0.5.0","babel-plugin-minify-dead-code-elimination":"^0.5.2","babel-plugin-minify-flip-comparisons":"^0.4.3","babel-plugin-minify-guarded-expressions":"^0.4.4","babel-plugin-minify-infinity":"^0.4.3","babel-plugin-minify-mangle-names":"^0.5.1","babel-plugin-minify-replace":"^0.5.0","babel-plugin-minify-simplify":"^0.5.1","babel-plugin-minify-type-constructors":"^0.4.3","babel-plugin-transform-member-expression-literals":"^6.9.4","babel-plugin-transform-merge-sibling-variables":"^6.9.5","babel-plugin-transform-minify-booleans":"^6.9.4","babel-plugin-transform-property-literals":"^6.9.4","babel-plugin-transform-simplify-comparison-operators":"^6.9.4","babel-plugin-transform-undefined-to-void":"^6.9.4","c8":"^10.1.3","chai":"^5.2.0","clickhouse":"^2.6.0","google-closure-compiler":"^20250520.0.0","mocha":"^11.1.0","mongodb":"^6.13.0","pg-promise":"^11.13.0","redis":"^5.1.0","rollup":"^4.35.0","sqlite3":"^5.1.7"},"funding":[{"type":"github","url":"https://github.com/ts-thomas"},{"type":"paypal","url":"https://www.paypal.com/donate/?hosted_button_id=GEVR88FC9BWRW"},{"type":"opencollective","url":"https://opencollective.com/flexsearch"},{"type":"patreon","url":"https://patreon.com/user?u=96245532"},{"type":"liberapay","url":"https://liberapay.com/ts-thomas"}],"_lastModified":"2026-05-29T10:17:51.798Z"}
|
|
1
|
+
{"public":true,"preferGlobal":false,"name":"flexsearch","version":"0.8.212","description":"Next-Generation full-text search library for Browser and Node.js","homepage":"https://github.com/nextapps-de/flexsearch/","author":"Thomas Wilkerling","copyright":"Nextapps GmbH","license":"Apache-2.0","readme":"README.md","keywords":["fulltext search","elastic search","fastest search","contextual search","document search","fuzzy search","fuzzy match","search engine"],"repository":{"type":"git","url":"https://github.com/nextapps-de/flexsearch.git"},"bugs":{"url":"https://github.com/nextapps-de/flexsearch/issues","email":"info@nextapps.de"},"main":"dist/flexsearch.bundle.min.js","module":"dist/flexsearch.bundle.module.min.mjs","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","import":"./dist/flexsearch.bundle.module.min.mjs","require":"./dist/flexsearch.bundle.min.js"},"./lang/*":{"import":"./dist/module/lang/*.js","require":"./dist/lang/*.min.js"},"./db/*":{"import":"./dist/module/db/*/index.js","require":"./dist/db/*/index.cjs"},"./debug":{"import":"./dist/flexsearch.bundle.module.debug.mjs","require":"./dist/flexsearch.bundle.debug.js"}},"browser":{"flexsearch":"./dist/flexsearch.bundle.module.min.mjs","flexsearch/debug":"./dist/flexsearch.bundle.module.debug.mjs","dist/flexsearch.bundle.min.js":"./dist/flexsearch.bundle.min.js","dist/flexsearch.bundle.module.min.js":"./dist/flexsearch.bundle.module.min.mjs","dist/flexsearch.bundle.module.min.mjs":"./dist/flexsearch.bundle.module.min.mjs","worker_threads":false,"path":false,"clickhouse":false,"mongodb":false,"pg-promise":false,"redis":false,"sqlite3":false},"scripts":{"build":"npm run build:bundle && npm run build:bundle:debug && exit 0","build:bundle":"node task/build RELEASE=bundle DEBUG=false PROFILER=false SUPPORT_WORKER=true SUPPORT_ENCODER=true SUPPORT_CHARSET=true SUPPORT_CACHE=true SUPPORT_ASYNC=true SUPPORT_STORE=true SUPPORT_TAGS=true SUPPORT_SUGGESTION=true SUPPORT_SERIALIZE=true SUPPORT_DOCUMENT=true POLYFILL=false SUPPORT_PERSISTENT=true SUPPORT_RESOLVER=true SUPPORT_HIGHLIGHTING=true SUPPORT_KEYSTORE=true SUPPORT_COMPRESSION=false","build:bundle:debug":"node task/build RELEASE=bundle DEBUG=true PROFILER=false SUPPORT_WORKER=true SUPPORT_ENCODER=true SUPPORT_CHARSET=true SUPPORT_CACHE=true SUPPORT_ASYNC=true SUPPORT_STORE=true SUPPORT_TAGS=true SUPPORT_SUGGESTION=true SUPPORT_SERIALIZE=true SUPPORT_DOCUMENT=true POLYFILL=false SUPPORT_PERSISTENT=true SUPPORT_RESOLVER=true SUPPORT_HIGHLIGHTING=true SUPPORT_KEYSTORE=true SUPPORT_COMPRESSION=false FORMATTING=PRETTY_PRINT","build:compact":"node task/build RELEASE=compact DEBUG=false PROFILER=false SUPPORT_WORKER=false SUPPORT_ENCODER=true SUPPORT_CHARSET=true SUPPORT_CACHE=true SUPPORT_ASYNC=true SUPPORT_STORE=true SUPPORT_TAGS=true SUPPORT_SUGGESTION=true SUPPORT_SERIALIZE=true SUPPORT_DOCUMENT=true POLYFILL=false SUPPORT_PERSISTENT=false SUPPORT_RESOLVER=false SUPPORT_HIGHLIGHTING=true SUPPORT_KEYSTORE=false SUPPORT_COMPRESSION=false","build:compact:debug":"node task/build RELEASE=compact DEBUG=true PROFILER=false SUPPORT_WORKER=false SUPPORT_ENCODER=true SUPPORT_CHARSET=true SUPPORT_CACHE=true SUPPORT_ASYNC=true SUPPORT_STORE=true SUPPORT_TAGS=true SUPPORT_SUGGESTION=true SUPPORT_SERIALIZE=true SUPPORT_DOCUMENT=true POLYFILL=false SUPPORT_PERSISTENT=false SUPPORT_RESOLVER=false SUPPORT_HIGHLIGHTING=true SUPPORT_KEYSTORE=false SUPPORT_COMPRESSION=false FORMATTING=PRETTY_PRINT","build:light":"node task/build RELEASE=light DEBUG=false PROFILER=false SUPPORT_WORKER=false SUPPORT_ENCODER=true SUPPORT_CHARSET=false SUPPORT_CACHE=false SUPPORT_ASYNC=false SUPPORT_STORE=false SUPPORT_TAGS=false SUPPORT_SUGGESTION=true SUPPORT_SERIALIZE=false SUPPORT_DOCUMENT=false POLYFILL=false SUPPORT_PERSISTENT=false SUPPORT_RESOLVER=false SUPPORT_HIGHLIGHTING=false SUPPORT_KEYSTORE=false SUPPORT_COMPRESSION=false","build:light:debug":"node task/build RELEASE=light DEBUG=true PROFILER=false SUPPORT_WORKER=false SUPPORT_ENCODER=true SUPPORT_CHARSET=false SUPPORT_CACHE=false SUPPORT_ASYNC=false SUPPORT_STORE=false SUPPORT_TAGS=false SUPPORT_SUGGESTION=true SUPPORT_SERIALIZE=false SUPPORT_DOCUMENT=false POLYFILL=false SUPPORT_PERSISTENT=false SUPPORT_RESOLVER=false SUPPORT_HIGHLIGHTING=false SUPPORT_KEYSTORE=false SUPPORT_COMPRESSION=false FORMATTING=PRETTY_PRINT","build:es5":"node task/build RELEASE=es5 DEBUG=false PROFILER=false SUPPORT_WORKER=true SUPPORT_ENCODER=true SUPPORT_CHARSET=true SUPPORT_CACHE=true SUPPORT_ASYNC=true SUPPORT_STORE=true SUPPORT_TAGS=true SUPPORT_SUGGESTION=true SUPPORT_SERIALIZE=true SUPPORT_DOCUMENT=true POLYFILL=true SUPPORT_PERSISTENT=true SUPPORT_RESOLVER=true SUPPORT_HIGHLIGHTING=true SUPPORT_KEYSTORE=true SUPPORT_COMPRESSION=false LANGUAGE_OUT=ECMASCRIPT5_STRICT","build:es5:debug":"node task/build RELEASE=es5 DEBUG=true PROFILER=false SUPPORT_WORKER=true SUPPORT_ENCODER=true SUPPORT_CHARSET=true SUPPORT_CACHE=true SUPPORT_ASYNC=true SUPPORT_STORE=true SUPPORT_TAGS=true SUPPORT_SUGGESTION=true SUPPORT_SERIALIZE=true SUPPORT_DOCUMENT=true POLYFILL=true SUPPORT_PERSISTENT=true SUPPORT_RESOLVER=true SUPPORT_HIGHLIGHTING=true SUPPORT_KEYSTORE=true SUPPORT_COMPRESSION=false FORMATTING=PRETTY_PRINT LANGUAGE_OUT=ECMASCRIPT5_STRICT","build:lang":"node task/build RELEASE=lang","build:db":"npx rollup tmp/db/indexeddb/index.js --file dist/db/indexeddb/index.cjs --format cjs && npx rollup tmp/db/postgres/index.js --file dist/db/postgres/index.cjs --format cjs && npx rollup tmp/db/sqlite/index.js --file dist/db/sqlite/index.cjs --format cjs && npx rollup tmp/db/mongodb/index.js --file dist/db/mongodb/index.cjs --format cjs && npx rollup tmp/db/redis/index.js --file dist/db/redis/index.cjs --format cjs && npx rollup tmp/db/clickhouse/index.js --file dist/db/clickhouse/index.cjs --format cjs","build:module":"node task/babel && exit 0","build:module:debug":"node task/babel DEBUG=true && exit 0","build:module:min":"node task/babel RELEASE=min && exit 0","build:module:bundle":"node task/build RELEASE=bundle.module DEBUG=false PROFILER=false SUPPORT_WORKER=true SUPPORT_ENCODER=true SUPPORT_CHARSET=true SUPPORT_CACHE=true SUPPORT_ASYNC=true SUPPORT_STORE=true SUPPORT_TAGS=true SUPPORT_SUGGESTION=true SUPPORT_SERIALIZE=true SUPPORT_DOCUMENT=true POLYFILL=false SUPPORT_PERSISTENT=true SUPPORT_RESOLVER=true SUPPORT_HIGHLIGHTING=true SUPPORT_KEYSTORE=true SUPPORT_COMPRESSION=false","build:module:bundle:debug":"node task/build RELEASE=bundle.module DEBUG=true PROFILER=false SUPPORT_WORKER=true SUPPORT_ENCODER=true SUPPORT_CHARSET=true SUPPORT_CACHE=true SUPPORT_ASYNC=true SUPPORT_STORE=true SUPPORT_TAGS=true SUPPORT_SUGGESTION=true SUPPORT_SERIALIZE=true SUPPORT_DOCUMENT=true POLYFILL=false SUPPORT_PERSISTENT=true SUPPORT_RESOLVER=true SUPPORT_HIGHLIGHTING=true SUPPORT_KEYSTORE=true SUPPORT_COMPRESSION=false FORMATTING=PRETTY_PRINT","build:module:compact":"node task/build RELEASE=compact.module DEBUG=false PROFILER=false SUPPORT_WORKER=false SUPPORT_ENCODER=true SUPPORT_CHARSET=true SUPPORT_CACHE=true SUPPORT_ASYNC=true SUPPORT_STORE=true SUPPORT_TAGS=true SUPPORT_SUGGESTION=true SUPPORT_SERIALIZE=true SUPPORT_DOCUMENT=true POLYFILL=false SUPPORT_PERSISTENT=false SUPPORT_RESOLVER=false SUPPORT_HIGHLIGHTING=true SUPPORT_KEYSTORE=false SUPPORT_COMPRESSION=false","build:module:compact:debug":"node task/build RELEASE=compact.module DEBUG=true PROFILER=false SUPPORT_WORKER=false SUPPORT_ENCODER=true SUPPORT_CHARSET=true SUPPORT_CACHE=true SUPPORT_ASYNC=true SUPPORT_STORE=true SUPPORT_TAGS=true SUPPORT_SUGGESTION=true SUPPORT_SERIALIZE=true SUPPORT_DOCUMENT=true POLYFILL=false SUPPORT_PERSISTENT=false SUPPORT_RESOLVER=false SUPPORT_HIGHLIGHTING=true SUPPORT_KEYSTORE=false SUPPORT_COMPRESSION=false FORMATTING=PRETTY_PRINT","build:module:light":"node task/build RELEASE=light.module DEBUG=false PROFILER=false SUPPORT_WORKER=false SUPPORT_ENCODER=true SUPPORT_CHARSET=false SUPPORT_CACHE=false SUPPORT_ASYNC=false SUPPORT_STORE=false SUPPORT_TAGS=false SUPPORT_SUGGESTION=true SUPPORT_SERIALIZE=false SUPPORT_DOCUMENT=false POLYFILL=false SUPPORT_PERSISTENT=false SUPPORT_RESOLVER=false SUPPORT_HIGHLIGHTING=false SUPPORT_KEYSTORE=false SUPPORT_COMPRESSION=false","build:module:light:debug":"node task/build RELEASE=light.module DEBUG=true PROFILER=false SUPPORT_WORKER=false SUPPORT_ENCODER=true SUPPORT_CHARSET=false SUPPORT_CACHE=false SUPPORT_ASYNC=false SUPPORT_STORE=false SUPPORT_TAGS=false SUPPORT_SUGGESTION=true SUPPORT_SERIALIZE=false SUPPORT_DOCUMENT=false POLYFILL=false SUPPORT_PERSISTENT=false SUPPORT_RESOLVER=false SUPPORT_HIGHLIGHTING=false SUPPORT_KEYSTORE=false SUPPORT_COMPRESSION=false FORMATTING=PRETTY_PRINT","build:all":"npm run build:bundle && npm run build:bundle:debug && npm run build:light && npm run build:light:debug && npm run build:compact && npm run build:compact:debug && npm run build:module:bundle && npm run build:module:bundle:debug && npm run build:module:light && npm run build:module:light:debug && npm run build:module:compact && npm run build:module:compact:debug && npm run build:es5 && npm run build:es5:debug && npm run build:lang && npm run build:module && npm run build:module:debug && npm run build:module:min && npm run build:db","build:custom":"node task/build RELEASE=custom","test":"mocha test/*.js --exit","test:coverage":"c8 -c test/.c8rc.json mocha test/*.js --exit","test:keystore":"set NODE_OPTIONS=--max-old-space-size=16000 && c8 -c test/.c8rc.json mocha test/keystore.js --exit","test:db":"c8 -c test/.c8rc.json mocha test/persistent.*.js --exit","test:all":"npx mocha test/*.js --exit module/bundle && npx mocha test/*.js --exit module-debug/bundle && npx mocha test/*.js --exit module-min/bundle && npx mocha test/*.js --exit flexsearch.bundle.debug && npx mocha test/*.js --exit flexsearch.bundle.min && npx mocha test/*.js --exit flexsearch.bundle.module.debug && npx mocha test/*.js --exit flexsearch.bundle.module.min && npx mocha test/*.js --exit flexsearch.compact.debug && npx mocha test/*.js --exit flexsearch.compact.min && npx mocha test/*.js --exit flexsearch.compact.module.debug && npx mocha test/*.js --exit flexsearch.compact.module.min && npx mocha test/*.js --exit flexsearch.es5.debug && npx mocha test/*.js --exit flexsearch.es5.min && npx mocha test/*.js --exit flexsearch.light.debug && npx mocha test/*.js --exit flexsearch.light.min && npx mocha test/*.js --exit flexsearch.light.module.debug && npx mocha test/*.js --exit flexsearch.light.module.min","release":"npm version --no-git-tag-version patch && npm run build:all && npm run test:all"},"files":["dist/**","src/**","task/**","index.d.ts","README.md","CHANGELOG.md","LICENSE"],"devDependencies":{"babel-cli":"^6.26.0","babel-plugin-conditional-compile":"^0.0.5","babel-plugin-minify-constant-folding":"^0.5.0","babel-plugin-minify-dead-code-elimination":"^0.5.2","babel-plugin-minify-flip-comparisons":"^0.4.3","babel-plugin-minify-guarded-expressions":"^0.4.4","babel-plugin-minify-infinity":"^0.4.3","babel-plugin-minify-mangle-names":"^0.5.1","babel-plugin-minify-replace":"^0.5.0","babel-plugin-minify-simplify":"^0.5.1","babel-plugin-minify-type-constructors":"^0.4.3","babel-plugin-transform-member-expression-literals":"^6.9.4","babel-plugin-transform-merge-sibling-variables":"^6.9.5","babel-plugin-transform-minify-booleans":"^6.9.4","babel-plugin-transform-property-literals":"^6.9.4","babel-plugin-transform-simplify-comparison-operators":"^6.9.4","babel-plugin-transform-undefined-to-void":"^6.9.4","c8":"^10.1.3","chai":"^5.2.0","clickhouse":"^2.6.0","google-closure-compiler":"^20250520.0.0","mocha":"^11.1.0","mongodb":"^6.13.0","pg-promise":"^11.13.0","redis":"^5.1.0","rollup":"^4.35.0","sqlite3":"^5.1.7"},"funding":[{"type":"github","url":"https://github.com/ts-thomas"},{"type":"paypal","url":"https://www.paypal.com/donate/?hosted_button_id=GEVR88FC9BWRW"},{"type":"opencollective","url":"https://opencollective.com/flexsearch"},{"type":"patreon","url":"https://patreon.com/user?u=96245532"},{"type":"liberapay","url":"https://liberapay.com/ts-thomas"}],"_lastModified":"2026-06-03T12:39:04.281Z"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"fs-extra","version":"9.1.0","description":"fs-extra contains methods that aren't included in the vanilla Node.js fs package. Such as recursive mkdir, copy, and remove.","engines":{"node":">=10"},"homepage":"https://github.com/jprichardson/node-fs-extra","repository":{"type":"git","url":"https://github.com/jprichardson/node-fs-extra"},"keywords":["fs","file","file system","copy","directory","extra","mkdirp","mkdir","mkdirs","recursive","json","read","write","extra","delete","remove","touch","create","text","output","move","promise"],"author":"JP Richardson <jprichardson@gmail.com>","license":"MIT","dependencies":{"at-least-node":"^1.0.0","graceful-fs":"^4.2.0","jsonfile":"^6.0.1","universalify":"^2.0.0"},"devDependencies":{"coveralls":"^3.0.0","klaw":"^2.1.1","klaw-sync":"^3.0.2","minimist":"^1.1.1","mocha":"^5.0.5","nyc":"^15.0.0","proxyquire":"^2.0.1","read-dir-files":"^0.1.1","standard":"^14.1.0"},"main":"./lib/index.js","files":["lib/","!lib/**/__tests__/"],"scripts":{"full-ci":"npm run lint && npm run coverage","coverage":"nyc -r lcovonly npm run unit","coveralls":"coveralls < coverage/lcov.info","lint":"standard","test-find":"find ./lib/**/__tests__ -name *.test.js | xargs mocha","test":"npm run lint && npm run unit","unit":"node test.js"},"_lastModified":"2026-
|
|
1
|
+
{"name":"fs-extra","version":"9.1.0","description":"fs-extra contains methods that aren't included in the vanilla Node.js fs package. Such as recursive mkdir, copy, and remove.","engines":{"node":">=10"},"homepage":"https://github.com/jprichardson/node-fs-extra","repository":{"type":"git","url":"https://github.com/jprichardson/node-fs-extra"},"keywords":["fs","file","file system","copy","directory","extra","mkdirp","mkdir","mkdirs","recursive","json","read","write","extra","delete","remove","touch","create","text","output","move","promise"],"author":"JP Richardson <jprichardson@gmail.com>","license":"MIT","dependencies":{"at-least-node":"^1.0.0","graceful-fs":"^4.2.0","jsonfile":"^6.0.1","universalify":"^2.0.0"},"devDependencies":{"coveralls":"^3.0.0","klaw":"^2.1.1","klaw-sync":"^3.0.2","minimist":"^1.1.1","mocha":"^5.0.5","nyc":"^15.0.0","proxyquire":"^2.0.1","read-dir-files":"^0.1.1","standard":"^14.1.0"},"main":"./lib/index.js","files":["lib/","!lib/**/__tests__/"],"scripts":{"full-ci":"npm run lint && npm run coverage","coverage":"nyc -r lcovonly npm run unit","coveralls":"coveralls < coverage/lcov.info","lint":"standard","test-find":"find ./lib/**/__tests__ -name *.test.js | xargs mocha","test":"npm run lint && npm run unit","unit":"node test.js"},"_lastModified":"2026-06-03T12:39:03.241Z"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"nodejs-snowflake","collaborators":["Utkarsh Srivastava <utkarsh@sagacious.dev>"],"description":"Generate time sortable 64 bits unique ids for distributed systems (inspired from twitter snowflake)","version":"2.0.1","license":"Apache 2.0","repository":{"type":"git","url":"https://github.com/utkarsh-pro/nodejs-snowflake.git"},"files":["nodejs_snowflake_bg.wasm","nodejs_snowflake.js","nodejs_snowflake.d.ts"],"main":"nodejs_snowflake.js","types":"nodejs_snowflake.d.ts","_lastModified":"2026-
|
|
1
|
+
{"name":"nodejs-snowflake","collaborators":["Utkarsh Srivastava <utkarsh@sagacious.dev>"],"description":"Generate time sortable 64 bits unique ids for distributed systems (inspired from twitter snowflake)","version":"2.0.1","license":"Apache 2.0","repository":{"type":"git","url":"https://github.com/utkarsh-pro/nodejs-snowflake.git"},"files":["nodejs_snowflake_bg.wasm","nodejs_snowflake.js","nodejs_snowflake.d.ts"],"main":"nodejs_snowflake.js","types":"nodejs_snowflake.d.ts","_lastModified":"2026-06-03T12:38:57.192Z"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"openai","version":"6.22.0","description":"The official TypeScript library for the OpenAI API","author":"OpenAI <support@openai.com>","types":"./index.d.ts","main":"./index.js","type":"commonjs","repository":"github:openai/openai-node","license":"Apache-2.0","packageManager":"yarn@1.22.22","files":["**/*"],"private":false,"publishConfig":{"access":"public"},"scripts":{"test":"./scripts/test","build":"./scripts/build","format":"./scripts/format","tsn":"ts-node -r tsconfig-paths/register","lint":"./scripts/lint","fix":"./scripts/format"},"dependencies":{},"bin":{"openai":"bin/cli"},"exports":{".":{"require":{"types":"./index.d.ts","default":"./index.js"},"types":"./index.d.mts","default":"./index.mjs"},"./_vendor/*.mjs":{"default":"./_vendor/*.mjs"},"./_vendor/*.js":{"default":"./_vendor/*.js"},"./_vendor/*":{"import":"./_vendor/*.mjs","require":"./_vendor/*.js"},"./api-promise":{"import":"./api-promise.mjs","require":"./api-promise.js"},"./api-promise.js":{"default":"./api-promise.js"},"./api-promise.mjs":{"default":"./api-promise.mjs"},"./azure":{"import":"./azure.mjs","require":"./azure.js"},"./azure.js":{"default":"./azure.js"},"./azure.mjs":{"default":"./azure.mjs"},"./beta/*.mjs":{"default":"./beta/*.mjs"},"./beta/*.js":{"default":"./beta/*.js"},"./beta/*":{"import":"./beta/*.mjs","require":"./beta/*.js"},"./client":{"import":"./client.mjs","require":"./client.js"},"./client.js":{"default":"./client.js"},"./client.mjs":{"default":"./client.mjs"},"./core/*.mjs":{"default":"./core/*.mjs"},"./core/*.js":{"default":"./core/*.js"},"./core/*":{"import":"./core/*.mjs","require":"./core/*.js"},"./error":{"import":"./error.mjs","require":"./error.js"},"./error.js":{"default":"./error.js"},"./error.mjs":{"default":"./error.mjs"},"./helpers/*.mjs":{"default":"./helpers/*.mjs"},"./helpers/*.js":{"default":"./helpers/*.js"},"./helpers/*":{"import":"./helpers/*.mjs","require":"./helpers/*.js"},"./index":{"import":"./index.mjs","require":"./index.js"},"./index.js":{"default":"./index.js"},"./index.mjs":{"default":"./index.mjs"},"./lib/*.mjs":{"default":"./lib/*.mjs"},"./lib/*.js":{"default":"./lib/*.js"},"./lib/*":{"import":"./lib/*.mjs","require":"./lib/*.js"},"./pagination":{"import":"./pagination.mjs","require":"./pagination.js"},"./pagination.js":{"default":"./pagination.js"},"./pagination.mjs":{"default":"./pagination.mjs"},"./realtime/*.mjs":{"default":"./realtime/*.mjs"},"./realtime/*.js":{"default":"./realtime/*.js"},"./realtime/*":{"import":"./realtime/*.mjs","require":"./realtime/*.js"},"./resource":{"import":"./resource.mjs","require":"./resource.js"},"./resource.js":{"default":"./resource.js"},"./resource.mjs":{"default":"./resource.mjs"},"./resources/*.mjs":{"default":"./resources/*.mjs"},"./resources/*.js":{"default":"./resources/*.js"},"./resources/*":{"import":"./resources/*.mjs","require":"./resources/*.js"},"./resources":{"import":"./resources.mjs","require":"./resources.js"},"./resources.js":{"default":"./resources.js"},"./resources.mjs":{"default":"./resources.mjs"},"./streaming":{"import":"./streaming.mjs","require":"./streaming.js"},"./streaming.js":{"default":"./streaming.js"},"./streaming.mjs":{"default":"./streaming.mjs"},"./uploads":{"import":"./uploads.mjs","require":"./uploads.js"},"./uploads.js":{"default":"./uploads.js"},"./uploads.mjs":{"default":"./uploads.mjs"},"./version":{"import":"./version.mjs","require":"./version.js"},"./version.js":{"default":"./version.js"},"./version.mjs":{"default":"./version.mjs"}},"peerDependencies":{"ws":"^8.18.0","zod":"^3.25 || ^4.0"},"peerDependenciesMeta":{"ws":{"optional":true},"zod":{"optional":true}},"_lastModified":"2026-
|
|
1
|
+
{"name":"openai","version":"6.22.0","description":"The official TypeScript library for the OpenAI API","author":"OpenAI <support@openai.com>","types":"./index.d.ts","main":"./index.js","type":"commonjs","repository":"github:openai/openai-node","license":"Apache-2.0","packageManager":"yarn@1.22.22","files":["**/*"],"private":false,"publishConfig":{"access":"public"},"scripts":{"test":"./scripts/test","build":"./scripts/build","format":"./scripts/format","tsn":"ts-node -r tsconfig-paths/register","lint":"./scripts/lint","fix":"./scripts/format"},"dependencies":{},"bin":{"openai":"bin/cli"},"exports":{".":{"require":{"types":"./index.d.ts","default":"./index.js"},"types":"./index.d.mts","default":"./index.mjs"},"./_vendor/*.mjs":{"default":"./_vendor/*.mjs"},"./_vendor/*.js":{"default":"./_vendor/*.js"},"./_vendor/*":{"import":"./_vendor/*.mjs","require":"./_vendor/*.js"},"./api-promise":{"import":"./api-promise.mjs","require":"./api-promise.js"},"./api-promise.js":{"default":"./api-promise.js"},"./api-promise.mjs":{"default":"./api-promise.mjs"},"./azure":{"import":"./azure.mjs","require":"./azure.js"},"./azure.js":{"default":"./azure.js"},"./azure.mjs":{"default":"./azure.mjs"},"./beta/*.mjs":{"default":"./beta/*.mjs"},"./beta/*.js":{"default":"./beta/*.js"},"./beta/*":{"import":"./beta/*.mjs","require":"./beta/*.js"},"./client":{"import":"./client.mjs","require":"./client.js"},"./client.js":{"default":"./client.js"},"./client.mjs":{"default":"./client.mjs"},"./core/*.mjs":{"default":"./core/*.mjs"},"./core/*.js":{"default":"./core/*.js"},"./core/*":{"import":"./core/*.mjs","require":"./core/*.js"},"./error":{"import":"./error.mjs","require":"./error.js"},"./error.js":{"default":"./error.js"},"./error.mjs":{"default":"./error.mjs"},"./helpers/*.mjs":{"default":"./helpers/*.mjs"},"./helpers/*.js":{"default":"./helpers/*.js"},"./helpers/*":{"import":"./helpers/*.mjs","require":"./helpers/*.js"},"./index":{"import":"./index.mjs","require":"./index.js"},"./index.js":{"default":"./index.js"},"./index.mjs":{"default":"./index.mjs"},"./lib/*.mjs":{"default":"./lib/*.mjs"},"./lib/*.js":{"default":"./lib/*.js"},"./lib/*":{"import":"./lib/*.mjs","require":"./lib/*.js"},"./pagination":{"import":"./pagination.mjs","require":"./pagination.js"},"./pagination.js":{"default":"./pagination.js"},"./pagination.mjs":{"default":"./pagination.mjs"},"./realtime/*.mjs":{"default":"./realtime/*.mjs"},"./realtime/*.js":{"default":"./realtime/*.js"},"./realtime/*":{"import":"./realtime/*.mjs","require":"./realtime/*.js"},"./resource":{"import":"./resource.mjs","require":"./resource.js"},"./resource.js":{"default":"./resource.js"},"./resource.mjs":{"default":"./resource.mjs"},"./resources/*.mjs":{"default":"./resources/*.mjs"},"./resources/*.js":{"default":"./resources/*.js"},"./resources/*":{"import":"./resources/*.mjs","require":"./resources/*.js"},"./resources":{"import":"./resources.mjs","require":"./resources.js"},"./resources.js":{"default":"./resources.js"},"./resources.mjs":{"default":"./resources.mjs"},"./streaming":{"import":"./streaming.mjs","require":"./streaming.js"},"./streaming.js":{"default":"./streaming.js"},"./streaming.mjs":{"default":"./streaming.mjs"},"./uploads":{"import":"./uploads.mjs","require":"./uploads.js"},"./uploads.js":{"default":"./uploads.js"},"./uploads.mjs":{"default":"./uploads.mjs"},"./version":{"import":"./version.mjs","require":"./version.js"},"./version.js":{"default":"./version.js"},"./version.mjs":{"default":"./version.mjs"}},"peerDependencies":{"ws":"^8.18.0","zod":"^3.25 || ^4.0"},"peerDependenciesMeta":{"ws":{"optional":true},"zod":{"optional":true}},"_lastModified":"2026-06-03T12:38:59.845Z"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"zod","version":"4.3.5","type":"module","license":"MIT","author":"Colin McDonnell <zod@colinhacks.com>","description":"TypeScript-first schema declaration and validation library with static type inference","homepage":"https://zod.dev","llms":"https://zod.dev/llms.txt","llmsFull":"https://zod.dev/llms-full.txt","mcpServer":"https://mcp.inkeep.com/zod/mcp","funding":"https://github.com/sponsors/colinhacks","sideEffects":false,"files":["src","**/*.js","**/*.mjs","**/*.cjs","**/*.d.ts","**/*.d.mts","**/*.d.cts","**/package.json"],"keywords":["typescript","schema","validation","type","inference"],"main":"./index.cjs","types":"./index.d.cts","module":"./index.js","zshy":{"exports":{"./package.json":"./package.json",".":"./src/index.ts","./mini":"./src/mini/index.ts","./locales":"./src/locales/index.ts","./v3":"./src/v3/index.ts","./v4":"./src/v4/index.ts","./v4-mini":"./src/v4-mini/index.ts","./v4/mini":"./src/v4/mini/index.ts","./v4/core":"./src/v4/core/index.ts","./v4/locales":"./src/v4/locales/index.ts","./v4/locales/*":"./src/v4/locales/*"},"conditions":{"@zod/source":"src"}},"exports":{"./package.json":"./package.json",".":{"@zod/source":"./src/index.ts","types":"./index.d.cts","import":"./index.js","require":"./index.cjs"},"./mini":{"@zod/source":"./src/mini/index.ts","types":"./mini/index.d.cts","import":"./mini/index.js","require":"./mini/index.cjs"},"./locales":{"@zod/source":"./src/locales/index.ts","types":"./locales/index.d.cts","import":"./locales/index.js","require":"./locales/index.cjs"},"./v3":{"@zod/source":"./src/v3/index.ts","types":"./v3/index.d.cts","import":"./v3/index.js","require":"./v3/index.cjs"},"./v4":{"@zod/source":"./src/v4/index.ts","types":"./v4/index.d.cts","import":"./v4/index.js","require":"./v4/index.cjs"},"./v4-mini":{"@zod/source":"./src/v4-mini/index.ts","types":"./v4-mini/index.d.cts","import":"./v4-mini/index.js","require":"./v4-mini/index.cjs"},"./v4/mini":{"@zod/source":"./src/v4/mini/index.ts","types":"./v4/mini/index.d.cts","import":"./v4/mini/index.js","require":"./v4/mini/index.cjs"},"./v4/core":{"@zod/source":"./src/v4/core/index.ts","types":"./v4/core/index.d.cts","import":"./v4/core/index.js","require":"./v4/core/index.cjs"},"./v4/locales":{"@zod/source":"./src/v4/locales/index.ts","types":"./v4/locales/index.d.cts","import":"./v4/locales/index.js","require":"./v4/locales/index.cjs"},"./v4/locales/*":{"@zod/source":"./src/v4/locales/*","types":"./v4/locales/*","import":"./v4/locales/*","require":"./v4/locales/*"}},"repository":{"type":"git","url":"git+https://github.com/colinhacks/zod.git"},"bugs":{"url":"https://github.com/colinhacks/zod/issues"},"support":{"backing":{"npm-funding":true}},"scripts":{"clean":"git clean -xdf . -e node_modules","build":"zshy --project tsconfig.build.json","postbuild":"tsx ../../scripts/write-stub-package-jsons.ts && pnpm biome check --write .","test:watch":"pnpm vitest","test":"pnpm vitest run","prepublishOnly":"tsx ../../scripts/check-versions.ts"},"_lastModified":"2026-
|
|
1
|
+
{"name":"zod","version":"4.3.5","type":"module","license":"MIT","author":"Colin McDonnell <zod@colinhacks.com>","description":"TypeScript-first schema declaration and validation library with static type inference","homepage":"https://zod.dev","llms":"https://zod.dev/llms.txt","llmsFull":"https://zod.dev/llms-full.txt","mcpServer":"https://mcp.inkeep.com/zod/mcp","funding":"https://github.com/sponsors/colinhacks","sideEffects":false,"files":["src","**/*.js","**/*.mjs","**/*.cjs","**/*.d.ts","**/*.d.mts","**/*.d.cts","**/package.json"],"keywords":["typescript","schema","validation","type","inference"],"main":"./index.cjs","types":"./index.d.cts","module":"./index.js","zshy":{"exports":{"./package.json":"./package.json",".":"./src/index.ts","./mini":"./src/mini/index.ts","./locales":"./src/locales/index.ts","./v3":"./src/v3/index.ts","./v4":"./src/v4/index.ts","./v4-mini":"./src/v4-mini/index.ts","./v4/mini":"./src/v4/mini/index.ts","./v4/core":"./src/v4/core/index.ts","./v4/locales":"./src/v4/locales/index.ts","./v4/locales/*":"./src/v4/locales/*"},"conditions":{"@zod/source":"src"}},"exports":{"./package.json":"./package.json",".":{"@zod/source":"./src/index.ts","types":"./index.d.cts","import":"./index.js","require":"./index.cjs"},"./mini":{"@zod/source":"./src/mini/index.ts","types":"./mini/index.d.cts","import":"./mini/index.js","require":"./mini/index.cjs"},"./locales":{"@zod/source":"./src/locales/index.ts","types":"./locales/index.d.cts","import":"./locales/index.js","require":"./locales/index.cjs"},"./v3":{"@zod/source":"./src/v3/index.ts","types":"./v3/index.d.cts","import":"./v3/index.js","require":"./v3/index.cjs"},"./v4":{"@zod/source":"./src/v4/index.ts","types":"./v4/index.d.cts","import":"./v4/index.js","require":"./v4/index.cjs"},"./v4-mini":{"@zod/source":"./src/v4-mini/index.ts","types":"./v4-mini/index.d.cts","import":"./v4-mini/index.js","require":"./v4-mini/index.cjs"},"./v4/mini":{"@zod/source":"./src/v4/mini/index.ts","types":"./v4/mini/index.d.cts","import":"./v4/mini/index.js","require":"./v4/mini/index.cjs"},"./v4/core":{"@zod/source":"./src/v4/core/index.ts","types":"./v4/core/index.d.cts","import":"./v4/core/index.js","require":"./v4/core/index.cjs"},"./v4/locales":{"@zod/source":"./src/v4/locales/index.ts","types":"./v4/locales/index.d.cts","import":"./v4/locales/index.js","require":"./v4/locales/index.cjs"},"./v4/locales/*":{"@zod/source":"./src/v4/locales/*","types":"./v4/locales/*","import":"./v4/locales/*","require":"./v4/locales/*"}},"repository":{"type":"git","url":"git+https://github.com/colinhacks/zod.git"},"bugs":{"url":"https://github.com/colinhacks/zod/issues"},"support":{"backing":{"npm-funding":true}},"scripts":{"clean":"git clean -xdf . -e node_modules","build":"zshy --project tsconfig.build.json","postbuild":"tsx ../../scripts/write-stub-package-jsons.ts && pnpm biome check --write .","test:watch":"pnpm vitest","test":"pnpm vitest run","prepublishOnly":"tsx ../../scripts/check-versions.ts"},"_lastModified":"2026-06-03T12:38:58.196Z"}
|
|
@@ -7,11 +7,9 @@
|
|
|
7
7
|
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
var __create = Object.create;
|
|
11
10
|
var __defProp = Object.defineProperty;
|
|
12
11
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
13
12
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
14
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
15
13
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
16
14
|
var __export = (target, all) => {
|
|
17
15
|
for (var name in all)
|
|
@@ -25,14 +23,6 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
25
23
|
}
|
|
26
24
|
return to;
|
|
27
25
|
};
|
|
28
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
29
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
30
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
31
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
32
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
33
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
34
|
-
mod
|
|
35
|
-
));
|
|
36
26
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
37
27
|
var anthropic_exports = {};
|
|
38
28
|
__export(anthropic_exports, {
|
|
@@ -42,8 +32,8 @@ __export(anthropic_exports, {
|
|
|
42
32
|
module.exports = __toCommonJS(anthropic_exports);
|
|
43
33
|
var import_provider = require("./provider");
|
|
44
34
|
var import_anthropic = require("@langchain/anthropic");
|
|
45
|
-
var
|
|
46
|
-
var
|
|
35
|
+
var import_utils = require("@nocobase/utils");
|
|
36
|
+
var import_utils2 = require("../utils");
|
|
47
37
|
var import_ai_manager = require("../manager/ai-manager");
|
|
48
38
|
const MAX_TOKENS_PRESET = {
|
|
49
39
|
"kimi-for-coding": 128 * 1024
|
|
@@ -53,7 +43,7 @@ class AnthropicProvider extends import_provider.LLMProvider {
|
|
|
53
43
|
return "https://api.anthropic.com";
|
|
54
44
|
}
|
|
55
45
|
createModel() {
|
|
56
|
-
const { apiKey
|
|
46
|
+
const { apiKey } = this.serviceOptions || {};
|
|
57
47
|
const sanitizedModelOptions = { ...this.modelOptions || {} };
|
|
58
48
|
const model = sanitizedModelOptions.model;
|
|
59
49
|
const hasTemperature = sanitizedModelOptions.temperature !== void 0 && sanitizedModelOptions.temperature !== null;
|
|
@@ -81,7 +71,7 @@ class AnthropicProvider extends import_provider.LLMProvider {
|
|
|
81
71
|
apiKey,
|
|
82
72
|
...sanitizedModelOptions,
|
|
83
73
|
model,
|
|
84
|
-
anthropicApiUrl:
|
|
74
|
+
anthropicApiUrl: this.getResolvedBaseURL(),
|
|
85
75
|
verbose: false
|
|
86
76
|
});
|
|
87
77
|
}
|
|
@@ -89,18 +79,22 @@ class AnthropicProvider extends import_provider.LLMProvider {
|
|
|
89
79
|
var _a, _b, _c, _d, _e;
|
|
90
80
|
const options = this.serviceOptions || {};
|
|
91
81
|
const apiKey = options.apiKey;
|
|
92
|
-
let
|
|
93
|
-
|
|
82
|
+
let url;
|
|
83
|
+
try {
|
|
84
|
+
url = this.buildRequestURL("v1/models");
|
|
85
|
+
} catch (e) {
|
|
86
|
+
return { code: 400, errMsg: e instanceof Error ? e.message : String(e) };
|
|
87
|
+
}
|
|
88
|
+
if (!url) {
|
|
94
89
|
return { code: 400, errMsg: "baseURL is required" };
|
|
95
90
|
}
|
|
96
91
|
if (!apiKey) {
|
|
97
92
|
return { code: 400, errMsg: "API Key required" };
|
|
98
93
|
}
|
|
99
|
-
if (baseURL && baseURL.endsWith("/")) {
|
|
100
|
-
baseURL = baseURL.slice(0, -1);
|
|
101
|
-
}
|
|
102
94
|
try {
|
|
103
|
-
const res = await
|
|
95
|
+
const res = await (0, import_utils.serverRequest)({
|
|
96
|
+
method: "GET",
|
|
97
|
+
url,
|
|
104
98
|
headers: {
|
|
105
99
|
"x-api-key": apiKey,
|
|
106
100
|
"anthropic-version": "2023-06-01"
|
|
@@ -157,11 +151,11 @@ class AnthropicProvider extends import_provider.LLMProvider {
|
|
|
157
151
|
if (chunk && Array.isArray(chunk)) {
|
|
158
152
|
const textBlock = chunk.find((block) => block.type === "text");
|
|
159
153
|
if (textBlock) {
|
|
160
|
-
return (0,
|
|
154
|
+
return (0, import_utils2.stripToolCallTags)(textBlock.text);
|
|
161
155
|
}
|
|
162
156
|
return null;
|
|
163
157
|
}
|
|
164
|
-
return (0,
|
|
158
|
+
return (0, import_utils2.stripToolCallTags)(chunk);
|
|
165
159
|
}
|
|
166
160
|
builtInTools() {
|
|
167
161
|
var _a, _b;
|
|
@@ -193,7 +187,7 @@ class AnthropicProvider extends import_provider.LLMProvider {
|
|
|
193
187
|
async convertToContent(ctx, attachment) {
|
|
194
188
|
const fileManager = this.app.pm.get("file-manager");
|
|
195
189
|
const url = await fileManager.getFileURL(attachment);
|
|
196
|
-
const data = await (0,
|
|
190
|
+
const data = await (0, import_utils2.encodeFile)(ctx, decodeURIComponent(url));
|
|
197
191
|
if (attachment.mimetype.startsWith("image/")) {
|
|
198
192
|
return {
|
|
199
193
|
placement: "contentBlocks",
|
|
@@ -53,7 +53,7 @@ class DashscopeProvider extends import_provider.LLMProvider {
|
|
|
53
53
|
}
|
|
54
54
|
createModel() {
|
|
55
55
|
var _a, _b;
|
|
56
|
-
const {
|
|
56
|
+
const { apiKey } = this.serviceOptions || {};
|
|
57
57
|
const { responseFormat, structuredOutput } = this.modelOptions || {};
|
|
58
58
|
const { schema } = structuredOutput || {};
|
|
59
59
|
const modelKwargs = {};
|
|
@@ -78,7 +78,7 @@ class DashscopeProvider extends import_provider.LLMProvider {
|
|
|
78
78
|
...this.modelOptions,
|
|
79
79
|
modelKwargs,
|
|
80
80
|
configuration: {
|
|
81
|
-
baseURL:
|
|
81
|
+
baseURL: this.getResolvedBaseURL()
|
|
82
82
|
},
|
|
83
83
|
verbose: false
|
|
84
84
|
});
|
|
@@ -134,7 +134,7 @@ class DashscopeEmbeddingProvider extends import_provider.EmbeddingProvider {
|
|
|
134
134
|
createEmbedding() {
|
|
135
135
|
return new import_openai.OpenAIEmbeddings({
|
|
136
136
|
configuration: {
|
|
137
|
-
baseURL: this.baseURL
|
|
137
|
+
baseURL: this.baseURL,
|
|
138
138
|
apiKey: this.apiKey
|
|
139
139
|
},
|
|
140
140
|
model: this.model
|
|
@@ -76,7 +76,7 @@ class DeepSeekProvider extends import_provider.LLMProvider {
|
|
|
76
76
|
return "https://api.deepseek.com";
|
|
77
77
|
}
|
|
78
78
|
createModel() {
|
|
79
|
-
const {
|
|
79
|
+
const { apiKey } = this.serviceOptions || {};
|
|
80
80
|
const { responseFormat } = this.modelOptions || {};
|
|
81
81
|
const modelKwargs = {};
|
|
82
82
|
if (responseFormat) {
|
|
@@ -89,7 +89,7 @@ class DeepSeekProvider extends import_provider.LLMProvider {
|
|
|
89
89
|
...this.modelOptions,
|
|
90
90
|
modelKwargs,
|
|
91
91
|
configuration: {
|
|
92
|
-
baseURL:
|
|
92
|
+
baseURL: this.getResolvedBaseURL()
|
|
93
93
|
},
|
|
94
94
|
verbose: false
|
|
95
95
|
});
|
|
@@ -7,11 +7,9 @@
|
|
|
7
7
|
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
var __create = Object.create;
|
|
11
10
|
var __defProp = Object.defineProperty;
|
|
12
11
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
13
12
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
14
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
15
13
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
16
14
|
var __export = (target, all) => {
|
|
17
15
|
for (var name in all)
|
|
@@ -25,14 +23,6 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
25
23
|
}
|
|
26
24
|
return to;
|
|
27
25
|
};
|
|
28
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
29
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
30
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
31
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
32
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
33
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
34
|
-
mod
|
|
35
|
-
));
|
|
36
26
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
37
27
|
var google_genai_exports = {};
|
|
38
28
|
__export(google_genai_exports, {
|
|
@@ -43,8 +33,8 @@ __export(google_genai_exports, {
|
|
|
43
33
|
module.exports = __toCommonJS(google_genai_exports);
|
|
44
34
|
var import_google_genai = require("@langchain/google-genai");
|
|
45
35
|
var import_provider = require("./provider");
|
|
46
|
-
var
|
|
47
|
-
var
|
|
36
|
+
var import_utils = require("@nocobase/utils");
|
|
37
|
+
var import_utils2 = require("../utils");
|
|
48
38
|
var import_ai_manager = require("../manager/ai-manager");
|
|
49
39
|
const GOOGLE_GEN_AI_URL = "https://generativelanguage.googleapis.com";
|
|
50
40
|
class GoogleGenAIProvider extends import_provider.LLMProvider {
|
|
@@ -52,32 +42,37 @@ class GoogleGenAIProvider extends import_provider.LLMProvider {
|
|
|
52
42
|
return GOOGLE_GEN_AI_URL;
|
|
53
43
|
}
|
|
54
44
|
createModel() {
|
|
55
|
-
const { apiKey
|
|
45
|
+
const { apiKey } = this.serviceOptions || {};
|
|
56
46
|
const { model, responseFormat } = this.modelOptions || {};
|
|
57
47
|
return new import_google_genai.ChatGoogleGenerativeAI({
|
|
58
48
|
apiKey,
|
|
59
49
|
...this.modelOptions,
|
|
60
50
|
model,
|
|
61
51
|
json: responseFormat === "json",
|
|
62
|
-
baseUrl:
|
|
52
|
+
baseUrl: this.getResolvedBaseURL()
|
|
63
53
|
});
|
|
64
54
|
}
|
|
65
55
|
async listModels() {
|
|
66
56
|
var _a, _b;
|
|
67
57
|
const options = this.serviceOptions || {};
|
|
68
58
|
const apiKey = options.apiKey;
|
|
69
|
-
let
|
|
70
|
-
|
|
59
|
+
let url;
|
|
60
|
+
try {
|
|
61
|
+
url = this.buildRequestURL(`v1beta/models?key=${encodeURIComponent(apiKey ?? "")}`);
|
|
62
|
+
} catch (e) {
|
|
63
|
+
return { code: 400, errMsg: e instanceof Error ? e.message : String(e) };
|
|
64
|
+
}
|
|
65
|
+
if (!url) {
|
|
71
66
|
return { code: 400, errMsg: "baseURL is required" };
|
|
72
67
|
}
|
|
73
68
|
if (!apiKey) {
|
|
74
69
|
return { code: 400, errMsg: "API Key required" };
|
|
75
70
|
}
|
|
76
|
-
if (baseURL && baseURL.endsWith("/")) {
|
|
77
|
-
baseURL = baseURL.slice(0, -1);
|
|
78
|
-
}
|
|
79
71
|
try {
|
|
80
|
-
const res = await
|
|
72
|
+
const res = await (0, import_utils.serverRequest)({
|
|
73
|
+
method: "GET",
|
|
74
|
+
url
|
|
75
|
+
});
|
|
81
76
|
return {
|
|
82
77
|
models: (_a = res == null ? void 0 : res.data) == null ? void 0 : _a.models.map((model) => ({
|
|
83
78
|
id: model.name
|
|
@@ -127,7 +122,7 @@ class GoogleGenAIProvider extends import_provider.LLMProvider {
|
|
|
127
122
|
const fileManager = this.app.pm.get("file-manager");
|
|
128
123
|
const url = await fileManager.getFileURL(attachment);
|
|
129
124
|
if ((_a = attachment.mimetype) == null ? void 0 : _a.startsWith("image/")) {
|
|
130
|
-
const data = await (0,
|
|
125
|
+
const data = await (0, import_utils2.encodeFile)(ctx, decodeURIComponent(url));
|
|
131
126
|
return {
|
|
132
127
|
placement: "contentBlocks",
|
|
133
128
|
content: {
|
|
@@ -138,7 +133,7 @@ class GoogleGenAIProvider extends import_provider.LLMProvider {
|
|
|
138
133
|
}
|
|
139
134
|
};
|
|
140
135
|
} else {
|
|
141
|
-
const data = await (0,
|
|
136
|
+
const data = await (0, import_utils2.encodeFile)(ctx, decodeURIComponent(url));
|
|
142
137
|
return {
|
|
143
138
|
placement: "contentBlocks",
|
|
144
139
|
content: {
|
|
@@ -52,7 +52,7 @@ class KimiProvider extends import_provider.LLMProvider {
|
|
|
52
52
|
return "https://api.moonshot.cn/v1";
|
|
53
53
|
}
|
|
54
54
|
createModel() {
|
|
55
|
-
const {
|
|
55
|
+
const { apiKey } = this.serviceOptions || {};
|
|
56
56
|
const { responseFormat, structuredOutput } = this.modelOptions || {};
|
|
57
57
|
const { schema } = structuredOutput || {};
|
|
58
58
|
const responseFormatOptions = {
|
|
@@ -68,7 +68,7 @@ class KimiProvider extends import_provider.LLMProvider {
|
|
|
68
68
|
response_format: responseFormatOptions
|
|
69
69
|
},
|
|
70
70
|
configuration: {
|
|
71
|
-
baseURL:
|
|
71
|
+
baseURL: this.getResolvedBaseURL()
|
|
72
72
|
}
|
|
73
73
|
});
|
|
74
74
|
}
|
|
@@ -105,11 +105,11 @@ class KimiProvider extends import_provider.LLMProvider {
|
|
|
105
105
|
return ((_a = attachment.mimetype) == null ? void 0 : _a.startsWith("image/")) ?? false;
|
|
106
106
|
}
|
|
107
107
|
get documentLoader() {
|
|
108
|
-
var _a
|
|
108
|
+
var _a;
|
|
109
109
|
if (!this._documentLoader) {
|
|
110
110
|
const loader = new import_document_loader2.KimiDocumentLoader(this.aiPlugin.fileManager, {
|
|
111
111
|
apiKey: (_a = this.serviceOptions) == null ? void 0 : _a.apiKey,
|
|
112
|
-
baseURL:
|
|
112
|
+
baseURL: this.getResolvedBaseURL()
|
|
113
113
|
});
|
|
114
114
|
this._documentLoader = new import_document_loader.CachedDocumentLoader(this.aiPlugin, {
|
|
115
115
|
loader,
|
|
@@ -51,7 +51,7 @@ class MiMoProvider extends import_provider.LLMProvider {
|
|
|
51
51
|
return "https://api.xiaomimimo.com/v1";
|
|
52
52
|
}
|
|
53
53
|
createModel() {
|
|
54
|
-
const {
|
|
54
|
+
const { apiKey } = this.serviceOptions || {};
|
|
55
55
|
const { responseFormat, structuredOutput } = this.modelOptions || {};
|
|
56
56
|
const { schema } = structuredOutput || {};
|
|
57
57
|
const responseFormatOptions = {
|
|
@@ -67,7 +67,7 @@ class MiMoProvider extends import_provider.LLMProvider {
|
|
|
67
67
|
response_format: responseFormatOptions
|
|
68
68
|
},
|
|
69
69
|
configuration: {
|
|
70
|
-
baseURL:
|
|
70
|
+
baseURL: this.getResolvedBaseURL()
|
|
71
71
|
},
|
|
72
72
|
verbose: true
|
|
73
73
|
});
|
|
@@ -7,11 +7,9 @@
|
|
|
7
7
|
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
var __create = Object.create;
|
|
11
10
|
var __defProp = Object.defineProperty;
|
|
12
11
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
13
12
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
14
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
15
13
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
16
14
|
var __export = (target, all) => {
|
|
17
15
|
for (var name in all)
|
|
@@ -25,14 +23,6 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
25
23
|
}
|
|
26
24
|
return to;
|
|
27
25
|
};
|
|
28
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
29
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
30
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
31
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
32
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
33
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
34
|
-
mod
|
|
35
|
-
));
|
|
36
26
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
37
27
|
var ollama_exports = {};
|
|
38
28
|
__export(ollama_exports, {
|
|
@@ -44,17 +34,16 @@ module.exports = __toCommonJS(ollama_exports);
|
|
|
44
34
|
var import_ollama = require("@langchain/ollama");
|
|
45
35
|
var import_provider = require("./provider");
|
|
46
36
|
var import_ai_manager = require("../manager/ai-manager");
|
|
47
|
-
var
|
|
37
|
+
var import_utils = require("@nocobase/utils");
|
|
48
38
|
const OLLAMA_DEFAULT_URL = "http://localhost:11434";
|
|
49
39
|
class OllamaProvider extends import_provider.LLMProvider {
|
|
50
40
|
get baseURL() {
|
|
51
41
|
return OLLAMA_DEFAULT_URL;
|
|
52
42
|
}
|
|
53
43
|
createModel() {
|
|
54
|
-
const { baseURL } = this.serviceOptions || {};
|
|
55
44
|
const { model, temperature, topP, topK, numPredict, ...rest } = this.modelOptions || {};
|
|
56
45
|
return new import_ollama.ChatOllama({
|
|
57
|
-
baseUrl:
|
|
46
|
+
baseUrl: this.getResolvedBaseURL(),
|
|
58
47
|
model: model || "mistral-nemo:12b",
|
|
59
48
|
temperature,
|
|
60
49
|
topP,
|
|
@@ -68,16 +57,20 @@ class OllamaProvider extends import_provider.LLMProvider {
|
|
|
68
57
|
}
|
|
69
58
|
async listModels() {
|
|
70
59
|
var _a;
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
60
|
+
let url;
|
|
61
|
+
try {
|
|
62
|
+
url = this.buildRequestURL("api/tags");
|
|
63
|
+
} catch (e) {
|
|
64
|
+
return { code: 400, errMsg: e instanceof Error ? e.message : String(e) };
|
|
75
65
|
}
|
|
76
|
-
if (
|
|
77
|
-
|
|
66
|
+
if (!url) {
|
|
67
|
+
return { code: 400, errMsg: "baseURL is required" };
|
|
78
68
|
}
|
|
79
69
|
try {
|
|
80
|
-
const res = await
|
|
70
|
+
const res = await (0, import_utils.serverRequest)({
|
|
71
|
+
method: "GET",
|
|
72
|
+
url
|
|
73
|
+
});
|
|
81
74
|
const models = ((_a = res == null ? void 0 : res.data) == null ? void 0 : _a.models) || [];
|
|
82
75
|
return {
|
|
83
76
|
models: models.map((model) => ({
|
|
@@ -87,7 +80,7 @@ class OllamaProvider extends import_provider.LLMProvider {
|
|
|
87
80
|
} catch (e) {
|
|
88
81
|
return {
|
|
89
82
|
code: 500,
|
|
90
|
-
errMsg: `Failed to fetch Ollama models: ${e.message}. Make sure Ollama is running at ${
|
|
83
|
+
errMsg: `Failed to fetch Ollama models: ${e.message}. Make sure Ollama is running at ${this.getResolvedBaseURL()}`
|
|
91
84
|
};
|
|
92
85
|
}
|
|
93
86
|
}
|
|
@@ -36,7 +36,7 @@ class OpenAICompletionsProvider extends import_provider.LLMProvider {
|
|
|
36
36
|
return "https://api.openai.com/v1";
|
|
37
37
|
}
|
|
38
38
|
createModel() {
|
|
39
|
-
const {
|
|
39
|
+
const { apiKey } = this.serviceOptions || {};
|
|
40
40
|
const { responseFormat, structuredOutput } = this.modelOptions || {};
|
|
41
41
|
const { schema } = structuredOutput || {};
|
|
42
42
|
const responseFormatOptions = {
|
|
@@ -52,7 +52,7 @@ class OpenAICompletionsProvider extends import_provider.LLMProvider {
|
|
|
52
52
|
response_format: responseFormatOptions
|
|
53
53
|
},
|
|
54
54
|
configuration: {
|
|
55
|
-
baseURL:
|
|
55
|
+
baseURL: this.getResolvedBaseURL()
|
|
56
56
|
}
|
|
57
57
|
});
|
|
58
58
|
}
|
|
@@ -38,7 +38,7 @@ class OpenAiEmbeddingProvider extends import_provider.EmbeddingProvider {
|
|
|
38
38
|
createEmbedding() {
|
|
39
39
|
return new import_openai.OpenAIEmbeddings({
|
|
40
40
|
configuration: {
|
|
41
|
-
baseURL: this.baseURL
|
|
41
|
+
baseURL: this.baseURL,
|
|
42
42
|
apiKey: this.apiKey
|
|
43
43
|
},
|
|
44
44
|
model: this.model
|
|
@@ -37,7 +37,7 @@ class OpenAIResponsesProvider extends import_provider.LLMProvider {
|
|
|
37
37
|
return "https://api.openai.com/v1";
|
|
38
38
|
}
|
|
39
39
|
createModel() {
|
|
40
|
-
const {
|
|
40
|
+
const { apiKey } = this.serviceOptions || {};
|
|
41
41
|
const { responseFormat, structuredOutput } = this.modelOptions || {};
|
|
42
42
|
const { schema } = structuredOutput || {};
|
|
43
43
|
const responseFormatOptions = {
|
|
@@ -56,7 +56,7 @@ class OpenAIResponsesProvider extends import_provider.LLMProvider {
|
|
|
56
56
|
}
|
|
57
57
|
},
|
|
58
58
|
configuration: {
|
|
59
|
-
baseURL:
|
|
59
|
+
baseURL: this.getResolvedBaseURL()
|
|
60
60
|
},
|
|
61
61
|
verbose: false,
|
|
62
62
|
useResponsesApi: true
|
|
@@ -76,6 +76,8 @@ export declare abstract class LLMProvider {
|
|
|
76
76
|
parseResponseMetadata(output: LLMResult): any;
|
|
77
77
|
parseResponseError(err: any): any;
|
|
78
78
|
protected get documentLoader(): CachedDocumentLoader;
|
|
79
|
+
protected getResolvedBaseURL(): string;
|
|
80
|
+
protected buildRequestURL(pathname: string): string;
|
|
79
81
|
protected get aiPlugin(): PluginAIServer;
|
|
80
82
|
}
|
|
81
83
|
export interface EmbeddingProviderOptions {
|
|
@@ -92,7 +94,7 @@ export declare abstract class EmbeddingProvider {
|
|
|
92
94
|
abstract createEmbedding(): EmbeddingsInterface;
|
|
93
95
|
protected abstract getDefaultUrl(): string;
|
|
94
96
|
protected get apiKey(): any;
|
|
95
|
-
protected get baseURL():
|
|
97
|
+
protected get baseURL(): string;
|
|
96
98
|
protected get model(): any;
|
|
97
99
|
}
|
|
98
100
|
type FromType = 'ToolsEntry';
|
|
@@ -41,12 +41,26 @@ __export(provider_exports, {
|
|
|
41
41
|
ToolDefinition: () => ToolDefinition
|
|
42
42
|
});
|
|
43
43
|
module.exports = __toCommonJS(provider_exports);
|
|
44
|
-
var
|
|
45
|
-
var
|
|
44
|
+
var import_utils = require("@nocobase/utils");
|
|
45
|
+
var import_utils2 = require("../utils");
|
|
46
46
|
var import_langchain = require("langchain");
|
|
47
47
|
var import_stream = require("@langchain/core/utils/stream");
|
|
48
48
|
var import_document_loader = require("../document-loader");
|
|
49
49
|
var import_node_path = __toESM(require("node:path"));
|
|
50
|
+
function normalizeBaseURL(baseURL) {
|
|
51
|
+
(0, import_utils.checkUrlAgainstWhitelist)(baseURL);
|
|
52
|
+
return new URL(baseURL).toString().replace(/\/$/, "");
|
|
53
|
+
}
|
|
54
|
+
function resolveServiceOptions(serviceOptions, app) {
|
|
55
|
+
const rendered = app.environment.renderJsonTemplate(serviceOptions ?? {});
|
|
56
|
+
if ((rendered == null ? void 0 : rendered.baseURL) != null) {
|
|
57
|
+
if (typeof rendered.baseURL !== "string") {
|
|
58
|
+
throw new Error("baseURL must be a string");
|
|
59
|
+
}
|
|
60
|
+
rendered.baseURL = normalizeBaseURL(rendered.baseURL);
|
|
61
|
+
}
|
|
62
|
+
return rendered;
|
|
63
|
+
}
|
|
50
64
|
class LLMProvider {
|
|
51
65
|
app;
|
|
52
66
|
serviceOptions;
|
|
@@ -58,7 +72,7 @@ class LLMProvider {
|
|
|
58
72
|
constructor(opts) {
|
|
59
73
|
const { app, serviceOptions, modelOptions } = opts;
|
|
60
74
|
this.app = app;
|
|
61
|
-
this.serviceOptions =
|
|
75
|
+
this.serviceOptions = resolveServiceOptions(serviceOptions, app);
|
|
62
76
|
if (modelOptions) {
|
|
63
77
|
this.modelOptions = modelOptions;
|
|
64
78
|
this.chatModel = this.createModel();
|
|
@@ -97,18 +111,19 @@ class LLMProvider {
|
|
|
97
111
|
var _a, _b, _c, _d;
|
|
98
112
|
const options = this.serviceOptions || {};
|
|
99
113
|
const apiKey = options.apiKey;
|
|
100
|
-
let
|
|
101
|
-
|
|
102
|
-
|
|
114
|
+
let url;
|
|
115
|
+
try {
|
|
116
|
+
url = this.buildRequestURL("models");
|
|
117
|
+
} catch (e) {
|
|
118
|
+
return { code: 400, errMsg: e instanceof Error ? e.message : String(e) };
|
|
103
119
|
}
|
|
104
120
|
if (!apiKey) {
|
|
105
121
|
return { code: 400, errMsg: "API Key required" };
|
|
106
122
|
}
|
|
107
|
-
if (baseURL && baseURL.endsWith("/")) {
|
|
108
|
-
baseURL = baseURL.slice(0, -1);
|
|
109
|
-
}
|
|
110
123
|
try {
|
|
111
|
-
const res = await
|
|
124
|
+
const res = await (0, import_utils.serverRequest)({
|
|
125
|
+
method: "GET",
|
|
126
|
+
url,
|
|
112
127
|
headers: {
|
|
113
128
|
Authorization: `Bearer ${apiKey}`
|
|
114
129
|
}
|
|
@@ -122,10 +137,10 @@ class LLMProvider {
|
|
|
122
137
|
}
|
|
123
138
|
}
|
|
124
139
|
parseResponseMessage(message) {
|
|
125
|
-
return (0,
|
|
140
|
+
return (0, import_utils2.parseResponseMessage)(message);
|
|
126
141
|
}
|
|
127
142
|
parseResponseChunk(chunk) {
|
|
128
|
-
return (0,
|
|
143
|
+
return (0, import_utils2.stripToolCallTags)(chunk);
|
|
129
144
|
}
|
|
130
145
|
async parseAttachment(ctx, attachment) {
|
|
131
146
|
if (this.isApiSupportedAttachment(attachment)) {
|
|
@@ -160,7 +175,7 @@ class LLMProvider {
|
|
|
160
175
|
async convertToContent(ctx, attachment) {
|
|
161
176
|
const fileManager = this.app.pm.get("file-manager");
|
|
162
177
|
const url = await fileManager.getFileURL(attachment);
|
|
163
|
-
const data = await (0,
|
|
178
|
+
const data = await (0, import_utils2.encodeFile)(ctx, decodeURIComponent(url));
|
|
164
179
|
if (attachment.mimetype.startsWith("image/")) {
|
|
165
180
|
return {
|
|
166
181
|
placement: "contentBlocks",
|
|
@@ -286,6 +301,22 @@ ${parsed.text}
|
|
|
286
301
|
get documentLoader() {
|
|
287
302
|
return this.aiPlugin.documentLoaders.cached;
|
|
288
303
|
}
|
|
304
|
+
getResolvedBaseURL() {
|
|
305
|
+
var _a;
|
|
306
|
+
const baseURL = ((_a = this.serviceOptions) == null ? void 0 : _a.baseURL) ?? this.baseURL;
|
|
307
|
+
if (!baseURL) {
|
|
308
|
+
throw new Error("baseURL is required");
|
|
309
|
+
}
|
|
310
|
+
if (typeof baseURL !== "string") {
|
|
311
|
+
throw new Error("baseURL must be a string");
|
|
312
|
+
}
|
|
313
|
+
return normalizeBaseURL(baseURL);
|
|
314
|
+
}
|
|
315
|
+
buildRequestURL(pathname) {
|
|
316
|
+
const url = new URL(pathname.replace(/^\/+/, ""), `${this.getResolvedBaseURL()}/`).toString();
|
|
317
|
+
(0, import_utils.checkUrlAgainstWhitelist)(url);
|
|
318
|
+
return url;
|
|
319
|
+
}
|
|
289
320
|
get aiPlugin() {
|
|
290
321
|
return this.app.pm.get("ai");
|
|
291
322
|
}
|
|
@@ -295,7 +326,7 @@ class EmbeddingProvider {
|
|
|
295
326
|
this.opts = opts;
|
|
296
327
|
const { app, serviceOptions, modelOptions } = this.opts;
|
|
297
328
|
this.app = app;
|
|
298
|
-
this.serviceOptions =
|
|
329
|
+
this.serviceOptions = resolveServiceOptions(serviceOptions, app);
|
|
299
330
|
this.modelOptions = modelOptions;
|
|
300
331
|
}
|
|
301
332
|
app;
|
|
@@ -314,7 +345,10 @@ class EmbeddingProvider {
|
|
|
314
345
|
if (!baseURL) {
|
|
315
346
|
throw new Error("baseURL is required");
|
|
316
347
|
}
|
|
317
|
-
|
|
348
|
+
if (typeof baseURL !== "string") {
|
|
349
|
+
throw new Error("baseURL must be a string");
|
|
350
|
+
}
|
|
351
|
+
return normalizeBaseURL(baseURL);
|
|
318
352
|
}
|
|
319
353
|
get model() {
|
|
320
354
|
const { model } = this.modelOptions ?? {};
|
|
@@ -38,7 +38,7 @@ class XAIProvider extends import_provider.LLMProvider {
|
|
|
38
38
|
return "https://api.x.ai/v1";
|
|
39
39
|
}
|
|
40
40
|
createModel() {
|
|
41
|
-
const {
|
|
41
|
+
const { apiKey } = this.serviceOptions || {};
|
|
42
42
|
const { responseFormat, structuredOutput, ...restModelOptions } = this.modelOptions || {};
|
|
43
43
|
const { schema } = structuredOutput || {};
|
|
44
44
|
const responseFormatOptions = {
|
|
@@ -50,7 +50,7 @@ class XAIProvider extends import_provider.LLMProvider {
|
|
|
50
50
|
return new import_xai.ChatXAI({
|
|
51
51
|
apiKey,
|
|
52
52
|
...restModelOptions,
|
|
53
|
-
baseURL:
|
|
53
|
+
baseURL: this.getResolvedBaseURL(),
|
|
54
54
|
modelKwargs: {
|
|
55
55
|
response_format: responseFormatOptions
|
|
56
56
|
}
|
package/package.json
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"description": "Create AI employees with diverse skills to collaborate with humans, build systems, and handle business operations.",
|
|
7
7
|
"description.ru-RU": "Поддержка интеграции с AI-сервисами: предоставляются AI-узлы для рабочих процессов, расширяя возможности бизнес-обработки.",
|
|
8
8
|
"description.zh-CN": "创建各种技能的 AI 员工,与人类协同,搭建系统,处理业务。",
|
|
9
|
-
"version": "2.0.
|
|
9
|
+
"version": "2.0.61",
|
|
10
10
|
"license": "Apache-2.0",
|
|
11
11
|
"main": "dist/server/index.js",
|
|
12
12
|
"homepage": "https://docs.nocobase.com/handbook/action-ai",
|
|
@@ -61,5 +61,5 @@
|
|
|
61
61
|
"keywords": [
|
|
62
62
|
"AI"
|
|
63
63
|
],
|
|
64
|
-
"gitHead": "
|
|
64
|
+
"gitHead": "974b351c96c0a7a8ce9fd8cdc70a732a332bd7cf"
|
|
65
65
|
}
|