proofscan 0.7.5 → 0.8.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.
@@ -0,0 +1,422 @@
1
+ /**
2
+ * Shell tool commands: tool ls, tool show, send (Phase 4.0)
3
+ *
4
+ * These commands enable direct interaction with MCP server tools from the shell.
5
+ *
6
+ * Commands:
7
+ * - tool ls : List tools available on current connector
8
+ * - tool show <name>: Show tool details (description, input schema)
9
+ * - send <name> : Interactive tool call with argument builder
10
+ */
11
+ import { printSuccess, printError, printInfo, dimText } from './prompt.js';
12
+ import { ConfigManager } from '../config/index.js';
13
+ import { getConnector, listTools, getTool, callTool, formatInputSchema, } from '../tools/adapter.js';
14
+ /**
15
+ * Handle 'tool' command
16
+ */
17
+ export async function handleTool(args, context, configPath) {
18
+ if (args.length === 0) {
19
+ printInfo('Usage: tool <subcommand>');
20
+ printInfo(' tool ls List tools on current connector');
21
+ printInfo(' tool show <name> Show tool details');
22
+ return;
23
+ }
24
+ const subcommand = args[0];
25
+ const subArgs = args.slice(1);
26
+ switch (subcommand) {
27
+ case 'ls':
28
+ case 'list':
29
+ await handleToolLs(subArgs, context, configPath);
30
+ break;
31
+ case 'show':
32
+ await handleToolShow(subArgs, context, configPath);
33
+ break;
34
+ default:
35
+ printError(`Unknown subcommand: ${subcommand}`);
36
+ printInfo('Available: ls, show');
37
+ }
38
+ }
39
+ /**
40
+ * Handle 'tool ls' - list tools on current connector
41
+ */
42
+ async function handleToolLs(args, context, configPath) {
43
+ const isJson = args.includes('--json');
44
+ // Require connector context
45
+ if (!context.connector) {
46
+ printError('No connector selected');
47
+ printInfo('Use: cd <connector> to select a connector first');
48
+ return;
49
+ }
50
+ const manager = new ConfigManager(configPath);
51
+ const connector = await getConnector(configPath, context.connector);
52
+ if (!connector) {
53
+ printError(`Connector not found: ${context.connector}`);
54
+ return;
55
+ }
56
+ if (!connector.enabled) {
57
+ printError(`Connector is disabled: ${context.connector}`);
58
+ printInfo('Enable it with: pfscan connectors enable --id ' + context.connector);
59
+ return;
60
+ }
61
+ const ctx = {
62
+ connectorId: context.connector,
63
+ configDir: manager.getConfigDir(),
64
+ };
65
+ printInfo('Fetching tools...');
66
+ const result = await listTools(ctx, connector);
67
+ if (result.error) {
68
+ printError(`Failed to list tools: ${result.error}`);
69
+ return;
70
+ }
71
+ if (result.tools.length === 0) {
72
+ printInfo('No tools available on this connector');
73
+ return;
74
+ }
75
+ if (isJson) {
76
+ console.log(JSON.stringify(result.tools, null, 2));
77
+ return;
78
+ }
79
+ // Table format
80
+ const isTTY = process.stdout.isTTY;
81
+ console.log();
82
+ // Calculate column widths
83
+ const maxName = Math.max(12, ...result.tools.map(t => t.name.length));
84
+ // Header
85
+ console.log(dimText('Tool', isTTY).padEnd(isTTY ? maxName + 9 : maxName) + ' ' +
86
+ dimText('Required', isTTY).padEnd(isTTY ? 17 : 8) + ' ' +
87
+ dimText('Description', isTTY));
88
+ console.log(dimText('-'.repeat(maxName + 50), isTTY));
89
+ // Rows
90
+ for (const tool of result.tools) {
91
+ const schema = formatInputSchema(tool.inputSchema);
92
+ const requiredCount = schema.required.length;
93
+ const desc = tool.description
94
+ ? truncate(tool.description.split('\n')[0], 40)
95
+ : '-';
96
+ console.log(tool.name.padEnd(maxName) + ' ' +
97
+ String(requiredCount).padEnd(8) + ' ' +
98
+ desc);
99
+ }
100
+ console.log();
101
+ printInfo(`Found ${result.tools.length} tool(s). Use: tool show <name> for details`);
102
+ }
103
+ /**
104
+ * Handle 'tool show' - show tool details
105
+ */
106
+ async function handleToolShow(args, context, configPath) {
107
+ const isJson = args.includes('--json');
108
+ const toolName = args.find(a => !a.startsWith('-'));
109
+ if (!toolName) {
110
+ printError('Usage: tool show <name>');
111
+ return;
112
+ }
113
+ // Require connector context
114
+ if (!context.connector) {
115
+ printError('No connector selected');
116
+ printInfo('Use: cd <connector> to select a connector first');
117
+ return;
118
+ }
119
+ const manager = new ConfigManager(configPath);
120
+ const connector = await getConnector(configPath, context.connector);
121
+ if (!connector) {
122
+ printError(`Connector not found: ${context.connector}`);
123
+ return;
124
+ }
125
+ const ctx = {
126
+ connectorId: context.connector,
127
+ configDir: manager.getConfigDir(),
128
+ };
129
+ printInfo('Fetching tool info...');
130
+ const result = await getTool(ctx, connector, toolName);
131
+ if (result.error) {
132
+ printError(result.error);
133
+ return;
134
+ }
135
+ if (!result.tool) {
136
+ printError(`Tool not found: ${toolName}`);
137
+ return;
138
+ }
139
+ if (isJson) {
140
+ console.log(JSON.stringify(result.tool, null, 2));
141
+ return;
142
+ }
143
+ // Formatted output
144
+ const tool = result.tool;
145
+ const isTTY = process.stdout.isTTY;
146
+ console.log();
147
+ console.log(dimText('Tool:', isTTY), tool.name);
148
+ console.log();
149
+ if (tool.description) {
150
+ console.log(dimText('Description:', isTTY));
151
+ // Print description with indentation
152
+ for (const line of tool.description.split('\n')) {
153
+ console.log(' ' + line);
154
+ }
155
+ console.log();
156
+ }
157
+ const schema = formatInputSchema(tool.inputSchema);
158
+ if (schema.required.length > 0) {
159
+ console.log(dimText('Required arguments:', isTTY));
160
+ for (const arg of schema.required) {
161
+ const typeStr = arg.type ? ` (${arg.type})` : '';
162
+ console.log(` ${arg.name}${typeStr}`);
163
+ if (arg.description) {
164
+ console.log(` ${arg.description}`);
165
+ }
166
+ }
167
+ console.log();
168
+ }
169
+ if (schema.optional.length > 0) {
170
+ console.log(dimText('Optional arguments:', isTTY));
171
+ for (const arg of schema.optional) {
172
+ const typeStr = arg.type ? ` (${arg.type})` : '';
173
+ const defaultStr = arg.default !== undefined ? ` [default: ${JSON.stringify(arg.default)}]` : '';
174
+ console.log(` ${arg.name}${typeStr}${defaultStr}`);
175
+ if (arg.description) {
176
+ console.log(` ${arg.description}`);
177
+ }
178
+ }
179
+ console.log();
180
+ }
181
+ printInfo(`Run with: send ${toolName}`);
182
+ }
183
+ /**
184
+ * Handle 'send' command - interactive tool call
185
+ */
186
+ export async function handleSend(args, context, configPath, rl) {
187
+ const isJson = args.includes('--json');
188
+ const isDryRun = args.includes('--dry-run');
189
+ const toolName = args.find(a => !a.startsWith('-'));
190
+ if (!toolName) {
191
+ printError('Usage: send <tool-name>');
192
+ printInfo('Example: send get_stock_info');
193
+ return;
194
+ }
195
+ // Require connector context
196
+ if (!context.connector) {
197
+ printError('No connector selected');
198
+ printInfo('Use: cd <connector> to select a connector first');
199
+ return;
200
+ }
201
+ const manager = new ConfigManager(configPath);
202
+ const connector = await getConnector(configPath, context.connector);
203
+ if (!connector) {
204
+ printError(`Connector not found: ${context.connector}`);
205
+ return;
206
+ }
207
+ const ctx = {
208
+ connectorId: context.connector,
209
+ configDir: manager.getConfigDir(),
210
+ };
211
+ // First, get tool info to build arguments
212
+ printInfo('Fetching tool schema...');
213
+ const toolResult = await getTool(ctx, connector, toolName);
214
+ if (toolResult.error) {
215
+ printError(toolResult.error);
216
+ return;
217
+ }
218
+ if (!toolResult.tool) {
219
+ printError(`Tool not found: ${toolName}`);
220
+ return;
221
+ }
222
+ const tool = toolResult.tool;
223
+ const schema = formatInputSchema(tool.inputSchema);
224
+ // Build arguments interactively
225
+ const builtArgs = {};
226
+ console.log();
227
+ console.log(`Calling: ${toolName}`);
228
+ // Collect required arguments
229
+ if (schema.required.length > 0) {
230
+ console.log();
231
+ printInfo('Required arguments:');
232
+ for (const arg of schema.required) {
233
+ const value = await promptForValue(rl, arg.name, arg.type, arg.description, true);
234
+ if (value === null) {
235
+ printError('Cancelled');
236
+ return;
237
+ }
238
+ builtArgs[arg.name] = parseValue(value, arg.type);
239
+ }
240
+ }
241
+ // Collect optional arguments
242
+ if (schema.optional.length > 0) {
243
+ console.log();
244
+ printInfo('Optional arguments (press Enter to skip):');
245
+ for (const arg of schema.optional) {
246
+ const defaultHint = arg.default !== undefined ? ` [${JSON.stringify(arg.default)}]` : '';
247
+ const value = await promptForValue(rl, arg.name + defaultHint, arg.type, arg.description, false);
248
+ if (value === null) {
249
+ printError('Cancelled');
250
+ return;
251
+ }
252
+ if (value !== '') {
253
+ builtArgs[arg.name] = parseValue(value, arg.type);
254
+ }
255
+ else if (arg.default !== undefined) {
256
+ builtArgs[arg.name] = arg.default;
257
+ }
258
+ }
259
+ }
260
+ console.log();
261
+ // Show what will be sent
262
+ if (isDryRun) {
263
+ printInfo('Dry run - would send:');
264
+ console.log(JSON.stringify({ tool: toolName, arguments: builtArgs }, null, 2));
265
+ return;
266
+ }
267
+ // Execute the call
268
+ printInfo('Sending...');
269
+ const callResult = await callTool(ctx, connector, toolName, builtArgs);
270
+ if (!callResult.success) {
271
+ printError(`Call failed: ${callResult.error}`);
272
+ if (callResult.sessionId) {
273
+ printInfo(`Session: ${callResult.sessionId.slice(0, 8)}`);
274
+ }
275
+ return;
276
+ }
277
+ // Show result
278
+ console.log();
279
+ if (callResult.isError) {
280
+ printError('Tool returned error:');
281
+ }
282
+ else {
283
+ printSuccess('Tool call succeeded:');
284
+ }
285
+ if (isJson) {
286
+ console.log(JSON.stringify(callResult.content, null, 2));
287
+ }
288
+ else {
289
+ // Format content for display
290
+ if (callResult.content && Array.isArray(callResult.content)) {
291
+ for (const item of callResult.content) {
292
+ if (typeof item === 'object' && item !== null) {
293
+ const content = item;
294
+ if (content.type === 'text' && content.text) {
295
+ console.log(content.text);
296
+ }
297
+ else {
298
+ console.log(JSON.stringify(item, null, 2));
299
+ }
300
+ }
301
+ else {
302
+ console.log(String(item));
303
+ }
304
+ }
305
+ }
306
+ else {
307
+ console.log(JSON.stringify(callResult.content, null, 2));
308
+ }
309
+ }
310
+ console.log();
311
+ printInfo(`Session: ${callResult.sessionId.slice(0, 8)}`);
312
+ printInfo('View details: pfscan rpc list --session ' + callResult.sessionId.slice(0, 8));
313
+ }
314
+ /**
315
+ * Prompt for a value from the user
316
+ * Returns null if user presses Ctrl+C
317
+ */
318
+ async function promptForValue(rl, name, type, description, required) {
319
+ return new Promise((resolve) => {
320
+ const typeHint = type ? ` (${type})` : '';
321
+ const reqHint = required ? ' *' : '';
322
+ const prompt = ` ${name}${typeHint}${reqHint}: `;
323
+ if (description) {
324
+ console.log(` ${dimText(description, process.stdout.isTTY)}`);
325
+ }
326
+ // Temporarily remove listeners to take control
327
+ const lineListeners = rl.listeners('line');
328
+ const closeListeners = rl.listeners('close');
329
+ rl.removeAllListeners('line');
330
+ rl.removeAllListeners('close');
331
+ // Handle Ctrl+C during input
332
+ const sigintHandler = () => {
333
+ resolve(null);
334
+ };
335
+ rl.once('SIGINT', sigintHandler);
336
+ rl.question(prompt, (answer) => {
337
+ // Clean up SIGINT handler
338
+ rl.removeListener('SIGINT', sigintHandler);
339
+ // Restore listeners
340
+ for (const listener of lineListeners) {
341
+ rl.on('line', listener);
342
+ }
343
+ for (const listener of closeListeners) {
344
+ rl.on('close', listener);
345
+ }
346
+ resolve(answer);
347
+ });
348
+ });
349
+ }
350
+ /**
351
+ * Parse a string value to the appropriate type
352
+ */
353
+ function parseValue(value, type) {
354
+ if (!type)
355
+ return value;
356
+ switch (type) {
357
+ case 'number':
358
+ case 'integer': {
359
+ const num = Number(value);
360
+ // Return original string if conversion results in NaN
361
+ if (Number.isNaN(num))
362
+ return value;
363
+ return num;
364
+ }
365
+ case 'boolean':
366
+ return value.toLowerCase() === 'true' || value === '1';
367
+ case 'array':
368
+ try {
369
+ return JSON.parse(value);
370
+ }
371
+ catch {
372
+ return value.split(',').map(s => s.trim());
373
+ }
374
+ case 'object':
375
+ try {
376
+ return JSON.parse(value);
377
+ }
378
+ catch {
379
+ return value;
380
+ }
381
+ default:
382
+ return value;
383
+ }
384
+ }
385
+ /**
386
+ * Truncate a string to max length
387
+ */
388
+ function truncate(str, maxLen) {
389
+ if (str.length <= maxLen)
390
+ return str;
391
+ return str.slice(0, maxLen - 3) + '...';
392
+ }
393
+ /**
394
+ * Get tool names for completion
395
+ * Uses caching via the data provider
396
+ */
397
+ export async function getToolNamesForCompletion(context, configPath) {
398
+ if (!context.connector) {
399
+ return [];
400
+ }
401
+ try {
402
+ const manager = new ConfigManager(configPath);
403
+ const connector = await getConnector(configPath, context.connector);
404
+ if (!connector || !connector.enabled) {
405
+ return [];
406
+ }
407
+ const ctx = {
408
+ connectorId: context.connector,
409
+ configDir: manager.getConfigDir(),
410
+ };
411
+ // Note: This is called on TAB, so we use a shorter timeout
412
+ const result = await listTools(ctx, connector, { timeout: 10 });
413
+ if (result.error) {
414
+ return [];
415
+ }
416
+ return result.tools.map(t => t.name);
417
+ }
418
+ catch {
419
+ return [];
420
+ }
421
+ }
422
+ //# sourceMappingURL=tool-commands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-commands.js","sourceRoot":"","sources":["../../src/shell/tool-commands.ts"],"names":[],"mappings":"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"}
@@ -57,6 +57,11 @@ export declare const SHELL_BUILTINS: string[];
57
57
  * Note: 'cd' is an alias for 'cc'
58
58
  */
59
59
  export declare const ROUTER_COMMANDS: string[];
60
+ /**
61
+ * Shell-native tool commands (Phase 4.0)
62
+ * These commands interact directly with MCP servers
63
+ */
64
+ export declare const TOOL_COMMANDS: string[];
60
65
  /**
61
66
  * Commands blocked in shell mode due to stdin conflicts.
62
67
  *
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/shell/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,KAAK,GAAG,GAAG,CAAC;AAE5C;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,4CAA4C;IAC5C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAClE;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB,UAkB9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAYxD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,UAM1B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAsBpD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,UAA2D,CAAC;AAEvF;;;GAGG;AACH,eAAO,MAAM,eAAe,UAAmC,CAAC;AAEhE;;;;;;;;;GASG;AACH,eAAO,MAAM,gBAAgB,UAAmB,CAAC;AAEjD;;;;;;;GAOG;AACH,eAAO,MAAM,4BAA4B,UASxC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAE3C;;;GAGG;AACH,eAAO,MAAM,oBAAoB,MAAM,CAAC;AAExC;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,EAAE,CAE7C"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/shell/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,KAAK,GAAG,GAAG,CAAC;AAE5C;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,4CAA4C;IAC5C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAClE;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB,UAkB9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAaxD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,UAM1B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAsBpD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,UAA2D,CAAC;AAEvF;;;GAGG;AACH,eAAO,MAAM,eAAe,UAAmC,CAAC;AAEhE;;;GAGG;AACH,eAAO,MAAM,aAAa,UAAmB,CAAC;AAE9C;;;;;;;;;GASG;AACH,eAAO,MAAM,gBAAgB,UAAmB,CAAC;AAEjD;;;;;;;GAOG;AACH,eAAO,MAAM,4BAA4B,UASxC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAE3C;;;GAGG;AACH,eAAO,MAAM,oBAAoB,MAAM,CAAC;AAExC;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,EAAE,CAE7C"}
@@ -38,6 +38,7 @@ export const COMMAND_SUBCOMMANDS = {
38
38
  record: ['dry-run'],
39
39
  secrets: ['list', 'set', 'edit', 'prune', 'export', 'import'],
40
40
  secret: ['list', 'set', 'edit', 'prune', 'export', 'import'],
41
+ tool: ['ls', 'list', 'show'],
41
42
  };
42
43
  /**
43
44
  * Common options for commands
@@ -84,6 +85,11 @@ export const SHELL_BUILTINS = ['use', 'reset', 'pwd', 'help', 'exit', 'quit', 'c
84
85
  * Note: 'cd' is an alias for 'cc'
85
86
  */
86
87
  export const ROUTER_COMMANDS = ['cc', 'cd', 'ls', 'show', '..'];
88
+ /**
89
+ * Shell-native tool commands (Phase 4.0)
90
+ * These commands interact directly with MCP servers
91
+ */
92
+ export const TOOL_COMMANDS = ['tool', 'send'];
87
93
  /**
88
94
  * Commands blocked in shell mode due to stdin conflicts.
89
95
  *
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/shell/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/shell/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,105 @@
1
+ /**
2
+ * Tool Adapter for MCP protocol (Phase 4.0)
3
+ *
4
+ * Provides a clean interface for interacting with MCP server tools:
5
+ * - listTools: Get available tools from a connector
6
+ * - getTool: Get detailed tool info including schema
7
+ * - callTool: Execute a tool with arguments
8
+ *
9
+ * Design notes:
10
+ * - Currently MCP-only, but interface is generic for future A2A support
11
+ * - Spawns a fresh MCP server connection for each operation
12
+ * - Records all RPC calls to events.db for observability
13
+ * - Resolves secret refs (dpapi:xxx) before spawning
14
+ */
15
+ import type { Connector } from '../types/index.js';
16
+ /** Tool information from tools/list */
17
+ export interface ToolInfo {
18
+ name: string;
19
+ description?: string;
20
+ inputSchema?: ToolInputSchema;
21
+ }
22
+ /** JSON Schema for tool input */
23
+ export interface ToolInputSchema {
24
+ type: 'object';
25
+ properties?: Record<string, PropertySchema>;
26
+ required?: string[];
27
+ additionalProperties?: boolean;
28
+ }
29
+ /** Property schema in inputSchema */
30
+ export interface PropertySchema {
31
+ type?: string;
32
+ description?: string;
33
+ enum?: unknown[];
34
+ default?: unknown;
35
+ items?: PropertySchema;
36
+ properties?: Record<string, PropertySchema>;
37
+ required?: string[];
38
+ }
39
+ /** Tool call result */
40
+ export interface ToolCallResult {
41
+ success: boolean;
42
+ content?: unknown[];
43
+ isError?: boolean;
44
+ error?: string;
45
+ /** Session ID for the call (for events.db lookup) */
46
+ sessionId: string;
47
+ }
48
+ /** Context for tool operations */
49
+ export interface ToolContext {
50
+ connectorId: string;
51
+ configDir: string;
52
+ }
53
+ /**
54
+ * Get connector config by ID
55
+ */
56
+ export declare function getConnector(configPath: string, connectorId: string): Promise<Connector | null>;
57
+ /**
58
+ * List tools available on a connector
59
+ *
60
+ * Spawns MCP server, performs handshake, calls tools/list, then closes.
61
+ * All RPC calls are recorded to events.db.
62
+ */
63
+ export declare function listTools(ctx: ToolContext, connector: Connector, options?: {
64
+ timeout?: number;
65
+ }): Promise<{
66
+ tools: ToolInfo[];
67
+ sessionId: string;
68
+ error?: string;
69
+ }>;
70
+ /**
71
+ * Get detailed tool information by name
72
+ */
73
+ export declare function getTool(ctx: ToolContext, connector: Connector, toolName: string, options?: {
74
+ timeout?: number;
75
+ }): Promise<{
76
+ tool: ToolInfo | null;
77
+ sessionId: string;
78
+ error?: string;
79
+ }>;
80
+ /**
81
+ * Call a tool with arguments
82
+ *
83
+ * Spawns MCP server, performs handshake, calls tools/call, then closes.
84
+ * All RPC calls are recorded to events.db.
85
+ */
86
+ export declare function callTool(ctx: ToolContext, connector: Connector, toolName: string, args: Record<string, unknown>, options?: {
87
+ timeout?: number;
88
+ }): Promise<ToolCallResult>;
89
+ /**
90
+ * Format tool input schema for display
91
+ */
92
+ export declare function formatInputSchema(schema: ToolInputSchema | undefined): {
93
+ required: Array<{
94
+ name: string;
95
+ type?: string;
96
+ description?: string;
97
+ }>;
98
+ optional: Array<{
99
+ name: string;
100
+ type?: string;
101
+ description?: string;
102
+ default?: unknown;
103
+ }>;
104
+ };
105
+ //# sourceMappingURL=adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/tools/adapter.ts"],"names":[],"mappings":"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"}