opentool 0.4.6 → 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.
- package/README.md +11 -8
- package/dist/cli/build.d.ts +15 -0
- package/dist/cli/build.d.ts.map +1 -1
- package/dist/cli/build.js +127 -412
- package/dist/cli/build.js.map +1 -1
- package/dist/cli/dev.d.ts.map +1 -1
- package/dist/cli/dev.js +31 -76
- package/dist/cli/dev.js.map +1 -1
- package/dist/cli/generate-metadata.d.ts +7 -7
- package/dist/cli/generate-metadata.d.ts.map +1 -1
- package/dist/cli/generate-metadata.js +37 -238
- package/dist/cli/generate-metadata.js.map +1 -1
- package/dist/cli/shared/metadata.d.ts +19 -0
- package/dist/cli/shared/metadata.d.ts.map +1 -0
- package/dist/cli/shared/metadata.js +283 -0
- package/dist/cli/shared/metadata.js.map +1 -0
- package/dist/cli/validate.d.ts +5 -1
- package/dist/cli/validate.d.ts.map +1 -1
- package/dist/cli/validate.js +146 -237
- package/dist/cli/validate.js.map +1 -1
- package/dist/runtime/index.d.ts +1 -0
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/index.js +118 -69
- package/dist/runtime/index.js.map +1 -1
- package/dist/types/index.d.ts +5 -22
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/metadata.d.ts +975 -59
- package/dist/types/metadata.d.ts.map +1 -1
- package/dist/types/metadata.js +105 -0
- package/dist/types/metadata.js.map +1 -1
- package/dist/utils/esbuild.d.ts +13 -0
- package/dist/utils/esbuild.d.ts.map +1 -0
- package/dist/utils/esbuild.js +95 -0
- package/dist/utils/esbuild.js.map +1 -0
- package/dist/utils/module-loader.d.ts +3 -0
- package/dist/utils/module-loader.d.ts.map +1 -0
- package/dist/utils/module-loader.js +49 -0
- package/dist/utils/module-loader.js.map +1 -0
- package/package.json +5 -1
package/dist/cli/build.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/cli/build.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/cli/build.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/dev.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/cli/dev.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/cli/dev.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAwCnE"}
|
package/dist/cli/dev.js
CHANGED
|
@@ -39,67 +39,65 @@ const path = __importStar(require("path"));
|
|
|
39
39
|
const index_js_1 = require("@modelcontextprotocol/sdk/server/index.js");
|
|
40
40
|
const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
|
|
41
41
|
const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
|
|
42
|
+
const validate_1 = require("./validate");
|
|
42
43
|
async function devCommand(options) {
|
|
43
|
-
console.log(
|
|
44
|
-
const toolsDir = path.resolve(options.input);
|
|
44
|
+
console.log("🚀 Starting OpenTool MCP server...");
|
|
45
45
|
try {
|
|
46
|
-
|
|
46
|
+
const toolsDir = path.resolve(options.input);
|
|
47
47
|
if (!fs.existsSync(toolsDir)) {
|
|
48
48
|
throw new Error(`Tools directory not found: ${toolsDir}`);
|
|
49
49
|
}
|
|
50
|
-
|
|
51
|
-
const tools = await
|
|
50
|
+
const projectRoot = path.dirname(toolsDir);
|
|
51
|
+
const tools = await (0, validate_1.loadAndValidateTools)(toolsDir, { projectRoot });
|
|
52
|
+
if (tools.length === 0) {
|
|
53
|
+
throw new Error("No tools found in the target directory");
|
|
54
|
+
}
|
|
52
55
|
console.log(`📦 Loaded ${tools.length} tools:`);
|
|
53
|
-
tools.forEach(tool => {
|
|
54
|
-
const name = tool.metadata?.name
|
|
55
|
-
const desc = tool.metadata?.description
|
|
56
|
-
console.log(`
|
|
56
|
+
tools.forEach((tool) => {
|
|
57
|
+
const name = tool.metadata?.name ?? tool.filename;
|
|
58
|
+
const desc = tool.metadata?.description ?? "no description";
|
|
59
|
+
console.log(` • ${name} — ${desc}`);
|
|
57
60
|
});
|
|
58
|
-
// Create MCP server
|
|
59
61
|
const server = createMcpServer(tools);
|
|
60
|
-
console.log(
|
|
61
|
-
console.log(`📡 Transport: stdio`);
|
|
62
|
+
console.log("\n🎉 MCP server running!");
|
|
62
63
|
console.log(`📁 Tools directory: ${toolsDir}`);
|
|
63
|
-
console.log(
|
|
64
|
-
console.log(
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
// Handle graceful shutdown
|
|
68
|
-
process.on('SIGINT', () => {
|
|
69
|
-
console.log('\n🛑 Shutting down MCP server...');
|
|
64
|
+
console.log("📡 Transport: stdio");
|
|
65
|
+
console.log("Press Ctrl+C to stop the server\n");
|
|
66
|
+
process.on("SIGINT", () => {
|
|
67
|
+
console.log("\n🛑 Shutting down MCP server...");
|
|
70
68
|
server.close();
|
|
71
69
|
process.exit(0);
|
|
72
70
|
});
|
|
73
|
-
// Start stdio transport
|
|
74
71
|
const transport = new stdio_js_1.StdioServerTransport();
|
|
75
72
|
await server.connect(transport);
|
|
76
73
|
}
|
|
77
74
|
catch (error) {
|
|
78
|
-
console.error(
|
|
75
|
+
console.error("❌ MCP server failed:", error);
|
|
79
76
|
process.exit(1);
|
|
80
77
|
}
|
|
81
78
|
}
|
|
82
79
|
function createMcpServer(tools) {
|
|
83
80
|
const server = new index_js_1.Server({
|
|
84
|
-
name:
|
|
85
|
-
version:
|
|
81
|
+
name: "opentool-dev",
|
|
82
|
+
version: "1.0.0",
|
|
86
83
|
}, {
|
|
87
84
|
capabilities: {
|
|
88
85
|
tools: {},
|
|
89
86
|
},
|
|
90
87
|
});
|
|
91
|
-
// Register list tools handler
|
|
92
88
|
server.setRequestHandler(types_js_1.ListToolsRequestSchema, async () => ({
|
|
93
|
-
tools: tools.map(tool => ({
|
|
94
|
-
name: tool.metadata?.name
|
|
95
|
-
description: tool.metadata?.description
|
|
96
|
-
inputSchema: tool.
|
|
89
|
+
tools: tools.map((tool) => ({
|
|
90
|
+
name: tool.metadata?.name ?? tool.filename,
|
|
91
|
+
description: tool.metadata?.description ?? `${tool.filename} tool`,
|
|
92
|
+
inputSchema: tool.inputSchema,
|
|
93
|
+
annotations: tool.metadata?.annotations,
|
|
94
|
+
payment: tool.metadata?.payment,
|
|
95
|
+
discovery: tool.metadata?.discovery,
|
|
97
96
|
})),
|
|
98
97
|
}));
|
|
99
|
-
// Register call tool handler
|
|
100
98
|
server.setRequestHandler(types_js_1.CallToolRequestSchema, async (request) => {
|
|
101
|
-
const tool = tools.find(
|
|
102
|
-
const toolName =
|
|
99
|
+
const tool = tools.find((entry) => {
|
|
100
|
+
const toolName = entry.metadata?.name ?? entry.filename;
|
|
103
101
|
return toolName === request.params.name;
|
|
104
102
|
});
|
|
105
103
|
if (!tool) {
|
|
@@ -110,59 +108,16 @@ function createMcpServer(tools) {
|
|
|
110
108
|
const result = await tool.handler(validatedParams);
|
|
111
109
|
return {
|
|
112
110
|
content: result.content,
|
|
113
|
-
isError: result.isError
|
|
111
|
+
isError: result.isError ?? false,
|
|
114
112
|
};
|
|
115
113
|
}
|
|
116
114
|
catch (error) {
|
|
117
115
|
return {
|
|
118
|
-
content: [{ type:
|
|
116
|
+
content: [{ type: "text", text: `Error: ${error}` }],
|
|
119
117
|
isError: true,
|
|
120
118
|
};
|
|
121
119
|
}
|
|
122
120
|
});
|
|
123
121
|
return server;
|
|
124
122
|
}
|
|
125
|
-
async function loadTools(toolsDir) {
|
|
126
|
-
const tools = [];
|
|
127
|
-
const files = fs.readdirSync(toolsDir);
|
|
128
|
-
for (const file of files) {
|
|
129
|
-
if (file.endsWith('.ts') || file.endsWith('.js')) {
|
|
130
|
-
const toolPath = path.join(toolsDir, file);
|
|
131
|
-
try {
|
|
132
|
-
// Clear require cache for hot reloading
|
|
133
|
-
delete require.cache[require.resolve(toolPath)];
|
|
134
|
-
const toolModule = require(toolPath);
|
|
135
|
-
// Check for required exports (schema and TOOL function, metadata is optional)
|
|
136
|
-
if (toolModule.TOOL && toolModule.schema) {
|
|
137
|
-
const baseName = file.replace(/\.(ts|js)$/, '');
|
|
138
|
-
const tool = {
|
|
139
|
-
schema: toolModule.schema,
|
|
140
|
-
inputSchema: { type: 'object' }, // Placeholder for dev mode
|
|
141
|
-
metadata: toolModule.metadata || null,
|
|
142
|
-
filename: baseName,
|
|
143
|
-
handler: async (params) => {
|
|
144
|
-
const result = await toolModule.TOOL(params);
|
|
145
|
-
// Handle both string and object returns
|
|
146
|
-
if (typeof result === 'string') {
|
|
147
|
-
return {
|
|
148
|
-
content: [{ type: 'text', text: result }],
|
|
149
|
-
isError: false,
|
|
150
|
-
};
|
|
151
|
-
}
|
|
152
|
-
return result;
|
|
153
|
-
}
|
|
154
|
-
};
|
|
155
|
-
tools.push(tool);
|
|
156
|
-
}
|
|
157
|
-
else {
|
|
158
|
-
console.warn(` ⚠ ${file} - Invalid tool format. Must export: schema and TOOL function (metadata is optional)`);
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
catch (error) {
|
|
162
|
-
console.warn(` ❌ ${file} - Failed to load: ${error}`);
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
return tools;
|
|
167
|
-
}
|
|
168
123
|
//# sourceMappingURL=dev.js.map
|
package/dist/cli/dev.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/cli/dev.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/cli/dev.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,13 +3,13 @@ import { Metadata } from "../types/metadata";
|
|
|
3
3
|
export interface GenerateMetadataOptions {
|
|
4
4
|
input: string;
|
|
5
5
|
output?: string;
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
}
|
|
7
|
+
export interface GenerateMetadataResult {
|
|
8
|
+
metadata: Metadata;
|
|
9
|
+
defaultsApplied: string[];
|
|
10
|
+
tools: InternalToolDefinition[];
|
|
11
|
+
outputPath: string;
|
|
8
12
|
}
|
|
9
13
|
export declare function generateMetadataCommand(options: GenerateMetadataOptions): Promise<void>;
|
|
10
|
-
export declare function generateMetadata(
|
|
11
|
-
toolsDir: string;
|
|
12
|
-
serverName: string;
|
|
13
|
-
serverVersion: string;
|
|
14
|
-
}): Promise<Metadata>;
|
|
14
|
+
export declare function generateMetadata(options: GenerateMetadataOptions): Promise<GenerateMetadataResult>;
|
|
15
15
|
//# sourceMappingURL=generate-metadata.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-metadata.d.ts","sourceRoot":"","sources":["../../src/cli/generate-metadata.ts"],"names":[],"mappings":"
|
|
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,EAAE,MAAM,mBAAmB,CAAC;AAI7C,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,QAAQ,CAAC;IACnB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,KAAK,EAAE,sBAAsB,EAAE,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,uBAAuB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsB7F;AAED,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAyBxG"}
|
|
@@ -37,255 +37,54 @@ exports.generateMetadataCommand = generateMetadataCommand;
|
|
|
37
37
|
exports.generateMetadata = generateMetadata;
|
|
38
38
|
const fs = __importStar(require("fs"));
|
|
39
39
|
const path = __importStar(require("path"));
|
|
40
|
-
const
|
|
41
|
-
const util_1 = require("util");
|
|
40
|
+
const metadata_1 = require("./shared/metadata");
|
|
42
41
|
const validate_1 = require("./validate");
|
|
43
|
-
const execAsync = (0, util_1.promisify)(child_process_1.exec);
|
|
44
42
|
async function generateMetadataCommand(options) {
|
|
45
|
-
const
|
|
46
|
-
console.log(`[${
|
|
47
|
-
const toolsDir = path.resolve(options.input);
|
|
48
|
-
const outputPath = options.output ? path.resolve(options.output) : path.join(process.cwd(), "metadata.json");
|
|
43
|
+
const startTimestamp = timestamp();
|
|
44
|
+
console.log(`[${startTimestamp}] Generating OpenTool metadata...`);
|
|
49
45
|
try {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
throw new Error(`Tools directory not found: ${toolsDir}`);
|
|
53
|
-
}
|
|
54
|
-
// Load and validate tools
|
|
55
|
-
console.log(`[${new Date()
|
|
56
|
-
.toISOString()
|
|
57
|
-
.replace("T", " ")
|
|
58
|
-
.slice(0, 19)}] 🔍 Validating tools...`);
|
|
59
|
-
const tools = await (0, validate_1.loadAndValidateTools)(toolsDir);
|
|
60
|
-
if (tools.length === 0) {
|
|
61
|
-
throw new Error("No valid tools found - metadata generation aborted");
|
|
62
|
-
}
|
|
63
|
-
console.log(`[${new Date().toISOString().replace("T", " ").slice(0, 19)}] ✅ Found ${tools.length} valid tools`);
|
|
64
|
-
// Generate metadata JSON
|
|
65
|
-
const metadata = await generateMetadata(tools, {
|
|
66
|
-
toolsDir,
|
|
67
|
-
serverName: options.name || "opentool-server",
|
|
68
|
-
serverVersion: options.version || "1.0.0",
|
|
69
|
-
});
|
|
70
|
-
// Write metadata to output file
|
|
71
|
-
fs.writeFileSync(outputPath, JSON.stringify(metadata, null, 2));
|
|
72
|
-
const endTimestamp = new Date()
|
|
73
|
-
.toISOString()
|
|
74
|
-
.replace("T", " ")
|
|
75
|
-
.slice(0, 19);
|
|
46
|
+
const result = await generateMetadata(options);
|
|
47
|
+
const endTimestamp = timestamp();
|
|
76
48
|
console.log(`[${endTimestamp}] Metadata generation completed successfully!`);
|
|
77
|
-
console.log(`Output file: ${outputPath}`);
|
|
78
|
-
console.log(`
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
.
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
process.exit(1);
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
// Helper function to read package.json for fallback values
|
|
89
|
-
function readPackageJson(projectRoot) {
|
|
90
|
-
try {
|
|
91
|
-
const packagePath = path.join(projectRoot, "package.json");
|
|
92
|
-
if (fs.existsSync(packagePath)) {
|
|
93
|
-
const packageContent = fs.readFileSync(packagePath, "utf8");
|
|
94
|
-
return JSON.parse(packageContent);
|
|
49
|
+
console.log(`Output file: ${result.outputPath}`);
|
|
50
|
+
console.log(`Spec version: ${result.metadata.metadataSpecVersion}`);
|
|
51
|
+
console.log(`Tools included: ${result.tools.length}`);
|
|
52
|
+
if (result.defaultsApplied.length > 0) {
|
|
53
|
+
console.log("Applied defaults:");
|
|
54
|
+
for (const entry of result.defaultsApplied) {
|
|
55
|
+
console.log(` • ${entry}`);
|
|
56
|
+
}
|
|
95
57
|
}
|
|
96
58
|
}
|
|
97
59
|
catch (error) {
|
|
98
|
-
|
|
60
|
+
const endTimestamp = timestamp();
|
|
61
|
+
console.error(`[${endTimestamp}] Metadata generation failed:`, error);
|
|
62
|
+
process.exit(1);
|
|
99
63
|
}
|
|
100
|
-
return {};
|
|
101
64
|
}
|
|
102
|
-
async function generateMetadata(
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
.slice(0, 19)}] Generating metadata...`);
|
|
107
|
-
const projectRoot = path.dirname(config.toolsDir);
|
|
108
|
-
// Try to load metadata from metadata.ts (or fall back to discovery.ts for backwards compatibility)
|
|
109
|
-
let rootMetadata = {};
|
|
110
|
-
const metadataTsPath = path.join(projectRoot, "metadata.ts");
|
|
111
|
-
const metadataJsPath = path.join(projectRoot, "metadata.js");
|
|
112
|
-
const discoveryPath = path.join(projectRoot, "discovery.ts"); // backwards compatibility
|
|
113
|
-
const discoveryJsPath = path.join(projectRoot, "discovery.js");
|
|
114
|
-
// Check for metadata.ts first, then discovery.ts for backwards compatibility
|
|
115
|
-
const metadataFilePath = fs.existsSync(metadataTsPath)
|
|
116
|
-
? metadataTsPath
|
|
117
|
-
: fs.existsSync(discoveryPath)
|
|
118
|
-
? discoveryPath
|
|
119
|
-
: null;
|
|
120
|
-
const metadataJsFilePath = fs.existsSync(metadataJsPath)
|
|
121
|
-
? metadataJsPath
|
|
122
|
-
: fs.existsSync(discoveryJsPath)
|
|
123
|
-
? discoveryJsPath
|
|
124
|
-
: null;
|
|
125
|
-
if (metadataFilePath) {
|
|
126
|
-
try {
|
|
127
|
-
// Use the same temp compilation approach as tools
|
|
128
|
-
const tempDir = path.join(projectRoot, ".opentool-temp");
|
|
129
|
-
if (!fs.existsSync(tempDir)) {
|
|
130
|
-
fs.mkdirSync(tempDir, { recursive: true });
|
|
131
|
-
}
|
|
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");
|
|
65
|
+
async function generateMetadata(options) {
|
|
66
|
+
const toolsDir = path.resolve(options.input);
|
|
67
|
+
if (!fs.existsSync(toolsDir)) {
|
|
68
|
+
throw new Error(`Tools directory not found: ${toolsDir}`);
|
|
177
69
|
}
|
|
178
|
-
|
|
179
|
-
const
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
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;
|
|
70
|
+
const projectRoot = path.dirname(toolsDir);
|
|
71
|
+
const tools = await (0, validate_1.loadAndValidateTools)(toolsDir, { projectRoot });
|
|
72
|
+
const { metadata, defaultsApplied } = await (0, metadata_1.buildMetadataArtifact)({
|
|
73
|
+
projectRoot,
|
|
74
|
+
tools,
|
|
235
75
|
});
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
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
|
-
}),
|
|
76
|
+
const outputPath = options.output
|
|
77
|
+
? path.resolve(options.output)
|
|
78
|
+
: path.join(projectRoot, "metadata.json");
|
|
79
|
+
fs.writeFileSync(outputPath, JSON.stringify(metadata, null, 2));
|
|
80
|
+
return {
|
|
81
|
+
metadata,
|
|
82
|
+
defaultsApplied,
|
|
83
|
+
tools,
|
|
84
|
+
outputPath,
|
|
287
85
|
};
|
|
288
|
-
|
|
289
|
-
|
|
86
|
+
}
|
|
87
|
+
function timestamp() {
|
|
88
|
+
return new Date().toISOString().replace("T", " ").slice(0, 19);
|
|
290
89
|
}
|
|
291
90
|
//# sourceMappingURL=generate-metadata.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-metadata.js","sourceRoot":"","sources":["../../src/cli/generate-metadata.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"generate-metadata.js","sourceRoot":"","sources":["../../src/cli/generate-metadata.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBA,0DAsBC;AAED,4CAyBC;AApED,uCAAyB;AACzB,2CAA6B;AAG7B,gDAA0D;AAC1D,yCAAkD;AAc3C,KAAK,UAAU,uBAAuB,CAAC,OAAgC;IAC5E,MAAM,cAAc,GAAG,SAAS,EAAE,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,IAAI,cAAc,mCAAmC,CAAC,CAAC;IAEnE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC/C,MAAM,YAAY,GAAG,SAAS,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,IAAI,YAAY,+CAA+C,CAAC,CAAC;QAC7E,OAAO,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,iBAAiB,MAAM,CAAC,QAAQ,CAAC,mBAAmB,EAAE,CAAC,CAAC;QACpE,OAAO,CAAC,GAAG,CAAC,mBAAmB,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QACtD,IAAI,MAAM,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;YACjC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;gBAC3C,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,YAAY,GAAG,SAAS,EAAE,CAAC;QACjC,OAAO,CAAC,KAAK,CAAC,IAAI,YAAY,+BAA+B,EAAE,KAAK,CAAC,CAAC;QACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,gBAAgB,CAAC,OAAgC;IACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC7C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,8BAA8B,QAAQ,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,MAAM,IAAA,+BAAoB,EAAC,QAAQ,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;IAEpE,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,MAAM,IAAA,gCAAqB,EAAC;QAChE,WAAW;QACX,KAAK;KACN,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM;QAC/B,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;QAC9B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;IAC5C,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAEhE,OAAO;QACL,QAAQ;QACR,eAAe;QACf,KAAK;QACL,UAAU;KACX,CAAC;AACJ,CAAC;AAED,SAAS,SAAS;IAChB,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACjE,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { AuthoredMetadata, Metadata } from "../../types/metadata";
|
|
2
|
+
import { InternalToolDefinition } from "../../types";
|
|
3
|
+
interface LoadAuthoredMetadataResult {
|
|
4
|
+
metadata: AuthoredMetadata;
|
|
5
|
+
sourcePath: string;
|
|
6
|
+
}
|
|
7
|
+
export declare function loadAuthoredMetadata(projectRoot: string): Promise<LoadAuthoredMetadataResult>;
|
|
8
|
+
interface MetadataBuildOptions {
|
|
9
|
+
projectRoot: string;
|
|
10
|
+
tools: InternalToolDefinition[];
|
|
11
|
+
}
|
|
12
|
+
export interface MetadataBuildResult {
|
|
13
|
+
metadata: Metadata;
|
|
14
|
+
defaultsApplied: string[];
|
|
15
|
+
sourceMetadataPath: string;
|
|
16
|
+
}
|
|
17
|
+
export declare function buildMetadataArtifact(options: MetadataBuildOptions): Promise<MetadataBuildResult>;
|
|
18
|
+
export {};
|
|
19
|
+
//# sourceMappingURL=metadata.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../../src/cli/shared/metadata.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,gBAAgB,EAGhB,QAAQ,EAOT,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAIrD,UAAU,0BAA0B;IAClC,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;CACpB;AAID,wBAAsB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAmCnG;AA+CD,UAAU,oBAAoB;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,sBAAsB,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,QAAQ,CAAC;IACnB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CA+HvG"}
|