usepaso 0.1.0 → 0.2.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.
Files changed (59) hide show
  1. package/README.md +128 -0
  2. package/dist/cli.js +13 -116
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/init.d.ts +3 -0
  5. package/dist/commands/init.d.ts.map +1 -0
  6. package/dist/commands/init.js +84 -0
  7. package/dist/commands/init.js.map +1 -0
  8. package/dist/commands/inspect.d.ts +3 -0
  9. package/dist/commands/inspect.d.ts.map +1 -0
  10. package/dist/commands/inspect.js +43 -0
  11. package/dist/commands/inspect.js.map +1 -0
  12. package/dist/commands/serve.d.ts +3 -0
  13. package/dist/commands/serve.d.ts.map +1 -0
  14. package/dist/commands/serve.js +57 -0
  15. package/dist/commands/serve.js.map +1 -0
  16. package/dist/commands/shared.d.ts +4 -0
  17. package/dist/commands/shared.d.ts.map +1 -0
  18. package/dist/commands/shared.js +51 -0
  19. package/dist/commands/shared.js.map +1 -0
  20. package/dist/commands/test.d.ts +3 -0
  21. package/dist/commands/test.d.ts.map +1 -0
  22. package/dist/commands/test.js +92 -0
  23. package/dist/commands/test.js.map +1 -0
  24. package/dist/commands/validate.d.ts +3 -0
  25. package/dist/commands/validate.d.ts.map +1 -0
  26. package/dist/commands/validate.js +22 -0
  27. package/dist/commands/validate.js.map +1 -0
  28. package/dist/executor.d.ts +28 -0
  29. package/dist/executor.d.ts.map +1 -0
  30. package/dist/executor.js +144 -0
  31. package/dist/executor.js.map +1 -0
  32. package/dist/generators/mcp.d.ts +4 -2
  33. package/dist/generators/mcp.d.ts.map +1 -1
  34. package/dist/generators/mcp.js +24 -109
  35. package/dist/generators/mcp.js.map +1 -1
  36. package/dist/index.d.ts +3 -0
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/index.js +7 -1
  39. package/dist/index.js.map +1 -1
  40. package/dist/openapi.d.ts +12 -0
  41. package/dist/openapi.d.ts.map +1 -0
  42. package/dist/openapi.js +441 -0
  43. package/dist/openapi.js.map +1 -0
  44. package/dist/parser.d.ts +1 -1
  45. package/dist/parser.js +1 -1
  46. package/dist/validator.d.ts.map +1 -1
  47. package/dist/validator.js +41 -11
  48. package/dist/validator.js.map +1 -1
  49. package/package.json +43 -5
  50. package/src/cli.ts +0 -132
  51. package/src/generators/mcp.ts +0 -229
  52. package/src/index.ts +0 -14
  53. package/src/parser.ts +0 -23
  54. package/src/types.ts +0 -67
  55. package/src/validator.ts +0 -188
  56. package/tests/mcp.test.ts +0 -119
  57. package/tests/parser.test.ts +0 -67
  58. package/tests/validator.test.ts +0 -133
  59. package/tsconfig.json +0 -19
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.registerTest = registerTest;
4
+ const path_1 = require("path");
5
+ const shared_1 = require("./shared");
6
+ const executor_1 = require("../executor");
7
+ function registerTest(program) {
8
+ program
9
+ .command('test <capability>')
10
+ .description('Test a capability by making the actual HTTP request (or --dry-run to preview)')
11
+ .option('-f, --file <path>', 'Path to usepaso.yaml', 'usepaso.yaml')
12
+ .option('-p, --param <key=value...>', 'Parameters (repeatable)', (val, acc) => {
13
+ acc.push(val);
14
+ return acc;
15
+ }, [])
16
+ .option('--dry-run', 'Show the HTTP request without executing it')
17
+ .action(async (capabilityName, opts) => {
18
+ try {
19
+ const decl = (0, shared_1.loadAndValidate)((0, path_1.resolve)(opts.file));
20
+ const cap = decl.capabilities.find((c) => c.name === capabilityName);
21
+ if (!cap) {
22
+ console.error(`Capability "${capabilityName}" not found.`);
23
+ console.error(`Available: ${decl.capabilities.map((c) => c.name).join(', ')}`);
24
+ process.exit(1);
25
+ }
26
+ // Parse params
27
+ const args = {};
28
+ for (const p of opts.param) {
29
+ const eq = p.indexOf('=');
30
+ if (eq === -1) {
31
+ console.error(`Invalid param format: "${p}". Use key=value.`);
32
+ process.exit(1);
33
+ }
34
+ const key = p.slice(0, eq);
35
+ let value = p.slice(eq + 1);
36
+ if (value === 'true')
37
+ value = true;
38
+ else if (value === 'false')
39
+ value = false;
40
+ else if (!isNaN(Number(value)) && value !== '')
41
+ value = Number(value);
42
+ args[key] = value;
43
+ }
44
+ // Check for missing required params
45
+ if (cap.inputs) {
46
+ for (const [name, input] of Object.entries(cap.inputs)) {
47
+ if (input.required && !(name in args)) {
48
+ console.error(`Missing required parameter: ${name} (${input.description})`);
49
+ process.exit(1);
50
+ }
51
+ }
52
+ }
53
+ const req = (0, executor_1.buildRequest)(cap, args, decl);
54
+ if (opts.dryRun) {
55
+ console.log('--- DRY RUN (no request will be made) ---');
56
+ console.log('');
57
+ console.log(`${req.method} ${req.url}`);
58
+ for (const [k, v] of Object.entries(req.headers)) {
59
+ const display = k.toLowerCase() === 'authorization' ? `${v.slice(0, 12)}...` : v;
60
+ console.log(`${k}: ${display}`);
61
+ }
62
+ if (req.body) {
63
+ console.log('');
64
+ console.log(req.body);
65
+ }
66
+ return;
67
+ }
68
+ console.log(`Testing ${cap.name}...`);
69
+ console.log(`→ ${req.method} ${req.url}`);
70
+ if (req.body)
71
+ console.log(`→ Body: ${req.body}`);
72
+ console.log('');
73
+ const result = await (0, executor_1.executeRequest)(req);
74
+ if (result.error) {
75
+ console.error((0, executor_1.formatError)(result, decl));
76
+ process.exit(1);
77
+ }
78
+ console.log(`← ${result.status} ${result.statusText} (${result.durationMs}ms)`);
79
+ console.log('');
80
+ if (result.status && result.status >= 400) {
81
+ console.error((0, executor_1.formatError)(result, decl));
82
+ process.exit(1);
83
+ }
84
+ console.log(result.body);
85
+ }
86
+ catch (err) {
87
+ console.error(`Failed: ${err instanceof Error ? err.message : err}`);
88
+ process.exit(1);
89
+ }
90
+ });
91
+ }
92
+ //# sourceMappingURL=test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.js","sourceRoot":"","sources":["../../src/commands/test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function registerValidate(program: Command): void;
3
+ //# sourceMappingURL=validate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAcvD"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.registerValidate = registerValidate;
4
+ const path_1 = require("path");
5
+ const shared_1 = require("./shared");
6
+ function registerValidate(program) {
7
+ program
8
+ .command('validate')
9
+ .description('Validate a usepaso.yaml file')
10
+ .option('-f, --file <path>', 'Path to usepaso.yaml', 'usepaso.yaml')
11
+ .action((opts) => {
12
+ try {
13
+ const decl = (0, shared_1.loadAndValidate)((0, path_1.resolve)(opts.file));
14
+ console.log(`valid (${decl.service.name}, ${decl.capabilities.length} capabilities)`);
15
+ }
16
+ catch (err) {
17
+ console.error(`Failed to parse: ${err instanceof Error ? err.message : err}`);
18
+ process.exit(1);
19
+ }
20
+ });
21
+ }
22
+ //# sourceMappingURL=validate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":";;AAIA,4CAcC;AAjBD,+BAA+B;AAC/B,qCAA2C;AAE3C,SAAgB,gBAAgB,CAAC,OAAgB;IAC/C,OAAO;SACJ,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CAAC,8BAA8B,CAAC;SAC3C,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,EAAE,cAAc,CAAC;SACnE,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QACf,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAA,wBAAe,EAAC,IAAA,cAAO,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACjD,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,YAAY,CAAC,MAAM,gBAAgB,CAAC,CAAC;QACxF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,oBAAoB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;YAC9E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { PasoCapability, PasoDeclaration } from './types';
2
+ export interface ExecutionRequest {
3
+ method: string;
4
+ url: string;
5
+ headers: Record<string, string>;
6
+ body?: string;
7
+ }
8
+ export interface ExecutionResult {
9
+ request: ExecutionRequest;
10
+ status?: number;
11
+ statusText?: string;
12
+ body: string;
13
+ durationMs: number;
14
+ error?: string;
15
+ }
16
+ /**
17
+ * Build the HTTP request for a capability without executing it.
18
+ */
19
+ export declare function buildRequest(cap: PasoCapability, args: Record<string, unknown>, decl: PasoDeclaration): ExecutionRequest;
20
+ /**
21
+ * Execute an HTTP request and return the result.
22
+ */
23
+ export declare function executeRequest(req: ExecutionRequest): Promise<ExecutionResult>;
24
+ /**
25
+ * Format a friendly error message for common HTTP status codes.
26
+ */
27
+ export declare function formatError(result: ExecutionResult, decl: PasoDeclaration): string;
28
+ //# sourceMappingURL=executor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1D,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,gBAAgB,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,IAAI,EAAE,eAAe,GACpB,gBAAgB,CAoElB;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CAwCpF;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,eAAe,GAAG,MAAM,CAqClF"}
@@ -0,0 +1,144 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildRequest = buildRequest;
4
+ exports.executeRequest = executeRequest;
5
+ exports.formatError = formatError;
6
+ /**
7
+ * Build the HTTP request for a capability without executing it.
8
+ */
9
+ function buildRequest(cap, args, decl) {
10
+ let path = cap.path;
11
+ const queryParams = {};
12
+ const bodyParams = {};
13
+ if (cap.inputs) {
14
+ for (const [name, input] of Object.entries(cap.inputs)) {
15
+ const value = args[name];
16
+ if (value === undefined)
17
+ continue;
18
+ const location = input.in || (['POST', 'PUT', 'PATCH'].includes(cap.method) ? 'body' : 'query');
19
+ switch (location) {
20
+ case 'path':
21
+ path = path.replace(`{${name}}`, encodeURIComponent(String(value)));
22
+ break;
23
+ case 'query':
24
+ queryParams[name] = String(value);
25
+ break;
26
+ case 'body':
27
+ default:
28
+ bodyParams[name] = value;
29
+ break;
30
+ }
31
+ }
32
+ }
33
+ const url = new URL(path, decl.service.base_url);
34
+ for (const [k, v] of Object.entries(queryParams)) {
35
+ url.searchParams.set(k, v);
36
+ }
37
+ const headers = {
38
+ 'Content-Type': 'application/json',
39
+ Accept: 'application/json',
40
+ };
41
+ if (decl.service.auth) {
42
+ const token = process.env.USEPASO_AUTH_TOKEN;
43
+ if (token) {
44
+ const authHeader = decl.service.auth.header || 'Authorization';
45
+ const prefix = decl.service.auth.prefix ?? (decl.service.auth.type === 'bearer' ? 'Bearer' : '');
46
+ headers[authHeader] = prefix ? `${prefix} ${token}` : token;
47
+ }
48
+ }
49
+ // Header-type inputs
50
+ if (cap.inputs) {
51
+ for (const [name, input] of Object.entries(cap.inputs)) {
52
+ if (input.in === 'header' && args[name] !== undefined) {
53
+ headers[name] = String(args[name]);
54
+ }
55
+ }
56
+ }
57
+ const req = {
58
+ method: cap.method,
59
+ url: url.toString(),
60
+ headers,
61
+ };
62
+ if (['POST', 'PUT', 'PATCH'].includes(cap.method) && Object.keys(bodyParams).length > 0) {
63
+ req.body = JSON.stringify(bodyParams);
64
+ }
65
+ return req;
66
+ }
67
+ /**
68
+ * Execute an HTTP request and return the result.
69
+ */
70
+ async function executeRequest(req) {
71
+ const start = Date.now();
72
+ try {
73
+ const fetchOptions = {
74
+ method: req.method,
75
+ headers: req.headers,
76
+ };
77
+ if (req.body) {
78
+ fetchOptions.body = req.body;
79
+ }
80
+ const response = await fetch(req.url, fetchOptions);
81
+ const text = await response.text();
82
+ const durationMs = Date.now() - start;
83
+ let body;
84
+ try {
85
+ const json = JSON.parse(text);
86
+ body = JSON.stringify(json, null, 2);
87
+ }
88
+ catch {
89
+ body = text;
90
+ }
91
+ return {
92
+ request: req,
93
+ status: response.status,
94
+ statusText: response.statusText,
95
+ body,
96
+ durationMs,
97
+ };
98
+ }
99
+ catch (error) {
100
+ return {
101
+ request: req,
102
+ body: '',
103
+ durationMs: Date.now() - start,
104
+ error: error instanceof Error ? error.message : String(error),
105
+ };
106
+ }
107
+ }
108
+ /**
109
+ * Format a friendly error message for common HTTP status codes.
110
+ */
111
+ function formatError(result, decl) {
112
+ if (result.error) {
113
+ return `Request failed: ${result.error}`;
114
+ }
115
+ if (!result.status)
116
+ return 'Unknown error';
117
+ if (result.status === 401) {
118
+ const authType = decl.service.auth?.type || 'unknown';
119
+ const hasToken = !!process.env.USEPASO_AUTH_TOKEN;
120
+ let msg = `Error 401: Authentication failed.`;
121
+ if (!hasToken) {
122
+ msg += `\n → USEPASO_AUTH_TOKEN is not set. Set it with: export USEPASO_AUTH_TOKEN=your-token`;
123
+ }
124
+ else {
125
+ msg += `\n → USEPASO_AUTH_TOKEN is set but was rejected by the API.`;
126
+ msg += `\n → Auth type: ${authType}. Check that your token is valid and has the required scopes.`;
127
+ }
128
+ return msg;
129
+ }
130
+ if (result.status === 403) {
131
+ return `Error 403: Forbidden. Your token does not have permission for this action.\n → Check the required scopes/permissions for this endpoint.`;
132
+ }
133
+ if (result.status === 404) {
134
+ return `Error 404: Not found.\n → Check that base_url and path are correct in your usepaso.yaml.\n → URL was: ${result.request.url}`;
135
+ }
136
+ if (result.status === 429) {
137
+ return `Error 429: Rate limited. The API is throttling requests.\n → Wait and try again, or check your rate limit constraints.`;
138
+ }
139
+ if (result.status >= 500) {
140
+ return `Error ${result.status}: Server error from the API.\n → This is likely a problem on the API side, not with usepaso.`;
141
+ }
142
+ return `Error ${result.status} ${result.statusText || ''}: ${result.body}`;
143
+ }
144
+ //# sourceMappingURL=executor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executor.js","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,14 @@
1
1
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
2
  import { PasoDeclaration } from '../types';
3
+ import { ExecutionResult } from '../executor';
4
+ export type LogCallback = (capName: string, result: ExecutionResult, decl: PasoDeclaration) => void;
3
5
  /**
4
6
  * Generate and return an McpServer from a Paso declaration.
5
7
  * Each capability becomes an MCP tool.
6
8
  */
7
- export declare function generateMcpServer(decl: PasoDeclaration): McpServer;
9
+ export declare function generateMcpServer(decl: PasoDeclaration, onLog?: LogCallback): McpServer;
8
10
  /**
9
11
  * Start the MCP server on stdio transport.
10
12
  */
11
- export declare function serveMcp(decl: PasoDeclaration): Promise<void>;
13
+ export declare function serveMcp(decl: PasoDeclaration, onLog?: LogCallback): Promise<void>;
12
14
  //# sourceMappingURL=mcp.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/generators/mcp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGpE,OAAO,EAAE,eAAe,EAA6B,MAAM,UAAU,CAAC;AAEtE;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,eAAe,GAAG,SAAS,CA0BlE;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAInE"}
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/generators/mcp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGpE,OAAO,EAAE,eAAe,EAA6B,MAAM,UAAU,CAAC;AACtE,OAAO,EAAgC,eAAe,EAAe,MAAM,aAAa,CAAC;AAEzF,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,eAAe,KAAK,IAAI,CAAC;AAEpG;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,CAAC,EAAE,WAAW,GAAG,SAAS,CAuCvF;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAIxF"}
@@ -5,11 +5,12 @@ exports.serveMcp = serveMcp;
5
5
  const mcp_js_1 = require("@modelcontextprotocol/sdk/server/mcp.js");
6
6
  const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
7
7
  const zod_1 = require("zod");
8
+ const executor_1 = require("../executor");
8
9
  /**
9
10
  * Generate and return an McpServer from a Paso declaration.
10
11
  * Each capability becomes an MCP tool.
11
12
  */
12
- function generateMcpServer(decl) {
13
+ function generateMcpServer(decl, onLog) {
13
14
  const server = new mcp_js_1.McpServer({
14
15
  name: decl.service.name,
15
16
  version: decl.service.version || '1.0.0',
@@ -20,15 +21,25 @@ function generateMcpServer(decl) {
20
21
  continue;
21
22
  const inputSchema = buildZodSchema(cap);
22
23
  const description = buildToolDescription(cap, decl);
24
+ const handler = async (args) => {
25
+ const req = (0, executor_1.buildRequest)(cap, args, decl);
26
+ const result = await (0, executor_1.executeRequest)(req);
27
+ if (onLog)
28
+ onLog(cap.name, result, decl);
29
+ if (result.error || (result.status && result.status >= 400)) {
30
+ return {
31
+ content: [{ type: 'text', text: (0, executor_1.formatError)(result, decl) }],
32
+ };
33
+ }
34
+ return {
35
+ content: [{ type: 'text', text: result.body }],
36
+ };
37
+ };
23
38
  if (inputSchema) {
24
- server.tool(cap.name, description, inputSchema, async (args) => {
25
- return await executeCapability(cap, args, decl);
26
- });
39
+ server.tool(cap.name, description, inputSchema, async (args) => handler(args));
27
40
  }
28
41
  else {
29
- server.tool(cap.name, description, async () => {
30
- return await executeCapability(cap, {}, decl);
31
- });
42
+ server.tool(cap.name, description, async () => handler({}));
32
43
  }
33
44
  }
34
45
  return server;
@@ -36,14 +47,13 @@ function generateMcpServer(decl) {
36
47
  /**
37
48
  * Start the MCP server on stdio transport.
38
49
  */
39
- async function serveMcp(decl) {
40
- const server = generateMcpServer(decl);
50
+ async function serveMcp(decl, onLog) {
51
+ const server = generateMcpServer(decl, onLog);
41
52
  const transport = new stdio_js_1.StdioServerTransport();
42
53
  await server.connect(transport);
43
54
  }
44
55
  /**
45
56
  * Build a Zod schema from a capability's inputs.
46
- * Returns undefined if the capability has no inputs.
47
57
  */
48
58
  function buildZodSchema(cap) {
49
59
  if (!cap.inputs || Object.keys(cap.inputs).length === 0)
@@ -61,9 +71,6 @@ function buildZodSchema(cap) {
61
71
  }
62
72
  return shape;
63
73
  }
64
- /**
65
- * Convert a PasoInput to a Zod type.
66
- */
67
74
  function inputToZod(input) {
68
75
  switch (input.type) {
69
76
  case 'string':
@@ -76,7 +83,7 @@ function inputToZod(input) {
76
83
  return zod_1.z.boolean();
77
84
  case 'enum':
78
85
  if (input.values && input.values.length > 0) {
79
- const vals = input.values.map(v => String(v));
86
+ const vals = input.values.map((v) => String(v));
80
87
  return zod_1.z.enum(vals);
81
88
  }
82
89
  return zod_1.z.string();
@@ -88,13 +95,11 @@ function inputToZod(input) {
88
95
  return zod_1.z.unknown();
89
96
  }
90
97
  }
91
- /**
92
- * Build a rich tool description from the capability and service info.
93
- */
94
- function buildToolDescription(cap, decl) {
98
+ function buildToolDescription(cap, _decl) {
95
99
  let desc = cap.description;
96
100
  if (cap.consent_required) {
97
- desc += '\n\n⚠️ REQUIRES USER CONSENT: You must confirm this action with the user before executing.';
101
+ desc +=
102
+ '\n\n⚠️ REQUIRES USER CONSENT: You must confirm this action with the user before executing.';
98
103
  }
99
104
  if (cap.constraints && cap.constraints.length > 0) {
100
105
  desc += '\n\nConstraints:';
@@ -111,94 +116,4 @@ function buildToolDescription(cap, decl) {
111
116
  }
112
117
  return desc;
113
118
  }
114
- /**
115
- * Execute a capability by making the actual HTTP request to the service.
116
- */
117
- async function executeCapability(cap, args, decl) {
118
- // Build the URL
119
- let path = cap.path;
120
- const queryParams = {};
121
- const bodyParams = {};
122
- if (cap.inputs) {
123
- for (const [name, input] of Object.entries(cap.inputs)) {
124
- const value = args[name];
125
- if (value === undefined)
126
- continue;
127
- const location = input.in || (['POST', 'PUT', 'PATCH'].includes(cap.method) ? 'body' : 'query');
128
- switch (location) {
129
- case 'path':
130
- path = path.replace(`{${name}}`, encodeURIComponent(String(value)));
131
- break;
132
- case 'query':
133
- queryParams[name] = String(value);
134
- break;
135
- case 'header':
136
- // Headers handled separately
137
- break;
138
- case 'body':
139
- default:
140
- bodyParams[name] = value;
141
- break;
142
- }
143
- }
144
- }
145
- const url = new URL(path, decl.service.base_url);
146
- for (const [k, v] of Object.entries(queryParams)) {
147
- url.searchParams.set(k, v);
148
- }
149
- // Build headers
150
- const headers = {
151
- 'Content-Type': 'application/json',
152
- 'Accept': 'application/json',
153
- };
154
- if (decl.service.auth) {
155
- // Auth token comes from environment variable: PASO_AUTH_TOKEN
156
- const token = process.env.PASO_AUTH_TOKEN;
157
- if (token) {
158
- const authHeader = decl.service.auth.header || 'Authorization';
159
- const prefix = decl.service.auth.prefix ?? (decl.service.auth.type === 'bearer' ? 'Bearer' : '');
160
- headers[authHeader] = prefix ? `${prefix} ${token}` : token;
161
- }
162
- }
163
- // Add any header-type inputs
164
- if (cap.inputs) {
165
- for (const [name, input] of Object.entries(cap.inputs)) {
166
- if (input.in === 'header' && args[name] !== undefined) {
167
- headers[name] = String(args[name]);
168
- }
169
- }
170
- }
171
- try {
172
- const fetchOptions = {
173
- method: cap.method,
174
- headers,
175
- };
176
- if (['POST', 'PUT', 'PATCH'].includes(cap.method) && Object.keys(bodyParams).length > 0) {
177
- fetchOptions.body = JSON.stringify(bodyParams);
178
- }
179
- const response = await fetch(url.toString(), fetchOptions);
180
- const text = await response.text();
181
- let result;
182
- try {
183
- const json = JSON.parse(text);
184
- result = JSON.stringify(json, null, 2);
185
- }
186
- catch {
187
- result = text;
188
- }
189
- if (!response.ok) {
190
- return {
191
- content: [{ type: 'text', text: `Error ${response.status}: ${result}` }],
192
- };
193
- }
194
- return {
195
- content: [{ type: 'text', text: result }],
196
- };
197
- }
198
- catch (error) {
199
- return {
200
- content: [{ type: 'text', text: `Request failed: ${error instanceof Error ? error.message : String(error)}` }],
201
- };
202
- }
203
- }
204
119
  //# sourceMappingURL=mcp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/generators/mcp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/generators/mcp.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,8 @@
1
1
  export { parseFile, parseString } from './parser';
2
2
  export { validate } from './validator';
3
3
  export { generateMcpServer } from './generators/mcp';
4
+ export { generateFromOpenApi } from './openapi';
5
+ export { buildRequest, executeRequest, formatError } from './executor';
6
+ export type { OpenApiResult } from './openapi';
4
7
  export type { PasoDeclaration, PasoService, PasoAuth, PasoCapability, PasoInput, PasoOutput, PasoConstraint, PasoPermissions, ValidationError, } from './types';
5
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,YAAY,EACV,eAAe,EACf,WAAW,EACX,QAAQ,EACR,cAAc,EACd,SAAS,EACT,UAAU,EACV,cAAc,EACd,eAAe,EACf,eAAe,GAChB,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACvE,YAAY,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,YAAY,EACV,eAAe,EACf,WAAW,EACX,QAAQ,EACR,cAAc,EACd,SAAS,EACT,UAAU,EACV,cAAc,EACd,eAAe,EACf,eAAe,GAChB,MAAM,SAAS,CAAC"}
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.generateMcpServer = exports.validate = exports.parseString = exports.parseFile = void 0;
3
+ exports.formatError = exports.executeRequest = exports.buildRequest = exports.generateFromOpenApi = exports.generateMcpServer = exports.validate = exports.parseString = exports.parseFile = void 0;
4
4
  var parser_1 = require("./parser");
5
5
  Object.defineProperty(exports, "parseFile", { enumerable: true, get: function () { return parser_1.parseFile; } });
6
6
  Object.defineProperty(exports, "parseString", { enumerable: true, get: function () { return parser_1.parseString; } });
@@ -8,4 +8,10 @@ var validator_1 = require("./validator");
8
8
  Object.defineProperty(exports, "validate", { enumerable: true, get: function () { return validator_1.validate; } });
9
9
  var mcp_1 = require("./generators/mcp");
10
10
  Object.defineProperty(exports, "generateMcpServer", { enumerable: true, get: function () { return mcp_1.generateMcpServer; } });
11
+ var openapi_1 = require("./openapi");
12
+ Object.defineProperty(exports, "generateFromOpenApi", { enumerable: true, get: function () { return openapi_1.generateFromOpenApi; } });
13
+ var executor_1 = require("./executor");
14
+ Object.defineProperty(exports, "buildRequest", { enumerable: true, get: function () { return executor_1.buildRequest; } });
15
+ Object.defineProperty(exports, "executeRequest", { enumerable: true, get: function () { return executor_1.executeRequest; } });
16
+ Object.defineProperty(exports, "formatError", { enumerable: true, get: function () { return executor_1.formatError; } });
11
17
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,mCAAkD;AAAzC,mGAAA,SAAS,OAAA;AAAE,qGAAA,WAAW,OAAA;AAC/B,yCAAuC;AAA9B,qGAAA,QAAQ,OAAA;AACjB,wCAAqD;AAA5C,wGAAA,iBAAiB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,mCAAkD;AAAzC,mGAAA,SAAS,OAAA;AAAE,qGAAA,WAAW,OAAA;AAC/B,yCAAuC;AAA9B,qGAAA,QAAQ,OAAA;AACjB,wCAAqD;AAA5C,wGAAA,iBAAiB,OAAA;AAC1B,qCAAgD;AAAvC,8GAAA,mBAAmB,OAAA;AAC5B,uCAAuE;AAA9D,wGAAA,YAAY,OAAA;AAAE,0GAAA,cAAc,OAAA;AAAE,uGAAA,WAAW,OAAA"}
@@ -0,0 +1,12 @@
1
+ export interface OpenApiResult {
2
+ yaml: string;
3
+ serviceName: string;
4
+ authType: string;
5
+ totalOperations: number;
6
+ generatedCount: number;
7
+ readCount: number;
8
+ writeCount: number;
9
+ adminCount: number;
10
+ }
11
+ export declare function generateFromOpenApi(openapiSpec: object): OpenApiResult;
12
+ //# sourceMappingURL=openapi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openapi.d.ts","sourceRoot":"","sources":["../src/openapi.ts"],"names":[],"mappings":"AAmdA,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,CA2HtE"}