opentool 0.5.0 → 0.6.1
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 +87 -22
- package/dist/ai/index.d.ts +237 -0
- package/dist/ai/index.js +759 -0
- package/dist/ai/index.js.map +1 -0
- package/dist/cli/index.d.ts +38 -5
- package/dist/cli/index.js +2218 -67
- package/dist/cli/index.js.map +1 -1
- package/dist/index-D3DaM5Rs.d.ts +1693 -0
- package/dist/index.d.ts +33 -5
- package/dist/index.js +3258 -25
- package/dist/index.js.map +1 -1
- package/dist/payment/index.d.ts +2 -0
- package/dist/payment/index.js +969 -0
- package/dist/payment/index.js.map +1 -0
- package/dist/{types/metadata.d.ts → validate-DiIOFUU5.d.ts} +262 -415
- package/dist/wallets/index.d.ts +117 -0
- package/dist/wallets/index.js +337 -0
- package/dist/wallets/index.js.map +1 -0
- package/package.json +35 -4
- package/dist/cli/build.d.ts +0 -23
- package/dist/cli/build.d.ts.map +0 -1
- package/dist/cli/build.js +0 -223
- package/dist/cli/build.js.map +0 -1
- package/dist/cli/dev.d.ts +0 -6
- package/dist/cli/dev.d.ts.map +0 -1
- package/dist/cli/dev.js +0 -123
- package/dist/cli/dev.js.map +0 -1
- package/dist/cli/generate-metadata.d.ts +0 -15
- package/dist/cli/generate-metadata.d.ts.map +0 -1
- package/dist/cli/generate-metadata.js +0 -90
- package/dist/cli/generate-metadata.js.map +0 -1
- package/dist/cli/index.d.ts.map +0 -1
- package/dist/cli/shared/metadata.d.ts +0 -19
- package/dist/cli/shared/metadata.d.ts.map +0 -1
- package/dist/cli/shared/metadata.js +0 -283
- package/dist/cli/shared/metadata.js.map +0 -1
- package/dist/cli/validate.d.ts +0 -12
- package/dist/cli/validate.d.ts.map +0 -1
- package/dist/cli/validate.js +0 -237
- package/dist/cli/validate.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/runtime/index.d.ts +0 -12
- package/dist/runtime/index.d.ts.map +0 -1
- package/dist/runtime/index.js +0 -241
- package/dist/runtime/index.js.map +0 -1
- package/dist/types/index.d.ts +0 -33
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/index.js +0 -3
- package/dist/types/index.js.map +0 -1
- package/dist/types/metadata.d.ts.map +0 -1
- package/dist/types/metadata.js +0 -108
- package/dist/types/metadata.js.map +0 -1
- package/dist/utils/esbuild.d.ts +0 -13
- package/dist/utils/esbuild.d.ts.map +0 -1
- package/dist/utils/esbuild.js +0 -95
- package/dist/utils/esbuild.js.map +0 -1
- package/dist/utils/module-loader.d.ts +0 -3
- package/dist/utils/module-loader.d.ts.map +0 -1
- package/dist/utils/module-loader.js +0 -49
- package/dist/utils/module-loader.js.map +0 -1
package/dist/cli/build.js
DELETED
|
@@ -1,223 +0,0 @@
|
|
|
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.buildCommand = buildCommand;
|
|
37
|
-
exports.buildProject = buildProject;
|
|
38
|
-
const fs = __importStar(require("fs"));
|
|
39
|
-
const path = __importStar(require("path"));
|
|
40
|
-
const esbuild_1 = require("../utils/esbuild");
|
|
41
|
-
const metadata_1 = require("./shared/metadata");
|
|
42
|
-
const validate_1 = require("./validate");
|
|
43
|
-
async function buildCommand(options) {
|
|
44
|
-
const start = timestamp();
|
|
45
|
-
console.log(`[${start}] Building OpenTool project...`);
|
|
46
|
-
try {
|
|
47
|
-
const artifacts = await buildProject(options);
|
|
48
|
-
logBuildSummary(artifacts, options);
|
|
49
|
-
}
|
|
50
|
-
catch (error) {
|
|
51
|
-
const end = timestamp();
|
|
52
|
-
console.error(`[${end}] Build failed:`, error);
|
|
53
|
-
process.exit(1);
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
async function buildProject(options) {
|
|
57
|
-
const toolsDir = path.resolve(options.input);
|
|
58
|
-
if (!fs.existsSync(toolsDir)) {
|
|
59
|
-
throw new Error(`Tools directory not found: ${toolsDir}`);
|
|
60
|
-
}
|
|
61
|
-
const projectRoot = path.dirname(toolsDir);
|
|
62
|
-
const outputDir = path.resolve(options.output);
|
|
63
|
-
fs.mkdirSync(outputDir, { recursive: true });
|
|
64
|
-
const serverName = options.name ?? "opentool-server";
|
|
65
|
-
const serverVersion = options.version ?? "1.0.0";
|
|
66
|
-
const tools = await (0, validate_1.loadAndValidateTools)(toolsDir, { projectRoot });
|
|
67
|
-
if (tools.length === 0) {
|
|
68
|
-
throw new Error("No valid tools found - build aborted");
|
|
69
|
-
}
|
|
70
|
-
const { metadata, defaultsApplied } = await (0, metadata_1.buildMetadataArtifact)({
|
|
71
|
-
projectRoot,
|
|
72
|
-
tools,
|
|
73
|
-
});
|
|
74
|
-
const metadataPath = path.join(outputDir, "metadata.json");
|
|
75
|
-
fs.writeFileSync(metadataPath, JSON.stringify(metadata, null, 2));
|
|
76
|
-
const compiledTools = await emitTools(tools, {
|
|
77
|
-
projectRoot,
|
|
78
|
-
outputDir,
|
|
79
|
-
});
|
|
80
|
-
await writeServer({
|
|
81
|
-
outputDir,
|
|
82
|
-
serverName,
|
|
83
|
-
serverVersion,
|
|
84
|
-
metadata,
|
|
85
|
-
compiledTools,
|
|
86
|
-
});
|
|
87
|
-
return {
|
|
88
|
-
metadata,
|
|
89
|
-
defaultsApplied,
|
|
90
|
-
tools,
|
|
91
|
-
compiledTools,
|
|
92
|
-
};
|
|
93
|
-
}
|
|
94
|
-
async function emitTools(tools, config) {
|
|
95
|
-
const toolsOutDir = path.join(config.outputDir, "tools");
|
|
96
|
-
if (fs.existsSync(toolsOutDir)) {
|
|
97
|
-
fs.rmSync(toolsOutDir, { recursive: true, force: true });
|
|
98
|
-
}
|
|
99
|
-
fs.mkdirSync(toolsOutDir, { recursive: true });
|
|
100
|
-
const entryPoints = tools.map((tool) => {
|
|
101
|
-
if (!tool.sourcePath) {
|
|
102
|
-
throw new Error(`Missing sourcePath for tool ${tool.filename}`);
|
|
103
|
-
}
|
|
104
|
-
return tool.sourcePath;
|
|
105
|
-
});
|
|
106
|
-
await (0, esbuild_1.transpileWithEsbuild)({
|
|
107
|
-
entryPoints,
|
|
108
|
-
projectRoot: config.projectRoot,
|
|
109
|
-
format: "cjs",
|
|
110
|
-
outDir: toolsOutDir,
|
|
111
|
-
});
|
|
112
|
-
const compiled = tools.map((tool) => {
|
|
113
|
-
if (!tool.sourcePath) {
|
|
114
|
-
throw new Error(`Missing sourcePath for tool ${tool.filename}`);
|
|
115
|
-
}
|
|
116
|
-
const base = path.basename(tool.sourcePath).replace(/\.[^.]+$/, "");
|
|
117
|
-
const modulePath = path.join("tools", `${base}.js`);
|
|
118
|
-
if (!fs.existsSync(path.join(config.outputDir, modulePath))) {
|
|
119
|
-
throw new Error(`Expected compiled output missing: ${modulePath}`);
|
|
120
|
-
}
|
|
121
|
-
return {
|
|
122
|
-
name: tool.metadata?.name ?? tool.filename,
|
|
123
|
-
filename: base,
|
|
124
|
-
modulePath,
|
|
125
|
-
};
|
|
126
|
-
});
|
|
127
|
-
return compiled;
|
|
128
|
-
}
|
|
129
|
-
function renderServer(options) {
|
|
130
|
-
const toolImports = options.compiledTools
|
|
131
|
-
.map((tool, index) => `const tool${index} = require('./${tool.modulePath}');`)
|
|
132
|
-
.join("\n");
|
|
133
|
-
const registry = options.compiledTools
|
|
134
|
-
.map((_, index) => ` { meta: metadata.tools[${index}], module: tool${index} },`)
|
|
135
|
-
.join("\n");
|
|
136
|
-
return `#!/usr/bin/env node
|
|
137
|
-
const { Server } = require('@modelcontextprotocol/sdk/server/index.js');
|
|
138
|
-
const { StdioServerTransport } = require('@modelcontextprotocol/sdk/server/stdio.js');
|
|
139
|
-
const { CallToolRequestSchema, ListToolsRequestSchema } = require('@modelcontextprotocol/sdk/types.js');
|
|
140
|
-
const metadata = require('./metadata.json');
|
|
141
|
-
|
|
142
|
-
${toolImports}
|
|
143
|
-
|
|
144
|
-
const toolRegistry = [
|
|
145
|
-
${registry}
|
|
146
|
-
];
|
|
147
|
-
|
|
148
|
-
const server = new Server(
|
|
149
|
-
{
|
|
150
|
-
name: '${escapeForJs(options.serverName)}',
|
|
151
|
-
version: '${escapeForJs(options.serverVersion)}',
|
|
152
|
-
},
|
|
153
|
-
{
|
|
154
|
-
capabilities: {
|
|
155
|
-
tools: {},
|
|
156
|
-
},
|
|
157
|
-
}
|
|
158
|
-
);
|
|
159
|
-
|
|
160
|
-
server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
161
|
-
tools: toolRegistry.map(({ meta }) => meta),
|
|
162
|
-
}));
|
|
163
|
-
|
|
164
|
-
server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
165
|
-
const entry = toolRegistry.find(({ meta }) => meta.name === request.params.name);
|
|
166
|
-
if (!entry) {
|
|
167
|
-
throw new Error('Tool ' + request.params.name + ' not found');
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
try {
|
|
171
|
-
const validated = entry.module.schema.parse(request.params.arguments);
|
|
172
|
-
const result = await entry.module.TOOL(validated);
|
|
173
|
-
if (typeof result === 'string') {
|
|
174
|
-
return { content: [{ type: 'text', text: result }], isError: false };
|
|
175
|
-
}
|
|
176
|
-
return { content: result.content, isError: result.isError || false };
|
|
177
|
-
} catch (error) {
|
|
178
|
-
const message = (error && error.message) || String(error);
|
|
179
|
-
return {
|
|
180
|
-
content: [{ type: 'text', text: 'Error: ' + message }],
|
|
181
|
-
isError: true,
|
|
182
|
-
};
|
|
183
|
-
}
|
|
184
|
-
});
|
|
185
|
-
|
|
186
|
-
async function main() {
|
|
187
|
-
const transport = new StdioServerTransport();
|
|
188
|
-
await server.connect(transport);
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
if (require.main === module) {
|
|
192
|
-
main().catch(console.error);
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
module.exports = { server };
|
|
196
|
-
`;
|
|
197
|
-
}
|
|
198
|
-
async function writeServer(options) {
|
|
199
|
-
const serverCode = renderServer(options);
|
|
200
|
-
const serverPath = path.join(options.outputDir, "mcp-server.js");
|
|
201
|
-
fs.writeFileSync(serverPath, serverCode);
|
|
202
|
-
fs.chmodSync(serverPath, 0o755);
|
|
203
|
-
}
|
|
204
|
-
function logBuildSummary(artifacts, options) {
|
|
205
|
-
const end = timestamp();
|
|
206
|
-
console.log(`[${end}] Build completed successfully!`);
|
|
207
|
-
console.log(`Output directory: ${path.resolve(options.output)}`);
|
|
208
|
-
console.log("Generated files:");
|
|
209
|
-
console.log(" • mcp-server.js (stdio server)");
|
|
210
|
-
console.log(` • tools/ (${artifacts.compiledTools.length} compiled tools)`);
|
|
211
|
-
console.log(" • metadata.json (registry artifact)");
|
|
212
|
-
if (artifacts.defaultsApplied.length > 0) {
|
|
213
|
-
console.log("\nDefaults applied during metadata synthesis:");
|
|
214
|
-
artifacts.defaultsApplied.forEach((entry) => console.log(` • ${entry}`));
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
function timestamp() {
|
|
218
|
-
return new Date().toISOString().replace("T", " ").slice(0, 19);
|
|
219
|
-
}
|
|
220
|
-
function escapeForJs(value) {
|
|
221
|
-
return value.replace(/'/g, "\\'");
|
|
222
|
-
}
|
|
223
|
-
//# sourceMappingURL=build.js.map
|
package/dist/cli/build.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/cli/build.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/dev.d.ts
DELETED
package/dist/cli/dev.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
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
DELETED
|
@@ -1,123 +0,0 @@
|
|
|
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.devCommand = devCommand;
|
|
37
|
-
const fs = __importStar(require("fs"));
|
|
38
|
-
const path = __importStar(require("path"));
|
|
39
|
-
const index_js_1 = require("@modelcontextprotocol/sdk/server/index.js");
|
|
40
|
-
const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
|
|
41
|
-
const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
|
|
42
|
-
const validate_1 = require("./validate");
|
|
43
|
-
async function devCommand(options) {
|
|
44
|
-
console.log("🚀 Starting OpenTool MCP server...");
|
|
45
|
-
try {
|
|
46
|
-
const toolsDir = path.resolve(options.input);
|
|
47
|
-
if (!fs.existsSync(toolsDir)) {
|
|
48
|
-
throw new Error(`Tools directory not found: ${toolsDir}`);
|
|
49
|
-
}
|
|
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
|
-
}
|
|
55
|
-
console.log(`📦 Loaded ${tools.length} tools:`);
|
|
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}`);
|
|
60
|
-
});
|
|
61
|
-
const server = createMcpServer(tools);
|
|
62
|
-
console.log("\n🎉 MCP server running!");
|
|
63
|
-
console.log(`📁 Tools directory: ${toolsDir}`);
|
|
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...");
|
|
68
|
-
server.close();
|
|
69
|
-
process.exit(0);
|
|
70
|
-
});
|
|
71
|
-
const transport = new stdio_js_1.StdioServerTransport();
|
|
72
|
-
await server.connect(transport);
|
|
73
|
-
}
|
|
74
|
-
catch (error) {
|
|
75
|
-
console.error("❌ MCP server failed:", error);
|
|
76
|
-
process.exit(1);
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
function createMcpServer(tools) {
|
|
80
|
-
const server = new index_js_1.Server({
|
|
81
|
-
name: "opentool-dev",
|
|
82
|
-
version: "1.0.0",
|
|
83
|
-
}, {
|
|
84
|
-
capabilities: {
|
|
85
|
-
tools: {},
|
|
86
|
-
},
|
|
87
|
-
});
|
|
88
|
-
server.setRequestHandler(types_js_1.ListToolsRequestSchema, async () => ({
|
|
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,
|
|
96
|
-
})),
|
|
97
|
-
}));
|
|
98
|
-
server.setRequestHandler(types_js_1.CallToolRequestSchema, async (request) => {
|
|
99
|
-
const tool = tools.find((entry) => {
|
|
100
|
-
const toolName = entry.metadata?.name ?? entry.filename;
|
|
101
|
-
return toolName === request.params.name;
|
|
102
|
-
});
|
|
103
|
-
if (!tool) {
|
|
104
|
-
throw new Error(`Tool ${request.params.name} not found`);
|
|
105
|
-
}
|
|
106
|
-
try {
|
|
107
|
-
const validatedParams = tool.schema.parse(request.params.arguments);
|
|
108
|
-
const result = await tool.handler(validatedParams);
|
|
109
|
-
return {
|
|
110
|
-
content: result.content,
|
|
111
|
-
isError: result.isError ?? false,
|
|
112
|
-
};
|
|
113
|
-
}
|
|
114
|
-
catch (error) {
|
|
115
|
-
return {
|
|
116
|
-
content: [{ type: "text", text: `Error: ${error}` }],
|
|
117
|
-
isError: true,
|
|
118
|
-
};
|
|
119
|
-
}
|
|
120
|
-
});
|
|
121
|
-
return server;
|
|
122
|
-
}
|
|
123
|
-
//# sourceMappingURL=dev.js.map
|
package/dist/cli/dev.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/cli/dev.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { InternalToolDefinition } from "../types";
|
|
2
|
-
import { Metadata } from "../types/metadata";
|
|
3
|
-
export interface GenerateMetadataOptions {
|
|
4
|
-
input: string;
|
|
5
|
-
output?: string;
|
|
6
|
-
}
|
|
7
|
-
export interface GenerateMetadataResult {
|
|
8
|
-
metadata: Metadata;
|
|
9
|
-
defaultsApplied: string[];
|
|
10
|
-
tools: InternalToolDefinition[];
|
|
11
|
-
outputPath: string;
|
|
12
|
-
}
|
|
13
|
-
export declare function generateMetadataCommand(options: GenerateMetadataOptions): Promise<void>;
|
|
14
|
-
export declare function generateMetadata(options: GenerateMetadataOptions): Promise<GenerateMetadataResult>;
|
|
15
|
-
//# sourceMappingURL=generate-metadata.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,90 +0,0 @@
|
|
|
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 metadata_1 = require("./shared/metadata");
|
|
41
|
-
const validate_1 = require("./validate");
|
|
42
|
-
async function generateMetadataCommand(options) {
|
|
43
|
-
const startTimestamp = timestamp();
|
|
44
|
-
console.log(`[${startTimestamp}] Generating OpenTool metadata...`);
|
|
45
|
-
try {
|
|
46
|
-
const result = await generateMetadata(options);
|
|
47
|
-
const endTimestamp = timestamp();
|
|
48
|
-
console.log(`[${endTimestamp}] Metadata generation completed successfully!`);
|
|
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
|
-
}
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
catch (error) {
|
|
60
|
-
const endTimestamp = timestamp();
|
|
61
|
-
console.error(`[${endTimestamp}] Metadata generation failed:`, error);
|
|
62
|
-
process.exit(1);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
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}`);
|
|
69
|
-
}
|
|
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,
|
|
75
|
-
});
|
|
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,
|
|
85
|
-
};
|
|
86
|
-
}
|
|
87
|
-
function timestamp() {
|
|
88
|
-
return new Date().toISOString().replace("T", " ").slice(0, 19);
|
|
89
|
-
}
|
|
90
|
-
//# sourceMappingURL=generate-metadata.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
package/dist/cli/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,19 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|