opentool 0.4.5 → 0.5.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 (39) hide show
  1. package/README.md +11 -8
  2. package/dist/cli/build.d.ts +15 -0
  3. package/dist/cli/build.d.ts.map +1 -1
  4. package/dist/cli/build.js +127 -398
  5. package/dist/cli/build.js.map +1 -1
  6. package/dist/cli/dev.d.ts.map +1 -1
  7. package/dist/cli/dev.js +31 -76
  8. package/dist/cli/dev.js.map +1 -1
  9. package/dist/cli/generate-metadata.d.ts +7 -7
  10. package/dist/cli/generate-metadata.d.ts.map +1 -1
  11. package/dist/cli/generate-metadata.js +37 -238
  12. package/dist/cli/generate-metadata.js.map +1 -1
  13. package/dist/cli/shared/metadata.d.ts +19 -0
  14. package/dist/cli/shared/metadata.d.ts.map +1 -0
  15. package/dist/cli/shared/metadata.js +283 -0
  16. package/dist/cli/shared/metadata.js.map +1 -0
  17. package/dist/cli/validate.d.ts +5 -1
  18. package/dist/cli/validate.d.ts.map +1 -1
  19. package/dist/cli/validate.js +146 -237
  20. package/dist/cli/validate.js.map +1 -1
  21. package/dist/runtime/index.d.ts +1 -0
  22. package/dist/runtime/index.d.ts.map +1 -1
  23. package/dist/runtime/index.js +118 -69
  24. package/dist/runtime/index.js.map +1 -1
  25. package/dist/types/index.d.ts +5 -22
  26. package/dist/types/index.d.ts.map +1 -1
  27. package/dist/types/metadata.d.ts +975 -59
  28. package/dist/types/metadata.d.ts.map +1 -1
  29. package/dist/types/metadata.js +105 -0
  30. package/dist/types/metadata.js.map +1 -1
  31. package/dist/utils/esbuild.d.ts +13 -0
  32. package/dist/utils/esbuild.d.ts.map +1 -0
  33. package/dist/utils/esbuild.js +95 -0
  34. package/dist/utils/esbuild.js.map +1 -0
  35. package/dist/utils/module-loader.d.ts +3 -0
  36. package/dist/utils/module-loader.d.ts.map +1 -0
  37. package/dist/utils/module-loader.js +49 -0
  38. package/dist/utils/module-loader.js.map +1 -0
  39. package/package.json +5 -1
@@ -35,17 +35,20 @@ var __importStar = (this && this.__importStar) || (function () {
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.createDevServer = createDevServer;
37
37
  exports.createStdioServer = createStdioServer;
38
+ exports.resolveRuntimePath = resolveRuntimePath;
38
39
  const index_js_1 = require("@modelcontextprotocol/sdk/server/index.js");
39
40
  const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
40
41
  const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
41
42
  const fs = __importStar(require("fs"));
42
43
  const path = __importStar(require("path"));
43
- // Legacy createLambdaHandler removed - now using AWS MCP Adapter approach
44
- // See createStdioServer() function below for the new implementation
44
+ const url_1 = require("url");
45
+ const zod_to_json_schema_1 = require("zod-to-json-schema");
45
46
  /**
46
47
  * Create local development server
47
48
  */
48
49
  function createDevServer(tools) {
50
+ const metadata = loadMetadata();
51
+ const metadataMap = buildMetadataMap(metadata);
49
52
  const server = new index_js_1.Server({
50
53
  name: 'opentool-dev',
51
54
  version: '1.0.0',
@@ -54,15 +57,9 @@ function createDevServer(tools) {
54
57
  tools: {},
55
58
  },
56
59
  });
57
- // Register list tools handler
58
60
  server.setRequestHandler(types_js_1.ListToolsRequestSchema, async () => ({
59
- tools: tools.map(tool => ({
60
- name: tool.metadata?.name || tool.filename,
61
- description: tool.metadata?.description || `${tool.filename} tool`,
62
- inputSchema: tool.schema,
63
- })),
61
+ tools: tools.map(tool => serializeTool(tool, metadataMap)),
64
62
  }));
65
- // Register call tool handler
66
63
  server.setRequestHandler(types_js_1.CallToolRequestSchema, async (request) => {
67
64
  const tool = tools.find(t => {
68
65
  const toolName = t.metadata?.name || t.filename;
@@ -88,59 +85,13 @@ function createDevServer(tools) {
88
85
  });
89
86
  return server;
90
87
  }
91
- /**
92
- * Load tools from tools directory
93
- */
94
- async function loadToolsFromDirectory() {
95
- const tools = [];
96
- const toolsDir = path.join(process.cwd(), 'tools');
97
- if (!fs.existsSync(toolsDir)) {
98
- return tools;
99
- }
100
- const files = fs.readdirSync(toolsDir);
101
- for (const file of files) {
102
- if (file.endsWith('.js') || file.endsWith('.ts')) {
103
- const toolPath = path.join(toolsDir, file);
104
- try {
105
- const toolModule = require(toolPath);
106
- // Check for required exports (schema and TOOL function, metadata is optional)
107
- if (toolModule.TOOL && toolModule.schema) {
108
- const baseName = file.replace(/\.(ts|js)$/, '');
109
- const tool = {
110
- schema: toolModule.schema,
111
- inputSchema: { type: 'object' }, // Placeholder for runtime
112
- metadata: toolModule.metadata || null,
113
- filename: baseName,
114
- handler: async (params) => {
115
- const result = await toolModule.TOOL(params);
116
- // Handle both string and object returns
117
- if (typeof result === 'string') {
118
- return {
119
- content: [{ type: 'text', text: result }],
120
- isError: false,
121
- };
122
- }
123
- return result;
124
- }
125
- };
126
- tools.push(tool);
127
- }
128
- }
129
- catch (error) {
130
- console.warn(`Failed to load tool from ${file}: ${error}`);
131
- }
132
- }
133
- }
134
- return tools;
135
- }
136
- // Legacy HTTP handler removed - now using AWS MCP Adapter for Lambda deployment
137
88
  /**
138
89
  * Create stdio server for use with AWS Lambda MCP Adapter
139
90
  */
140
91
  async function createStdioServer(tools) {
141
- // Load tools if not provided
142
- const toolDefinitions = tools || await loadToolsFromDirectory();
143
- // Create MCP server
92
+ const metadata = loadMetadata();
93
+ const metadataMap = buildMetadataMap(metadata);
94
+ const toolDefinitions = tools || await loadToolsFromDirectory(metadataMap);
144
95
  const server = new index_js_1.Server({
145
96
  name: 'opentool-runtime',
146
97
  version: '1.0.0',
@@ -149,17 +100,9 @@ async function createStdioServer(tools) {
149
100
  tools: {},
150
101
  },
151
102
  });
152
- // Register all tools at once
153
- const toolsList = toolDefinitions.map(tool => ({
154
- name: tool.metadata?.name || tool.filename,
155
- description: tool.metadata?.description || `${tool.filename} tool`,
156
- inputSchema: tool.schema,
157
- }));
158
- // Register list tools handler
159
103
  server.setRequestHandler(types_js_1.ListToolsRequestSchema, async () => ({
160
- tools: toolsList,
104
+ tools: toolDefinitions.map(tool => serializeTool(tool, metadataMap)),
161
105
  }));
162
- // Register call tool handler
163
106
  server.setRequestHandler(types_js_1.CallToolRequestSchema, async (request) => {
164
107
  const tool = toolDefinitions.find(t => {
165
108
  const toolName = t.metadata?.name || t.filename;
@@ -183,10 +126,116 @@ async function createStdioServer(tools) {
183
126
  };
184
127
  }
185
128
  });
186
- // Create stdio transport
187
129
  const transport = new stdio_js_1.StdioServerTransport();
188
- // Connect server to transport
189
130
  await server.connect(transport);
190
131
  console.error('MCP stdio server started');
191
132
  }
133
+ /**
134
+ * Load tools from tools directory
135
+ */
136
+ async function loadToolsFromDirectory(metadataMap) {
137
+ const tools = [];
138
+ const toolsDir = path.join(process.cwd(), 'tools');
139
+ if (!fs.existsSync(toolsDir)) {
140
+ return tools;
141
+ }
142
+ const files = fs.readdirSync(toolsDir);
143
+ for (const file of files) {
144
+ if (!isSupportedToolFile(file)) {
145
+ continue;
146
+ }
147
+ const toolPath = path.join(toolsDir, file);
148
+ try {
149
+ const exportsObject = require(toolPath);
150
+ const candidate = exportsObject && exportsObject.schema && exportsObject.TOOL
151
+ ? exportsObject
152
+ : exportsObject?.default;
153
+ if (!candidate?.schema || !candidate?.TOOL) {
154
+ continue;
155
+ }
156
+ const baseName = file.replace(/\.[^.]+$/, '');
157
+ const name = candidate.metadata?.name || baseName;
158
+ const meta = metadataMap.get(name);
159
+ let inputSchema = meta?.inputSchema;
160
+ if (!inputSchema) {
161
+ try {
162
+ inputSchema = (0, zod_to_json_schema_1.zodToJsonSchema)(candidate.schema, {
163
+ name: `${name}Schema`,
164
+ target: 'jsonSchema7',
165
+ $refStrategy: 'none',
166
+ });
167
+ }
168
+ catch (error) {
169
+ inputSchema = { type: 'object' };
170
+ }
171
+ }
172
+ const tool = {
173
+ schema: candidate.schema,
174
+ inputSchema,
175
+ metadata: candidate.metadata || meta || null,
176
+ filename: baseName,
177
+ handler: async (params) => {
178
+ const result = await candidate.TOOL(params);
179
+ if (typeof result === 'string') {
180
+ return {
181
+ content: [{ type: 'text', text: result }],
182
+ isError: false,
183
+ };
184
+ }
185
+ return result;
186
+ },
187
+ };
188
+ tools.push(tool);
189
+ }
190
+ catch (error) {
191
+ console.warn(`Failed to load tool from ${file}: ${error}`);
192
+ }
193
+ }
194
+ return tools;
195
+ }
196
+ function loadMetadata() {
197
+ const metadataPath = path.join(process.cwd(), 'metadata.json');
198
+ if (!fs.existsSync(metadataPath)) {
199
+ return null;
200
+ }
201
+ try {
202
+ const contents = fs.readFileSync(metadataPath, 'utf8');
203
+ return JSON.parse(contents);
204
+ }
205
+ catch (error) {
206
+ console.warn(`Failed to parse metadata.json: ${error}`);
207
+ return null;
208
+ }
209
+ }
210
+ function buildMetadataMap(metadata) {
211
+ const map = new Map();
212
+ if (!metadata?.tools) {
213
+ return map;
214
+ }
215
+ metadata.tools.forEach((tool) => {
216
+ map.set(tool.name, tool);
217
+ });
218
+ return map;
219
+ }
220
+ function serializeTool(tool, metadataMap) {
221
+ const name = tool.metadata?.name || tool.filename;
222
+ const meta = metadataMap.get(name);
223
+ return {
224
+ name,
225
+ description: meta?.description || tool.metadata?.description || `${tool.filename} tool`,
226
+ inputSchema: meta?.inputSchema || tool.inputSchema,
227
+ annotations: meta?.annotations || tool.metadata?.annotations,
228
+ payment: meta?.payment || tool.metadata?.payment,
229
+ discovery: meta?.discovery || tool.metadata?.discovery,
230
+ };
231
+ }
232
+ function isSupportedToolFile(file) {
233
+ return /\.(cjs|mjs|js|ts)$/i.test(file);
234
+ }
235
+ function resolveRuntimePath(value) {
236
+ if (value.startsWith('file://')) {
237
+ return (0, url_1.fileURLToPath)(value);
238
+ }
239
+ return path.resolve(value);
240
+ }
192
241
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA,0CA2CC;AAKD,8CA8CC;AAgHD,gDAKC;AAhOD,wEAAmE;AACnE,wEAAiF;AACjF,iEAAmG;AACnG,uCAAyB;AACzB,2CAA6B;AAC7B,6BAAoC;AACpC,2DAAqD;AAIrD;;GAEG;AACH,SAAgB,eAAe,CAAC,KAA+B;IAC7D,MAAM,QAAQ,GAAG,YAAY,EAAE,CAAC;IAChC,MAAM,WAAW,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAE/C,MAAM,MAAM,GAAG,IAAI,iBAAM,CAAC;QACxB,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,OAAO;KACjB,EAAE;QACD,YAAY,EAAE;YACZ,KAAK,EAAE,EAAE;SACV;KACF,CAAC,CAAC;IAEH,MAAM,CAAC,iBAAiB,CAAC,iCAAsB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QAC5D,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;KAC3D,CAAC,CAAC,CAAC;IAEJ,MAAM,CAAC,iBAAiB,CAAC,gCAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAChE,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;YAC1B,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,CAAC,QAAQ,CAAC;YAChD,OAAO,QAAQ,KAAK,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;QAC1C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,QAAQ,OAAO,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC,CAAC;QAC3D,CAAC;QAED,IAAI,CAAC;YACH,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACpE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YACnD,OAAO;gBACL,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,KAAK;aACjC,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,EAAE,EAAE,CAAC;gBACpD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,iBAAiB,CAAC,KAAgC;IACtE,MAAM,QAAQ,GAAG,YAAY,EAAE,CAAC;IAChC,MAAM,WAAW,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC/C,MAAM,eAAe,GAAG,KAAK,IAAI,MAAM,sBAAsB,CAAC,WAAW,CAAC,CAAC;IAE3E,MAAM,MAAM,GAAG,IAAI,iBAAM,CAAC;QACxB,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,OAAO;KACjB,EAAE;QACD,YAAY,EAAE;YACZ,KAAK,EAAE,EAAE;SACV;KACF,CAAC,CAAC;IAEH,MAAM,CAAC,iBAAiB,CAAC,iCAAsB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QAC5D,KAAK,EAAE,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;KACrE,CAAC,CAAC,CAAC;IAEJ,MAAM,CAAC,iBAAiB,CAAC,gCAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAChE,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;YACpC,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,CAAC,QAAQ,CAAC;YAChD,OAAO,QAAQ,KAAK,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;QAC1C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,QAAQ,OAAO,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC,CAAC;QAC3D,CAAC;QAED,IAAI,CAAC;YACH,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACpE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YACnD,OAAO;gBACL,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,KAAK;aACjC,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,EAAE,EAAE,CAAC;gBACpD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,IAAI,+BAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;AAC5C,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,sBAAsB,CAAC,WAA8B;IAClE,MAAM,KAAK,GAA6B,EAAE,CAAC;IAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC;IACnD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IACvC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,SAAS;QACX,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;YACxC,MAAM,SAAS,GAAG,aAAa,IAAI,aAAa,CAAC,MAAM,IAAI,aAAa,CAAC,IAAI;gBAC3E,CAAC,CAAC,aAAa;gBACf,CAAC,CAAC,aAAa,EAAE,OAAO,CAAC;YAC3B,IAAI,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC;gBAC3C,SAAS;YACX,CAAC;YAED,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YAC9C,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,EAAE,IAAI,IAAI,QAAQ,CAAC;YAClD,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAEnC,IAAI,WAAW,GAAG,IAAI,EAAE,WAAW,CAAC;YACpC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,IAAI,CAAC;oBACH,WAAW,GAAG,IAAA,oCAAe,EAAC,SAAS,CAAC,MAAM,EAAE;wBAC9C,IAAI,EAAE,GAAG,IAAI,QAAQ;wBACrB,MAAM,EAAE,aAAa;wBACrB,YAAY,EAAE,MAAM;qBACrB,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,WAAW,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;gBACnC,CAAC;YACH,CAAC;YAED,MAAM,IAAI,GAA2B;gBACnC,MAAM,EAAE,SAAS,CAAC,MAAM;gBACxB,WAAW;gBACX,QAAQ,EAAE,SAAS,CAAC,QAAQ,IAAI,IAAI,IAAI,IAAI;gBAC5C,QAAQ,EAAE,QAAQ;gBAClB,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;oBACxB,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAC5C,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;wBAC/B,OAAO;4BACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;4BACzC,OAAO,EAAE,KAAK;yBACf,CAAC;oBACJ,CAAC;oBACD,OAAO,MAAM,CAAC;gBAChB,CAAC;aACF,CAAC;YACF,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,4BAA4B,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,YAAY;IACnB,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,eAAe,CAAC,CAAC;IAC/D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QACvD,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAa,CAAC;IAC1C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,kCAAkC,KAAK,EAAE,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAyB;IACjD,MAAM,GAAG,GAAG,IAAI,GAAG,EAAgB,CAAC;IACpC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC;QACrB,OAAO,GAAG,CAAC;IACb,CAAC;IACD,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAC9B,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,aAAa,CAAC,IAA4B,EAAE,WAA8B;IACjF,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC;IAClD,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnC,OAAO;QACL,IAAI;QACJ,WAAW,EAAE,IAAI,EAAE,WAAW,IAAI,IAAI,CAAC,QAAQ,EAAE,WAAW,IAAI,GAAG,IAAI,CAAC,QAAQ,OAAO;QACvF,WAAW,EAAE,IAAI,EAAE,WAAW,IAAI,IAAI,CAAC,WAAW;QAClD,WAAW,EAAE,IAAI,EAAE,WAAW,IAAI,IAAI,CAAC,QAAQ,EAAE,WAAW;QAC5D,OAAO,EAAE,IAAI,EAAE,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,OAAO;QAChD,SAAS,EAAE,IAAI,EAAE,SAAS,IAAI,IAAI,CAAC,QAAQ,EAAE,SAAS;KACvD,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY;IACvC,OAAO,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1C,CAAC;AAED,SAAgB,kBAAkB,CAAC,KAAa;IAC9C,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAChC,OAAO,IAAA,mBAAa,EAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IACD,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { z } from "zod";
2
- import { Tool } from "./metadata";
2
+ import type { ToolMetadataOverrides } from "./metadata";
3
3
  export interface ToolContent {
4
4
  type: "text" | "image" | "resource";
5
5
  text?: string;
@@ -12,39 +12,22 @@ export interface ToolResponse {
12
12
  }
13
13
  export interface InternalToolDefinition<TSchema extends z.ZodSchema = z.ZodSchema> {
14
14
  schema: TSchema;
15
- inputSchema: any;
16
- metadata: Partial<Tool> | null;
15
+ inputSchema: unknown;
16
+ metadata: ToolMetadataOverrides | null;
17
17
  handler: (params: z.infer<TSchema>) => Promise<ToolResponse>;
18
18
  filename: string;
19
+ sourcePath?: string;
19
20
  }
20
21
  export interface ServerConfig {
21
22
  name: string;
22
23
  version: string;
23
24
  tools: InternalToolDefinition[];
24
25
  }
25
- export interface LambdaEvent {
26
- httpMethod: string;
27
- path: string;
28
- headers: Record<string, string>;
29
- body: string;
30
- isBase64Encoded: boolean;
31
- }
32
- export interface LambdaContext {
33
- requestId: string;
34
- functionName: string;
35
- functionVersion: string;
36
- remainingTimeInMillis: number;
37
- }
38
- export interface LambdaResponse {
39
- statusCode: number;
40
- headers: Record<string, string>;
41
- body: string;
42
- }
43
26
  export interface BuildConfig {
44
27
  toolsDir: string;
45
28
  outputDir: string;
46
29
  serverName?: string;
47
30
  serverVersion?: string;
48
31
  }
49
- export type { Metadata } from "./metadata";
32
+ export type { Tool, ToolMetadataOverrides, Metadata } from "./metadata";
50
33
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAGlC,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,UAAU,CAAC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAGD,MAAM,WAAW,sBAAsB,CACrC,OAAO,SAAS,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS;IAEzC,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,GAAG,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC/B,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IAC7D,QAAQ,EAAE,MAAM,CAAC;CAClB;AAGD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,sBAAsB,EAAE,CAAC;CACjC;AAGD,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,qBAAqB,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;CACd;AAGD,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAGxD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,UAAU,CAAC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAGD,MAAM,WAAW,sBAAsB,CACrC,OAAO,SAAS,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS;IAEzC,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,qBAAqB,GAAG,IAAI,CAAC;IACvC,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IAC7D,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAGD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,sBAAsB,EAAE,CAAC;CACjC;AAGD,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,YAAY,EAAE,IAAI,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC"}