@botuyo/mcp 0.3.1 → 0.3.4

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 (92) hide show
  1. package/dist/tools/__tests__/associate_knowledge.spec.d.ts +1 -0
  2. package/dist/tools/__tests__/associate_knowledge.spec.js +23 -0
  3. package/dist/tools/__tests__/associate_knowledge.spec.js.map +1 -0
  4. package/dist/tools/__tests__/configure_agent_tool.spec.d.ts +1 -0
  5. package/dist/tools/__tests__/configure_agent_tool.spec.js +36 -0
  6. package/dist/tools/__tests__/configure_agent_tool.spec.js.map +1 -0
  7. package/dist/tools/__tests__/create_agent.spec.d.ts +1 -0
  8. package/dist/tools/__tests__/create_agent.spec.js +23 -0
  9. package/dist/tools/__tests__/create_agent.spec.js.map +1 -0
  10. package/dist/tools/__tests__/create_from_template.spec.d.ts +1 -0
  11. package/dist/tools/__tests__/create_from_template.spec.js +21 -0
  12. package/dist/tools/__tests__/create_from_template.spec.js.map +1 -0
  13. package/dist/tools/__tests__/delete_agent.spec.d.ts +1 -0
  14. package/dist/tools/__tests__/delete_agent.spec.js +31 -0
  15. package/dist/tools/__tests__/delete_agent.spec.js.map +1 -0
  16. package/dist/tools/__tests__/delete_knowledge_doc.spec.d.ts +1 -0
  17. package/dist/tools/__tests__/delete_knowledge_doc.spec.js +17 -0
  18. package/dist/tools/__tests__/delete_knowledge_doc.spec.js.map +1 -0
  19. package/dist/tools/__tests__/example_agent.spec.d.ts +1 -0
  20. package/dist/tools/__tests__/example_agent.spec.js +12 -0
  21. package/dist/tools/__tests__/example_agent.spec.js.map +1 -0
  22. package/dist/tools/__tests__/export_agent_json.spec.d.ts +1 -0
  23. package/dist/tools/__tests__/export_agent_json.spec.js +30 -0
  24. package/dist/tools/__tests__/export_agent_json.spec.js.map +1 -0
  25. package/dist/tools/__tests__/get_agent.spec.d.ts +1 -0
  26. package/dist/tools/__tests__/get_agent.spec.js +19 -0
  27. package/dist/tools/__tests__/get_agent.spec.js.map +1 -0
  28. package/dist/tools/__tests__/get_agent_status.spec.d.ts +1 -0
  29. package/dist/tools/__tests__/get_agent_status.spec.js +16 -0
  30. package/dist/tools/__tests__/get_agent_status.spec.js.map +1 -0
  31. package/dist/tools/__tests__/get_tool_config.spec.d.ts +1 -0
  32. package/dist/tools/__tests__/get_tool_config.spec.js +17 -0
  33. package/dist/tools/__tests__/get_tool_config.spec.js.map +1 -0
  34. package/dist/tools/__tests__/import_agent_json.spec.d.ts +1 -0
  35. package/dist/tools/__tests__/import_agent_json.spec.js +28 -0
  36. package/dist/tools/__tests__/import_agent_json.spec.js.map +1 -0
  37. package/dist/tools/__tests__/list_agents.spec.d.ts +1 -0
  38. package/dist/tools/__tests__/list_agents.spec.js +16 -0
  39. package/dist/tools/__tests__/list_agents.spec.js.map +1 -0
  40. package/dist/tools/__tests__/list_available_tools.spec.d.ts +1 -0
  41. package/dist/tools/__tests__/list_available_tools.spec.js +16 -0
  42. package/dist/tools/__tests__/list_available_tools.spec.js.map +1 -0
  43. package/dist/tools/__tests__/list_base_tools.spec.d.ts +1 -0
  44. package/dist/tools/__tests__/list_base_tools.spec.js +29 -0
  45. package/dist/tools/__tests__/list_base_tools.spec.js.map +1 -0
  46. package/dist/tools/__tests__/list_knowledge_docs.spec.d.ts +1 -0
  47. package/dist/tools/__tests__/list_knowledge_docs.spec.js +22 -0
  48. package/dist/tools/__tests__/list_knowledge_docs.spec.js.map +1 -0
  49. package/dist/tools/__tests__/list_templates.spec.d.ts +1 -0
  50. package/dist/tools/__tests__/list_templates.spec.js +16 -0
  51. package/dist/tools/__tests__/list_templates.spec.js.map +1 -0
  52. package/dist/tools/__tests__/list_tool_configs.spec.d.ts +1 -0
  53. package/dist/tools/__tests__/list_tool_configs.spec.js +31 -0
  54. package/dist/tools/__tests__/list_tool_configs.spec.js.map +1 -0
  55. package/dist/tools/__tests__/publish_agent.spec.d.ts +1 -0
  56. package/dist/tools/__tests__/publish_agent.spec.js +18 -0
  57. package/dist/tools/__tests__/publish_agent.spec.js.map +1 -0
  58. package/dist/tools/__tests__/remove_tool_config.spec.d.ts +1 -0
  59. package/dist/tools/__tests__/remove_tool_config.spec.js +26 -0
  60. package/dist/tools/__tests__/remove_tool_config.spec.js.map +1 -0
  61. package/dist/tools/__tests__/switch_tenant.spec.d.ts +1 -0
  62. package/dist/tools/__tests__/switch_tenant.spec.js +32 -0
  63. package/dist/tools/__tests__/switch_tenant.spec.js.map +1 -0
  64. package/dist/tools/__tests__/update_agent.spec.d.ts +1 -0
  65. package/dist/tools/__tests__/update_agent.spec.js +23 -0
  66. package/dist/tools/__tests__/update_agent.spec.js.map +1 -0
  67. package/dist/tools/__tests__/update_enabled_tools.spec.d.ts +1 -0
  68. package/dist/tools/__tests__/update_enabled_tools.spec.js +18 -0
  69. package/dist/tools/__tests__/update_enabled_tools.spec.js.map +1 -0
  70. package/dist/tools/__tests__/upsert_stage.spec.d.ts +1 -0
  71. package/dist/tools/__tests__/upsert_stage.spec.js +27 -0
  72. package/dist/tools/__tests__/upsert_stage.spec.js.map +1 -0
  73. package/dist/tools/configure_agent_tool.d.ts +4 -0
  74. package/dist/tools/configure_agent_tool.js +41 -0
  75. package/dist/tools/configure_agent_tool.js.map +1 -0
  76. package/dist/tools/get_tool_config.d.ts +4 -0
  77. package/dist/tools/get_tool_config.js +20 -0
  78. package/dist/tools/get_tool_config.js.map +1 -0
  79. package/dist/tools/import_agent_json.js +2 -2
  80. package/dist/tools/import_agent_json.js.map +1 -1
  81. package/dist/tools/index.js +15 -0
  82. package/dist/tools/index.js.map +1 -1
  83. package/dist/tools/list_base_tools.d.ts +4 -0
  84. package/dist/tools/list_base_tools.js +32 -0
  85. package/dist/tools/list_base_tools.js.map +1 -0
  86. package/dist/tools/list_tool_configs.d.ts +6 -0
  87. package/dist/tools/list_tool_configs.js +59 -0
  88. package/dist/tools/list_tool_configs.js.map +1 -0
  89. package/dist/tools/remove_tool_config.d.ts +4 -0
  90. package/dist/tools/remove_tool_config.js +22 -0
  91. package/dist/tools/remove_tool_config.js.map +1 -0
  92. package/package.json +4 -2
@@ -0,0 +1,26 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ import { removeToolConfigHandler } from '../remove_tool_config.js';
3
+ class MockDeleteClient {
4
+ paths = [];
5
+ async delete(path) {
6
+ this.paths.push(path);
7
+ return { success: true };
8
+ }
9
+ }
10
+ describe('removeToolConfigHandler', () => {
11
+ it('should perform DELETE request with removeFromEnabled=true', async () => {
12
+ const client = new MockDeleteClient();
13
+ await removeToolConfigHandler(client, { agentId: 'a1', toolName: 't1', removeFromEnabled: true });
14
+ expect(client.paths[0]).toBe('/api/v1/mcp/agents/a1/tools/t1/config?removeFromEnabled=true');
15
+ });
16
+ it('should perform DELETE request without query param if removeFromEnabled is omitted', async () => {
17
+ const client = new MockDeleteClient();
18
+ await removeToolConfigHandler(client, { agentId: 'a1', toolName: 't1' });
19
+ expect(client.paths[0]).toBe('/api/v1/mcp/agents/a1/tools/t1/config');
20
+ });
21
+ it('should throw if missing arguments', async () => {
22
+ const client = new MockDeleteClient();
23
+ await expect(removeToolConfigHandler(client, { agentId: 'a1' })).rejects.toThrow('agentId and toolName are required');
24
+ });
25
+ });
26
+ //# sourceMappingURL=remove_tool_config.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remove_tool_config.spec.js","sourceRoot":"","sources":["../../../src/tools/__tests__/remove_tool_config.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAA;AAElE,MAAM,gBAAgB;IACb,KAAK,GAAa,EAAE,CAAA;IAC3B,KAAK,CAAC,MAAM,CAAC,IAAY;QACvB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACrB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IAC1B,CAAC;CACF;AAED,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACvC,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;QACzE,MAAM,MAAM,GAAG,IAAI,gBAAgB,EAAS,CAAA;QAC5C,MAAM,uBAAuB,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAA;QACjG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAA;IAC9F,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,mFAAmF,EAAE,KAAK,IAAI,EAAE;QACjG,MAAM,MAAM,GAAG,IAAI,gBAAgB,EAAS,CAAA;QAC5C,MAAM,uBAAuB,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;QACxE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAA;IACvE,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QACjD,MAAM,MAAM,GAAG,IAAI,gBAAgB,EAAS,CAAA;QAC5C,MAAM,MAAM,CAAC,uBAAuB,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAA;IACvH,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,32 @@
1
+ import { vi, describe, it, expect } from 'vitest';
2
+ import { switchTenantHandler } from '../switch_tenant.js';
3
+ vi.mock('../commands/credentials.js', () => ({
4
+ readCredentials: vi.fn(() => ({ token: 'mock-token', tenantId: 't1' })),
5
+ saveCredentials: vi.fn()
6
+ }));
7
+ global.fetch = vi.fn(() => Promise.resolve({
8
+ json: () => Promise.resolve({ success: true, data: { name: 'Target Tenant Name' } })
9
+ }));
10
+ class MockClient {
11
+ methodCalls = [];
12
+ async get(path) {
13
+ this.methodCalls.push({ method: 'GET', path });
14
+ if (path === '/api/auth/me')
15
+ return { success: true, data: { user: { tenantIds: ['t1', 't2'], roles: [] } } };
16
+ return { success: true, data: {} };
17
+ }
18
+ async post(path, payload) {
19
+ this.methodCalls.push({ method: 'POST', path, payload });
20
+ return { success: true, data: { token: 'new-token' } };
21
+ }
22
+ setToken() { }
23
+ }
24
+ describe('switchTenantHandler', () => {
25
+ it('should list tenants when no tenantId provided', async () => {
26
+ const client = new MockClient();
27
+ const res = await switchTenantHandler(client, {});
28
+ expect(res.success).toBe(true);
29
+ expect(res.tenants.length).toBe(2);
30
+ });
31
+ });
32
+ //# sourceMappingURL=switch_tenant.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"switch_tenant.spec.js","sourceRoot":"","sources":["../../../src/tools/__tests__/switch_tenant.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAEzD,EAAE,CAAC,IAAI,CAAC,4BAA4B,EAAE,GAAG,EAAE,CAAC,CAAC;IAC3C,eAAe,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACvE,eAAe,EAAE,EAAE,CAAC,EAAE,EAAE;CACzB,CAAC,CAAC,CAAA;AAEH,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC;IACzC,IAAI,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,EAAE,CAAC;CACrF,CAAC,CAAQ,CAAA;AAEV,MAAM,UAAU;IACP,WAAW,GAAU,EAAE,CAAA;IAC9B,KAAK,CAAC,GAAG,CAAC,IAAY;QACpB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QAC9C,IAAI,IAAI,KAAK,cAAc;YAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,CAAA;QAC7G,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAA;IACpC,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,IAAY,EAAE,OAAY;QACnC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;QACxD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,CAAA;IACxD,CAAC;IACD,QAAQ,KAAI,CAAC;CACd;AAED,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;QAC7D,MAAM,MAAM,GAAG,IAAI,UAAU,EAAS,CAAA;QACtC,MAAM,GAAG,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QACjD,MAAM,CAAE,GAAW,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACvC,MAAM,CAAE,GAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAC7C,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,23 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ import { updateAgentHandler } from '../update_agent.js';
3
+ class MockClient {
4
+ methodCalls = [];
5
+ async put(path, payload) {
6
+ this.methodCalls.push({ path, payload });
7
+ return { success: true };
8
+ }
9
+ }
10
+ describe('updateAgentHandler', () => {
11
+ it('should call PUT /api/v1/mcp/agents/:id', async () => {
12
+ const client = new MockClient();
13
+ const args = { agentId: 'a1', name: 'New Name', identity: { tone: 'friendly' } };
14
+ await updateAgentHandler(client, args);
15
+ expect(client.methodCalls[0].path).toBe('/api/v1/mcp/agents/a1');
16
+ expect(client.methodCalls[0].payload.name).toBe('New Name');
17
+ expect(client.methodCalls[0].payload.identity.tone).toBe('friendly');
18
+ });
19
+ it('should require agentId', async () => {
20
+ await expect(updateAgentHandler({}, {})).rejects.toThrow();
21
+ });
22
+ });
23
+ //# sourceMappingURL=update_agent.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update_agent.spec.js","sourceRoot":"","sources":["../../../src/tools/__tests__/update_agent.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAEvD,MAAM,UAAU;IACP,WAAW,GAAU,EAAE,CAAA;IAC9B,KAAK,CAAC,GAAG,CAAC,IAAY,EAAE,OAAY;QAClC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;QACxC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IAC1B,CAAC;CACF;AAED,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACtD,MAAM,MAAM,GAAG,IAAI,UAAU,EAAS,CAAA;QACtC,MAAM,IAAI,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,CAAA;QAEhF,MAAM,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QAEtC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;QAChE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAC3D,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACtE,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;QACtC,MAAM,MAAM,CAAC,kBAAkB,CAAC,EAAS,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAA;IACnE,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -0,0 +1,18 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ import { updateEnabledToolsHandler } from '../update_enabled_tools.js';
3
+ class MockPutClient {
4
+ methodCalls = [];
5
+ async put(path, payload) {
6
+ this.methodCalls.push({ path, payload });
7
+ return { success: true };
8
+ }
9
+ }
10
+ describe('updateEnabledToolsHandler', () => {
11
+ it('should call PUT to replace enabled tools', async () => {
12
+ const client = new MockPutClient();
13
+ await updateEnabledToolsHandler(client, { agentId: 'a1', toolIds: ['t1', 't2'] });
14
+ expect(client.methodCalls[0].path).toBe('/api/v1/mcp/agents/a1');
15
+ expect(client.methodCalls[0].payload.enabledTools).toEqual(['t1', 't2']);
16
+ });
17
+ });
18
+ //# sourceMappingURL=update_enabled_tools.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update_enabled_tools.spec.js","sourceRoot":"","sources":["../../../src/tools/__tests__/update_enabled_tools.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAA;AAEtE,MAAM,aAAa;IACV,WAAW,GAAU,EAAE,CAAA;IAC9B,KAAK,CAAC,GAAG,CAAC,IAAY,EAAE,OAAY;QAClC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;QACxC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IAC1B,CAAC;CACF;AAED,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACzC,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;QACxD,MAAM,MAAM,GAAG,IAAI,aAAa,EAAS,CAAA;QACzC,MAAM,yBAAyB,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAA;QAEjF,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;QAChE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;IAC1E,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,27 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ import { upsertStageHandler } from '../upsert_stage.js';
3
+ class MockPutClient {
4
+ methodCalls = [];
5
+ async put(path, payload) {
6
+ this.methodCalls.push({ path, payload });
7
+ return { success: true };
8
+ }
9
+ }
10
+ describe('upsertStageHandler', () => {
11
+ it('should PUT merged stage, connections and channelFlows', async () => {
12
+ const client = new MockPutClient();
13
+ const args = {
14
+ agentId: 'a1',
15
+ stageName: 'start',
16
+ stageConfig: { instruction: 'Hello' },
17
+ connections: [{ id: 'c1', from: 'start', to: 'end', type: 'default' }],
18
+ channelFlows: { web: { connections: [] } }
19
+ };
20
+ await upsertStageHandler(client, args);
21
+ expect(client.methodCalls[0].path).toBe('/api/v1/mcp/agents/a1');
22
+ expect(client.methodCalls[0].payload.stages.start.instruction).toBe('Hello');
23
+ expect(client.methodCalls[0].payload.connections[0].id).toBe('c1');
24
+ expect(client.methodCalls[0].payload.channelFlows.web).toBeDefined();
25
+ });
26
+ });
27
+ //# sourceMappingURL=upsert_stage.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upsert_stage.spec.js","sourceRoot":"","sources":["../../../src/tools/__tests__/upsert_stage.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAEvD,MAAM,aAAa;IACV,WAAW,GAAU,EAAE,CAAA;IAC9B,KAAK,CAAC,GAAG,CAAC,IAAY,EAAE,OAAY;QAClC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;QACxC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IAC1B,CAAC;CACF;AAED,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;QACrE,MAAM,MAAM,GAAG,IAAI,aAAa,EAAS,CAAA;QACzC,MAAM,IAAI,GAAG;YACX,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,OAAO;YAClB,WAAW,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE;YACrC,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;YACtE,YAAY,EAAE,EAAE,GAAG,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,EAAE;SAC3C,CAAA;QAED,MAAM,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QAEtC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;QAChE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC5E,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAClE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAA;IACtE,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -0,0 +1,4 @@
1
+ import type { Tool } from '@modelcontextprotocol/sdk/types.js';
2
+ import type { BotuyoApiClient } from '../client.js';
3
+ export declare const CONFIGURE_AGENT_TOOL: Tool;
4
+ export declare function configureAgentToolHandler(client: BotuyoApiClient, args: Record<string, unknown>): Promise<any>;
@@ -0,0 +1,41 @@
1
+ export const CONFIGURE_AGENT_TOOL = {
2
+ name: 'configure_agent_tool',
3
+ description: `Crea o actualiza la config de un tool para un agente. Si la tool no está en \`enabledTools\`, la agrega automáticamente.
4
+
5
+ Usa esta herramienta para configurar tools nativas (ej. \`send_email\`) o para crear tool factories (instancias virtuales de tools base como \`sync_document\`).`,
6
+ inputSchema: {
7
+ type: 'object',
8
+ properties: {
9
+ agentId: { type: 'string', description: 'ID del agente' },
10
+ toolName: { type: 'string', description: 'Nombre del tool (existente o nombre nuevo para factory)' },
11
+ baseTool: { type: 'string', description: 'Tool base para crear una factory (ej. "sync_document", "call_webhook")' },
12
+ connector: { type: 'string', description: 'Conector a usar si es factory (ej. "google_sheets", "notion")' },
13
+ params: { type: 'object', description: 'Parámetros invisibles al LLM (ej. templateId, spreadsheetId)' },
14
+ fields: {
15
+ type: 'array',
16
+ items: { type: 'object' },
17
+ description: 'Campos tipados (override del declaration). Array de IToolField con name, type, label, required, enumValues, validation, etc.'
18
+ },
19
+ instruction: { type: 'string', description: 'Guía para el LLM (1 línea explicando qué hace esta tool específica)' }
20
+ },
21
+ required: ['agentId', 'toolName']
22
+ }
23
+ };
24
+ export async function configureAgentToolHandler(client, args) {
25
+ const { agentId, toolName, baseTool, connector, params, fields, instruction } = args;
26
+ if (!agentId || !toolName) {
27
+ throw new Error('agentId and toolName are required');
28
+ }
29
+ const payload = {
30
+ toolName,
31
+ baseTool,
32
+ connector,
33
+ params,
34
+ fields,
35
+ instruction
36
+ };
37
+ // Se asume endpoint: PUT /api/v1/mcp/agents/:agentId/tools/config
38
+ const result = await client.put(`/api/v1/mcp/agents/${agentId}/tools/config`, payload);
39
+ return result;
40
+ }
41
+ //# sourceMappingURL=configure_agent_tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configure_agent_tool.js","sourceRoot":"","sources":["../../src/tools/configure_agent_tool.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,oBAAoB,GAAS;IACxC,IAAI,EAAE,sBAAsB;IAC5B,WAAW,EAAE;;iKAEkJ;IAC/J,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE;YACzD,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yDAAyD,EAAE;YACpG,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wEAAwE,EAAE;YACnH,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,+DAA+D,EAAE;YAC3G,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,8DAA8D,EAAE;YACvG,MAAM,EAAE;gBACN,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,WAAW,EAAE,8HAA8H;aAC5I;YACD,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qEAAqE,EAAE;SACpH;QACD,QAAQ,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;KAClC;CACF,CAAA;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,MAAuB,EAAE,IAA6B;IACpG,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,IAAW,CAAA;IAE3F,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;IACtD,CAAC;IAED,MAAM,OAAO,GAAG;QACd,QAAQ;QACR,QAAQ;QACR,SAAS;QACT,MAAM;QACN,MAAM;QACN,WAAW;KACZ,CAAA;IAED,kEAAkE;IAClE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,sBAAsB,OAAO,eAAe,EAAE,OAAO,CAAC,CAAA;IACtF,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { Tool } from '@modelcontextprotocol/sdk/types.js';
2
+ import type { BotuyoApiClient } from '../client.js';
3
+ export declare const GET_TOOL_CONFIG_TOOL: Tool;
4
+ export declare function getToolConfigHandler(client: BotuyoApiClient, args: Record<string, unknown>): Promise<any>;
@@ -0,0 +1,20 @@
1
+ export const GET_TOOL_CONFIG_TOOL = {
2
+ name: 'get_tool_config',
3
+ description: 'Ver el config completo de un tool (formato JSON).',
4
+ inputSchema: {
5
+ type: 'object',
6
+ properties: {
7
+ agentId: { type: 'string' },
8
+ toolName: { type: 'string' }
9
+ },
10
+ required: ['agentId', 'toolName']
11
+ }
12
+ };
13
+ export async function getToolConfigHandler(client, args) {
14
+ const { agentId, toolName } = args;
15
+ if (!agentId || !toolName)
16
+ throw new Error('agentId and toolName are required');
17
+ const result = await client.get(`/api/v1/mcp/agents/${agentId}/tools/${toolName}/config`);
18
+ return result;
19
+ }
20
+ //# sourceMappingURL=get_tool_config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get_tool_config.js","sourceRoot":"","sources":["../../src/tools/get_tool_config.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,oBAAoB,GAAS;IACxC,IAAI,EAAE,iBAAiB;IACvB,WAAW,EAAE,mDAAmD;IAChE,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC3B,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC7B;QACD,QAAQ,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;KAClC;CACF,CAAA;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,MAAuB,EAAE,IAA6B;IAC/F,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAA;IAClC,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;IAE/E,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,sBAAsB,OAAO,UAAU,QAAQ,SAAS,CAAC,CAAA;IACzF,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -40,8 +40,8 @@ Requires role: owner, admin, or developer.`,
40
40
  customInstructions: { type: 'string' }
41
41
  }
42
42
  },
43
- stages: { type: 'array', description: 'Array of stage objects with id, name, type, instruction' },
44
- connections: { type: 'array', description: 'Array of connection edges: { id, from, to, type, condition? }' },
43
+ stages: { type: 'array', items: { type: 'object' }, description: 'Array of stage objects with id, name, type, instruction' },
44
+ connections: { type: 'array', items: { type: 'object' }, description: 'Array of connection edges: { id, from, to, type, condition? }' },
45
45
  channelFlows: { type: 'object', description: 'Per-channel flow overrides: { channelName: { connections: [...] } }' },
46
46
  enabledTools: { type: 'array', items: { type: 'string' }, description: 'Tool IDs to enable' },
47
47
  channels: { type: 'array', items: { type: 'string' }, description: 'Channels: web, whatsapp, phone, etc.' },
@@ -1 +1 @@
1
- {"version":3,"file":"import_agent_json.js","sourceRoot":"","sources":["../../src/tools/import_agent_json.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"import_agent_json.js","sourceRoot":"","sources":["../../src/tools/import_agent_json.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,11 @@ import { DELETE_AGENT_TOOL, deleteAgentHandler } from './delete_agent.js';
21
21
  import { LIST_KNOWLEDGE_DOCS_TOOL, listKnowledgeDocsHandler } from './list_knowledge_docs.js';
22
22
  import { DELETE_KNOWLEDGE_DOC_TOOL, deleteKnowledgeDocHandler } from './delete_knowledge_doc.js';
23
23
  import { ASSOCIATE_KNOWLEDGE_TOOL, associateKnowledgeHandler } from './associate_knowledge.js';
24
+ import { CONFIGURE_AGENT_TOOL, configureAgentToolHandler } from './configure_agent_tool.js';
25
+ import { LIST_TOOL_CONFIGS_TOOL, listToolConfigsHandler } from './list_tool_configs.js';
26
+ import { REMOVE_TOOL_CONFIG_TOOL, removeToolConfigHandler } from './remove_tool_config.js';
27
+ import { GET_TOOL_CONFIG_TOOL, getToolConfigHandler } from './get_tool_config.js';
28
+ import { LIST_BASE_TOOLS_TOOL, listBaseToolsHandler } from './list_base_tools.js';
24
29
  export const ALL_TOOLS = [
25
30
  LIST_AGENTS_TOOL,
26
31
  GET_AGENT_TOOL,
@@ -41,6 +46,11 @@ export const ALL_TOOLS = [
41
46
  LIST_KNOWLEDGE_DOCS_TOOL,
42
47
  DELETE_KNOWLEDGE_DOC_TOOL,
43
48
  ASSOCIATE_KNOWLEDGE_TOOL,
49
+ CONFIGURE_AGENT_TOOL,
50
+ LIST_TOOL_CONFIGS_TOOL,
51
+ REMOVE_TOOL_CONFIG_TOOL,
52
+ GET_TOOL_CONFIG_TOOL,
53
+ LIST_BASE_TOOLS_TOOL,
44
54
  ];
45
55
  export const TOOL_HANDLERS = {
46
56
  list_agents: listAgentsHandler,
@@ -62,5 +72,10 @@ export const TOOL_HANDLERS = {
62
72
  list_knowledge_documents: listKnowledgeDocsHandler,
63
73
  delete_knowledge_document: deleteKnowledgeDocHandler,
64
74
  associate_knowledge_to_agent: associateKnowledgeHandler,
75
+ configure_agent_tool: configureAgentToolHandler,
76
+ list_tool_configs: listToolConfigsHandler,
77
+ remove_tool_config: removeToolConfigHandler,
78
+ get_tool_config: getToolConfigHandler,
79
+ list_base_tools: listBaseToolsHandler,
65
80
  };
66
81
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,8BAA8B;AAC9B,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACtE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChE,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AACpF,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACzE,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACzE,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACzE,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAC7E,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAA;AAChG,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAC5E,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAC5E,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AACvF,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AACvF,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC/E,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAA;AAChG,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAC5E,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACzE,OAAO,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAA;AAC7F,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAA;AAChG,OAAO,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAA;AAE9F,MAAM,CAAC,MAAM,SAAS,GAAW;IAC/B,gBAAgB;IAChB,cAAc;IACd,qBAAqB;IACrB,iBAAiB;IACjB,iBAAiB;IACjB,iBAAiB;IACjB,eAAe;IACf,yBAAyB;IACzB,kBAAkB;IAClB,kBAAkB;IAClB,sBAAsB;IACtB,sBAAsB;IACtB,mBAAmB;IACnB,yBAAyB;IACzB,kBAAkB;IAClB,iBAAiB;IACjB,wBAAwB;IACxB,yBAAyB;IACzB,wBAAwB;CACzB,CAAA;AAID,MAAM,CAAC,MAAM,aAAa,GAAgC;IACxD,WAAW,EAAE,iBAAiB;IAC9B,SAAS,EAAE,eAAe;IAC1B,gBAAgB,EAAE,qBAAqB;IACvC,YAAY,EAAE,kBAAkB;IAChC,YAAY,EAAE,kBAAkB;IAChC,YAAY,EAAE,kBAAkB;IAChC,oBAAoB,EAAE,gBAAgB;IACtC,oBAAoB,EAAE,yBAAyB;IAC/C,aAAa,EAAE,mBAAmB;IAClC,aAAa,EAAE,mBAAmB;IAClC,iBAAiB,EAAE,sBAAsB;IACzC,iBAAiB,EAAE,sBAAsB;IACzC,cAAc,EAAE,oBAAoB;IACpC,oBAAoB,EAAE,yBAAyB;IAC/C,aAAa,EAAE,mBAAkC;IACjD,YAAY,EAAE,kBAAkB;IAChC,wBAAwB,EAAE,wBAAwB;IAClD,yBAAyB,EAAE,yBAAyB;IACpD,4BAA4B,EAAE,yBAAyB;CACxD,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { Tool } from '@modelcontextprotocol/sdk/types.js';
2
+ import type { BotuyoApiClient } from '../client.js';
3
+ export declare const LIST_BASE_TOOLS_TOOL: Tool;
4
+ export declare function listBaseToolsHandler(client: BotuyoApiClient, _args: Record<string, unknown>): Promise<any>;
@@ -0,0 +1,32 @@
1
+ export const LIST_BASE_TOOLS_TOOL = {
2
+ name: 'list_base_tools',
3
+ description: 'Lista los base tools disponibles para crear factories y los connectors que soportan.',
4
+ inputSchema: {
5
+ type: 'object',
6
+ properties: {}
7
+ }
8
+ };
9
+ export async function listBaseToolsHandler(client, _args) {
10
+ const result = await client.get('/api/v1/mcp/tools/base');
11
+ if (result && result.success && result.data) {
12
+ let output = 'Base tools disponibles para factory:\n\n';
13
+ const baseTools = result.data;
14
+ for (const [baseToolName, info] of Object.entries(baseTools)) {
15
+ const tl = info;
16
+ output += ` ${baseToolName}\n`;
17
+ if (tl.connectors && tl.connectors.length > 0) {
18
+ output += ` Connectors: ${tl.connectors.join(', ')}\n`;
19
+ }
20
+ else {
21
+ output += ` Connectors: —\n`;
22
+ }
23
+ if (tl.description) {
24
+ output += ` Descripción: ${tl.description}\n`;
25
+ }
26
+ output += '\n';
27
+ }
28
+ return { text: output };
29
+ }
30
+ return result;
31
+ }
32
+ //# sourceMappingURL=list_base_tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list_base_tools.js","sourceRoot":"","sources":["../../src/tools/list_base_tools.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,oBAAoB,GAAS;IACxC,IAAI,EAAE,iBAAiB;IACvB,WAAW,EAAE,sFAAsF;IACnG,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,EAAE;KACf;CACF,CAAA;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,MAAuB,EAAE,KAA8B;IAChG,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAA;IAEzD,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,0CAA0C,CAAA;QACvD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAA;QAE7B,KAAK,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7D,MAAM,EAAE,GAAG,IAAW,CAAA;YACtB,MAAM,IAAI,KAAK,YAAY,IAAI,CAAA;YAC/B,IAAI,EAAE,CAAC,UAAU,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9C,MAAM,IAAI,mBAAmB,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAA;YAC3D,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,qBAAqB,CAAA;YACjC,CAAC;YACD,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBACnB,MAAM,IAAI,oBAAoB,EAAE,CAAC,WAAW,IAAI,CAAA;YAClD,CAAC;YACD,MAAM,IAAI,IAAI,CAAA;QAChB,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAA;IACzB,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { Tool } from '@modelcontextprotocol/sdk/types.js';
2
+ import type { BotuyoApiClient } from '../client.js';
3
+ export declare const LIST_TOOL_CONFIGS_TOOL: Tool;
4
+ export declare function listToolConfigsHandler(client: BotuyoApiClient, args: Record<string, unknown>): Promise<{
5
+ text: string;
6
+ }>;
@@ -0,0 +1,59 @@
1
+ export const LIST_TOOL_CONFIGS_TOOL = {
2
+ name: 'list_tool_configs',
3
+ description: 'Lista las configs de tools de un agente, separando tools nativas y configuradas/factories.',
4
+ inputSchema: {
5
+ type: 'object',
6
+ properties: {
7
+ agentId: { type: 'string', description: 'ID del agente' }
8
+ },
9
+ required: ['agentId']
10
+ }
11
+ };
12
+ export async function listToolConfigsHandler(client, args) {
13
+ const agentId = args.agentId;
14
+ if (!agentId)
15
+ throw new Error('agentId is required');
16
+ // Obtener el agente para leer su toolConfigs y enabledTools
17
+ const result = await client.get(`/api/v1/mcp/agents/${agentId}`);
18
+ if (!result || !result.success || !result.data) {
19
+ throw new Error('Could not fetch agent configuration');
20
+ }
21
+ const agent = result.data;
22
+ const enabledTools = agent.enabledTools || [];
23
+ const toolConfigs = agent.toolConfigs || {};
24
+ const configuredTools = Object.keys(toolConfigs);
25
+ const nativeTools = enabledTools.filter(t => !configuredTools.includes(t));
26
+ let output = `Tools del agente "${agent.name || agentId}":\n\n`;
27
+ output += ` Tools nativas (sin config):\n`;
28
+ if (nativeTools.length === 0) {
29
+ output += ` (Ninguna)\n`;
30
+ }
31
+ else {
32
+ nativeTools.forEach(t => {
33
+ output += ` • ${t}\n`;
34
+ });
35
+ }
36
+ output += `\n Tools configuradas:\n`;
37
+ if (configuredTools.length === 0) {
38
+ output += ` (Ninguna)\n`;
39
+ }
40
+ else {
41
+ configuredTools.forEach(toolName => {
42
+ const config = toolConfigs[toolName];
43
+ const isFactory = config.baseTool ? `[factory: ${config.baseTool}${config.connector ? ` → ${config.connector}` : ''}]` : '';
44
+ output += ` • ${toolName} ${isFactory}\n`;
45
+ if (config.params) {
46
+ output += ` └ params: ${Object.keys(config.params).join(', ')}\n`;
47
+ }
48
+ if (config.fields && Array.isArray(config.fields)) {
49
+ const fieldSummaries = config.fields.map((f) => `${f.name} (${f.type})`).join(', ');
50
+ output += ` └ fields: ${fieldSummaries} — ${config.fields.length} campos\n`;
51
+ }
52
+ if (config.instruction) {
53
+ output += ` └ instruction: "${config.instruction}"\n`;
54
+ }
55
+ });
56
+ }
57
+ return { text: output };
58
+ }
59
+ //# sourceMappingURL=list_tool_configs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list_tool_configs.js","sourceRoot":"","sources":["../../src/tools/list_tool_configs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { Tool } from '@modelcontextprotocol/sdk/types.js';
2
+ import type { BotuyoApiClient } from '../client.js';
3
+ export declare const REMOVE_TOOL_CONFIG_TOOL: Tool;
4
+ export declare function removeToolConfigHandler(client: BotuyoApiClient, args: Record<string, unknown>): Promise<any>;
@@ -0,0 +1,22 @@
1
+ export const REMOVE_TOOL_CONFIG_TOOL = {
2
+ name: 'remove_tool_config',
3
+ description: 'Elimina la configuración de un tool. Si es factory, también la remueve de enabledTools por defecto.',
4
+ inputSchema: {
5
+ type: 'object',
6
+ properties: {
7
+ agentId: { type: 'string' },
8
+ toolName: { type: 'string' },
9
+ removeFromEnabled: { type: 'boolean', description: 'default: true para factory, false para native' }
10
+ },
11
+ required: ['agentId', 'toolName']
12
+ }
13
+ };
14
+ export async function removeToolConfigHandler(client, args) {
15
+ const { agentId, toolName, removeFromEnabled } = args;
16
+ if (!agentId || !toolName)
17
+ throw new Error('agentId and toolName are required');
18
+ const query = removeFromEnabled !== undefined ? `?removeFromEnabled=${removeFromEnabled}` : '';
19
+ const result = await client.delete(`/api/v1/mcp/agents/${agentId}/tools/${toolName}/config${query}`);
20
+ return result;
21
+ }
22
+ //# sourceMappingURL=remove_tool_config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remove_tool_config.js","sourceRoot":"","sources":["../../src/tools/remove_tool_config.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,uBAAuB,GAAS;IAC3C,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EAAE,qGAAqG;IAClH,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC3B,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC5B,iBAAiB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,+CAA+C,EAAE;SACrG;QACD,QAAQ,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;KAClC;CACF,CAAA;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,MAAuB,EAAE,IAA6B;IAClG,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAA;IACrD,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;IAE/E,MAAM,KAAK,GAAG,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,sBAAsB,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IAC9F,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,sBAAsB,OAAO,UAAU,QAAQ,UAAU,KAAK,EAAE,CAAC,CAAA;IAEpG,OAAO,MAAM,CAAA;AACf,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@botuyo/mcp",
3
- "version": "0.3.1",
3
+ "version": "0.3.4",
4
4
  "description": "BotUyo MCP Server — create and manage AI agents via Model Context Protocol",
5
5
  "keywords": [
6
6
  "mcp",
@@ -22,6 +22,7 @@
22
22
  "build": "tsc",
23
23
  "dev": "tsc -w",
24
24
  "start": "node dist/index.js",
25
+ "test": "vitest run",
25
26
  "inspect": "npx @modelcontextprotocol/inspector node dist/index.js",
26
27
  "prepublishOnly": "npm run build"
27
28
  },
@@ -34,7 +35,8 @@
34
35
  },
35
36
  "devDependencies": {
36
37
  "@types/node": "^22.0.0",
37
- "typescript": "^5.3.3"
38
+ "typescript": "^5.3.3",
39
+ "vitest": "^4.1.1"
38
40
  },
39
41
  "engines": {
40
42
  "node": ">=18"