@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.
Files changed (121) hide show
  1. package/dist/cjs/index.d.ts +2 -0
  2. package/dist/cjs/index.js +5 -2
  3. package/dist/cjs/index.js.map +1 -1
  4. package/dist/cjs/node-catalog/discriminator-utils.d.ts +22 -0
  5. package/dist/cjs/node-catalog/discriminator-utils.js +95 -0
  6. package/dist/cjs/node-catalog/discriminator-utils.js.map +1 -0
  7. package/dist/cjs/node-catalog/get.d.ts +18 -0
  8. package/dist/cjs/node-catalog/get.js +368 -0
  9. package/dist/cjs/node-catalog/get.js.map +1 -0
  10. package/dist/cjs/node-catalog/index.d.ts +14 -0
  11. package/dist/cjs/node-catalog/index.js +40 -0
  12. package/dist/cjs/node-catalog/index.js.map +1 -0
  13. package/dist/cjs/node-catalog/lean-node-type.d.ts +27 -0
  14. package/dist/cjs/node-catalog/lean-node-type.js +60 -0
  15. package/dist/cjs/node-catalog/lean-node-type.js.map +1 -0
  16. package/dist/cjs/node-catalog/node-type-parser.d.ts +20 -0
  17. package/dist/cjs/node-catalog/node-type-parser.js +79 -0
  18. package/dist/cjs/node-catalog/node-type-parser.js.map +1 -0
  19. package/dist/cjs/node-catalog/resource-operation-extractor.d.ts +26 -0
  20. package/dist/cjs/node-catalog/resource-operation-extractor.js +166 -0
  21. package/dist/cjs/node-catalog/resource-operation-extractor.js.map +1 -0
  22. package/dist/cjs/node-catalog/search-engine.d.ts +20 -0
  23. package/dist/cjs/node-catalog/search-engine.js +257 -0
  24. package/dist/cjs/node-catalog/search-engine.js.map +1 -0
  25. package/dist/cjs/node-catalog/search.d.ts +10 -0
  26. package/dist/cjs/node-catalog/search.js +331 -0
  27. package/dist/cjs/node-catalog/search.js.map +1 -0
  28. package/dist/cjs/node-catalog/suggested-nodes-data.d.ts +11 -0
  29. package/dist/cjs/node-catalog/suggested-nodes-data.js +246 -0
  30. package/dist/cjs/node-catalog/suggested-nodes-data.js.map +1 -0
  31. package/dist/cjs/node-catalog/suggested.d.ts +3 -0
  32. package/dist/cjs/node-catalog/suggested.js +86 -0
  33. package/dist/cjs/node-catalog/suggested.js.map +1 -0
  34. package/dist/cjs/node-catalog/types.d.ts +17 -0
  35. package/dist/cjs/node-catalog/types.js +13 -0
  36. package/dist/cjs/node-catalog/types.js.map +1 -0
  37. package/dist/cjs/typecheck.tsbuildinfo +1 -1
  38. package/dist/cjs/utils/fromai-helpers.d.ts +4 -0
  39. package/dist/cjs/utils/fromai-helpers.js +33 -0
  40. package/dist/cjs/utils/fromai-helpers.js.map +1 -0
  41. package/dist/cjs/utils/fromai-tool-factory.d.ts +2 -4
  42. package/dist/cjs/utils/fromai-tool-factory.js +8 -23
  43. package/dist/cjs/utils/fromai-tool-factory.js.map +1 -1
  44. package/dist/cjs/utils/loaders/n8n-pdf-loader.d.ts +10 -0
  45. package/dist/cjs/utils/loaders/n8n-pdf-loader.js +100 -0
  46. package/dist/cjs/utils/loaders/n8n-pdf-loader.js.map +1 -0
  47. package/dist/cjs/utils/n8n-binary-loader.js +3 -3
  48. package/dist/cjs/utils/n8n-binary-loader.js.map +1 -1
  49. package/dist/cjs/web-search/brave-search.d.ts +8 -0
  50. package/dist/cjs/web-search/brave-search.js +52 -0
  51. package/dist/cjs/web-search/brave-search.js.map +1 -0
  52. package/dist/cjs/web-search/index.d.ts +3 -0
  53. package/dist/cjs/web-search/index.js +18 -0
  54. package/dist/cjs/web-search/index.js.map +1 -0
  55. package/dist/cjs/web-search/searxng-search.d.ts +2 -0
  56. package/dist/cjs/web-search/searxng-search.js +49 -0
  57. package/dist/cjs/web-search/searxng-search.js.map +1 -0
  58. package/dist/cjs/web-search/types.d.ts +15 -0
  59. package/dist/cjs/web-search/types.js +13 -0
  60. package/dist/cjs/web-search/types.js.map +1 -0
  61. package/dist/esm/index.d.ts +2 -0
  62. package/dist/esm/index.js +5 -2
  63. package/dist/esm/index.js.map +1 -1
  64. package/dist/esm/node-catalog/discriminator-utils.d.ts +22 -0
  65. package/dist/esm/node-catalog/discriminator-utils.js +85 -0
  66. package/dist/esm/node-catalog/discriminator-utils.js.map +1 -0
  67. package/dist/esm/node-catalog/get.d.ts +18 -0
  68. package/dist/esm/node-catalog/get.js +358 -0
  69. package/dist/esm/node-catalog/get.js.map +1 -0
  70. package/dist/esm/node-catalog/index.d.ts +14 -0
  71. package/dist/esm/node-catalog/index.js +30 -0
  72. package/dist/esm/node-catalog/index.js.map +1 -0
  73. package/dist/esm/node-catalog/lean-node-type.d.ts +27 -0
  74. package/dist/esm/node-catalog/lean-node-type.js +50 -0
  75. package/dist/esm/node-catalog/lean-node-type.js.map +1 -0
  76. package/dist/esm/node-catalog/node-type-parser.d.ts +20 -0
  77. package/dist/esm/node-catalog/node-type-parser.js +69 -0
  78. package/dist/esm/node-catalog/node-type-parser.js.map +1 -0
  79. package/dist/esm/node-catalog/resource-operation-extractor.d.ts +26 -0
  80. package/dist/esm/node-catalog/resource-operation-extractor.js +156 -0
  81. package/dist/esm/node-catalog/resource-operation-extractor.js.map +1 -0
  82. package/dist/esm/node-catalog/search-engine.d.ts +20 -0
  83. package/dist/esm/node-catalog/search-engine.js +247 -0
  84. package/dist/esm/node-catalog/search-engine.js.map +1 -0
  85. package/dist/esm/node-catalog/search.d.ts +10 -0
  86. package/dist/esm/node-catalog/search.js +321 -0
  87. package/dist/esm/node-catalog/search.js.map +1 -0
  88. package/dist/esm/node-catalog/suggested-nodes-data.d.ts +11 -0
  89. package/dist/esm/node-catalog/suggested-nodes-data.js +236 -0
  90. package/dist/esm/node-catalog/suggested-nodes-data.js.map +1 -0
  91. package/dist/esm/node-catalog/suggested.d.ts +3 -0
  92. package/dist/esm/node-catalog/suggested.js +76 -0
  93. package/dist/esm/node-catalog/suggested.js.map +1 -0
  94. package/dist/esm/node-catalog/types.d.ts +17 -0
  95. package/dist/esm/node-catalog/types.js +3 -0
  96. package/dist/esm/node-catalog/types.js.map +1 -0
  97. package/dist/esm/typecheck.tsbuildinfo +1 -1
  98. package/dist/esm/utils/fromai-helpers.d.ts +4 -0
  99. package/dist/esm/utils/fromai-helpers.js +23 -0
  100. package/dist/esm/utils/fromai-helpers.js.map +1 -0
  101. package/dist/esm/utils/fromai-tool-factory.d.ts +2 -4
  102. package/dist/esm/utils/fromai-tool-factory.js +7 -22
  103. package/dist/esm/utils/fromai-tool-factory.js.map +1 -1
  104. package/dist/esm/utils/loaders/n8n-pdf-loader.d.ts +10 -0
  105. package/dist/esm/utils/loaders/n8n-pdf-loader.js +89 -0
  106. package/dist/esm/utils/loaders/n8n-pdf-loader.js.map +1 -0
  107. package/dist/esm/utils/n8n-binary-loader.js +2 -2
  108. package/dist/esm/utils/n8n-binary-loader.js.map +1 -1
  109. package/dist/esm/web-search/brave-search.d.ts +8 -0
  110. package/dist/esm/web-search/brave-search.js +42 -0
  111. package/dist/esm/web-search/brave-search.js.map +1 -0
  112. package/dist/esm/web-search/index.d.ts +3 -0
  113. package/dist/esm/web-search/index.js +8 -0
  114. package/dist/esm/web-search/index.js.map +1 -0
  115. package/dist/esm/web-search/searxng-search.d.ts +2 -0
  116. package/dist/esm/web-search/searxng-search.js +39 -0
  117. package/dist/esm/web-search/searxng-search.js.map +1 -0
  118. package/dist/esm/web-search/types.d.ts +15 -0
  119. package/dist/esm/web-search/types.js +3 -0
  120. package/dist/esm/web-search/types.js.map +1 -0
  121. package/package.json +39 -5
@@ -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");
@@ -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';