opentool 0.4.1 → 0.4.3

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/README.md CHANGED
@@ -116,6 +116,22 @@ Options:
116
116
  -i, --input <dir> Input directory containing tools (default: "tools")
117
117
  ```
118
118
 
119
+ ### Generate Metadata
120
+
121
+ Generate OpenTool metadata JSON without building:
122
+
123
+ ```bash
124
+ npx opentool metadata [options]
125
+
126
+ Options:
127
+ -i, --input <dir> Input directory containing tools (default: "tools")
128
+ -o, --output <file> Output file path for metadata.json (default: "metadata.json")
129
+ --name <name> Server name (default: "opentool-server")
130
+ --version <version> Server version (default: "1.0.0")
131
+ ```
132
+
133
+ This command generates the `metadata.json` file that contains all the information needed for on-chain registration and discovery, including tool schemas, payment configurations, and discovery metadata. It's useful when you need to inspect or share the metadata without performing a full build.
134
+
119
135
  ## Tool Definition
120
136
 
121
137
  Each tool is defined by exporting three things:
@@ -0,0 +1,15 @@
1
+ import { InternalToolDefinition } from "../types";
2
+ import { Metadata } from "../types/metadata";
3
+ export interface GenerateMetadataOptions {
4
+ input: string;
5
+ output?: string;
6
+ name?: string;
7
+ version?: string;
8
+ }
9
+ export declare function generateMetadataCommand(options: GenerateMetadataOptions): Promise<void>;
10
+ export declare function generateMetadata(tools: InternalToolDefinition[], config: {
11
+ toolsDir: string;
12
+ serverName: string;
13
+ serverVersion: string;
14
+ }): Promise<Metadata>;
15
+ //# sourceMappingURL=generate-metadata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-metadata.d.ts","sourceRoot":"","sources":["../../src/cli/generate-metadata.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAQ,MAAM,mBAAmB,CAAC;AAGnD,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAsB,uBAAuB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2D7F;AAgBD,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,sBAAsB,EAAE,EAC/B,MAAM,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GACtE,OAAO,CAAC,QAAQ,CAAC,CAsOnB"}
@@ -0,0 +1,291 @@
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.generateMetadataCommand = generateMetadataCommand;
37
+ exports.generateMetadata = generateMetadata;
38
+ const fs = __importStar(require("fs"));
39
+ const path = __importStar(require("path"));
40
+ const validate_1 = require("./validate");
41
+ async function generateMetadataCommand(options) {
42
+ const timestamp = new Date().toISOString().replace("T", " ").slice(0, 19);
43
+ console.log(`[${timestamp}] Generating OpenTool metadata...`);
44
+ const toolsDir = path.resolve(options.input);
45
+ const outputPath = options.output ? path.resolve(options.output) : path.join(process.cwd(), "metadata.json");
46
+ try {
47
+ // Validate tools directory exists
48
+ if (!fs.existsSync(toolsDir)) {
49
+ throw new Error(`Tools directory not found: ${toolsDir}`);
50
+ }
51
+ // Load and validate tools
52
+ console.log(`[${new Date()
53
+ .toISOString()
54
+ .replace("T", " ")
55
+ .slice(0, 19)}] 🔍 Validating tools...`);
56
+ const tools = await (0, validate_1.loadAndValidateTools)(toolsDir);
57
+ if (tools.length === 0) {
58
+ throw new Error("No valid tools found - metadata generation aborted");
59
+ }
60
+ console.log(`[${new Date().toISOString().replace("T", " ").slice(0, 19)}] ✅ Found ${tools.length} valid tools`);
61
+ // Generate metadata JSON
62
+ const metadata = await generateMetadata(tools, {
63
+ toolsDir,
64
+ serverName: options.name || "opentool-server",
65
+ serverVersion: options.version || "1.0.0",
66
+ });
67
+ // Write metadata to output file
68
+ fs.writeFileSync(outputPath, JSON.stringify(metadata, null, 2));
69
+ const endTimestamp = new Date()
70
+ .toISOString()
71
+ .replace("T", " ")
72
+ .slice(0, 19);
73
+ console.log(`[${endTimestamp}] Metadata generation completed successfully!`);
74
+ console.log(`Output file: ${outputPath}`);
75
+ console.log(`Generated metadata for ${tools.length} tools`);
76
+ }
77
+ catch (error) {
78
+ console.error(`[${new Date()
79
+ .toISOString()
80
+ .replace("T", " ")
81
+ .slice(0, 19)}] Metadata generation failed:`, error);
82
+ process.exit(1);
83
+ }
84
+ }
85
+ // Helper function to read package.json for fallback values
86
+ function readPackageJson(projectRoot) {
87
+ try {
88
+ const packagePath = path.join(projectRoot, "package.json");
89
+ if (fs.existsSync(packagePath)) {
90
+ const packageContent = fs.readFileSync(packagePath, "utf8");
91
+ return JSON.parse(packageContent);
92
+ }
93
+ }
94
+ catch (error) {
95
+ console.warn(" Failed to read package.json:", error);
96
+ }
97
+ return {};
98
+ }
99
+ async function generateMetadata(tools, config) {
100
+ console.log(`[${new Date()
101
+ .toISOString()
102
+ .replace("T", " ")
103
+ .slice(0, 19)}] Generating metadata...`);
104
+ const projectRoot = path.dirname(config.toolsDir);
105
+ // Try to load metadata from metadata.ts (or fall back to discovery.ts for backwards compatibility)
106
+ let rootMetadata = {};
107
+ const metadataTsPath = path.join(projectRoot, "metadata.ts");
108
+ const metadataJsPath = path.join(projectRoot, "metadata.js");
109
+ const discoveryPath = path.join(projectRoot, "discovery.ts"); // backwards compatibility
110
+ const discoveryJsPath = path.join(projectRoot, "discovery.js");
111
+ // Check for metadata.ts first, then discovery.ts for backwards compatibility
112
+ const metadataFilePath = fs.existsSync(metadataTsPath)
113
+ ? metadataTsPath
114
+ : fs.existsSync(discoveryPath)
115
+ ? discoveryPath
116
+ : null;
117
+ const metadataJsFilePath = fs.existsSync(metadataJsPath)
118
+ ? metadataJsPath
119
+ : fs.existsSync(discoveryJsPath)
120
+ ? discoveryJsPath
121
+ : null;
122
+ if (metadataFilePath) {
123
+ try {
124
+ // Use the same temp compilation approach as tools
125
+ const tempDir = path.join(projectRoot, ".opentool-temp");
126
+ if (!fs.existsSync(tempDir)) {
127
+ fs.mkdirSync(tempDir, { recursive: true });
128
+ }
129
+ const { exec } = require("child_process");
130
+ const { promisify } = require("util");
131
+ const execAsync = promisify(exec);
132
+ // Copy metadata file to temp directory
133
+ const tempFileName = path.basename(metadataFilePath);
134
+ const tempFilePath = path.join(tempDir, tempFileName);
135
+ fs.copyFileSync(metadataFilePath, tempFilePath);
136
+ // Compile TypeScript file
137
+ try {
138
+ await execAsync(`npx tsc --target es2020 --module commonjs --esModuleInterop --skipLibCheck --moduleResolution node --outDir ${tempDir} ${tempFilePath}`);
139
+ }
140
+ catch (tscError) {
141
+ console.warn(`TypeScript compilation failed for ${tempFileName}, trying with relaxed settings...`);
142
+ await execAsync(`npx tsc --target es2020 --module commonjs --esModuleInterop --skipLibCheck --moduleResolution node --noImplicitAny false --strict false --outDir ${tempDir} ${tempFilePath}`);
143
+ }
144
+ // Load the compiled JS file
145
+ const compiledFileName = tempFileName.replace(".ts", ".js");
146
+ const compiledPath = path.join(tempDir, compiledFileName);
147
+ if (fs.existsSync(compiledPath)) {
148
+ delete require.cache[require.resolve(compiledPath)];
149
+ const metadataModule = require(compiledPath);
150
+ // Support both 'metadata' and 'discovery' exports for backwards compatibility
151
+ rootMetadata =
152
+ metadataModule.metadata || metadataModule.discovery || {};
153
+ console.log(` Loaded metadata from ${tempFileName}`);
154
+ }
155
+ // Clean up temp directory
156
+ fs.rmSync(tempDir, { recursive: true, force: true });
157
+ }
158
+ catch (error) {
159
+ console.warn(` Failed to load ${path.basename(metadataFilePath)}:`, error);
160
+ }
161
+ }
162
+ else if (metadataJsFilePath) {
163
+ try {
164
+ // For JavaScript files, use require directly
165
+ delete require.cache[require.resolve(metadataJsFilePath)];
166
+ const metadataModule = require(metadataJsFilePath);
167
+ // Support both 'metadata' and 'discovery' exports for backwards compatibility
168
+ rootMetadata = metadataModule.metadata || metadataModule.discovery || {};
169
+ console.log(` Loaded metadata from ${path.basename(metadataJsFilePath)}`);
170
+ }
171
+ catch (error) {
172
+ console.warn(` Failed to load ${path.basename(metadataJsFilePath)}:`, error);
173
+ }
174
+ }
175
+ else {
176
+ console.log(" No metadata.ts found, using smart defaults");
177
+ }
178
+ // Read package.json for fallback values
179
+ const packageInfo = readPackageJson(projectRoot);
180
+ // Generate smart defaults from folder name and package.json
181
+ const folderName = path.basename(projectRoot);
182
+ const smartDefaults = {
183
+ name: rootMetadata.name || packageInfo.name || folderName,
184
+ displayName: rootMetadata.displayName ||
185
+ (packageInfo.name
186
+ ? packageInfo.name
187
+ .split("-")
188
+ .map((word) => word.charAt(0).toUpperCase() + word.slice(1))
189
+ .join(" ")
190
+ : folderName
191
+ .split("-")
192
+ .map((word) => word.charAt(0).toUpperCase() + word.slice(1))
193
+ .join(" ")),
194
+ version: rootMetadata.version || parseFloat(packageInfo.version || "1.0"),
195
+ description: rootMetadata.description ||
196
+ packageInfo.description ||
197
+ `OpenTool agent built from ${folderName}`,
198
+ author: rootMetadata.author || packageInfo.author || "Unknown",
199
+ repository: rootMetadata.repository ||
200
+ packageInfo.repository?.url ||
201
+ packageInfo.repository ||
202
+ "",
203
+ website: rootMetadata.website || packageInfo.homepage || "",
204
+ category: rootMetadata.category || rootMetadata.categories?.[0] || "utility",
205
+ termsOfService: rootMetadata.termsOfService || "Please review terms before use.",
206
+ };
207
+ // Convert tools to metadata format
208
+ const metadataTools = tools.map((tool) => {
209
+ // Use tool metadata name, fallback to filename without extension
210
+ const toolName = tool.metadata?.name || tool.filename.replace(/\.(ts|js)$/, "");
211
+ const toolDescription = tool.metadata?.description || `${toolName} tool`;
212
+ // Build metadata tool object
213
+ const metadataTool = {
214
+ name: toolName,
215
+ description: toolDescription,
216
+ inputSchema: tool.inputSchema,
217
+ };
218
+ // Add annotations if they exist
219
+ if (tool.metadata?.annotations) {
220
+ metadataTool.annotations = tool.metadata.annotations;
221
+ }
222
+ // Add payment config (tool-level overrides agent-level)
223
+ if (tool.metadata?.payment) {
224
+ metadataTool.payment = tool.metadata.payment;
225
+ }
226
+ else if (rootMetadata.payment) {
227
+ // Use agent-level payment as default
228
+ metadataTool.payment = rootMetadata.payment;
229
+ }
230
+ // Add discovery metadata if it exists
231
+ if (tool.metadata?.discovery) {
232
+ metadataTool.discovery = tool.metadata.discovery;
233
+ }
234
+ return metadataTool;
235
+ });
236
+ // Build complete metadata JSON with new structure
237
+ const metadataJson = {
238
+ // Core fields using smart defaults
239
+ name: smartDefaults.name,
240
+ displayName: smartDefaults.displayName,
241
+ version: smartDefaults.version,
242
+ description: smartDefaults.description,
243
+ author: smartDefaults.author,
244
+ repository: smartDefaults.repository,
245
+ website: smartDefaults.website,
246
+ category: smartDefaults.category,
247
+ termsOfService: smartDefaults.termsOfService,
248
+ // Tools array (always populated by build process)
249
+ tools: metadataTools,
250
+ // UI Enhancement fields
251
+ ...(rootMetadata.promptExamples && {
252
+ promptExamples: rootMetadata.promptExamples,
253
+ }),
254
+ ...(rootMetadata.iconPath && { iconPath: rootMetadata.iconPath }),
255
+ ...(rootMetadata.videoPath && { videoPath: rootMetadata.videoPath }),
256
+ // Agent-level payment defaults (create from pricing if exists)
257
+ ...(rootMetadata.pricing && {
258
+ payment: {
259
+ amountUSDC: rootMetadata.pricing.defaultAmount || 0.01,
260
+ description: rootMetadata.pricing.description || "",
261
+ x402: true,
262
+ openpondDirect: true,
263
+ acceptedMethods: ["ETH", "USDC"],
264
+ chainIds: [8453], // Base
265
+ },
266
+ }),
267
+ // Discovery section (only include if metadata has discovery fields)
268
+ ...((rootMetadata.keywords ||
269
+ rootMetadata.categories ||
270
+ rootMetadata.useCases ||
271
+ rootMetadata.capabilities ||
272
+ rootMetadata.requirements ||
273
+ rootMetadata.pricing ||
274
+ rootMetadata.compatibility ||
275
+ rootMetadata.discovery) && {
276
+ discovery: {
277
+ keywords: rootMetadata.keywords || [],
278
+ category: rootMetadata.categories?.[0] || smartDefaults.category,
279
+ useCases: rootMetadata.useCases || [],
280
+ capabilities: rootMetadata.capabilities || [],
281
+ requirements: rootMetadata.requirements || {},
282
+ pricing: rootMetadata.pricing || {},
283
+ compatibility: rootMetadata.compatibility || {},
284
+ ...(rootMetadata.discovery || {}), // Include any nested discovery fields too
285
+ },
286
+ }),
287
+ };
288
+ console.log(` Generated metadata with ${metadataTools.length} tools`);
289
+ return metadataJson;
290
+ }
291
+ //# sourceMappingURL=generate-metadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-metadata.js","sourceRoot":"","sources":["../../src/cli/generate-metadata.ts"],"names":[],"mappings":"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"}
@@ -2,4 +2,5 @@
2
2
  export * from './build';
3
3
  export * from './dev';
4
4
  export * from './validate';
5
+ export * from './generate-metadata';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AA+CA,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AACtB,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AA0DA,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AACtB,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC"}
package/dist/cli/index.js CHANGED
@@ -19,6 +19,7 @@ const commander_1 = require("commander");
19
19
  const build_1 = require("./build");
20
20
  const dev_1 = require("./dev");
21
21
  const validate_1 = require("./validate");
22
+ const generate_metadata_1 = require("./generate-metadata");
22
23
  commander_1.program
23
24
  .name('opentool')
24
25
  .description('OpenTool CLI for building and developing serverless MCP tools')
@@ -51,9 +52,19 @@ commander_1.program
51
52
  .description('Full validation of tools and metadata')
52
53
  .option('-i, --input <dir>', 'Input directory containing tools', 'tools')
53
54
  .action(validate_1.validateFullCommand);
55
+ // Generate metadata command
56
+ commander_1.program
57
+ .command('metadata')
58
+ .description('Generate OpenTool metadata JSON without building')
59
+ .option('-i, --input <dir>', 'Input directory containing tools', 'tools')
60
+ .option('-o, --output <file>', 'Output file path for metadata.json', 'metadata.json')
61
+ .option('--name <name>', 'Server name', 'opentool-server')
62
+ .option('--version <version>', 'Server version', '1.0.0')
63
+ .action(generate_metadata_1.generateMetadataCommand);
54
64
  // Parse arguments
55
65
  commander_1.program.parse();
56
66
  __exportStar(require("./build"), exports);
57
67
  __exportStar(require("./dev"), exports);
58
68
  __exportStar(require("./validate"), exports);
69
+ __exportStar(require("./generate-metadata"), exports);
59
70
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAEA,yCAAoC;AACpC,mCAAuC;AACvC,+BAAmC;AACnC,yCAAkE;AAElE,mBAAO;KACJ,IAAI,CAAC,UAAU,CAAC;KAChB,WAAW,CAAC,+DAA+D,CAAC;KAC5E,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,8BAA8B;AAC9B,mBAAO;KACJ,OAAO,CAAC,KAAK,CAAC;KACd,WAAW,CAAC,uCAAuC,CAAC;KACpD,MAAM,CAAC,mBAAmB,EAAE,kCAAkC,EAAE,OAAO,CAAC;KACxE,MAAM,CAAC,SAAS,EAAE,wBAAwB,EAAE,KAAK,CAAC;KAClD,MAAM,CAAC,gBAAU,CAAC,CAAC;AAEtB,kCAAkC;AAClC,mBAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,4BAA4B,CAAC;KACzC,MAAM,CAAC,mBAAmB,EAAE,kCAAkC,EAAE,OAAO,CAAC;KACxE,MAAM,CAAC,oBAAoB,EAAE,kCAAkC,EAAE,MAAM,CAAC;KACxE,MAAM,CAAC,eAAe,EAAE,aAAa,EAAE,iBAAiB,CAAC;KACzD,MAAM,CAAC,qBAAqB,EAAE,gBAAgB,EAAE,OAAO,CAAC;KACxD,MAAM,CAAC,oBAAY,CAAC,CAAC;AAExB,mCAAmC;AACnC,mBAAO;KACJ,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,2CAA2C,CAAC;KACxD,MAAM,CAAC,mBAAmB,EAAE,kCAAkC,EAAE,OAAO,CAAC;KACxE,MAAM,CAAC,0BAAe,CAAC,CAAC;AAE3B,6CAA6C;AAC7C,mBAAO;KACJ,OAAO,CAAC,eAAe,CAAC;KACxB,WAAW,CAAC,uCAAuC,CAAC;KACpD,MAAM,CAAC,mBAAmB,EAAE,kCAAkC,EAAE,OAAO,CAAC;KACxE,MAAM,CAAC,8BAAmB,CAAC,CAAC;AAE/B,kBAAkB;AAClB,mBAAO,CAAC,KAAK,EAAE,CAAC;AAEhB,0CAAwB;AACxB,wCAAsB;AACtB,6CAA2B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAEA,yCAAoC;AACpC,mCAAuC;AACvC,+BAAmC;AACnC,yCAAkE;AAClE,2DAA8D;AAE9D,mBAAO;KACJ,IAAI,CAAC,UAAU,CAAC;KAChB,WAAW,CAAC,+DAA+D,CAAC;KAC5E,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,8BAA8B;AAC9B,mBAAO;KACJ,OAAO,CAAC,KAAK,CAAC;KACd,WAAW,CAAC,uCAAuC,CAAC;KACpD,MAAM,CAAC,mBAAmB,EAAE,kCAAkC,EAAE,OAAO,CAAC;KACxE,MAAM,CAAC,SAAS,EAAE,wBAAwB,EAAE,KAAK,CAAC;KAClD,MAAM,CAAC,gBAAU,CAAC,CAAC;AAEtB,kCAAkC;AAClC,mBAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,4BAA4B,CAAC;KACzC,MAAM,CAAC,mBAAmB,EAAE,kCAAkC,EAAE,OAAO,CAAC;KACxE,MAAM,CAAC,oBAAoB,EAAE,kCAAkC,EAAE,MAAM,CAAC;KACxE,MAAM,CAAC,eAAe,EAAE,aAAa,EAAE,iBAAiB,CAAC;KACzD,MAAM,CAAC,qBAAqB,EAAE,gBAAgB,EAAE,OAAO,CAAC;KACxD,MAAM,CAAC,oBAAY,CAAC,CAAC;AAExB,mCAAmC;AACnC,mBAAO;KACJ,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,2CAA2C,CAAC;KACxD,MAAM,CAAC,mBAAmB,EAAE,kCAAkC,EAAE,OAAO,CAAC;KACxE,MAAM,CAAC,0BAAe,CAAC,CAAC;AAE3B,6CAA6C;AAC7C,mBAAO;KACJ,OAAO,CAAC,eAAe,CAAC;KACxB,WAAW,CAAC,uCAAuC,CAAC;KACpD,MAAM,CAAC,mBAAmB,EAAE,kCAAkC,EAAE,OAAO,CAAC;KACxE,MAAM,CAAC,8BAAmB,CAAC,CAAC;AAE/B,4BAA4B;AAC5B,mBAAO;KACJ,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,kDAAkD,CAAC;KAC/D,MAAM,CAAC,mBAAmB,EAAE,kCAAkC,EAAE,OAAO,CAAC;KACxE,MAAM,CAAC,qBAAqB,EAAE,oCAAoC,EAAE,eAAe,CAAC;KACpF,MAAM,CAAC,eAAe,EAAE,aAAa,EAAE,iBAAiB,CAAC;KACzD,MAAM,CAAC,qBAAqB,EAAE,gBAAgB,EAAE,OAAO,CAAC;KACxD,MAAM,CAAC,2CAAuB,CAAC,CAAC;AAEnC,kBAAkB;AAClB,mBAAO,CAAC,KAAK,EAAE,CAAC;AAEhB,0CAAwB;AACxB,wCAAsB;AACtB,6CAA2B;AAC3B,sDAAoC"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from "./runtime";
2
2
  export * from "./types";
3
+ export { generateMetadata, generateMetadataCommand, } from "./cli/generate-metadata";
3
4
  export { loadAndValidateTools, validateCommand } from "./cli/validate";
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AAExB,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AAExB,OAAO,EACL,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC"}
package/dist/index.js CHANGED
@@ -14,9 +14,12 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.validateCommand = exports.loadAndValidateTools = void 0;
17
+ exports.validateCommand = exports.loadAndValidateTools = exports.generateMetadataCommand = exports.generateMetadata = void 0;
18
18
  __exportStar(require("./runtime"), exports);
19
19
  __exportStar(require("./types"), exports);
20
+ var generate_metadata_1 = require("./cli/generate-metadata");
21
+ Object.defineProperty(exports, "generateMetadata", { enumerable: true, get: function () { return generate_metadata_1.generateMetadata; } });
22
+ Object.defineProperty(exports, "generateMetadataCommand", { enumerable: true, get: function () { return generate_metadata_1.generateMetadataCommand; } });
20
23
  var validate_1 = require("./cli/validate");
21
24
  Object.defineProperty(exports, "loadAndValidateTools", { enumerable: true, get: function () { return validate_1.loadAndValidateTools; } });
22
25
  Object.defineProperty(exports, "validateCommand", { enumerable: true, get: function () { return validate_1.validateCommand; } });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,0CAAwB;AAExB,2CAAuE;AAA9D,gHAAA,oBAAoB,OAAA;AAAE,2GAAA,eAAe,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,0CAAwB;AAExB,6DAGiC;AAF/B,qHAAA,gBAAgB,OAAA;AAChB,4HAAA,uBAAuB,OAAA;AAEzB,2CAAuE;AAA9D,gHAAA,oBAAoB,OAAA;AAAE,2GAAA,eAAe,OAAA"}
@@ -46,4 +46,5 @@ export interface BuildConfig {
46
46
  serverName?: string;
47
47
  serverVersion?: string;
48
48
  }
49
+ export type { Metadata } from "./metadata";
49
50
  //# 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"}
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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opentool",
3
- "version": "0.4.1",
3
+ "version": "0.4.3",
4
4
  "description": "OpenTool framework for building serverless MCP tools",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",