@lapage/ai-agent 1.0.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 (46) hide show
  1. package/README.md +487 -0
  2. package/dist/index.d.ts +119 -0
  3. package/dist/index.d.ts.map +1 -0
  4. package/dist/index.js +349 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/memory/index.d.ts +2 -0
  7. package/dist/memory/index.d.ts.map +1 -0
  8. package/dist/memory/index.js +6 -0
  9. package/dist/memory/index.js.map +1 -0
  10. package/dist/memory/memory-manager.d.ts +27 -0
  11. package/dist/memory/memory-manager.d.ts.map +1 -0
  12. package/dist/memory/memory-manager.js +175 -0
  13. package/dist/memory/memory-manager.js.map +1 -0
  14. package/dist/models/embeddings-factory.d.ts +6 -0
  15. package/dist/models/embeddings-factory.d.ts.map +1 -0
  16. package/dist/models/embeddings-factory.js +84 -0
  17. package/dist/models/embeddings-factory.js.map +1 -0
  18. package/dist/models/index.d.ts +3 -0
  19. package/dist/models/index.d.ts.map +1 -0
  20. package/dist/models/index.js +8 -0
  21. package/dist/models/index.js.map +1 -0
  22. package/dist/models/model-factory.d.ts +6 -0
  23. package/dist/models/model-factory.d.ts.map +1 -0
  24. package/dist/models/model-factory.js +75 -0
  25. package/dist/models/model-factory.js.map +1 -0
  26. package/dist/tools/index.d.ts +34 -0
  27. package/dist/tools/index.d.ts.map +1 -0
  28. package/dist/tools/index.js +106 -0
  29. package/dist/tools/index.js.map +1 -0
  30. package/dist/tools/json-schema-to-zod.d.ts +8 -0
  31. package/dist/tools/json-schema-to-zod.d.ts.map +1 -0
  32. package/dist/tools/json-schema-to-zod.js +191 -0
  33. package/dist/tools/json-schema-to-zod.js.map +1 -0
  34. package/dist/tools/mcp-client.d.ts +8 -0
  35. package/dist/tools/mcp-client.d.ts.map +1 -0
  36. package/dist/tools/mcp-client.js +125 -0
  37. package/dist/tools/mcp-client.js.map +1 -0
  38. package/dist/tools/vector-tools.d.ts +44 -0
  39. package/dist/tools/vector-tools.d.ts.map +1 -0
  40. package/dist/tools/vector-tools.js +174 -0
  41. package/dist/tools/vector-tools.js.map +1 -0
  42. package/dist/types/index.d.ts +158 -0
  43. package/dist/types/index.d.ts.map +1 -0
  44. package/dist/types/index.js +3 -0
  45. package/dist/types/index.js.map +1 -0
  46. package/package.json +76 -0
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.EmbeddingsFactory = void 0;
37
+ class EmbeddingsFactory {
38
+ static async createEmbeddings(config) {
39
+ const { provider, model, apiKey } = config;
40
+ switch (provider) {
41
+ case 'openai': {
42
+ try {
43
+ const { OpenAIEmbeddings } = await Promise.resolve().then(() => __importStar(require('@langchain/openai')));
44
+ return new OpenAIEmbeddings({
45
+ modelName: model,
46
+ apiKey: apiKey || process.env.OPENAI_API_KEY,
47
+ });
48
+ }
49
+ catch (error) {
50
+ throw new Error('OpenAI embeddings provider requires @langchain/openai to be installed. Run: npm install @langchain/openai');
51
+ }
52
+ }
53
+ case 'cohere': {
54
+ try {
55
+ const { CohereEmbeddings } = await Promise.resolve().then(() => __importStar(require('@langchain/community/embeddings/cohere')));
56
+ return new CohereEmbeddings({
57
+ apiKey: apiKey || process.env.COHERE_API_KEY,
58
+ // Note: Model name is often built into the CohereEmbeddings class
59
+ // If you need to specify a model, you might need to check Cohere's documentation
60
+ });
61
+ }
62
+ catch (error) {
63
+ throw new Error('Cohere embeddings provider requires @langchain/community to be installed. Run: npm install @langchain/community');
64
+ }
65
+ }
66
+ case 'huggingface': {
67
+ try {
68
+ const { HuggingFaceInferenceEmbeddings } = await Promise.resolve().then(() => __importStar(require('@langchain/community/embeddings/hf')));
69
+ return new HuggingFaceInferenceEmbeddings({
70
+ model,
71
+ apiKey: apiKey || process.env.HUGGINGFACEHUB_API_TOKEN,
72
+ });
73
+ }
74
+ catch (error) {
75
+ throw new Error('HuggingFace embeddings provider requires @langchain/community to be installed. Run: npm install @langchain/community');
76
+ }
77
+ }
78
+ default:
79
+ throw new Error(`Unsupported embeddings provider: ${provider}. Supported providers: openai, cohere, huggingface`);
80
+ }
81
+ }
82
+ }
83
+ exports.EmbeddingsFactory = EmbeddingsFactory;
84
+ //# sourceMappingURL=embeddings-factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embeddings-factory.js","sourceRoot":"","sources":["../../src/models/embeddings-factory.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,MAAa,iBAAiB;IAC5B,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAwB;QACpD,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;QAE3C,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,IAAI,CAAC;oBACH,MAAM,EAAE,gBAAgB,EAAE,GAAG,wDAAa,mBAAmB,GAAC,CAAC;oBAC/D,OAAO,IAAI,gBAAgB,CAAC;wBAC1B,SAAS,EAAE,KAAK;wBAChB,MAAM,EAAE,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc;qBAC7C,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,IAAI,KAAK,CACb,2GAA2G,CAC5G,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,IAAI,CAAC;oBACH,MAAM,EAAE,gBAAgB,EAAE,GAAG,wDAAa,wCAAwC,GAAC,CAAC;oBACpF,OAAO,IAAI,gBAAgB,CAAC;wBAC1B,MAAM,EAAE,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc;wBAC5C,kEAAkE;wBAClE,iFAAiF;qBAClF,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,IAAI,KAAK,CACb,iHAAiH,CAClH,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,KAAK,aAAa,CAAC,CAAC,CAAC;gBACnB,IAAI,CAAC;oBACH,MAAM,EAAE,8BAA8B,EAAE,GAAG,wDAAa,oCAAoC,GAAC,CAAC;oBAC9F,OAAO,IAAI,8BAA8B,CAAC;wBACxC,KAAK;wBACL,MAAM,EAAE,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,wBAAwB;qBACvD,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,IAAI,KAAK,CACb,sHAAsH,CACvH,CAAC;gBACJ,CAAC;YACH,CAAC;YAED;gBACE,MAAM,IAAI,KAAK,CACb,oCAAoC,QAAQ,oDAAoD,CACjG,CAAC;QACN,CAAC;IACH,CAAC;CACF;AAtDD,8CAsDC"}
@@ -0,0 +1,3 @@
1
+ export { ModelFactory } from './model-factory';
2
+ export { EmbeddingsFactory } from './embeddings-factory';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EmbeddingsFactory = exports.ModelFactory = void 0;
4
+ var model_factory_1 = require("./model-factory");
5
+ Object.defineProperty(exports, "ModelFactory", { enumerable: true, get: function () { return model_factory_1.ModelFactory; } });
6
+ var embeddings_factory_1 = require("./embeddings-factory");
7
+ Object.defineProperty(exports, "EmbeddingsFactory", { enumerable: true, get: function () { return embeddings_factory_1.EmbeddingsFactory; } });
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":";;;AAAA,iDAA+C;AAAtC,6GAAA,YAAY,OAAA;AACrB,2DAAyD;AAAhD,uHAAA,iBAAiB,OAAA"}
@@ -0,0 +1,6 @@
1
+ import type { BaseChatModel } from '@langchain/core/language_models/chat_models';
2
+ import { ModelConfig } from '../types';
3
+ export declare class ModelFactory {
4
+ static createModel(config: ModelConfig): Promise<BaseChatModel>;
5
+ }
6
+ //# sourceMappingURL=model-factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-factory.d.ts","sourceRoot":"","sources":["../../src/models/model-factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AACjF,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,qBAAa,YAAY;WACV,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC;CA0CtE"}
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.ModelFactory = void 0;
37
+ class ModelFactory {
38
+ static async createModel(config) {
39
+ const { provider, model, temperature = 0.7, maxTokens, apiKey } = config;
40
+ switch (provider) {
41
+ case 'openai': {
42
+ try {
43
+ const { ChatOpenAI } = await Promise.resolve().then(() => __importStar(require('@langchain/openai')));
44
+ return new ChatOpenAI({
45
+ model,
46
+ temperature,
47
+ maxTokens,
48
+ apiKey: apiKey || process.env.OPENAI_API_KEY,
49
+ });
50
+ }
51
+ catch (error) {
52
+ throw new Error('OpenAI provider requires @langchain/openai to be installed. Run: npm install @langchain/openai');
53
+ }
54
+ }
55
+ case 'anthropic': {
56
+ try {
57
+ const { ChatAnthropic } = await Promise.resolve().then(() => __importStar(require('@langchain/anthropic')));
58
+ return new ChatAnthropic({
59
+ model,
60
+ temperature,
61
+ maxTokens,
62
+ apiKey: apiKey || process.env.ANTHROPIC_API_KEY,
63
+ });
64
+ }
65
+ catch (error) {
66
+ throw new Error('Anthropic provider requires @langchain/anthropic to be installed. Run: npm install @langchain/anthropic');
67
+ }
68
+ }
69
+ default:
70
+ throw new Error(`Unsupported provider: ${provider}. Supported providers: openai, anthropic`);
71
+ }
72
+ }
73
+ }
74
+ exports.ModelFactory = ModelFactory;
75
+ //# sourceMappingURL=model-factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-factory.js","sourceRoot":"","sources":["../../src/models/model-factory.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,MAAa,YAAY;IACvB,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,MAAmB;QAC1C,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,GAAG,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;QAEzE,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,IAAI,CAAC;oBACH,MAAM,EAAE,UAAU,EAAE,GAAG,wDAAa,mBAAmB,GAAC,CAAC;oBACzD,OAAO,IAAI,UAAU,CAAC;wBACpB,KAAK;wBACL,WAAW;wBACX,SAAS;wBACT,MAAM,EAAE,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc;qBAC7C,CAA6B,CAAC;gBACjC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,IAAI,KAAK,CACb,gGAAgG,CACjG,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,IAAI,CAAC;oBACH,MAAM,EAAE,aAAa,EAAE,GAAG,wDAAa,sBAAsB,GAAC,CAAC;oBAC/D,OAAO,IAAI,aAAa,CAAC;wBACvB,KAAK;wBACL,WAAW;wBACX,SAAS;wBACT,MAAM,EAAE,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB;qBAChD,CAA6B,CAAC;gBACjC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,IAAI,KAAK,CACb,yGAAyG,CAC1G,CAAC;gBACJ,CAAC;YACH,CAAC;YAED;gBACE,MAAM,IAAI,KAAK,CACb,yBAAyB,QAAQ,0CAA0C,CAC5E,CAAC;QACN,CAAC;IACH,CAAC;CACF;AA3CD,oCA2CC"}
@@ -0,0 +1,34 @@
1
+ import type { Tool } from '@langchain/core/tools';
2
+ import type { ToolOptions } from '../types/index';
3
+ export declare class ToolManager {
4
+ private tools;
5
+ /**
6
+ * Add a tool to the manager
7
+ */
8
+ addTool(toolOptions: ToolOptions): void;
9
+ /**
10
+ * Add multiple tools at once
11
+ */
12
+ addTools(toolOptions: ToolOptions[]): void;
13
+ /**
14
+ * Add an existing LangChain tool
15
+ */
16
+ addLangChainTool(tool: any): void;
17
+ /**
18
+ * Get all tools
19
+ */
20
+ getTools(): Tool[];
21
+ /**
22
+ * Clear all tools
23
+ */
24
+ clearTools(): void;
25
+ /**
26
+ * Remove a tool by name
27
+ */
28
+ removeTool(name: string): boolean;
29
+ /**
30
+ * Get tool by name
31
+ */
32
+ getTool(name: string): Tool | undefined;
33
+ }
34
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAElD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGlD,qBAAa,WAAW;IACtB,OAAO,CAAC,KAAK,CAAa;IAE1B;;OAEG;IACH,OAAO,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IA2DvC;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,WAAW,EAAE,GAAG,IAAI;IAI1C;;OAEG;IAEH,gBAAgB,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI;IAIjC;;OAEG;IACH,QAAQ,IAAI,IAAI,EAAE;IAIlB;;OAEG;IACH,UAAU,IAAI,IAAI;IAIlB;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IASjC;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;CAGxC"}
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ToolManager = void 0;
4
+ const tools_1 = require("@langchain/core/tools");
5
+ const zod_1 = require("zod");
6
+ const json_schema_to_zod_1 = require("./json-schema-to-zod");
7
+ class ToolManager {
8
+ tools = [];
9
+ /**
10
+ * Add a tool to the manager
11
+ */
12
+ addTool(toolOptions) {
13
+ if (toolOptions.schema) {
14
+ // Resolve schema: accept both Zod schemas and JSONSchema7 objects
15
+ let resolvedSchema;
16
+ if (toolOptions.schema instanceof zod_1.z.ZodType) {
17
+ resolvedSchema = toolOptions.schema;
18
+ }
19
+ else {
20
+ // Treat as JSONSchema7 — convert to Zod
21
+ const converted = (0, json_schema_to_zod_1.convertJsonSchemaToZod)(toolOptions.schema);
22
+ resolvedSchema =
23
+ converted instanceof zod_1.z.ZodObject ? converted : zod_1.z.object({ value: converted });
24
+ }
25
+ // Use DynamicStructuredTool for tools with a schema (cast to avoid deep type inference)
26
+ const schemaForTool = (resolvedSchema instanceof zod_1.z.ZodObject ? resolvedSchema : zod_1.z.object({ value: resolvedSchema }));
27
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
28
+ const createTool = tools_1.tool;
29
+ const langchainTool = createTool(async (input) => {
30
+ try {
31
+ const result = await toolOptions.func(input);
32
+ return typeof result === 'string' ? result : JSON.stringify(result);
33
+ }
34
+ catch (error) {
35
+ return `Error executing tool: ${error instanceof Error ? error.message : String(error)}`;
36
+ }
37
+ }, {
38
+ name: toolOptions.name,
39
+ description: toolOptions.description,
40
+ schema: schemaForTool,
41
+ });
42
+ this.tools.push(langchainTool);
43
+ }
44
+ else {
45
+ // Use DynamicTool for tools without schema (expects string input)
46
+ const langchainTool = new tools_1.DynamicTool({
47
+ name: toolOptions.name,
48
+ description: toolOptions.description,
49
+ func: async (input) => {
50
+ try {
51
+ const result = await toolOptions.func(input);
52
+ return typeof result === 'string' ? result : JSON.stringify(result);
53
+ }
54
+ catch (error) {
55
+ return `Error executing tool: ${error instanceof Error ? error.message : String(error)}`;
56
+ }
57
+ },
58
+ });
59
+ this.tools.push(langchainTool);
60
+ }
61
+ }
62
+ /**
63
+ * Add multiple tools at once
64
+ */
65
+ addTools(toolOptions) {
66
+ toolOptions.forEach((tool) => this.addTool(tool));
67
+ }
68
+ /**
69
+ * Add an existing LangChain tool
70
+ */
71
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
72
+ addLangChainTool(tool) {
73
+ this.tools.push(tool);
74
+ }
75
+ /**
76
+ * Get all tools
77
+ */
78
+ getTools() {
79
+ return [...this.tools];
80
+ }
81
+ /**
82
+ * Clear all tools
83
+ */
84
+ clearTools() {
85
+ this.tools = [];
86
+ }
87
+ /**
88
+ * Remove a tool by name
89
+ */
90
+ removeTool(name) {
91
+ const index = this.tools.findIndex((tool) => tool.name === name);
92
+ if (index !== -1) {
93
+ this.tools.splice(index, 1);
94
+ return true;
95
+ }
96
+ return false;
97
+ }
98
+ /**
99
+ * Get tool by name
100
+ */
101
+ getTool(name) {
102
+ return this.tools.find((tool) => tool.name === name);
103
+ }
104
+ }
105
+ exports.ToolManager = ToolManager;
106
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { z } from 'zod';
2
+ import type { JSONSchema7Definition } from 'json-schema';
3
+ /**
4
+ * Converts a JSONSchema7 definition to a Zod schema.
5
+ * Supports the common schema structures used by MCP tools.
6
+ */
7
+ export declare function convertJsonSchemaToZod(schema: JSONSchema7Definition): z.ZodTypeAny;
8
+ //# sourceMappingURL=json-schema-to-zod.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-schema-to-zod.d.ts","sourceRoot":"","sources":["../../src/tools/json-schema-to-zod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAe,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEtE;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,qBAAqB,GAC5B,CAAC,CAAC,UAAU,CAMd"}
@@ -0,0 +1,191 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.convertJsonSchemaToZod = convertJsonSchemaToZod;
4
+ const zod_1 = require("zod");
5
+ /**
6
+ * Converts a JSONSchema7 definition to a Zod schema.
7
+ * Supports the common schema structures used by MCP tools.
8
+ */
9
+ function convertJsonSchemaToZod(schema) {
10
+ if (typeof schema === 'boolean') {
11
+ return schema ? zod_1.z.any() : zod_1.z.never();
12
+ }
13
+ return parseJsonSchema(schema);
14
+ }
15
+ function parseJsonSchema(schema) {
16
+ // Handle nullable wrapper (e.g. { anyOf: [{ type: 'string' }, { type: 'null' }] })
17
+ if (isNullable(schema)) {
18
+ const nonNullSchema = getNonNullSubSchema(schema);
19
+ if (nonNullSchema) {
20
+ return parseJsonSchema(nonNullSchema).nullable();
21
+ }
22
+ return zod_1.z.any().nullable();
23
+ }
24
+ // anyOf / oneOf → z.union
25
+ if (schema.anyOf) {
26
+ return parseUnion(schema.anyOf);
27
+ }
28
+ if (schema.oneOf) {
29
+ return parseUnion(schema.oneOf);
30
+ }
31
+ // allOf → z.intersection
32
+ if (schema.allOf) {
33
+ return parseAllOf(schema.allOf);
34
+ }
35
+ // enum
36
+ if (schema.enum !== undefined) {
37
+ return parseEnum(schema.enum);
38
+ }
39
+ // const
40
+ if (schema.const !== undefined) {
41
+ return zod_1.z.literal(schema.const);
42
+ }
43
+ // multiple types
44
+ if (Array.isArray(schema.type)) {
45
+ const schemas = schema.type.map((t) => parsePrimitive({ ...schema, type: t }));
46
+ return schemas.length === 1
47
+ ? schemas[0]
48
+ : zod_1.z.union(schemas);
49
+ }
50
+ switch (schema.type) {
51
+ case 'object':
52
+ return parseObject(schema);
53
+ case 'array':
54
+ return parseArray(schema);
55
+ case 'string':
56
+ return parseString(schema);
57
+ case 'number':
58
+ case 'integer':
59
+ return parseNumber(schema);
60
+ case 'boolean':
61
+ return zod_1.z.boolean();
62
+ case 'null':
63
+ return zod_1.z.null();
64
+ default:
65
+ // No type, but has properties → treat as object
66
+ if (schema.properties) {
67
+ return parseObject({ ...schema, type: 'object' });
68
+ }
69
+ return zod_1.z.any();
70
+ }
71
+ }
72
+ function parsePrimitive(schema) {
73
+ switch (schema.type) {
74
+ case 'string':
75
+ return parseString(schema);
76
+ case 'number':
77
+ case 'integer':
78
+ return parseNumber(schema);
79
+ case 'boolean':
80
+ return zod_1.z.boolean();
81
+ case 'null':
82
+ return zod_1.z.null();
83
+ case 'object':
84
+ return parseObject(schema);
85
+ case 'array':
86
+ return parseArray(schema);
87
+ default:
88
+ return zod_1.z.any();
89
+ }
90
+ }
91
+ function parseObject(schema) {
92
+ const properties = schema.properties;
93
+ if (!properties || Object.keys(properties).length === 0) {
94
+ const additionalProperties = schema.additionalProperties;
95
+ if (additionalProperties === false) {
96
+ return zod_1.z.object({});
97
+ }
98
+ if (additionalProperties && typeof additionalProperties === 'object') {
99
+ return zod_1.z.record(parseJsonSchema(additionalProperties));
100
+ }
101
+ return zod_1.z.record(zod_1.z.any());
102
+ }
103
+ const required = new Set(Array.isArray(schema.required) ? schema.required : []);
104
+ const shape = {};
105
+ for (const [key, propSchema] of Object.entries(properties)) {
106
+ const zodProp = convertJsonSchemaToZod(propSchema);
107
+ const hasDefault = typeof propSchema === 'object' && propSchema.default !== undefined;
108
+ shape[key] = required.has(key) || hasDefault ? zodProp : zodProp.optional();
109
+ }
110
+ return zod_1.z.object(shape);
111
+ }
112
+ function parseArray(schema) {
113
+ if (!schema.items) {
114
+ return zod_1.z.array(zod_1.z.any());
115
+ }
116
+ if (Array.isArray(schema.items)) {
117
+ // Tuple type
118
+ const itemSchemas = schema.items.map((item) => convertJsonSchemaToZod(item));
119
+ return zod_1.z.tuple(itemSchemas);
120
+ }
121
+ return zod_1.z.array(convertJsonSchemaToZod(schema.items));
122
+ }
123
+ function parseString(schema) {
124
+ let zodSchema = zod_1.z.string();
125
+ if (schema.minLength !== undefined) {
126
+ zodSchema = zodSchema.min(schema.minLength);
127
+ }
128
+ if (schema.maxLength !== undefined) {
129
+ zodSchema = zodSchema.max(schema.maxLength);
130
+ }
131
+ if (schema.pattern !== undefined) {
132
+ zodSchema = zodSchema.regex(new RegExp(schema.pattern));
133
+ }
134
+ return zodSchema;
135
+ }
136
+ function parseNumber(schema) {
137
+ let zodSchema = schema.type === 'integer' ? zod_1.z.number().int() : zod_1.z.number();
138
+ if (schema.minimum !== undefined) {
139
+ zodSchema = zodSchema.min(schema.minimum);
140
+ }
141
+ if (schema.maximum !== undefined) {
142
+ zodSchema = zodSchema.max(schema.maximum);
143
+ }
144
+ if (schema.multipleOf !== undefined) {
145
+ zodSchema = zodSchema.multipleOf(schema.multipleOf);
146
+ }
147
+ return zodSchema;
148
+ }
149
+ function parseUnion(schemas) {
150
+ const zodSchemas = schemas.map((s) => convertJsonSchemaToZod(s));
151
+ if (zodSchemas.length === 0)
152
+ return zod_1.z.never();
153
+ if (zodSchemas.length === 1)
154
+ return zodSchemas[0];
155
+ return zod_1.z.union(zodSchemas);
156
+ }
157
+ function parseAllOf(schemas) {
158
+ const zodSchemas = schemas.map((s) => convertJsonSchemaToZod(s));
159
+ if (zodSchemas.length === 0)
160
+ return zod_1.z.any();
161
+ if (zodSchemas.length === 1)
162
+ return zodSchemas[0];
163
+ return zodSchemas.reduce((acc, cur) => zod_1.z.intersection(acc, cur));
164
+ }
165
+ function parseEnum(values) {
166
+ if (!values || values.length === 0)
167
+ return zod_1.z.never();
168
+ if (values.length === 1)
169
+ return zod_1.z.literal(values[0]);
170
+ const literals = values.map((v) => zod_1.z.literal(v));
171
+ return zod_1.z.union(literals);
172
+ }
173
+ function isNullable(schema) {
174
+ // Handle { nullable: true } (OpenAPI extension)
175
+ if (schema.nullable === true)
176
+ return true;
177
+ // Handle { anyOf: [..., { type: 'null' }] }
178
+ if (schema.anyOf) {
179
+ return (schema.anyOf.some((s) => typeof s === 'object' && s.type === 'null') &&
180
+ schema.anyOf.length === 2);
181
+ }
182
+ return false;
183
+ }
184
+ function getNonNullSubSchema(schema) {
185
+ if (schema.anyOf) {
186
+ const nonNull = schema.anyOf.find((s) => typeof s === 'object' && s.type !== 'null');
187
+ return typeof nonNull === 'object' ? nonNull : undefined;
188
+ }
189
+ return undefined;
190
+ }
191
+ //# sourceMappingURL=json-schema-to-zod.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-schema-to-zod.js","sourceRoot":"","sources":["../../src/tools/json-schema-to-zod.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { DynamicStructuredTool } from '@langchain/core/tools';
2
+ import type { MCPServerConfig } from '../types/index';
3
+ /**
4
+ * Connect to an MCP server and return its tools as LangChain DynamicStructuredTool instances.
5
+ * Supports both SSE and HTTP Streamable transports.
6
+ */
7
+ export declare function getMcpServerTools(config: MCPServerConfig): Promise<DynamicStructuredTool[]>;
8
+ //# sourceMappingURL=mcp-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-client.d.ts","sourceRoot":"","sources":["../../src/tools/mcp-client.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAK9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAoFtD;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC,CA0CjG"}