@phuetz/code-buddy 0.1.23 → 0.1.25

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 (113) hide show
  1. package/README.md +22 -2
  2. package/dist/agent/codebuddy-agent.d.ts +10 -0
  3. package/dist/agent/codebuddy-agent.js +13 -0
  4. package/dist/agent/codebuddy-agent.js.map +1 -1
  5. package/dist/agent/execution/agent-executor.d.ts +4 -0
  6. package/dist/agent/execution/agent-executor.js +12 -0
  7. package/dist/agent/execution/agent-executor.js.map +1 -1
  8. package/dist/agent/execution/tool-selection-strategy.d.ts +2 -0
  9. package/dist/agent/execution/tool-selection-strategy.js +8 -0
  10. package/dist/agent/execution/tool-selection-strategy.js.map +1 -1
  11. package/dist/agent/facades/infrastructure-facade.d.ts +6 -0
  12. package/dist/agent/facades/infrastructure-facade.js +15 -0
  13. package/dist/agent/facades/infrastructure-facade.js.map +1 -1
  14. package/dist/agent/tool-handler.d.ts +6 -0
  15. package/dist/agent/tool-handler.js +18 -0
  16. package/dist/agent/tool-handler.js.map +1 -1
  17. package/dist/browser-automation/browser-manager.d.ts +23 -0
  18. package/dist/browser-automation/browser-manager.js +39 -0
  19. package/dist/browser-automation/browser-manager.js.map +1 -1
  20. package/dist/browser-automation/browser-tool.d.ts +30 -1
  21. package/dist/browser-automation/browser-tool.js +161 -0
  22. package/dist/browser-automation/browser-tool.js.map +1 -1
  23. package/dist/canvas/a2ui-manager.d.ts +44 -1
  24. package/dist/canvas/a2ui-manager.js +148 -23
  25. package/dist/canvas/a2ui-manager.js.map +1 -1
  26. package/dist/canvas/a2ui-server.d.ts +5 -0
  27. package/dist/canvas/a2ui-server.js +26 -0
  28. package/dist/canvas/a2ui-server.js.map +1 -1
  29. package/dist/canvas/a2ui-tool.d.ts +15 -1
  30. package/dist/canvas/a2ui-tool.js +76 -0
  31. package/dist/canvas/a2ui-tool.js.map +1 -1
  32. package/dist/canvas/a2ui-types.d.ts +19 -1
  33. package/dist/canvas/a2ui-types.js.map +1 -1
  34. package/dist/channels/imessage/index.d.ts +47 -18
  35. package/dist/channels/imessage/index.js +203 -17
  36. package/dist/channels/imessage/index.js.map +1 -1
  37. package/dist/codebuddy/client.d.ts +13 -1
  38. package/dist/codebuddy/client.js +191 -13
  39. package/dist/codebuddy/client.js.map +1 -1
  40. package/dist/codebuddy/tool-definitions/browser-tools.js +84 -1
  41. package/dist/codebuddy/tool-definitions/browser-tools.js.map +1 -1
  42. package/dist/codebuddy/tool-definitions/canvas-tools.js +7 -0
  43. package/dist/codebuddy/tool-definitions/canvas-tools.js.map +1 -1
  44. package/dist/commands/cli/device-commands.d.ts +8 -0
  45. package/dist/commands/cli/device-commands.js +114 -0
  46. package/dist/commands/cli/device-commands.js.map +1 -0
  47. package/dist/config/constants.d.ts +52 -14
  48. package/dist/config/constants.js +25 -13
  49. package/dist/config/constants.js.map +1 -1
  50. package/dist/config/model-tools.js +125 -10
  51. package/dist/config/model-tools.js.map +1 -1
  52. package/dist/config/toml-config.d.ts +13 -0
  53. package/dist/config/toml-config.js +74 -15
  54. package/dist/config/toml-config.js.map +1 -1
  55. package/dist/doctor/index.js +2 -0
  56. package/dist/doctor/index.js.map +1 -1
  57. package/dist/hooks/advanced-hooks.js +72 -11
  58. package/dist/hooks/advanced-hooks.js.map +1 -1
  59. package/dist/hooks/smart-hooks.js +63 -14
  60. package/dist/hooks/smart-hooks.js.map +1 -1
  61. package/dist/index.js +4 -0
  62. package/dist/index.js.map +1 -1
  63. package/dist/interpreter/interpreter-service.d.ts +2 -0
  64. package/dist/interpreter/interpreter-service.js +78 -9
  65. package/dist/interpreter/interpreter-service.js.map +1 -1
  66. package/dist/mcp/config.js +10 -0
  67. package/dist/mcp/config.js.map +1 -1
  68. package/dist/memory/hybrid-search.d.ts +10 -0
  69. package/dist/memory/hybrid-search.js +110 -3
  70. package/dist/memory/hybrid-search.js.map +1 -1
  71. package/dist/memory/icm-bridge.d.ts +65 -0
  72. package/dist/memory/icm-bridge.js +125 -0
  73. package/dist/memory/icm-bridge.js.map +1 -0
  74. package/dist/nodes/device-node.d.ts +29 -9
  75. package/dist/nodes/device-node.js +247 -23
  76. package/dist/nodes/device-node.js.map +1 -1
  77. package/dist/nodes/platform-commands.d.ts +24 -0
  78. package/dist/nodes/platform-commands.js +70 -0
  79. package/dist/nodes/platform-commands.js.map +1 -0
  80. package/dist/nodes/transports/adb-transport.d.ts +22 -0
  81. package/dist/nodes/transports/adb-transport.js +115 -0
  82. package/dist/nodes/transports/adb-transport.js.map +1 -0
  83. package/dist/nodes/transports/base-transport.d.ts +55 -0
  84. package/dist/nodes/transports/base-transport.js +8 -0
  85. package/dist/nodes/transports/base-transport.js.map +1 -0
  86. package/dist/nodes/transports/local-transport.d.ts +18 -0
  87. package/dist/nodes/transports/local-transport.js +72 -0
  88. package/dist/nodes/transports/local-transport.js.map +1 -0
  89. package/dist/nodes/transports/ssh-transport.d.ts +25 -0
  90. package/dist/nodes/transports/ssh-transport.js +145 -0
  91. package/dist/nodes/transports/ssh-transport.js.map +1 -0
  92. package/dist/tools/device-tool.d.ts +22 -0
  93. package/dist/tools/device-tool.js +111 -0
  94. package/dist/tools/device-tool.js.map +1 -0
  95. package/dist/tools/hooks/default-hooks.js +30 -0
  96. package/dist/tools/hooks/default-hooks.js.map +1 -1
  97. package/dist/tools/registry/misc-tools.d.ts +24 -0
  98. package/dist/tools/registry/misc-tools.js +165 -0
  99. package/dist/tools/registry/misc-tools.js.map +1 -1
  100. package/dist/tools/skill-discovery-tool.d.ts +41 -0
  101. package/dist/tools/skill-discovery-tool.js +104 -0
  102. package/dist/tools/skill-discovery-tool.js.map +1 -0
  103. package/dist/tools/tool-selector.js +5 -1
  104. package/dist/tools/tool-selector.js.map +1 -1
  105. package/dist/tools/types.d.ts +2 -0
  106. package/dist/utils/config-validation/schema.d.ts +2 -2
  107. package/dist/utils/model-utils.d.ts +1 -1
  108. package/dist/utils/model-utils.js +5 -3
  109. package/dist/utils/model-utils.js.map +1 -1
  110. package/dist/utils/rtk-compressor.d.ts +39 -0
  111. package/dist/utils/rtk-compressor.js +135 -0
  112. package/dist/utils/rtk-compressor.js.map +1 -0
  113. package/package.json +1 -1
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Device Tool
3
+ *
4
+ * Tool for the agent to interact with paired devices.
5
+ * Actions: list, pair, remove, snap, screenshot, record, location, run
6
+ */
7
+ import type { ToolResult } from '../types/index.js';
8
+ export interface DeviceToolInput {
9
+ action: 'list' | 'pair' | 'remove' | 'snap' | 'screenshot' | 'record' | 'location' | 'run';
10
+ deviceId?: string;
11
+ name?: string;
12
+ transport?: 'ssh' | 'adb' | 'local';
13
+ address?: string;
14
+ port?: number;
15
+ username?: string;
16
+ keyPath?: string;
17
+ command?: string;
18
+ duration?: number;
19
+ }
20
+ export declare class DeviceTool {
21
+ execute(input: DeviceToolInput): Promise<ToolResult>;
22
+ }
@@ -0,0 +1,111 @@
1
+ /**
2
+ * Device Tool
3
+ *
4
+ * Tool for the agent to interact with paired devices.
5
+ * Actions: list, pair, remove, snap, screenshot, record, location, run
6
+ */
7
+ // ============================================================================
8
+ // Device Tool
9
+ // ============================================================================
10
+ export class DeviceTool {
11
+ async execute(input) {
12
+ try {
13
+ const { DeviceNodeManager } = await import('../nodes/device-node.js');
14
+ const manager = DeviceNodeManager.getInstance();
15
+ switch (input.action) {
16
+ case 'list': {
17
+ const devices = manager.listDevices();
18
+ if (devices.length === 0) {
19
+ return { success: true, output: 'No devices paired. Use action "pair" to add a device.' };
20
+ }
21
+ const lines = devices.map(d => ` ${d.id} (${d.name}) — ${d.type} via ${d.transportType} [${d.capabilities.join(', ')}]`);
22
+ return { success: true, output: `Paired devices:\n${lines.join('\n')}` };
23
+ }
24
+ case 'pair': {
25
+ if (!input.deviceId || !input.name || !input.transport) {
26
+ return { success: false, error: 'deviceId, name, and transport are required for pairing' };
27
+ }
28
+ const device = await manager.pairDevice(input.deviceId, input.name, input.transport, {
29
+ address: input.address,
30
+ port: input.port,
31
+ username: input.username,
32
+ keyPath: input.keyPath,
33
+ });
34
+ return {
35
+ success: true,
36
+ output: `Device paired: ${device.name} (${device.id}) via ${device.transportType}\nCapabilities: ${device.capabilities.join(', ')}`,
37
+ };
38
+ }
39
+ case 'remove': {
40
+ if (!input.deviceId) {
41
+ return { success: false, error: 'deviceId is required' };
42
+ }
43
+ const removed = manager.unpairDevice(input.deviceId);
44
+ return {
45
+ success: removed,
46
+ output: removed ? `Device ${input.deviceId} removed` : `Device ${input.deviceId} not found`,
47
+ };
48
+ }
49
+ case 'snap': {
50
+ if (!input.deviceId) {
51
+ return { success: false, error: 'deviceId is required' };
52
+ }
53
+ const snapPath = await manager.cameraSnap(input.deviceId);
54
+ return snapPath
55
+ ? { success: true, output: `Camera snap saved to: ${snapPath}` }
56
+ : { success: false, error: `Camera snap failed on device ${input.deviceId}` };
57
+ }
58
+ case 'screenshot': {
59
+ if (!input.deviceId) {
60
+ return { success: false, error: 'deviceId is required' };
61
+ }
62
+ const ssPath = await manager.screenshot(input.deviceId);
63
+ return ssPath
64
+ ? { success: true, output: `Screenshot saved to: ${ssPath}` }
65
+ : { success: false, error: `Screenshot failed on device ${input.deviceId}` };
66
+ }
67
+ case 'record': {
68
+ if (!input.deviceId) {
69
+ return { success: false, error: 'deviceId is required' };
70
+ }
71
+ const recPath = await manager.screenRecord(input.deviceId, input.duration);
72
+ return recPath
73
+ ? { success: true, output: `Screen recording saved to: ${recPath}` }
74
+ : { success: false, error: `Screen recording failed on device ${input.deviceId}` };
75
+ }
76
+ case 'location': {
77
+ if (!input.deviceId) {
78
+ return { success: false, error: 'deviceId is required' };
79
+ }
80
+ const coords = await manager.getLocation(input.deviceId);
81
+ return coords
82
+ ? { success: true, output: `Location: lat=${coords.lat}, lon=${coords.lon}` }
83
+ : { success: false, error: `Location unavailable for device ${input.deviceId}` };
84
+ }
85
+ case 'run': {
86
+ if (!input.deviceId || !input.command) {
87
+ return { success: false, error: 'deviceId and command are required' };
88
+ }
89
+ const result = await manager.systemRun(input.deviceId, input.command);
90
+ if (!result) {
91
+ return { success: false, error: `Command execution failed on device ${input.deviceId}` };
92
+ }
93
+ return {
94
+ success: result.exitCode === 0,
95
+ output: result.stdout || '(no output)',
96
+ error: result.exitCode !== 0 ? result.stderr : undefined,
97
+ };
98
+ }
99
+ default:
100
+ return { success: false, error: `Unknown action: ${input.action}` };
101
+ }
102
+ }
103
+ catch (error) {
104
+ return {
105
+ success: false,
106
+ error: `Device tool error: ${error instanceof Error ? error.message : String(error)}`,
107
+ };
108
+ }
109
+ }
110
+ }
111
+ //# sourceMappingURL=device-tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"device-tool.js","sourceRoot":"","sources":["../../src/tools/device-tool.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,8 @@
8
8
  import { getToolHooksManager, } from './tool-hooks.js';
9
9
  import { sanitizeResult, } from './result-sanitizer.js';
10
10
  import { logger } from '../../utils/logger.js';
11
+ import { wrapWithRTK, isRTKAvailable } from '../../utils/rtk-compressor.js';
12
+ import { getConfigManager } from '../../config/toml-config.js';
11
13
  // Track current provider for sanitization
12
14
  let currentProvider = 'grok';
13
15
  /**
@@ -34,6 +36,33 @@ export function registerDefaultHooks() {
34
36
  logger.debug('Default hooks already registered');
35
37
  return;
36
38
  }
39
+ // RTK command proxy hook (before tool execution — wraps bash commands with `rtk`)
40
+ hooksManager.registerBeforeHook('rtk-command-proxy', async (context) => {
41
+ if (context.toolName !== 'bash')
42
+ return;
43
+ const config = getConfigManager().getConfig();
44
+ if (!config.integrations?.rtk_enabled)
45
+ return;
46
+ if (!isRTKAvailable())
47
+ return;
48
+ const command = context.args.command;
49
+ if (!command)
50
+ return;
51
+ const wrapped = wrapWithRTK(command);
52
+ if (wrapped !== command) {
53
+ logger.debug('RTK wrapping bash command', {
54
+ original: command.substring(0, 100),
55
+ wrapped: wrapped.substring(0, 100),
56
+ });
57
+ return {
58
+ ...context,
59
+ args: { ...context.args, command: wrapped },
60
+ };
61
+ }
62
+ }, {
63
+ name: 'RTK Command Proxy',
64
+ priority: 90, // Runs before other hooks
65
+ });
37
66
  // Result sanitization hook (after tool execution)
38
67
  hooksManager.registerAfterHook('result-sanitizer', async (context, result) => {
39
68
  // Skip sanitization for errors (keep original error message)
@@ -125,6 +154,7 @@ export function registerDefaultHooks() {
125
154
  */
126
155
  export function unregisterDefaultHooks() {
127
156
  const hooksManager = getToolHooksManager();
157
+ hooksManager.unregisterHook('before_tool_call', 'rtk-command-proxy');
128
158
  hooksManager.unregisterHook('after_tool_call', 'result-sanitizer');
129
159
  hooksManager.unregisterHook('after_tool_call', 'execution-logger');
130
160
  hooksManager.unregisterHook('tool_error', 'error-tracker');
@@ -1 +1 @@
1
- {"version":3,"file":"default-hooks.js","sourceRoot":"","sources":["../../../src/tools/hooks/default-hooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"default-hooks.js","sourceRoot":"","sources":["../../../src/tools/hooks/default-hooks.ts"],"names":[],"mappings":"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"}
@@ -64,6 +64,30 @@ export declare class ReasoningExecuteTool implements ITool {
64
64
  getMetadata(): IToolMetadata;
65
65
  isAvailable(): boolean;
66
66
  }
67
+ /**
68
+ * SkillDiscoveryExecuteTool - ITool adapter for skill auto-discovery
69
+ */
70
+ export declare class SkillDiscoveryExecuteTool implements ITool {
71
+ readonly name = "skill_discover";
72
+ readonly description = "Search the Skills Hub for capabilities matching a query. Optionally auto-install the top result to expand the agent toolset at runtime.";
73
+ execute(input: Record<string, unknown>): Promise<ToolResult>;
74
+ getSchema(): ToolSchema;
75
+ validate(input: unknown): IValidationResult;
76
+ getMetadata(): IToolMetadata;
77
+ isAvailable(): boolean;
78
+ }
79
+ /**
80
+ * DeviceExecuteTool - ITool adapter for device management
81
+ */
82
+ export declare class DeviceExecuteTool implements ITool {
83
+ readonly name = "device_manage";
84
+ readonly description = "Manage paired devices (SSH/ADB/local). List, pair, remove, screenshot, camera snap, screen record, get location, run commands.";
85
+ execute(input: Record<string, unknown>): Promise<ToolResult>;
86
+ getSchema(): ToolSchema;
87
+ validate(input: unknown): IValidationResult;
88
+ getMetadata(): IToolMetadata;
89
+ isAvailable(): boolean;
90
+ }
67
91
  /**
68
92
  * Create all miscellaneous tool instances
69
93
  */
@@ -9,6 +9,8 @@
9
9
  * src/tools/browser-tool.ts.
10
10
  */
11
11
  import { ReasoningTool } from '../index.js';
12
+ import { SkillDiscoveryTool } from '../skill-discovery-tool.js';
13
+ import { DeviceTool } from '../device-tool.js';
12
14
  // ============================================================================
13
15
  // Shared Tool Instances (lazy loaded)
14
16
  // ============================================================================
@@ -382,6 +384,167 @@ export class ReasoningExecuteTool {
382
384
  }
383
385
  }
384
386
  // ============================================================================
387
+ // SkillDiscoveryExecuteTool
388
+ // ============================================================================
389
+ let skillDiscoveryInstance = null;
390
+ function getSkillDiscovery() {
391
+ if (!skillDiscoveryInstance) {
392
+ skillDiscoveryInstance = new SkillDiscoveryTool();
393
+ }
394
+ return skillDiscoveryInstance;
395
+ }
396
+ /**
397
+ * SkillDiscoveryExecuteTool - ITool adapter for skill auto-discovery
398
+ */
399
+ export class SkillDiscoveryExecuteTool {
400
+ name = 'skill_discover';
401
+ description = 'Search the Skills Hub for capabilities matching a query. Optionally auto-install the top result to expand the agent toolset at runtime.';
402
+ async execute(input) {
403
+ return await getSkillDiscovery().execute({
404
+ query: input.query,
405
+ tags: input.tags,
406
+ auto_install: input.auto_install,
407
+ limit: input.limit,
408
+ });
409
+ }
410
+ getSchema() {
411
+ return {
412
+ name: this.name,
413
+ description: this.description,
414
+ parameters: {
415
+ type: 'object',
416
+ properties: {
417
+ query: {
418
+ type: 'string',
419
+ description: 'Search query to find relevant skills',
420
+ },
421
+ tags: {
422
+ type: 'array',
423
+ items: { type: 'string' },
424
+ description: 'Tags to filter by',
425
+ },
426
+ auto_install: {
427
+ type: 'boolean',
428
+ description: 'Automatically install the top matching skill (default: false)',
429
+ },
430
+ limit: {
431
+ type: 'number',
432
+ description: 'Maximum number of results to return (default: 5)',
433
+ },
434
+ },
435
+ required: ['query'],
436
+ },
437
+ };
438
+ }
439
+ validate(input) {
440
+ if (typeof input !== 'object' || input === null) {
441
+ return { valid: false, errors: ['Input must be an object'] };
442
+ }
443
+ const data = input;
444
+ if (typeof data.query !== 'string' || data.query.trim() === '') {
445
+ return { valid: false, errors: ['query must be a non-empty string'] };
446
+ }
447
+ return { valid: true };
448
+ }
449
+ getMetadata() {
450
+ return {
451
+ name: this.name,
452
+ description: this.description,
453
+ category: 'utility',
454
+ keywords: ['skill', 'discover', 'install', 'capability', 'hub', 'search', 'plugin'],
455
+ priority: 3,
456
+ requiresConfirmation: false,
457
+ modifiesFiles: false,
458
+ makesNetworkRequests: true,
459
+ };
460
+ }
461
+ isAvailable() {
462
+ return true;
463
+ }
464
+ }
465
+ // ============================================================================
466
+ // DeviceExecuteTool
467
+ // ============================================================================
468
+ let deviceToolInstance = null;
469
+ function getDeviceTool() {
470
+ if (!deviceToolInstance) {
471
+ deviceToolInstance = new DeviceTool();
472
+ }
473
+ return deviceToolInstance;
474
+ }
475
+ /**
476
+ * DeviceExecuteTool - ITool adapter for device management
477
+ */
478
+ export class DeviceExecuteTool {
479
+ name = 'device_manage';
480
+ description = 'Manage paired devices (SSH/ADB/local). List, pair, remove, screenshot, camera snap, screen record, get location, run commands.';
481
+ async execute(input) {
482
+ return await getDeviceTool().execute({
483
+ action: input.action,
484
+ deviceId: input.deviceId,
485
+ name: input.name,
486
+ transport: input.transport,
487
+ address: input.address,
488
+ port: input.port,
489
+ username: input.username,
490
+ keyPath: input.keyPath,
491
+ command: input.command,
492
+ duration: input.duration,
493
+ });
494
+ }
495
+ getSchema() {
496
+ return {
497
+ name: this.name,
498
+ description: this.description,
499
+ parameters: {
500
+ type: 'object',
501
+ properties: {
502
+ action: {
503
+ type: 'string',
504
+ enum: ['list', 'pair', 'remove', 'snap', 'screenshot', 'record', 'location', 'run'],
505
+ description: 'Device action to perform',
506
+ },
507
+ deviceId: { type: 'string', description: 'Device identifier' },
508
+ name: { type: 'string', description: 'Display name for pairing' },
509
+ transport: { type: 'string', enum: ['ssh', 'adb', 'local'], description: 'Transport type for pairing' },
510
+ address: { type: 'string', description: 'Connection address (host/IP)' },
511
+ port: { type: 'number', description: 'Connection port' },
512
+ username: { type: 'string', description: 'SSH username' },
513
+ keyPath: { type: 'string', description: 'Path to SSH key' },
514
+ command: { type: 'string', description: 'Command to run (for run action)' },
515
+ duration: { type: 'number', description: 'Recording duration in seconds (for record action)' },
516
+ },
517
+ required: ['action'],
518
+ },
519
+ };
520
+ }
521
+ validate(input) {
522
+ if (typeof input !== 'object' || input === null) {
523
+ return { valid: false, errors: ['Input must be an object'] };
524
+ }
525
+ const data = input;
526
+ if (typeof data.action !== 'string' || data.action.trim() === '') {
527
+ return { valid: false, errors: ['action must be a non-empty string'] };
528
+ }
529
+ return { valid: true };
530
+ }
531
+ getMetadata() {
532
+ return {
533
+ name: this.name,
534
+ description: this.description,
535
+ category: 'utility',
536
+ keywords: ['device', 'ssh', 'adb', 'android', 'remote', 'screenshot', 'camera', 'screen', 'record'],
537
+ priority: 4,
538
+ requiresConfirmation: true,
539
+ modifiesFiles: false,
540
+ makesNetworkRequests: true,
541
+ };
542
+ }
543
+ isAvailable() {
544
+ return true;
545
+ }
546
+ }
547
+ // ============================================================================
385
548
  // Factory Function
386
549
  // ============================================================================
387
550
  /**
@@ -393,6 +556,8 @@ export function createMiscTools() {
393
556
  new ComputerControlExecuteTool(),
394
557
  new ScreenshotExecuteTool(),
395
558
  new ReasoningExecuteTool(),
559
+ new SkillDiscoveryExecuteTool(),
560
+ new DeviceExecuteTool(),
396
561
  ];
397
562
  }
398
563
  //# sourceMappingURL=misc-tools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"misc-tools.js","sourceRoot":"","sources":["../../../src/tools/registry/misc-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"misc-tools.js","sourceRoot":"","sources":["../../../src/tools/registry/misc-tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Skill Discovery Tool
3
+ *
4
+ * Enables the agent to auto-discover and install skills from the Skills Hub
5
+ * during reasoning. When tool confidence is low, the agent can search for
6
+ * relevant skills that provide the needed capability.
7
+ *
8
+ * OpenClaw-inspired "self-improving" capability — the agent expands its
9
+ * own toolset at runtime by finding and installing community skills.
10
+ */
11
+ import type { ToolResult } from '../types/index.js';
12
+ export interface SkillDiscoveryInput {
13
+ /** Search query to find relevant skills */
14
+ query: string;
15
+ /** Tags to filter by */
16
+ tags?: string[];
17
+ /** Automatically install the top matching skill */
18
+ auto_install?: boolean;
19
+ /** Maximum number of results to return */
20
+ limit?: number;
21
+ }
22
+ export interface DiscoveredSkill {
23
+ name: string;
24
+ version: string;
25
+ description: string;
26
+ tags: string[];
27
+ downloads: number;
28
+ stars: number;
29
+ }
30
+ export declare class SkillDiscoveryTool {
31
+ /**
32
+ * Search the Skills Hub for relevant skills, optionally auto-installing
33
+ * the top result.
34
+ */
35
+ execute(input: SkillDiscoveryInput): Promise<ToolResult>;
36
+ /**
37
+ * Refresh the tool registry to pick up newly installed skills.
38
+ * Delegates to SkillRegistry.refresh() if available.
39
+ */
40
+ private refreshToolsFromSkills;
41
+ }
@@ -0,0 +1,104 @@
1
+ /**
2
+ * Skill Discovery Tool
3
+ *
4
+ * Enables the agent to auto-discover and install skills from the Skills Hub
5
+ * during reasoning. When tool confidence is low, the agent can search for
6
+ * relevant skills that provide the needed capability.
7
+ *
8
+ * OpenClaw-inspired "self-improving" capability — the agent expands its
9
+ * own toolset at runtime by finding and installing community skills.
10
+ */
11
+ import { logger } from '../utils/logger.js';
12
+ // ============================================================================
13
+ // Skill Discovery Tool
14
+ // ============================================================================
15
+ export class SkillDiscoveryTool {
16
+ /**
17
+ * Search the Skills Hub for relevant skills, optionally auto-installing
18
+ * the top result.
19
+ */
20
+ async execute(input) {
21
+ const { query, tags, auto_install = false, limit = 5 } = input;
22
+ if (!query || query.trim().length === 0) {
23
+ return { success: false, error: 'query is required' };
24
+ }
25
+ try {
26
+ // Lazy-load hub to avoid circular dependencies
27
+ const { getSkillsHub } = await import('../skills/hub.js');
28
+ const hub = getSkillsHub();
29
+ // Search for matching skills
30
+ const result = await hub.search(query, {
31
+ tags,
32
+ pageSize: limit,
33
+ });
34
+ if (result.skills.length === 0) {
35
+ return {
36
+ success: true,
37
+ output: `No skills found matching "${query}".`,
38
+ };
39
+ }
40
+ const discovered = result.skills.map(s => ({
41
+ name: s.name,
42
+ version: s.version,
43
+ description: s.description,
44
+ tags: s.tags,
45
+ downloads: s.downloads,
46
+ stars: s.stars,
47
+ }));
48
+ let output = `Found ${result.total} skill(s) matching "${query}":\n\n`;
49
+ for (const skill of discovered) {
50
+ output += ` - ${skill.name} v${skill.version}: ${skill.description}`;
51
+ if (skill.tags.length > 0) {
52
+ output += ` [${skill.tags.join(', ')}]`;
53
+ }
54
+ output += `\n`;
55
+ }
56
+ // Auto-install top result if requested
57
+ if (auto_install && discovered.length > 0) {
58
+ const topSkill = discovered[0];
59
+ try {
60
+ const installed = await hub.install(topSkill.name, topSkill.version);
61
+ output += `\nAuto-installed: ${installed.name} v${installed.version}`;
62
+ // Refresh tools from skills
63
+ await this.refreshToolsFromSkills();
64
+ output += '\nTool registry refreshed with new skill capabilities.';
65
+ logger.info('Skill auto-installed via discovery', {
66
+ name: installed.name,
67
+ version: installed.version,
68
+ });
69
+ }
70
+ catch (installErr) {
71
+ output += `\nFailed to auto-install ${topSkill.name}: ${installErr instanceof Error ? installErr.message : String(installErr)}`;
72
+ }
73
+ }
74
+ return {
75
+ success: true,
76
+ output,
77
+ };
78
+ }
79
+ catch (error) {
80
+ return {
81
+ success: false,
82
+ error: `Skill discovery failed: ${error instanceof Error ? error.message : String(error)}`,
83
+ };
84
+ }
85
+ }
86
+ /**
87
+ * Refresh the tool registry to pick up newly installed skills.
88
+ * Delegates to SkillRegistry.refresh() if available.
89
+ */
90
+ async refreshToolsFromSkills() {
91
+ try {
92
+ const { SkillRegistry } = await import('../skills/skill-registry.js');
93
+ const registry = new SkillRegistry();
94
+ await registry.refresh();
95
+ logger.debug('Skills refreshed after discovery install');
96
+ }
97
+ catch (err) {
98
+ logger.warn('Failed to refresh skills after install', {
99
+ error: err instanceof Error ? err.message : String(err),
100
+ });
101
+ }
102
+ }
103
+ }
104
+ //# sourceMappingURL=skill-discovery-tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill-discovery-tool.js","sourceRoot":"","sources":["../../src/tools/skill-discovery-tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AA0B5C,+EAA+E;AAC/E,uBAAuB;AACvB,+EAA+E;AAE/E,MAAM,OAAO,kBAAkB;IAC7B;;;OAGG;IACH,KAAK,CAAC,OAAO,CAAC,KAA0B;QACtC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,GAAG,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC;QAE/D,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC;QACxD,CAAC;QAED,IAAI,CAAC;YACH,+CAA+C;YAC/C,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;YAC1D,MAAM,GAAG,GAAG,YAAY,EAAE,CAAC;YAE3B,6BAA6B;YAC7B,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE;gBACrC,IAAI;gBACJ,QAAQ,EAAE,KAAK;aAChB,CAAC,CAAC;YAEH,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/B,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,MAAM,EAAE,6BAA6B,KAAK,IAAI;iBAC/C,CAAC;YACJ,CAAC;YAED,MAAM,UAAU,GAAsB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC5D,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,KAAK,EAAE,CAAC,CAAC,KAAK;aACf,CAAC,CAAC,CAAC;YAEJ,IAAI,MAAM,GAAG,SAAS,MAAM,CAAC,KAAK,uBAAuB,KAAK,QAAQ,CAAC;YACvE,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;gBAC/B,MAAM,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC;gBACtE,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1B,MAAM,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;gBAC1C,CAAC;gBACD,MAAM,IAAI,IAAI,CAAC;YACjB,CAAC;YAED,uCAAuC;YACvC,IAAI,YAAY,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1C,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;gBAC/B,IAAI,CAAC;oBACH,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;oBACrE,MAAM,IAAI,qBAAqB,SAAS,CAAC,IAAI,KAAK,SAAS,CAAC,OAAO,EAAE,CAAC;oBAEtE,4BAA4B;oBAC5B,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;oBACpC,MAAM,IAAI,wDAAwD,CAAC;oBAEnE,MAAM,CAAC,IAAI,CAAC,oCAAoC,EAAE;wBAChD,IAAI,EAAE,SAAS,CAAC,IAAI;wBACpB,OAAO,EAAE,SAAS,CAAC,OAAO;qBAC3B,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,UAAU,EAAE,CAAC;oBACpB,MAAM,IAAI,4BAA4B,QAAQ,CAAC,IAAI,KAAK,UAAU,YAAY,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;gBAClI,CAAC;YACH,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM;aACP,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,2BAA2B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;aAC3F,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,sBAAsB;QAClC,IAAI,CAAC;YACH,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;YACtE,MAAM,QAAQ,GAAG,IAAI,aAAa,EAAE,CAAC;YACrC,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;YACzB,MAAM,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC3D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CAAC,wCAAwC,EAAE;gBACpD,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;aACxD,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF"}