@n8n/ai-utilities 0.16.1 → 0.18.0
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/cjs/index.d.ts +2 -0
- package/dist/cjs/index.js +5 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/node-catalog/discriminator-utils.d.ts +22 -0
- package/dist/cjs/node-catalog/discriminator-utils.js +95 -0
- package/dist/cjs/node-catalog/discriminator-utils.js.map +1 -0
- package/dist/cjs/node-catalog/get.d.ts +18 -0
- package/dist/cjs/node-catalog/get.js +368 -0
- package/dist/cjs/node-catalog/get.js.map +1 -0
- package/dist/cjs/node-catalog/index.d.ts +14 -0
- package/dist/cjs/node-catalog/index.js +40 -0
- package/dist/cjs/node-catalog/index.js.map +1 -0
- package/dist/cjs/node-catalog/lean-node-type.d.ts +27 -0
- package/dist/cjs/node-catalog/lean-node-type.js +60 -0
- package/dist/cjs/node-catalog/lean-node-type.js.map +1 -0
- package/dist/cjs/node-catalog/node-type-parser.d.ts +20 -0
- package/dist/cjs/node-catalog/node-type-parser.js +79 -0
- package/dist/cjs/node-catalog/node-type-parser.js.map +1 -0
- package/dist/cjs/node-catalog/resource-operation-extractor.d.ts +26 -0
- package/dist/cjs/node-catalog/resource-operation-extractor.js +166 -0
- package/dist/cjs/node-catalog/resource-operation-extractor.js.map +1 -0
- package/dist/cjs/node-catalog/search-engine.d.ts +20 -0
- package/dist/cjs/node-catalog/search-engine.js +257 -0
- package/dist/cjs/node-catalog/search-engine.js.map +1 -0
- package/dist/cjs/node-catalog/search.d.ts +10 -0
- package/dist/cjs/node-catalog/search.js +331 -0
- package/dist/cjs/node-catalog/search.js.map +1 -0
- package/dist/cjs/node-catalog/suggested-nodes-data.d.ts +11 -0
- package/dist/cjs/node-catalog/suggested-nodes-data.js +246 -0
- package/dist/cjs/node-catalog/suggested-nodes-data.js.map +1 -0
- package/dist/cjs/node-catalog/suggested.d.ts +3 -0
- package/dist/cjs/node-catalog/suggested.js +86 -0
- package/dist/cjs/node-catalog/suggested.js.map +1 -0
- package/dist/cjs/node-catalog/types.d.ts +17 -0
- package/dist/cjs/node-catalog/types.js +13 -0
- package/dist/cjs/node-catalog/types.js.map +1 -0
- package/dist/cjs/typecheck.tsbuildinfo +1 -1
- package/dist/cjs/utils/fromai-helpers.d.ts +4 -0
- package/dist/cjs/utils/fromai-helpers.js +33 -0
- package/dist/cjs/utils/fromai-helpers.js.map +1 -0
- package/dist/cjs/utils/fromai-tool-factory.d.ts +2 -4
- package/dist/cjs/utils/fromai-tool-factory.js +8 -23
- package/dist/cjs/utils/fromai-tool-factory.js.map +1 -1
- package/dist/cjs/utils/loaders/n8n-pdf-loader.d.ts +10 -0
- package/dist/cjs/utils/loaders/n8n-pdf-loader.js +100 -0
- package/dist/cjs/utils/loaders/n8n-pdf-loader.js.map +1 -0
- package/dist/cjs/utils/n8n-binary-loader.js +3 -3
- package/dist/cjs/utils/n8n-binary-loader.js.map +1 -1
- package/dist/cjs/web-search/brave-search.d.ts +8 -0
- package/dist/cjs/web-search/brave-search.js +52 -0
- package/dist/cjs/web-search/brave-search.js.map +1 -0
- package/dist/cjs/web-search/index.d.ts +3 -0
- package/dist/cjs/web-search/index.js +18 -0
- package/dist/cjs/web-search/index.js.map +1 -0
- package/dist/cjs/web-search/searxng-search.d.ts +2 -0
- package/dist/cjs/web-search/searxng-search.js +49 -0
- package/dist/cjs/web-search/searxng-search.js.map +1 -0
- package/dist/cjs/web-search/types.d.ts +15 -0
- package/dist/cjs/web-search/types.js +13 -0
- package/dist/cjs/web-search/types.js.map +1 -0
- package/dist/esm/index.d.ts +2 -0
- package/dist/esm/index.js +5 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/node-catalog/discriminator-utils.d.ts +22 -0
- package/dist/esm/node-catalog/discriminator-utils.js +85 -0
- package/dist/esm/node-catalog/discriminator-utils.js.map +1 -0
- package/dist/esm/node-catalog/get.d.ts +18 -0
- package/dist/esm/node-catalog/get.js +358 -0
- package/dist/esm/node-catalog/get.js.map +1 -0
- package/dist/esm/node-catalog/index.d.ts +14 -0
- package/dist/esm/node-catalog/index.js +30 -0
- package/dist/esm/node-catalog/index.js.map +1 -0
- package/dist/esm/node-catalog/lean-node-type.d.ts +27 -0
- package/dist/esm/node-catalog/lean-node-type.js +50 -0
- package/dist/esm/node-catalog/lean-node-type.js.map +1 -0
- package/dist/esm/node-catalog/node-type-parser.d.ts +20 -0
- package/dist/esm/node-catalog/node-type-parser.js +69 -0
- package/dist/esm/node-catalog/node-type-parser.js.map +1 -0
- package/dist/esm/node-catalog/resource-operation-extractor.d.ts +26 -0
- package/dist/esm/node-catalog/resource-operation-extractor.js +156 -0
- package/dist/esm/node-catalog/resource-operation-extractor.js.map +1 -0
- package/dist/esm/node-catalog/search-engine.d.ts +20 -0
- package/dist/esm/node-catalog/search-engine.js +247 -0
- package/dist/esm/node-catalog/search-engine.js.map +1 -0
- package/dist/esm/node-catalog/search.d.ts +10 -0
- package/dist/esm/node-catalog/search.js +321 -0
- package/dist/esm/node-catalog/search.js.map +1 -0
- package/dist/esm/node-catalog/suggested-nodes-data.d.ts +11 -0
- package/dist/esm/node-catalog/suggested-nodes-data.js +236 -0
- package/dist/esm/node-catalog/suggested-nodes-data.js.map +1 -0
- package/dist/esm/node-catalog/suggested.d.ts +3 -0
- package/dist/esm/node-catalog/suggested.js +76 -0
- package/dist/esm/node-catalog/suggested.js.map +1 -0
- package/dist/esm/node-catalog/types.d.ts +17 -0
- package/dist/esm/node-catalog/types.js +3 -0
- package/dist/esm/node-catalog/types.js.map +1 -0
- package/dist/esm/typecheck.tsbuildinfo +1 -1
- package/dist/esm/utils/fromai-helpers.d.ts +4 -0
- package/dist/esm/utils/fromai-helpers.js +23 -0
- package/dist/esm/utils/fromai-helpers.js.map +1 -0
- package/dist/esm/utils/fromai-tool-factory.d.ts +2 -4
- package/dist/esm/utils/fromai-tool-factory.js +7 -22
- package/dist/esm/utils/fromai-tool-factory.js.map +1 -1
- package/dist/esm/utils/loaders/n8n-pdf-loader.d.ts +10 -0
- package/dist/esm/utils/loaders/n8n-pdf-loader.js +89 -0
- package/dist/esm/utils/loaders/n8n-pdf-loader.js.map +1 -0
- package/dist/esm/utils/n8n-binary-loader.js +2 -2
- package/dist/esm/utils/n8n-binary-loader.js.map +1 -1
- package/dist/esm/web-search/brave-search.d.ts +8 -0
- package/dist/esm/web-search/brave-search.js +42 -0
- package/dist/esm/web-search/brave-search.js.map +1 -0
- package/dist/esm/web-search/index.d.ts +3 -0
- package/dist/esm/web-search/index.js +8 -0
- package/dist/esm/web-search/index.js.map +1 -0
- package/dist/esm/web-search/searxng-search.d.ts +2 -0
- package/dist/esm/web-search/searxng-search.js +39 -0
- package/dist/esm/web-search/searxng-search.js.map +1 -0
- package/dist/esm/web-search/types.d.ts +15 -0
- package/dist/esm/web-search/types.js +3 -0
- package/dist/esm/web-search/types.js.map +1 -0
- package/package.json +39 -5
package/dist/cjs/index.d.ts
CHANGED
|
@@ -13,6 +13,8 @@ export { estimateTokensFromStringList, estimateTokensByCharCount, estimateTextSp
|
|
|
13
13
|
export { encodingForModel, getEncoding } from './utils/tokenizer/tiktoken';
|
|
14
14
|
export { makeN8nLlmFailedAttemptHandler } from './utils/failed-attempt-handler/n8nLlmFailedAttemptHandler';
|
|
15
15
|
export { getProxyAgent, getNodeProxyAgent, proxyFetch, type AgentTimeoutOptions, } from './utils/http-proxy-agent';
|
|
16
|
+
export { braveSearch, searxngSearch, type BraveSearchOptions } from './web-search';
|
|
17
|
+
export type { WebSearchOptions, WebSearchResponse, WebSearchResult } from './web-search';
|
|
16
18
|
export { fetchFollowingRedirects, type FollowRedirectsOptions, } from './utils/follow-redirects';
|
|
17
19
|
export { getConnectionHintNoticeField, metadataFilterField, getBatchingOptionFields, getTemplateNoticeField, } from './utils/shared-fields';
|
|
18
20
|
export { createToolFromNode, createZodSchemaFromArgs, extractFromAIParameters, } from './utils/fromai-tool-factory';
|
package/dist/cjs/index.js
CHANGED
|
@@ -4,12 +4,12 @@
|
|
|
4
4
|
if (v !== undefined) module.exports = v;
|
|
5
5
|
}
|
|
6
6
|
else if (typeof define === "function" && define.amd) {
|
|
7
|
-
define(["require", "exports", "./ai-node-sdk-version", "./utils/log-wrapper", "./utils/log-ai-event", "./utils/sse", "./utils/embeddings-input-validation", "./utils/helpers", "./utils/n8n-binary-loader", "./utils/n8n-json-loader", "./utils/n8n-llm-tracing", "./utils/text-editor", "./utils/tokenizer/token-estimator", "./utils/tokenizer/tiktoken", "./utils/failed-attempt-handler/n8nLlmFailedAttemptHandler", "./utils/http-proxy-agent", "./utils/follow-redirects", "./utils/shared-fields", "./utils/fromai-tool-factory", "./utils/vector-store/createVectorStoreNode/createVectorStoreNode", "./utils/vector-store/MemoryManager/MemoryVectorStoreManager", "./utils/vector-store/processDocuments", "./converters/tool", "./converters/message", "./guards", "./adapters/langchain-chat-model", "./chat-model/base", "./memory/base-chat-history", "./memory/base-chat-memory", "./memory/windowed-chat-memory", "./suppliers/supplyMemory", "./suppliers/supplyModel"], factory);
|
|
7
|
+
define(["require", "exports", "./ai-node-sdk-version", "./utils/log-wrapper", "./utils/log-ai-event", "./utils/sse", "./utils/embeddings-input-validation", "./utils/helpers", "./utils/n8n-binary-loader", "./utils/n8n-json-loader", "./utils/n8n-llm-tracing", "./utils/text-editor", "./utils/tokenizer/token-estimator", "./utils/tokenizer/tiktoken", "./utils/failed-attempt-handler/n8nLlmFailedAttemptHandler", "./utils/http-proxy-agent", "./web-search", "./utils/follow-redirects", "./utils/shared-fields", "./utils/fromai-tool-factory", "./utils/vector-store/createVectorStoreNode/createVectorStoreNode", "./utils/vector-store/MemoryManager/MemoryVectorStoreManager", "./utils/vector-store/processDocuments", "./converters/tool", "./converters/message", "./guards", "./adapters/langchain-chat-model", "./chat-model/base", "./memory/base-chat-history", "./memory/base-chat-memory", "./memory/windowed-chat-memory", "./suppliers/supplyMemory", "./suppliers/supplyModel"], factory);
|
|
8
8
|
}
|
|
9
9
|
})(function (require, exports) {
|
|
10
10
|
"use strict";
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.supplyModel = exports.supplyMemory = exports.WindowedChatMemory = exports.BaseChatMemory = exports.BaseChatHistory = exports.BaseChatModel = exports.LangchainChatModelAdapter = exports.isToolsInstance = exports.isChatInstance = exports.isBaseChatMessageHistory = exports.isBaseChatMemory = exports.fromLcContent = exports.toLcContent = exports.toLcMessage = exports.fromLcMessage = exports.getParametersJsonSchema = exports.processDocument = exports.processDocuments = exports.MemoryVectorStoreManager = exports.createVectorStoreNode = exports.extractFromAIParameters = exports.createZodSchemaFromArgs = exports.createToolFromNode = exports.getTemplateNoticeField = exports.getBatchingOptionFields = exports.metadataFilterField = exports.getConnectionHintNoticeField = exports.fetchFollowingRedirects = exports.proxyFetch = exports.getNodeProxyAgent = exports.getProxyAgent = exports.makeN8nLlmFailedAttemptHandler = exports.getEncoding = exports.encodingForModel = exports.estimateTextSplitsByTokens = exports.estimateTokensByCharCount = exports.estimateTokensFromStringList = exports.parseStrReplacements = exports.findDivergenceContext = exports.formatTextWithLineNumbers = exports.BatchReplacementError = exports.FileNotFoundError = exports.FileExistsError = exports.InvalidPathError = exports.InvalidViewRangeError = exports.InvalidLineNumberError = exports.MultipleMatchesError = exports.NoMatchFoundError = exports.TextEditorDocument = exports.N8nLlmTracing = exports.N8nJsonLoader = exports.N8nBinaryLoader = exports.hasLongSequentialRepeat = exports.getMetadataFiltersValues = exports.validateEmbedDocumentsInput = exports.validateEmbedQueryInput = exports.parseSSEStream = exports.logAiEvent = exports.logWrapper = exports.AI_NODE_SDK_VERSION = void 0;
|
|
12
|
+
exports.supplyModel = exports.supplyMemory = exports.WindowedChatMemory = exports.BaseChatMemory = exports.BaseChatHistory = exports.BaseChatModel = exports.LangchainChatModelAdapter = exports.isToolsInstance = exports.isChatInstance = exports.isBaseChatMessageHistory = exports.isBaseChatMemory = exports.fromLcContent = exports.toLcContent = exports.toLcMessage = exports.fromLcMessage = exports.getParametersJsonSchema = exports.processDocument = exports.processDocuments = exports.MemoryVectorStoreManager = exports.createVectorStoreNode = exports.extractFromAIParameters = exports.createZodSchemaFromArgs = exports.createToolFromNode = exports.getTemplateNoticeField = exports.getBatchingOptionFields = exports.metadataFilterField = exports.getConnectionHintNoticeField = exports.fetchFollowingRedirects = exports.searxngSearch = exports.braveSearch = exports.proxyFetch = exports.getNodeProxyAgent = exports.getProxyAgent = exports.makeN8nLlmFailedAttemptHandler = exports.getEncoding = exports.encodingForModel = exports.estimateTextSplitsByTokens = exports.estimateTokensByCharCount = exports.estimateTokensFromStringList = exports.parseStrReplacements = exports.findDivergenceContext = exports.formatTextWithLineNumbers = exports.BatchReplacementError = exports.FileNotFoundError = exports.FileExistsError = exports.InvalidPathError = exports.InvalidViewRangeError = exports.InvalidLineNumberError = exports.MultipleMatchesError = exports.NoMatchFoundError = exports.TextEditorDocument = exports.N8nLlmTracing = exports.N8nJsonLoader = exports.N8nBinaryLoader = exports.hasLongSequentialRepeat = exports.getMetadataFiltersValues = exports.validateEmbedDocumentsInput = exports.validateEmbedQueryInput = exports.parseSSEStream = exports.logAiEvent = exports.logWrapper = exports.AI_NODE_SDK_VERSION = void 0;
|
|
13
13
|
var ai_node_sdk_version_1 = require("./ai-node-sdk-version");
|
|
14
14
|
Object.defineProperty(exports, "AI_NODE_SDK_VERSION", { enumerable: true, get: function () { return ai_node_sdk_version_1.AI_NODE_SDK_VERSION; } });
|
|
15
15
|
var log_wrapper_1 = require("./utils/log-wrapper");
|
|
@@ -56,6 +56,9 @@
|
|
|
56
56
|
Object.defineProperty(exports, "getProxyAgent", { enumerable: true, get: function () { return http_proxy_agent_1.getProxyAgent; } });
|
|
57
57
|
Object.defineProperty(exports, "getNodeProxyAgent", { enumerable: true, get: function () { return http_proxy_agent_1.getNodeProxyAgent; } });
|
|
58
58
|
Object.defineProperty(exports, "proxyFetch", { enumerable: true, get: function () { return http_proxy_agent_1.proxyFetch; } });
|
|
59
|
+
var web_search_1 = require("./web-search");
|
|
60
|
+
Object.defineProperty(exports, "braveSearch", { enumerable: true, get: function () { return web_search_1.braveSearch; } });
|
|
61
|
+
Object.defineProperty(exports, "searxngSearch", { enumerable: true, get: function () { return web_search_1.searxngSearch; } });
|
|
59
62
|
var follow_redirects_1 = require("./utils/follow-redirects");
|
|
60
63
|
Object.defineProperty(exports, "fetchFollowingRedirects", { enumerable: true, get: function () { return follow_redirects_1.fetchFollowingRedirects; } });
|
|
61
64
|
var shared_fields_1 = require("./utils/shared-fields");
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;IACA,6DAA4D;IAAnD,0HAAA,mBAAmB,OAAA;IAG5B,mDAAiD;IAAxC,yGAAA,UAAU,OAAA;IACnB,qDAAkD;IAAzC,0GAAA,UAAU,OAAA;IACnB,mCAA6C;IAApC,qGAAA,cAAc,OAAA;IACvB,mFAG6C;IAF5C,sIAAA,uBAAuB,OAAA;IACvB,0IAAA,2BAA2B,OAAA;IAE5B,2CAAoF;IAA3E,mHAAA,wBAAwB,OAAA;IAAE,kHAAA,uBAAuB,OAAA;IAC1D,+DAA4D;IAAnD,oHAAA,eAAe,OAAA;IACxB,2DAAwD;IAA/C,gHAAA,aAAa,OAAA;IACtB,2DAAwD;IAA/C,gHAAA,aAAa,OAAA;IACtB,mDAa6B;IAZ5B,iHAAA,kBAAkB,OAAA;IAClB,gHAAA,iBAAiB,OAAA;IACjB,mHAAA,oBAAoB,OAAA;IACpB,qHAAA,sBAAsB,OAAA;IACtB,oHAAA,qBAAqB,OAAA;IACrB,+GAAA,gBAAgB,OAAA;IAChB,8GAAA,eAAe,OAAA;IACf,gHAAA,iBAAiB,OAAA;IACjB,oHAAA,qBAAqB,OAAA;IACrB,wHAAA,yBAAyB,OAAA;IACzB,oHAAA,qBAAqB,OAAA;IACrB,mHAAA,oBAAoB,OAAA;IAgBrB,qEAI2C;IAH1C,+HAAA,4BAA4B,OAAA;IAC5B,4HAAA,yBAAyB,OAAA;IACzB,6HAAA,0BAA0B,OAAA;IAE3B,uDAA2E;IAAlE,4GAAA,gBAAgB,OAAA;IAAE,uGAAA,WAAW,OAAA;IACtC,wGAA2G;IAAlG,4IAAA,8BAA8B,OAAA;IACvC,6DAKkC;IAJjC,iHAAA,aAAa,OAAA;IACb,qHAAA,iBAAiB,OAAA;IACjB,8GAAA,UAAU,OAAA;IAGX,6DAGkC;IAFjC,2HAAA,uBAAuB,OAAA;IAGxB,uDAK+B;IAJ9B,6HAAA,4BAA4B,OAAA;IAC5B,oHAAA,mBAAmB,OAAA;IACnB,wHAAA,uBAAuB,OAAA;IACvB,uHAAA,sBAAsB,OAAA;IAEvB,mEAIqC;IAHpC,yHAAA,kBAAkB,OAAA;IAClB,8HAAA,uBAAuB,OAAA;IACvB,8HAAA,uBAAuB,OAAA;IAExB,0GAAyG;IAAhG,8HAAA,qBAAqB,OAAA;IAM9B,wGAAuG;IAA9F,oIAAA,wBAAwB,OAAA;IACjC,0EAG+C;IAF9C,oHAAA,gBAAgB,OAAA;IAChB,mHAAA,eAAe,OAAA;IAKhB,0CAA4D;IAAnD,+GAAA,uBAAuB,OAAA;IAChC,gDAA8F;IAArF,wGAAA,aAAa,OAAA;IAAE,sGAAA,WAAW,OAAA;IAAE,sGAAA,WAAW,OAAA;IAAE,wGAAA,aAAa,OAAA;IAG/D,mCAKkB;IAJjB,0GAAA,gBAAgB,OAAA;IAChB,kHAAA,wBAAwB,OAAA;IACxB,wGAAA,cAAc,OAAA;IACd,yGAAA,eAAe,OAAA;IAsBhB,wEAA4E;IAAnE,iIAAA,yBAAyB,OAAA;IAClC,0CAAkD;IAAzC,qGAAA,aAAa,OAAA;IAGtB,gEAA6D;IAApD,oHAAA,eAAe,OAAA;IACxB,8DAA2D;IAAlD,kHAAA,cAAc,OAAA;IAGvB,sEAAkG;IAAzF,0HAAA,kBAAkB,OAAA;IAG3B,yDAAkF;IAAzE,4GAAA,YAAY,OAAA;IACrB,uDAAiG;IAAxF,0GAAA,WAAW,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;IACA,6DAA4D;IAAnD,0HAAA,mBAAmB,OAAA;IAG5B,mDAAiD;IAAxC,yGAAA,UAAU,OAAA;IACnB,qDAAkD;IAAzC,0GAAA,UAAU,OAAA;IACnB,mCAA6C;IAApC,qGAAA,cAAc,OAAA;IACvB,mFAG6C;IAF5C,sIAAA,uBAAuB,OAAA;IACvB,0IAAA,2BAA2B,OAAA;IAE5B,2CAAoF;IAA3E,mHAAA,wBAAwB,OAAA;IAAE,kHAAA,uBAAuB,OAAA;IAC1D,+DAA4D;IAAnD,oHAAA,eAAe,OAAA;IACxB,2DAAwD;IAA/C,gHAAA,aAAa,OAAA;IACtB,2DAAwD;IAA/C,gHAAA,aAAa,OAAA;IACtB,mDAa6B;IAZ5B,iHAAA,kBAAkB,OAAA;IAClB,gHAAA,iBAAiB,OAAA;IACjB,mHAAA,oBAAoB,OAAA;IACpB,qHAAA,sBAAsB,OAAA;IACtB,oHAAA,qBAAqB,OAAA;IACrB,+GAAA,gBAAgB,OAAA;IAChB,8GAAA,eAAe,OAAA;IACf,gHAAA,iBAAiB,OAAA;IACjB,oHAAA,qBAAqB,OAAA;IACrB,wHAAA,yBAAyB,OAAA;IACzB,oHAAA,qBAAqB,OAAA;IACrB,mHAAA,oBAAoB,OAAA;IAgBrB,qEAI2C;IAH1C,+HAAA,4BAA4B,OAAA;IAC5B,4HAAA,yBAAyB,OAAA;IACzB,6HAAA,0BAA0B,OAAA;IAE3B,uDAA2E;IAAlE,4GAAA,gBAAgB,OAAA;IAAE,uGAAA,WAAW,OAAA;IACtC,wGAA2G;IAAlG,4IAAA,8BAA8B,OAAA;IACvC,6DAKkC;IAJjC,iHAAA,aAAa,OAAA;IACb,qHAAA,iBAAiB,OAAA;IACjB,8GAAA,UAAU,OAAA;IAGX,2CAAmF;IAA1E,yGAAA,WAAW,OAAA;IAAE,2GAAA,aAAa,OAAA;IAEnC,6DAGkC;IAFjC,2HAAA,uBAAuB,OAAA;IAGxB,uDAK+B;IAJ9B,6HAAA,4BAA4B,OAAA;IAC5B,oHAAA,mBAAmB,OAAA;IACnB,wHAAA,uBAAuB,OAAA;IACvB,uHAAA,sBAAsB,OAAA;IAEvB,mEAIqC;IAHpC,yHAAA,kBAAkB,OAAA;IAClB,8HAAA,uBAAuB,OAAA;IACvB,8HAAA,uBAAuB,OAAA;IAExB,0GAAyG;IAAhG,8HAAA,qBAAqB,OAAA;IAM9B,wGAAuG;IAA9F,oIAAA,wBAAwB,OAAA;IACjC,0EAG+C;IAF9C,oHAAA,gBAAgB,OAAA;IAChB,mHAAA,eAAe,OAAA;IAKhB,0CAA4D;IAAnD,+GAAA,uBAAuB,OAAA;IAChC,gDAA8F;IAArF,wGAAA,aAAa,OAAA;IAAE,sGAAA,WAAW,OAAA;IAAE,sGAAA,WAAW,OAAA;IAAE,wGAAA,aAAa,OAAA;IAG/D,mCAKkB;IAJjB,0GAAA,gBAAgB,OAAA;IAChB,kHAAA,wBAAwB,OAAA;IACxB,wGAAA,cAAc,OAAA;IACd,yGAAA,eAAe,OAAA;IAsBhB,wEAA4E;IAAnE,iIAAA,yBAAyB,OAAA;IAClC,0CAAkD;IAAzC,qGAAA,aAAa,OAAA;IAGtB,gEAA6D;IAApD,oHAAA,eAAe,OAAA;IACxB,8DAA2D;IAAlD,kHAAA,cAAc,OAAA;IAGvB,sEAAkG;IAAzF,0HAAA,kBAAkB,OAAA;IAG3B,yDAAkF;IAAzE,4GAAA,YAAY,OAAA;IACrB,uDAAiG;IAAxF,0GAAA,WAAW,OAAA"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { INodeTypeDescription, IParameterBuilderHint, NodeConnectionType } from 'n8n-workflow';
|
|
2
|
+
export interface ModeInfo {
|
|
3
|
+
value: string;
|
|
4
|
+
displayName: string;
|
|
5
|
+
outputConnectionType?: NodeConnectionType;
|
|
6
|
+
description?: string;
|
|
7
|
+
builderHint?: IParameterBuilderHint;
|
|
8
|
+
}
|
|
9
|
+
export interface ModeDiscriminatorInfo {
|
|
10
|
+
modes: ModeInfo[];
|
|
11
|
+
}
|
|
12
|
+
export declare function extractModeDiscriminator(nodeType: INodeTypeDescription, nodeVersion: number): ModeDiscriminatorInfo | null;
|
|
13
|
+
export interface OperationOnlyInfo {
|
|
14
|
+
value: string;
|
|
15
|
+
displayName: string;
|
|
16
|
+
description?: string;
|
|
17
|
+
builderHint?: IParameterBuilderHint;
|
|
18
|
+
}
|
|
19
|
+
export interface OperationOnlyDiscriminatorInfo {
|
|
20
|
+
operations: OperationOnlyInfo[];
|
|
21
|
+
}
|
|
22
|
+
export declare function extractOperationOnlyDiscriminator(nodeType: INodeTypeDescription, nodeVersion: number): OperationOnlyDiscriminatorInfo | null;
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
(function (factory) {
|
|
2
|
+
if (typeof module === "object" && typeof module.exports === "object") {
|
|
3
|
+
var v = factory(require, exports);
|
|
4
|
+
if (v !== undefined) module.exports = v;
|
|
5
|
+
}
|
|
6
|
+
else if (typeof define === "function" && define.amd) {
|
|
7
|
+
define(["require", "exports"], factory);
|
|
8
|
+
}
|
|
9
|
+
})(function (require, exports) {
|
|
10
|
+
"use strict";
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.extractModeDiscriminator = extractModeDiscriminator;
|
|
13
|
+
exports.extractOperationOnlyDiscriminator = extractOperationOnlyDiscriminator;
|
|
14
|
+
function extractModeDiscriminator(nodeType, nodeVersion) {
|
|
15
|
+
const properties = nodeType.properties;
|
|
16
|
+
if (!properties || properties.length === 0) {
|
|
17
|
+
return null;
|
|
18
|
+
}
|
|
19
|
+
const modeProperty = properties.find((prop) => prop.name === 'mode' &&
|
|
20
|
+
prop.type === 'options' &&
|
|
21
|
+
isPropertyVisibleForVersion(prop, nodeVersion) &&
|
|
22
|
+
!prop.displayOptions?.show?.operation &&
|
|
23
|
+
!prop.displayOptions?.show?.resource);
|
|
24
|
+
if (!modeProperty?.options) {
|
|
25
|
+
return null;
|
|
26
|
+
}
|
|
27
|
+
const modes = modeProperty.options
|
|
28
|
+
.filter((opt) => typeof opt === 'object' && opt !== null && 'value' in opt && typeof opt.value === 'string')
|
|
29
|
+
.map((opt) => ({
|
|
30
|
+
value: opt.value,
|
|
31
|
+
displayName: opt.name,
|
|
32
|
+
outputConnectionType: opt.outputConnectionType,
|
|
33
|
+
description: opt.description,
|
|
34
|
+
builderHint: opt.builderHint,
|
|
35
|
+
}));
|
|
36
|
+
if (modes.length === 0) {
|
|
37
|
+
return null;
|
|
38
|
+
}
|
|
39
|
+
return { modes };
|
|
40
|
+
}
|
|
41
|
+
function extractOperationOnlyDiscriminator(nodeType, nodeVersion) {
|
|
42
|
+
const properties = nodeType.properties;
|
|
43
|
+
if (!properties || properties.length === 0) {
|
|
44
|
+
return null;
|
|
45
|
+
}
|
|
46
|
+
const hasResource = properties.some((prop) => prop.name === 'resource' &&
|
|
47
|
+
prop.type === 'options' &&
|
|
48
|
+
isPropertyVisibleForVersion(prop, nodeVersion));
|
|
49
|
+
if (hasResource) {
|
|
50
|
+
return null;
|
|
51
|
+
}
|
|
52
|
+
const operationProperty = properties.find((prop) => prop.name === 'operation' &&
|
|
53
|
+
prop.type === 'options' &&
|
|
54
|
+
isPropertyVisibleForVersion(prop, nodeVersion));
|
|
55
|
+
if (!operationProperty?.options) {
|
|
56
|
+
return null;
|
|
57
|
+
}
|
|
58
|
+
const operations = operationProperty.options
|
|
59
|
+
.filter((opt) => typeof opt === 'object' && opt !== null && 'value' in opt && typeof opt.value === 'string')
|
|
60
|
+
.map((opt) => ({
|
|
61
|
+
value: opt.value,
|
|
62
|
+
displayName: opt.name,
|
|
63
|
+
description: opt.description,
|
|
64
|
+
builderHint: opt.builderHint,
|
|
65
|
+
}));
|
|
66
|
+
if (operations.length === 0) {
|
|
67
|
+
return null;
|
|
68
|
+
}
|
|
69
|
+
return { operations };
|
|
70
|
+
}
|
|
71
|
+
function isPropertyVisibleForVersion(property, nodeVersion) {
|
|
72
|
+
const displayOptions = property.displayOptions;
|
|
73
|
+
if (!displayOptions) {
|
|
74
|
+
return true;
|
|
75
|
+
}
|
|
76
|
+
const showVersion = displayOptions.show?.['@version'];
|
|
77
|
+
if (showVersion) {
|
|
78
|
+
if (Array.isArray(showVersion)) {
|
|
79
|
+
if (!showVersion.includes(nodeVersion)) {
|
|
80
|
+
return false;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
const hideVersion = displayOptions.hide?.['@version'];
|
|
85
|
+
if (hideVersion) {
|
|
86
|
+
if (Array.isArray(hideVersion)) {
|
|
87
|
+
if (hideVersion.includes(nodeVersion)) {
|
|
88
|
+
return false;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
return true;
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
//# sourceMappingURL=discriminator-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"discriminator-utils.js","sourceRoot":"","sources":["../../../src/node-catalog/discriminator-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export declare function isValidPathComponent(component: string): boolean;
|
|
2
|
+
export declare function validatePathWithinBase(filePath: string, baseDir: string): boolean;
|
|
3
|
+
export declare function toSnakeCase(str: string): string;
|
|
4
|
+
export declare function parseNodeId(nodeId: string): {
|
|
5
|
+
packageName: string;
|
|
6
|
+
nodeName: string;
|
|
7
|
+
} | null;
|
|
8
|
+
export type NodeRequest = string | {
|
|
9
|
+
nodeId: string;
|
|
10
|
+
version?: string;
|
|
11
|
+
resource?: string;
|
|
12
|
+
operation?: string;
|
|
13
|
+
mode?: string;
|
|
14
|
+
};
|
|
15
|
+
export interface CodeBuilderGetToolOptions {
|
|
16
|
+
nodeDefinitionDirs?: string[];
|
|
17
|
+
}
|
|
18
|
+
export declare function getNodeTypes(nodeIds: NodeRequest[], options?: CodeBuilderGetToolOptions): string;
|
|
@@ -0,0 +1,368 @@
|
|
|
1
|
+
(function (factory) {
|
|
2
|
+
if (typeof module === "object" && typeof module.exports === "object") {
|
|
3
|
+
var v = factory(require, exports);
|
|
4
|
+
if (v !== undefined) module.exports = v;
|
|
5
|
+
}
|
|
6
|
+
else if (typeof define === "function" && define.amd) {
|
|
7
|
+
define(["require", "exports", "node:fs", "node:path"], factory);
|
|
8
|
+
}
|
|
9
|
+
})(function (require, exports) {
|
|
10
|
+
"use strict";
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.isValidPathComponent = isValidPathComponent;
|
|
13
|
+
exports.validatePathWithinBase = validatePathWithinBase;
|
|
14
|
+
exports.toSnakeCase = toSnakeCase;
|
|
15
|
+
exports.parseNodeId = parseNodeId;
|
|
16
|
+
exports.getNodeTypes = getNodeTypes;
|
|
17
|
+
const node_fs_1 = require("node:fs");
|
|
18
|
+
const node_path_1 = require("node:path");
|
|
19
|
+
function isValidPathComponent(component) {
|
|
20
|
+
if (!component || component.trim() === '') {
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
if (component.includes('\0')) {
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
if (component.includes('/') || component.includes('\\')) {
|
|
27
|
+
return false;
|
|
28
|
+
}
|
|
29
|
+
if (component === '..' || component.startsWith('..')) {
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
return true;
|
|
33
|
+
}
|
|
34
|
+
function validatePathWithinBase(filePath, baseDir) {
|
|
35
|
+
const resolvedPath = (0, node_path_1.resolve)(filePath);
|
|
36
|
+
const resolvedBase = (0, node_path_1.resolve)(baseDir);
|
|
37
|
+
const separator = process.platform === 'win32' ? '\\' : '/';
|
|
38
|
+
return resolvedPath.startsWith(resolvedBase + separator) || resolvedPath === resolvedBase;
|
|
39
|
+
}
|
|
40
|
+
function getGeneratedNodesPaths(nodeDefinitionDirs) {
|
|
41
|
+
if (nodeDefinitionDirs && nodeDefinitionDirs.length > 0) {
|
|
42
|
+
return nodeDefinitionDirs.map((dir) => (0, node_path_1.join)(dir, 'nodes'));
|
|
43
|
+
}
|
|
44
|
+
return [];
|
|
45
|
+
}
|
|
46
|
+
function findNodeDir(parsed, nodesPaths) {
|
|
47
|
+
const candidates = [parsed.nodeName];
|
|
48
|
+
const baseName = parsed.nodeName.replace(/(?:HitlTool|Tool)$/, '');
|
|
49
|
+
if (baseName !== parsed.nodeName)
|
|
50
|
+
candidates.push(baseName);
|
|
51
|
+
for (const candidate of candidates) {
|
|
52
|
+
for (const nodesPath of nodesPaths) {
|
|
53
|
+
const nodeDir = (0, node_path_1.join)(nodesPath, parsed.packageName, candidate);
|
|
54
|
+
if ((0, node_fs_1.existsSync)(nodeDir)) {
|
|
55
|
+
return { nodesPath, nodeDir };
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return null;
|
|
60
|
+
}
|
|
61
|
+
function toSnakeCase(str) {
|
|
62
|
+
return str
|
|
63
|
+
.replace(/([A-Z])/g, '_$1')
|
|
64
|
+
.toLowerCase()
|
|
65
|
+
.replace(/^_/, '')
|
|
66
|
+
.replace(/[-\s]+/g, '_');
|
|
67
|
+
}
|
|
68
|
+
function isSplitVersionStructure(nodeDir, versionStr) {
|
|
69
|
+
const versionDir = (0, node_path_1.join)(nodeDir, versionStr);
|
|
70
|
+
return (0, node_fs_1.existsSync)(versionDir) && (0, node_fs_1.statSync)(versionDir).isDirectory();
|
|
71
|
+
}
|
|
72
|
+
function getAvailableDiscriminators(nodeDir, versionStr) {
|
|
73
|
+
const versionDir = (0, node_path_1.join)(nodeDir, versionStr);
|
|
74
|
+
if (!(0, node_fs_1.existsSync)(versionDir)) {
|
|
75
|
+
return {};
|
|
76
|
+
}
|
|
77
|
+
try {
|
|
78
|
+
const entries = (0, node_fs_1.readdirSync)(versionDir, { withFileTypes: true });
|
|
79
|
+
const resources = [];
|
|
80
|
+
const modes = [];
|
|
81
|
+
for (const entry of entries) {
|
|
82
|
+
if (entry.isDirectory() && entry.name.startsWith('resource_')) {
|
|
83
|
+
resources.push(entry.name.replace('resource_', ''));
|
|
84
|
+
}
|
|
85
|
+
else if (entry.isFile() && entry.name.startsWith('mode_') && entry.name.endsWith('.ts')) {
|
|
86
|
+
modes.push(entry.name.replace('mode_', '').replace('.ts', ''));
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
return {
|
|
90
|
+
resources: resources.length > 0 ? resources : undefined,
|
|
91
|
+
modes: modes.length > 0 ? modes : undefined,
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
catch {
|
|
95
|
+
return {};
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
function parseNodeId(nodeId) {
|
|
99
|
+
if (nodeId.startsWith('@n8n/')) {
|
|
100
|
+
const withoutPrefix = nodeId.slice(5);
|
|
101
|
+
const dotIndex = withoutPrefix.indexOf('.');
|
|
102
|
+
if (dotIndex === -1) {
|
|
103
|
+
return null;
|
|
104
|
+
}
|
|
105
|
+
return {
|
|
106
|
+
packageName: withoutPrefix.slice(0, dotIndex),
|
|
107
|
+
nodeName: withoutPrefix.slice(dotIndex + 1),
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
const dotIndex = nodeId.indexOf('.');
|
|
111
|
+
if (dotIndex === -1) {
|
|
112
|
+
return null;
|
|
113
|
+
}
|
|
114
|
+
return {
|
|
115
|
+
packageName: nodeId.slice(0, dotIndex),
|
|
116
|
+
nodeName: nodeId.slice(dotIndex + 1),
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
function getNodeVersions(nodeId, nodeDefinitionDirs) {
|
|
120
|
+
const parsed = parseNodeId(nodeId);
|
|
121
|
+
if (!parsed) {
|
|
122
|
+
return [];
|
|
123
|
+
}
|
|
124
|
+
const nodesPaths = getGeneratedNodesPaths(nodeDefinitionDirs);
|
|
125
|
+
const found = findNodeDir(parsed, nodesPaths);
|
|
126
|
+
if (!found) {
|
|
127
|
+
return [];
|
|
128
|
+
}
|
|
129
|
+
const { nodeDir } = found;
|
|
130
|
+
try {
|
|
131
|
+
const entries = (0, node_fs_1.readdirSync)(nodeDir, { withFileTypes: true });
|
|
132
|
+
const versions = [];
|
|
133
|
+
for (const entry of entries) {
|
|
134
|
+
if (entry.isFile() &&
|
|
135
|
+
entry.name.startsWith('v') &&
|
|
136
|
+
entry.name.endsWith('.ts') &&
|
|
137
|
+
entry.name !== 'index.ts' &&
|
|
138
|
+
!entry.name.endsWith('.schema.js')) {
|
|
139
|
+
versions.push(entry.name.replace('.ts', ''));
|
|
140
|
+
}
|
|
141
|
+
else if (entry.isDirectory() && /^v\d+$/.test(entry.name)) {
|
|
142
|
+
versions.push(entry.name);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
versions.sort((a, b) => {
|
|
146
|
+
const aNum = parseInt(a.slice(1), 10);
|
|
147
|
+
const bNum = parseInt(b.slice(1), 10);
|
|
148
|
+
return bNum - aNum;
|
|
149
|
+
});
|
|
150
|
+
return versions;
|
|
151
|
+
}
|
|
152
|
+
catch {
|
|
153
|
+
return [];
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
function resolveResourceOperationPath(nodeDir, targetVersion, nodeId, available, discriminators) {
|
|
157
|
+
if (!discriminators?.resource || !discriminators?.operation) {
|
|
158
|
+
return {
|
|
159
|
+
error: `Error: Node '${nodeId}' requires resource and operation discriminators. Available resources: ${available.resources?.join(', ')}. Use search_nodes to see all options.`,
|
|
160
|
+
requiresDiscriminators: true,
|
|
161
|
+
availableDiscriminators: available,
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
if (!isValidPathComponent(discriminators.resource)) {
|
|
165
|
+
return {
|
|
166
|
+
error: `Error: Invalid resource value '${discriminators.resource}' - contains invalid characters`,
|
|
167
|
+
};
|
|
168
|
+
}
|
|
169
|
+
if (!isValidPathComponent(discriminators.operation)) {
|
|
170
|
+
return {
|
|
171
|
+
error: `Error: Invalid operation value '${discriminators.operation}' - contains invalid characters`,
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
const resourcePath = `resource_${toSnakeCase(discriminators.resource)}`;
|
|
175
|
+
const resourceDir = (0, node_path_1.join)(nodeDir, targetVersion, resourcePath);
|
|
176
|
+
if (!(0, node_fs_1.existsSync)(resourceDir)) {
|
|
177
|
+
return {
|
|
178
|
+
error: `Error: Invalid resource '${discriminators.resource}' for node '${nodeId}'. Available: ${available.resources?.join(', ')}`,
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
const operationFile = `operation_${toSnakeCase(discriminators.operation)}.ts`;
|
|
182
|
+
const filePath = (0, node_path_1.join)(resourceDir, operationFile);
|
|
183
|
+
if (!validatePathWithinBase(filePath, nodeDir)) {
|
|
184
|
+
return {
|
|
185
|
+
error: 'Error: Invalid path - path traversal detected',
|
|
186
|
+
};
|
|
187
|
+
}
|
|
188
|
+
if (!(0, node_fs_1.existsSync)(filePath)) {
|
|
189
|
+
try {
|
|
190
|
+
const ops = (0, node_fs_1.readdirSync)(resourceDir)
|
|
191
|
+
.filter((f) => f.startsWith('operation_') && f.endsWith('.ts'))
|
|
192
|
+
.map((f) => f.replace('operation_', '').replace('.ts', ''));
|
|
193
|
+
return {
|
|
194
|
+
error: `Error: Invalid operation '${discriminators.operation}' for resource '${discriminators.resource}'. Available: ${ops.join(', ')}`,
|
|
195
|
+
};
|
|
196
|
+
}
|
|
197
|
+
catch {
|
|
198
|
+
return {
|
|
199
|
+
error: `Error: Could not read operations for resource '${discriminators.resource}'`,
|
|
200
|
+
};
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
return { filePath };
|
|
204
|
+
}
|
|
205
|
+
function resolveModePath(nodeDir, targetVersion, nodeId, available, mode) {
|
|
206
|
+
if (!mode) {
|
|
207
|
+
return {
|
|
208
|
+
error: `Error: Node '${nodeId}' requires mode discriminator. Available modes: ${available.modes?.join(', ')}. Use search_nodes to see all options.`,
|
|
209
|
+
requiresDiscriminators: true,
|
|
210
|
+
availableDiscriminators: available,
|
|
211
|
+
};
|
|
212
|
+
}
|
|
213
|
+
if (!isValidPathComponent(mode)) {
|
|
214
|
+
return {
|
|
215
|
+
error: `Error: Invalid mode value '${mode}' - contains invalid characters`,
|
|
216
|
+
};
|
|
217
|
+
}
|
|
218
|
+
const modeFile = `mode_${toSnakeCase(mode)}.ts`;
|
|
219
|
+
const filePath = (0, node_path_1.join)(nodeDir, targetVersion, modeFile);
|
|
220
|
+
if (!validatePathWithinBase(filePath, nodeDir)) {
|
|
221
|
+
return {
|
|
222
|
+
error: 'Error: Invalid path - path traversal detected',
|
|
223
|
+
};
|
|
224
|
+
}
|
|
225
|
+
if (!(0, node_fs_1.existsSync)(filePath)) {
|
|
226
|
+
return {
|
|
227
|
+
error: `Error: Invalid mode '${mode}' for node '${nodeId}'. Available: ${available.modes?.join(', ')}`,
|
|
228
|
+
};
|
|
229
|
+
}
|
|
230
|
+
return { filePath };
|
|
231
|
+
}
|
|
232
|
+
function getNodeFilePath(nodeId, version, nodeDefinitionDirs, discriminators) {
|
|
233
|
+
const parsed = parseNodeId(nodeId);
|
|
234
|
+
if (!parsed) {
|
|
235
|
+
return { error: `Invalid node ID format: '${nodeId}'` };
|
|
236
|
+
}
|
|
237
|
+
if (!isValidPathComponent(parsed.packageName)) {
|
|
238
|
+
return {
|
|
239
|
+
error: `Error: Invalid package name in node ID '${nodeId}' - contains invalid characters`,
|
|
240
|
+
};
|
|
241
|
+
}
|
|
242
|
+
if (!isValidPathComponent(parsed.nodeName)) {
|
|
243
|
+
return {
|
|
244
|
+
error: `Error: Invalid node name in node ID '${nodeId}' - contains invalid characters`,
|
|
245
|
+
};
|
|
246
|
+
}
|
|
247
|
+
const nodesPaths = getGeneratedNodesPaths(nodeDefinitionDirs);
|
|
248
|
+
const found = findNodeDir(parsed, nodesPaths);
|
|
249
|
+
if (!found) {
|
|
250
|
+
return {
|
|
251
|
+
error: `Node type '${nodeId}' not found. Use search_node to find the correct node ID.`,
|
|
252
|
+
};
|
|
253
|
+
}
|
|
254
|
+
const { nodesPath, nodeDir } = found;
|
|
255
|
+
if (!validatePathWithinBase(nodeDir, nodesPath)) {
|
|
256
|
+
return { error: 'Error: Invalid path - path traversal detected' };
|
|
257
|
+
}
|
|
258
|
+
let targetVersion = version;
|
|
259
|
+
if (!targetVersion) {
|
|
260
|
+
const versions = getNodeVersions(nodeId, nodeDefinitionDirs);
|
|
261
|
+
if (versions.length === 0) {
|
|
262
|
+
return { error: `No versions found for node '${nodeId}'` };
|
|
263
|
+
}
|
|
264
|
+
targetVersion = versions[0];
|
|
265
|
+
}
|
|
266
|
+
if (!targetVersion.startsWith('v')) {
|
|
267
|
+
targetVersion = `v${targetVersion.replace('.', '')}`;
|
|
268
|
+
}
|
|
269
|
+
else {
|
|
270
|
+
targetVersion = `v${targetVersion.slice(1).replace('.', '')}`;
|
|
271
|
+
}
|
|
272
|
+
if (isSplitVersionStructure(nodeDir, targetVersion)) {
|
|
273
|
+
const available = getAvailableDiscriminators(nodeDir, targetVersion);
|
|
274
|
+
if (available.resources && available.resources.length > 0) {
|
|
275
|
+
return resolveResourceOperationPath(nodeDir, targetVersion, nodeId, available, discriminators);
|
|
276
|
+
}
|
|
277
|
+
if (available.modes && available.modes.length > 0) {
|
|
278
|
+
return resolveModePath(nodeDir, targetVersion, nodeId, available, discriminators?.mode);
|
|
279
|
+
}
|
|
280
|
+
return {
|
|
281
|
+
error: `Error: Node '${nodeId}' has split structure but no recognized discriminators found`,
|
|
282
|
+
};
|
|
283
|
+
}
|
|
284
|
+
const filePath = (0, node_path_1.join)(nodeDir, `${targetVersion}.ts`);
|
|
285
|
+
if (!(0, node_fs_1.existsSync)(filePath)) {
|
|
286
|
+
return { error: `Version '${version}' not found for node '${nodeId}'` };
|
|
287
|
+
}
|
|
288
|
+
return { filePath };
|
|
289
|
+
}
|
|
290
|
+
function getNodeTypeDefinition(nodeId, version, nodeDefinitionDirs, discriminators) {
|
|
291
|
+
const nodesPaths = getGeneratedNodesPaths(nodeDefinitionDirs);
|
|
292
|
+
const anyDirExists = nodesPaths.some((p) => (0, node_fs_1.existsSync)(p));
|
|
293
|
+
if (!anyDirExists) {
|
|
294
|
+
const errorMsg = nodeDefinitionDirs
|
|
295
|
+
? 'Node types directory not found in any of the configured dirs. Types may not have been generated yet.'
|
|
296
|
+
: 'Node types not found. The generated types directory does not exist. Ensure the application has started properly and types have been generated.';
|
|
297
|
+
return {
|
|
298
|
+
nodeId,
|
|
299
|
+
content: '',
|
|
300
|
+
error: errorMsg,
|
|
301
|
+
};
|
|
302
|
+
}
|
|
303
|
+
const pathResult = getNodeFilePath(nodeId, version, nodeDefinitionDirs, discriminators);
|
|
304
|
+
if (pathResult.error) {
|
|
305
|
+
const availableVersions = getNodeVersions(nodeId, nodeDefinitionDirs);
|
|
306
|
+
return {
|
|
307
|
+
nodeId,
|
|
308
|
+
version,
|
|
309
|
+
content: '',
|
|
310
|
+
availableVersions: availableVersions.length > 0 ? availableVersions : undefined,
|
|
311
|
+
error: pathResult.error,
|
|
312
|
+
};
|
|
313
|
+
}
|
|
314
|
+
if (!pathResult.filePath) {
|
|
315
|
+
return {
|
|
316
|
+
nodeId,
|
|
317
|
+
content: '',
|
|
318
|
+
error: `Node type '${nodeId}' not found. Use search_node to find the correct node ID.`,
|
|
319
|
+
};
|
|
320
|
+
}
|
|
321
|
+
try {
|
|
322
|
+
const content = (0, node_fs_1.readFileSync)(pathResult.filePath, 'utf-8');
|
|
323
|
+
const actualVersion = pathResult.filePath.match(/\/(v\d+)(?:\/|\.ts)/)?.[1];
|
|
324
|
+
return { nodeId, version: actualVersion, content };
|
|
325
|
+
}
|
|
326
|
+
catch (error) {
|
|
327
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
328
|
+
return {
|
|
329
|
+
nodeId,
|
|
330
|
+
content: '',
|
|
331
|
+
error: `Error reading node definition for '${nodeId}': ${errorMessage}`,
|
|
332
|
+
};
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
function getNodeTypes(nodeIds, options = {}) {
|
|
336
|
+
const { nodeDefinitionDirs } = options;
|
|
337
|
+
const results = [];
|
|
338
|
+
const errors = [];
|
|
339
|
+
for (const nodeRequest of nodeIds) {
|
|
340
|
+
const nodeId = typeof nodeRequest === 'string' ? nodeRequest : nodeRequest.nodeId;
|
|
341
|
+
const version = typeof nodeRequest === 'string' ? undefined : nodeRequest.version;
|
|
342
|
+
const discriminators = typeof nodeRequest === 'string'
|
|
343
|
+
? undefined
|
|
344
|
+
: {
|
|
345
|
+
resource: nodeRequest.resource,
|
|
346
|
+
operation: nodeRequest.operation,
|
|
347
|
+
mode: nodeRequest.mode,
|
|
348
|
+
};
|
|
349
|
+
const result = getNodeTypeDefinition(nodeId, version, nodeDefinitionDirs, discriminators);
|
|
350
|
+
if (result.error) {
|
|
351
|
+
errors.push(result.error);
|
|
352
|
+
}
|
|
353
|
+
else {
|
|
354
|
+
const versionLabel = result.version ? ` (${result.version})` : '';
|
|
355
|
+
results.push(`## ${nodeId}${versionLabel}\n\n\`\`\`typescript\n${result.content}\n\`\`\``);
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
let response = '';
|
|
359
|
+
if (results.length > 0) {
|
|
360
|
+
response += `# TypeScript Type Definitions\n\n${results.join('\n\n---\n\n')}`;
|
|
361
|
+
}
|
|
362
|
+
if (errors.length > 0) {
|
|
363
|
+
response += `\n\n# Errors\n\n${errors.join('\n')}`;
|
|
364
|
+
}
|
|
365
|
+
return response;
|
|
366
|
+
}
|
|
367
|
+
});
|
|
368
|
+
//# sourceMappingURL=get.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../../src/node-catalog/get.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export { NodeTypeParser } from './node-type-parser';
|
|
2
|
+
export type { ParsedNodeType } from './node-type-parser';
|
|
3
|
+
export { CodeBuilderNodeSearchEngine, SCORE_WEIGHTS } from './search-engine';
|
|
4
|
+
export { searchCodeBuilderNodes, formatNodeResult } from './search';
|
|
5
|
+
export type { CodeBuilderSearchResult, CodeBuilderSearchToolOptions, } from './search';
|
|
6
|
+
export { getNodeTypes, isValidPathComponent, validatePathWithinBase, parseNodeId, toSnakeCase, } from './get';
|
|
7
|
+
export type { NodeRequest, CodeBuilderGetToolOptions } from './get';
|
|
8
|
+
export { getSuggestedNodes, categoryList } from './suggested';
|
|
9
|
+
export { suggestedNodesData, type CategoryData, type CategorySuggestedNode, } from './suggested-nodes-data';
|
|
10
|
+
export { extractModeDiscriminator, extractOperationOnlyDiscriminator, } from './discriminator-utils';
|
|
11
|
+
export type { ModeInfo, ModeDiscriminatorInfo, OperationOnlyInfo, OperationOnlyDiscriminatorInfo, } from './discriminator-utils';
|
|
12
|
+
export { extractResourceOperations, createResourceCacheKey, formatResourceOperationsForPrompt, } from './resource-operation-extractor';
|
|
13
|
+
export type { OperationInfo, ResourceInfo, ResourceOperationInfo, ExtractOptions, } from './resource-operation-extractor';
|
|
14
|
+
export type { SubnodeRequirement, CodeBuilderNodeSearchResult } from './types';
|