@dobbyai/mcp-external 1.0.4 → 1.2.0

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 (315) hide show
  1. package/README.md +44 -14
  2. package/dist/__tests__/agent-mail-tools.test.d.ts +8 -0
  3. package/dist/__tests__/agent-mail-tools.test.d.ts.map +1 -0
  4. package/dist/__tests__/agent-mail-tools.test.js +255 -0
  5. package/dist/__tests__/agent-mail-tools.test.js.map +1 -0
  6. package/dist/__tests__/annotations.test.d.ts +8 -0
  7. package/dist/__tests__/annotations.test.d.ts.map +1 -0
  8. package/dist/__tests__/annotations.test.js +108 -0
  9. package/dist/__tests__/annotations.test.js.map +1 -0
  10. package/dist/__tests__/auth.test.d.ts +7 -0
  11. package/dist/__tests__/auth.test.d.ts.map +1 -0
  12. package/dist/__tests__/auth.test.js +161 -0
  13. package/dist/__tests__/auth.test.js.map +1 -0
  14. package/dist/__tests__/doctor.test.d.ts +16 -0
  15. package/dist/__tests__/doctor.test.d.ts.map +1 -0
  16. package/dist/__tests__/doctor.test.js +258 -0
  17. package/dist/__tests__/doctor.test.js.map +1 -0
  18. package/dist/__tests__/external-agents-tools.test.d.ts +11 -0
  19. package/dist/__tests__/external-agents-tools.test.d.ts.map +1 -0
  20. package/dist/__tests__/external-agents-tools.test.js +619 -0
  21. package/dist/__tests__/external-agents-tools.test.js.map +1 -0
  22. package/dist/__tests__/gateway-bearer.test.d.ts +12 -0
  23. package/dist/__tests__/gateway-bearer.test.d.ts.map +1 -0
  24. package/dist/__tests__/gateway-bearer.test.js +112 -0
  25. package/dist/__tests__/gateway-bearer.test.js.map +1 -0
  26. package/dist/__tests__/gateway-key-resolver.test.d.ts +10 -0
  27. package/dist/__tests__/gateway-key-resolver.test.d.ts.map +1 -0
  28. package/dist/__tests__/gateway-key-resolver.test.js +125 -0
  29. package/dist/__tests__/gateway-key-resolver.test.js.map +1 -0
  30. package/dist/__tests__/http-concurrency.test.d.ts +20 -0
  31. package/dist/__tests__/http-concurrency.test.d.ts.map +1 -0
  32. package/dist/__tests__/http-concurrency.test.js +254 -0
  33. package/dist/__tests__/http-concurrency.test.js.map +1 -0
  34. package/dist/__tests__/integration/protocol.test.d.ts +8 -0
  35. package/dist/__tests__/integration/protocol.test.d.ts.map +1 -0
  36. package/dist/__tests__/integration/protocol.test.js +110 -0
  37. package/dist/__tests__/integration/protocol.test.js.map +1 -0
  38. package/dist/__tests__/mcp-integrations.test.d.ts +8 -0
  39. package/dist/__tests__/mcp-integrations.test.d.ts.map +1 -0
  40. package/dist/__tests__/mcp-integrations.test.js +365 -0
  41. package/dist/__tests__/mcp-integrations.test.js.map +1 -0
  42. package/dist/__tests__/memory-graph-tools.test.d.ts +8 -0
  43. package/dist/__tests__/memory-graph-tools.test.d.ts.map +1 -0
  44. package/dist/__tests__/memory-graph-tools.test.js +254 -0
  45. package/dist/__tests__/memory-graph-tools.test.js.map +1 -0
  46. package/dist/__tests__/registry-dispatch.test.d.ts +11 -0
  47. package/dist/__tests__/registry-dispatch.test.d.ts.map +1 -0
  48. package/dist/__tests__/registry-dispatch.test.js +30 -0
  49. package/dist/__tests__/registry-dispatch.test.js.map +1 -0
  50. package/dist/__tests__/registry-listing-parity.test.d.ts +2 -0
  51. package/dist/__tests__/registry-listing-parity.test.d.ts.map +1 -0
  52. package/dist/__tests__/registry-listing-parity.test.js +89 -0
  53. package/dist/__tests__/registry-listing-parity.test.js.map +1 -0
  54. package/dist/__tests__/role-cap.test.d.ts +2 -0
  55. package/dist/__tests__/role-cap.test.d.ts.map +1 -0
  56. package/dist/__tests__/role-cap.test.js +113 -0
  57. package/dist/__tests__/role-cap.test.js.map +1 -0
  58. package/dist/__tests__/schedule-tools.test.d.ts +8 -0
  59. package/dist/__tests__/schedule-tools.test.d.ts.map +1 -0
  60. package/dist/__tests__/schedule-tools.test.js +285 -0
  61. package/dist/__tests__/schedule-tools.test.js.map +1 -0
  62. package/dist/__tests__/server-gateway-key.test.d.ts +18 -0
  63. package/dist/__tests__/server-gateway-key.test.d.ts.map +1 -0
  64. package/dist/__tests__/server-gateway-key.test.js +148 -0
  65. package/dist/__tests__/server-gateway-key.test.js.map +1 -0
  66. package/dist/__tests__/server-user-scoped.test.d.ts +34 -0
  67. package/dist/__tests__/server-user-scoped.test.d.ts.map +1 -0
  68. package/dist/__tests__/server-user-scoped.test.js +577 -0
  69. package/dist/__tests__/server-user-scoped.test.js.map +1 -0
  70. package/dist/__tests__/task-id-pattern.test.d.ts +12 -0
  71. package/dist/__tests__/task-id-pattern.test.d.ts.map +1 -0
  72. package/dist/__tests__/task-id-pattern.test.js +43 -0
  73. package/dist/__tests__/task-id-pattern.test.js.map +1 -0
  74. package/dist/__tests__/tiers.test.d.ts +7 -0
  75. package/dist/__tests__/tiers.test.d.ts.map +1 -0
  76. package/dist/__tests__/tiers.test.js +199 -0
  77. package/dist/__tests__/tiers.test.js.map +1 -0
  78. package/dist/__tests__/tools/hosted-agents.test.d.ts +9 -0
  79. package/dist/__tests__/tools/hosted-agents.test.d.ts.map +1 -0
  80. package/dist/__tests__/tools/hosted-agents.test.js +301 -0
  81. package/dist/__tests__/tools/hosted-agents.test.js.map +1 -0
  82. package/dist/__tests__/tools/llm-providers.test.d.ts +10 -0
  83. package/dist/__tests__/tools/llm-providers.test.d.ts.map +1 -0
  84. package/dist/__tests__/tools/llm-providers.test.js +105 -0
  85. package/dist/__tests__/tools/llm-providers.test.js.map +1 -0
  86. package/dist/__tests__/tools/services.test.js +139 -98
  87. package/dist/__tests__/tools/services.test.js.map +1 -1
  88. package/dist/__tests__/tools.test.d.ts +7 -0
  89. package/dist/__tests__/tools.test.d.ts.map +1 -0
  90. package/dist/__tests__/tools.test.js +152 -0
  91. package/dist/__tests__/tools.test.js.map +1 -0
  92. package/dist/__tests__/transport.test.d.ts +7 -0
  93. package/dist/__tests__/transport.test.d.ts.map +1 -0
  94. package/dist/__tests__/transport.test.js +397 -0
  95. package/dist/__tests__/transport.test.js.map +1 -0
  96. package/dist/__tests__/validate-credentials.test.d.ts +9 -0
  97. package/dist/__tests__/validate-credentials.test.d.ts.map +1 -0
  98. package/dist/__tests__/validate-credentials.test.js +172 -0
  99. package/dist/__tests__/validate-credentials.test.js.map +1 -0
  100. package/dist/__tests__/web-eval-tools.test.d.ts +8 -0
  101. package/dist/__tests__/web-eval-tools.test.d.ts.map +1 -0
  102. package/dist/__tests__/web-eval-tools.test.js +241 -0
  103. package/dist/__tests__/web-eval-tools.test.js.map +1 -0
  104. package/dist/__tests__/whoami.test.d.ts +11 -0
  105. package/dist/__tests__/whoami.test.d.ts.map +1 -0
  106. package/dist/__tests__/whoami.test.js +194 -0
  107. package/dist/__tests__/whoami.test.js.map +1 -0
  108. package/dist/__tests__/workflow-tools.test.d.ts +8 -0
  109. package/dist/__tests__/workflow-tools.test.d.ts.map +1 -0
  110. package/dist/__tests__/workflow-tools.test.js +261 -0
  111. package/dist/__tests__/workflow-tools.test.js.map +1 -0
  112. package/dist/__tests__/workloads.test.d.ts +9 -0
  113. package/dist/__tests__/workloads.test.d.ts.map +1 -0
  114. package/dist/__tests__/workloads.test.js +169 -0
  115. package/dist/__tests__/workloads.test.js.map +1 -0
  116. package/dist/auth/oauth-provider.d.ts +34 -0
  117. package/dist/auth/oauth-provider.d.ts.map +1 -0
  118. package/dist/auth/oauth-provider.js +75 -0
  119. package/dist/auth/oauth-provider.js.map +1 -0
  120. package/dist/auth/token-verifier.d.ts +45 -0
  121. package/dist/auth/token-verifier.d.ts.map +1 -0
  122. package/dist/auth/token-verifier.js +160 -0
  123. package/dist/auth/token-verifier.js.map +1 -0
  124. package/dist/connectors/claude-desktop.d.ts.map +1 -1
  125. package/dist/connectors/claude-desktop.js +3 -2
  126. package/dist/connectors/claude-desktop.js.map +1 -1
  127. package/dist/connectors/cursor.d.ts.map +1 -1
  128. package/dist/connectors/cursor.js +3 -2
  129. package/dist/connectors/cursor.js.map +1 -1
  130. package/dist/connectors/setup.d.ts.map +1 -1
  131. package/dist/connectors/setup.js +2 -1
  132. package/dist/connectors/setup.js.map +1 -1
  133. package/dist/connectors/vscode.d.ts.map +1 -1
  134. package/dist/connectors/vscode.js +3 -2
  135. package/dist/connectors/vscode.js.map +1 -1
  136. package/dist/connectors/windsurf.d.ts.map +1 -1
  137. package/dist/connectors/windsurf.js +3 -2
  138. package/dist/connectors/windsurf.js.map +1 -1
  139. package/dist/doctor.d.ts +34 -0
  140. package/dist/doctor.d.ts.map +1 -0
  141. package/dist/doctor.js +134 -0
  142. package/dist/doctor.js.map +1 -0
  143. package/dist/http-server.d.ts +56 -0
  144. package/dist/http-server.d.ts.map +1 -0
  145. package/dist/http-server.js +455 -0
  146. package/dist/http-server.js.map +1 -0
  147. package/dist/index.d.ts +5 -1
  148. package/dist/index.d.ts.map +1 -1
  149. package/dist/index.js +96 -171
  150. package/dist/index.js.map +1 -1
  151. package/dist/lib/consts.d.ts +21 -0
  152. package/dist/lib/consts.d.ts.map +1 -0
  153. package/dist/lib/consts.js +30 -0
  154. package/dist/lib/consts.js.map +1 -0
  155. package/dist/lib/dobby-client.d.ts +60 -3
  156. package/dist/lib/dobby-client.d.ts.map +1 -1
  157. package/dist/lib/dobby-client.js +145 -44
  158. package/dist/lib/dobby-client.js.map +1 -1
  159. package/dist/lib/gateway-key-resolver.d.ts +38 -0
  160. package/dist/lib/gateway-key-resolver.d.ts.map +1 -0
  161. package/dist/lib/gateway-key-resolver.js +59 -0
  162. package/dist/lib/gateway-key-resolver.js.map +1 -0
  163. package/dist/lib/log.d.ts +25 -0
  164. package/dist/lib/log.d.ts.map +1 -0
  165. package/dist/lib/log.js +36 -0
  166. package/dist/lib/log.js.map +1 -0
  167. package/dist/server.d.ts +175 -0
  168. package/dist/server.d.ts.map +1 -0
  169. package/dist/server.js +1017 -0
  170. package/dist/server.js.map +1 -0
  171. package/dist/tools/agent-mail.d.ts +112 -0
  172. package/dist/tools/agent-mail.d.ts.map +1 -0
  173. package/dist/tools/agent-mail.js +118 -0
  174. package/dist/tools/agent-mail.js.map +1 -0
  175. package/dist/tools/agent-versions.d.ts +93 -0
  176. package/dist/tools/agent-versions.d.ts.map +1 -0
  177. package/dist/tools/agent-versions.js +99 -0
  178. package/dist/tools/agent-versions.js.map +1 -0
  179. package/dist/tools/approvals.d.ts +24 -34
  180. package/dist/tools/approvals.d.ts.map +1 -1
  181. package/dist/tools/approvals.js +24 -81
  182. package/dist/tools/approvals.js.map +1 -1
  183. package/dist/tools/claude-code-sync.d.ts +40 -0
  184. package/dist/tools/claude-code-sync.d.ts.map +1 -0
  185. package/dist/tools/claude-code-sync.js +52 -0
  186. package/dist/tools/claude-code-sync.js.map +1 -0
  187. package/dist/tools/control-plane.d.ts +118 -0
  188. package/dist/tools/control-plane.d.ts.map +1 -0
  189. package/dist/tools/control-plane.js +135 -0
  190. package/dist/tools/control-plane.js.map +1 -0
  191. package/dist/tools/crew-builder.d.ts +24 -66
  192. package/dist/tools/crew-builder.d.ts.map +1 -1
  193. package/dist/tools/crew-builder.js +24 -185
  194. package/dist/tools/crew-builder.js.map +1 -1
  195. package/dist/tools/crewai.d.ts +24 -63
  196. package/dist/tools/crewai.d.ts.map +1 -1
  197. package/dist/tools/crewai.js +24 -145
  198. package/dist/tools/crewai.js.map +1 -1
  199. package/dist/tools/exa.d.ts +126 -0
  200. package/dist/tools/exa.d.ts.map +1 -0
  201. package/dist/tools/exa.js +125 -0
  202. package/dist/tools/exa.js.map +1 -0
  203. package/dist/tools/external-agents.d.ts +440 -0
  204. package/dist/tools/external-agents.d.ts.map +1 -0
  205. package/dist/tools/external-agents.js +386 -0
  206. package/dist/tools/external-agents.js.map +1 -0
  207. package/dist/tools/github-mcp.d.ts +228 -0
  208. package/dist/tools/github-mcp.d.ts.map +1 -0
  209. package/dist/tools/github-mcp.js +235 -0
  210. package/dist/tools/github-mcp.js.map +1 -0
  211. package/dist/tools/governance.d.ts +273 -0
  212. package/dist/tools/governance.d.ts.map +1 -0
  213. package/dist/tools/governance.js +286 -0
  214. package/dist/tools/governance.js.map +1 -0
  215. package/dist/tools/hosted-agents.d.ts +216 -0
  216. package/dist/tools/hosted-agents.d.ts.map +1 -0
  217. package/dist/tools/hosted-agents.js +214 -0
  218. package/dist/tools/hosted-agents.js.map +1 -0
  219. package/dist/tools/index.d.ts +6335 -191
  220. package/dist/tools/index.d.ts.map +1 -1
  221. package/dist/tools/index.js +441 -172
  222. package/dist/tools/index.js.map +1 -1
  223. package/dist/tools/jira.d.ts +60 -176
  224. package/dist/tools/jira.d.ts.map +1 -1
  225. package/dist/tools/jira.js +60 -365
  226. package/dist/tools/jira.js.map +1 -1
  227. package/dist/tools/llm-providers.d.ts +50 -0
  228. package/dist/tools/llm-providers.d.ts.map +1 -0
  229. package/dist/tools/llm-providers.js +41 -0
  230. package/dist/tools/llm-providers.js.map +1 -0
  231. package/dist/tools/mcp-metrics.d.ts +47 -0
  232. package/dist/tools/mcp-metrics.d.ts.map +1 -0
  233. package/dist/tools/mcp-metrics.js +53 -0
  234. package/dist/tools/mcp-metrics.js.map +1 -0
  235. package/dist/tools/mcp-tools.d.ts +12 -29
  236. package/dist/tools/mcp-tools.d.ts.map +1 -1
  237. package/dist/tools/mcp-tools.js +12 -131
  238. package/dist/tools/mcp-tools.js.map +1 -1
  239. package/dist/tools/mem0.d.ts +127 -0
  240. package/dist/tools/mem0.d.ts.map +1 -0
  241. package/dist/tools/mem0.js +155 -0
  242. package/dist/tools/mem0.js.map +1 -0
  243. package/dist/tools/memory-graph.d.ts +151 -0
  244. package/dist/tools/memory-graph.d.ts.map +1 -0
  245. package/dist/tools/memory-graph.js +159 -0
  246. package/dist/tools/memory-graph.js.map +1 -0
  247. package/dist/tools/memory-stores.d.ts +141 -0
  248. package/dist/tools/memory-stores.d.ts.map +1 -0
  249. package/dist/tools/memory-stores.js +147 -0
  250. package/dist/tools/memory-stores.js.map +1 -0
  251. package/dist/tools/messages.d.ts +12 -20
  252. package/dist/tools/messages.d.ts.map +1 -1
  253. package/dist/tools/messages.js +12 -49
  254. package/dist/tools/messages.js.map +1 -1
  255. package/dist/tools/moltbook.d.ts +328 -0
  256. package/dist/tools/moltbook.d.ts.map +1 -0
  257. package/dist/tools/moltbook.js +334 -0
  258. package/dist/tools/moltbook.js.map +1 -0
  259. package/dist/tools/monitoring-attribution.d.ts +71 -0
  260. package/dist/tools/monitoring-attribution.d.ts.map +1 -0
  261. package/dist/tools/monitoring-attribution.js +74 -0
  262. package/dist/tools/monitoring-attribution.js.map +1 -0
  263. package/dist/tools/ops.d.ts +139 -0
  264. package/dist/tools/ops.d.ts.map +1 -0
  265. package/dist/tools/ops.js +151 -0
  266. package/dist/tools/ops.js.map +1 -0
  267. package/dist/tools/orchestrations.d.ts +109 -0
  268. package/dist/tools/orchestrations.d.ts.map +1 -0
  269. package/dist/tools/orchestrations.js +115 -0
  270. package/dist/tools/orchestrations.js.map +1 -0
  271. package/dist/tools/outcomes.d.ts +138 -0
  272. package/dist/tools/outcomes.d.ts.map +1 -0
  273. package/dist/tools/outcomes.js +136 -0
  274. package/dist/tools/outcomes.js.map +1 -0
  275. package/dist/tools/schedules.d.ts +149 -0
  276. package/dist/tools/schedules.d.ts.map +1 -0
  277. package/dist/tools/schedules.js +155 -0
  278. package/dist/tools/schedules.js.map +1 -0
  279. package/dist/tools/services.d.ts +6 -16
  280. package/dist/tools/services.d.ts.map +1 -1
  281. package/dist/tools/services.js +6 -135
  282. package/dist/tools/services.js.map +1 -1
  283. package/dist/tools/sessions.d.ts +124 -0
  284. package/dist/tools/sessions.d.ts.map +1 -0
  285. package/dist/tools/sessions.js +130 -0
  286. package/dist/tools/sessions.js.map +1 -0
  287. package/dist/tools/setup-status.d.ts +29 -0
  288. package/dist/tools/setup-status.d.ts.map +1 -0
  289. package/dist/tools/setup-status.js +35 -0
  290. package/dist/tools/setup-status.js.map +1 -0
  291. package/dist/tools/tasks.d.ts +44 -56
  292. package/dist/tools/tasks.d.ts.map +1 -1
  293. package/dist/tools/tasks.js +48 -212
  294. package/dist/tools/tasks.js.map +1 -1
  295. package/dist/tools/tiers.d.ts +55 -0
  296. package/dist/tools/tiers.d.ts.map +1 -0
  297. package/dist/tools/tiers.js +239 -0
  298. package/dist/tools/tiers.js.map +1 -0
  299. package/dist/tools/unified-agents.d.ts +43 -0
  300. package/dist/tools/unified-agents.d.ts.map +1 -0
  301. package/dist/tools/unified-agents.js +46 -0
  302. package/dist/tools/unified-agents.js.map +1 -0
  303. package/dist/tools/web-eval.d.ts +129 -0
  304. package/dist/tools/web-eval.d.ts.map +1 -0
  305. package/dist/tools/web-eval.js +136 -0
  306. package/dist/tools/web-eval.js.map +1 -0
  307. package/dist/tools/workflow.d.ts +105 -0
  308. package/dist/tools/workflow.d.ts.map +1 -0
  309. package/dist/tools/workflow.js +111 -0
  310. package/dist/tools/workflow.js.map +1 -0
  311. package/dist/tools/workloads.d.ts +81 -0
  312. package/dist/tools/workloads.d.ts.map +1 -0
  313. package/dist/tools/workloads.js +81 -0
  314. package/dist/tools/workloads.js.map +1 -0
  315. package/package.json +13 -7
@@ -0,0 +1,386 @@
1
+ /**
2
+ * External Agents Tools
3
+ *
4
+ * MCP tools for managing external agents (BYOA) through the Dobby gateway.
5
+ * All calls go to /api/v1/gateway/external-agents/* which use gk_svc_* auth
6
+ * and require `agents:read` / `agents:manage` / `agents:trigger` scopes.
7
+ *
8
+ * Session 3 of the External Agents API + MCP Parity plan:
9
+ * Session 1 ✅ — gateway-key CRUD
10
+ * Session 2 ✅ — gateway-key trigger/schedule/costs
11
+ * Session 3 ⬅︎ THIS — MCP tools wrapping those endpoints
12
+ * Session 4 ⏳ — SDK coverage + docs
13
+ */
14
+ // ============================================
15
+ // Tool Definitions
16
+ // ============================================
17
+ export const externalAgentTools = {
18
+ register_external_agent: {
19
+ name: "register_external_agent",
20
+ annotations: {
21
+ title: "Register External Agent",
22
+ readOnlyHint: false,
23
+ destructiveHint: true,
24
+ openWorldHint: false,
25
+ },
26
+ description: "Register a new external agent (BYOA). Auto-provisions a gk_svc_* gateway key that the agent uses to call back (events, LLM). The gateway key is returned ONCE — save it immediately. Registering without endpoint_url creates the agent in 'draft' status — not live and excluded from auto-classification until you set endpoint_url and status 'active' via update_external_agent.",
27
+ inputSchema: {
28
+ type: "object",
29
+ properties: {
30
+ display_name: {
31
+ type: "string",
32
+ description: "Agent display name (3–100 chars)",
33
+ },
34
+ description: { type: "string", description: "Optional description" },
35
+ framework: {
36
+ type: "string",
37
+ enum: [
38
+ "crewai",
39
+ "langchain",
40
+ "openai",
41
+ "autogen",
42
+ "adk",
43
+ "claude_code",
44
+ "custom",
45
+ ],
46
+ description: "Agent framework",
47
+ },
48
+ protocol: {
49
+ type: "string",
50
+ enum: ["a2a", "mcp", "rest", "webhook", "local"],
51
+ description: "Communication protocol",
52
+ },
53
+ endpoint_url: {
54
+ type: "string",
55
+ description: "URL where the agent is reachable (required for remote protocols)",
56
+ },
57
+ health_check_url: {
58
+ type: "string",
59
+ description: "Optional URL for health checks",
60
+ },
61
+ capabilities: {
62
+ type: "array",
63
+ items: { type: "string" },
64
+ description: 'List of capability tags (e.g. ["research","email"])',
65
+ },
66
+ tags: {
67
+ type: "array",
68
+ items: { type: "string" },
69
+ description: "User-defined tags",
70
+ },
71
+ tenant_id: {
72
+ type: "string",
73
+ description: "Optional tenant scope. Inherits from the gateway key when omitted.",
74
+ },
75
+ auth_config: {
76
+ type: "object",
77
+ description: 'Optional auth for calling the agent endpoint. Supported methods: {method:"none"}, {method:"api_key",header,prefix,key}, {method:"custom_headers",headers:{...}}',
78
+ },
79
+ },
80
+ required: ["display_name", "framework", "protocol"],
81
+ },
82
+ },
83
+ list_external_agents: {
84
+ name: "list_external_agents",
85
+ annotations: {
86
+ title: "List External Agents",
87
+ readOnlyHint: true,
88
+ destructiveHint: false,
89
+ openWorldHint: false,
90
+ },
91
+ description: "List external agents for the current org. Optionally filter by tenant or status. A tenant-scoped listing (tenant-scoped key, or the tenant_id filter) also includes org-level agents (tenant_id null — e.g. agents auto-synced from Claude Code), never another tenant's. For the full unified fleet including native agents use list_all_agents.",
92
+ inputSchema: {
93
+ type: "object",
94
+ properties: {
95
+ tenant_id: { type: "string", description: "Filter by tenant" },
96
+ status: {
97
+ type: "string",
98
+ enum: ["draft", "active", "unreachable", "paused", "revoked"],
99
+ description: "Filter by lifecycle status",
100
+ },
101
+ },
102
+ },
103
+ },
104
+ get_external_agent: {
105
+ name: "get_external_agent",
106
+ annotations: {
107
+ title: "Get External Agent",
108
+ readOnlyHint: true,
109
+ destructiveHint: false,
110
+ openWorldHint: false,
111
+ },
112
+ description: "Fetch a single external agent by ID.",
113
+ inputSchema: {
114
+ type: "object",
115
+ properties: {
116
+ agent_id: { type: "string", description: "Agent ID (ext_...)" },
117
+ },
118
+ required: ["agent_id"],
119
+ },
120
+ },
121
+ update_external_agent: {
122
+ name: "update_external_agent",
123
+ annotations: {
124
+ title: "Update External Agent",
125
+ readOnlyHint: false,
126
+ destructiveHint: true,
127
+ openWorldHint: false,
128
+ },
129
+ description: "Update a registered external agent (display_name, endpoint, capabilities, status=paused|active, auth_config, outbound_credentials).",
130
+ inputSchema: {
131
+ type: "object",
132
+ properties: {
133
+ agent_id: { type: "string", description: "Agent ID (ext_...)" },
134
+ display_name: { type: "string" },
135
+ description: { type: "string" },
136
+ endpoint_url: { type: "string" },
137
+ health_check_url: { type: "string" },
138
+ capabilities: { type: "array", items: { type: "string" } },
139
+ tags: { type: "array", items: { type: "string" } },
140
+ status: { type: "string", enum: ["active", "paused"] },
141
+ auth_config: {
142
+ type: "object",
143
+ description: "Replacement auth config (use null to clear).",
144
+ },
145
+ outbound_credentials: {
146
+ type: "array",
147
+ description: "Declare (attest to) this agent's own OUTBOUND credential dependencies — e.g. its own Gemini API key it needs to call Google. Metadata ONLY: Dobby never stores the secret value, only what it's called and where the agent reads it from, for compliance evidence. Replaces the full list on each call.",
148
+ items: {
149
+ type: "object",
150
+ properties: {
151
+ provider: {
152
+ type: "string",
153
+ description: "e.g. 'google_gemini', 'openai', 'stripe'.",
154
+ },
155
+ env_var_name: {
156
+ type: "string",
157
+ description: "The env var name the agent reads it from, e.g. 'GEMINI_API_KEY'.",
158
+ },
159
+ rotation_policy: {
160
+ type: "string",
161
+ description: "Optional free-text rotation policy note.",
162
+ },
163
+ },
164
+ required: ["provider", "env_var_name"],
165
+ },
166
+ },
167
+ },
168
+ required: ["agent_id"],
169
+ },
170
+ },
171
+ deregister_external_agent: {
172
+ name: "deregister_external_agent",
173
+ annotations: {
174
+ title: "Deregister External Agent",
175
+ readOnlyHint: false,
176
+ destructiveHint: true,
177
+ openWorldHint: false,
178
+ },
179
+ description: "Deregister an external agent. Revokes its gateway key and sets status to `revoked`. Cannot be undone — register a new one if needed.",
180
+ inputSchema: {
181
+ type: "object",
182
+ properties: {
183
+ agent_id: { type: "string", description: "Agent ID (ext_...)" },
184
+ },
185
+ required: ["agent_id"],
186
+ },
187
+ },
188
+ trigger_external_agent: {
189
+ name: "trigger_external_agent",
190
+ annotations: {
191
+ title: "Trigger External Agent",
192
+ readOnlyHint: false,
193
+ destructiveHint: true,
194
+ openWorldHint: false,
195
+ },
196
+ description: 'Fire an external agent synchronously via its configured endpoint. Inputs are framework-specific (e.g. CrewAI expects `{topic:"..."}`). Returns a trigger_id and status. Long-running triggers are logged and their completion events arrive via the callback webhook.',
197
+ inputSchema: {
198
+ type: "object",
199
+ properties: {
200
+ agent_id: { type: "string", description: "Agent ID (ext_...)" },
201
+ inputs: {
202
+ type: "object",
203
+ description: "Framework-specific input payload (maps to request body).",
204
+ },
205
+ },
206
+ required: ["agent_id"],
207
+ },
208
+ },
209
+ get_agent_triggers: {
210
+ name: "get_agent_triggers",
211
+ annotations: {
212
+ title: "Get Agent Trigger History",
213
+ readOnlyHint: true,
214
+ destructiveHint: false,
215
+ openWorldHint: false,
216
+ },
217
+ description: "List recent trigger invocations for an external agent, newest first. Supports pagination and optional aggregated stats.",
218
+ inputSchema: {
219
+ type: "object",
220
+ properties: {
221
+ agent_id: { type: "string", description: "Agent ID (ext_...)" },
222
+ page: {
223
+ type: "number",
224
+ description: "1-based page number (default 1)",
225
+ },
226
+ page_size: {
227
+ type: "number",
228
+ description: "Page size 1–50 (default 10)",
229
+ },
230
+ status: {
231
+ type: "string",
232
+ enum: [
233
+ "pending",
234
+ "sent",
235
+ "acknowledged",
236
+ "completed",
237
+ "failed",
238
+ "timed_out",
239
+ ],
240
+ description: "Filter by trigger status",
241
+ },
242
+ include_stats: {
243
+ type: "boolean",
244
+ description: "Also return aggregated stats (total, completed, failed, avg_duration).",
245
+ },
246
+ },
247
+ required: ["agent_id"],
248
+ },
249
+ },
250
+ create_agent_schedule: {
251
+ name: "create_agent_schedule",
252
+ annotations: {
253
+ title: "Create Agent Schedule",
254
+ readOnlyHint: false,
255
+ destructiveHint: true,
256
+ openWorldHint: false,
257
+ },
258
+ description: "Create a recurring schedule for an external agent (daily/weekly/hourly). One schedule per agent — use update_agent_schedule (PATCH) to modify. Returns the created schedule.",
259
+ inputSchema: {
260
+ type: "object",
261
+ properties: {
262
+ agent_id: { type: "string", description: "Agent ID (ext_...)" },
263
+ name: { type: "string", description: "Schedule name shown in UI" },
264
+ description: { type: "string" },
265
+ task_title: {
266
+ type: "string",
267
+ description: "Title for the task created on each run",
268
+ },
269
+ task_description: { type: "string" },
270
+ schedule_config: {
271
+ type: "object",
272
+ description: 'Frequency config: { frequency: "daily"|"hourly"|"weekly"|..., time?: "HH:MM", dayOfWeek?, dayOfMonth? }',
273
+ },
274
+ trigger_payload: {
275
+ type: "object",
276
+ description: "Payload passed to the agent on each run (inputs).",
277
+ },
278
+ overlap_policy: {
279
+ type: "string",
280
+ enum: ["skip", "queue", "allow"],
281
+ description: "What to do when previous run is still active (default: skip)",
282
+ },
283
+ },
284
+ required: ["agent_id", "name", "task_title", "schedule_config"],
285
+ },
286
+ },
287
+ update_agent_schedule: {
288
+ name: "update_agent_schedule",
289
+ annotations: {
290
+ title: "Update Agent Schedule",
291
+ readOnlyHint: false,
292
+ destructiveHint: true,
293
+ openWorldHint: false,
294
+ },
295
+ description: "Update a running schedule for an external agent. Pass `paused: true` to pause runs (with optional `pause_reason`), `paused: false` to resume. Other fields (`name`, `schedule_config`, `task_title`, `task_description`, `trigger_payload`) are updated in place.",
296
+ inputSchema: {
297
+ type: "object",
298
+ properties: {
299
+ agent_id: { type: "string", description: "Agent ID (ext_...)" },
300
+ paused: {
301
+ type: "boolean",
302
+ description: "True to pause, false to resume",
303
+ },
304
+ pause_reason: {
305
+ type: "string",
306
+ description: "Audit note stored when pausing (ignored when paused is not true)",
307
+ },
308
+ name: { type: "string", description: "New schedule name" },
309
+ schedule_config: {
310
+ type: "object",
311
+ description: 'Replacement frequency config, e.g. { frequency: "hourly" }',
312
+ },
313
+ task_title: { type: "string" },
314
+ task_description: { type: "string" },
315
+ trigger_payload: {
316
+ type: "object",
317
+ description: "Replacement payload passed on each run",
318
+ },
319
+ },
320
+ required: ["agent_id"],
321
+ },
322
+ },
323
+ delete_agent_schedule: {
324
+ name: "delete_agent_schedule",
325
+ annotations: {
326
+ title: "Delete Agent Schedule",
327
+ readOnlyHint: false,
328
+ destructiveHint: true,
329
+ openWorldHint: false,
330
+ },
331
+ description: "Disable the schedule for an external agent (soft delete — sets enabled=false).",
332
+ inputSchema: {
333
+ type: "object",
334
+ properties: {
335
+ agent_id: { type: "string", description: "Agent ID (ext_...)" },
336
+ },
337
+ required: ["agent_id"],
338
+ },
339
+ },
340
+ retry_external_agent_trigger: {
341
+ name: "retry_external_agent_trigger",
342
+ annotations: {
343
+ title: "Retry External Agent Trigger",
344
+ readOnlyHint: false,
345
+ destructiveHint: true,
346
+ openWorldHint: false,
347
+ },
348
+ description: "Retry a previously failed or timed-out trigger by reusing its original payload. Returns the new trigger_id and status. 400 if the original trigger is in a non-retryable state (completed/sent/etc.), 404 if the trigger does not exist.",
349
+ inputSchema: {
350
+ type: "object",
351
+ properties: {
352
+ agent_id: { type: "string", description: "Agent ID (ext_...)" },
353
+ trigger_id: {
354
+ type: "string",
355
+ description: "Trigger ID to retry (trig_...)",
356
+ },
357
+ },
358
+ required: ["agent_id", "trigger_id"],
359
+ },
360
+ },
361
+ get_agent_costs: {
362
+ name: "get_agent_costs",
363
+ annotations: {
364
+ title: "Get Agent Costs",
365
+ readOnlyHint: true,
366
+ destructiveHint: false,
367
+ openWorldHint: false,
368
+ },
369
+ description: "Get month-to-date LLM cost summary + daily breakdown for an external agent (via the gateway cost log).",
370
+ inputSchema: {
371
+ type: "object",
372
+ properties: {
373
+ agent_id: { type: "string", description: "Agent ID (ext_...)" },
374
+ days: {
375
+ type: "number",
376
+ description: "Days of daily breakdown (1–90, default 30)",
377
+ },
378
+ },
379
+ required: ["agent_id"],
380
+ },
381
+ },
382
+ };
383
+ // ============================================
384
+ // Handlers
385
+ // ============================================
386
+ //# sourceMappingURL=external-agents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"external-agents.js","sourceRoot":"","sources":["../../src/tools/external-agents.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,+CAA+C;AAC/C,mBAAmB;AACnB,+CAA+C;AAE/C,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,uBAAuB,EAAE;QACvB,IAAI,EAAE,yBAAyB;QAC/B,WAAW,EAAE;YACX,KAAK,EAAE,yBAAyB;YAChC,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,IAAI;YACrB,aAAa,EAAE,KAAK;SACrB;QACD,WAAW,EACT,sXAAsX;QACxX,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,YAAY,EAAE;oBACZ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,kCAAkC;iBAChD;gBACD,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sBAAsB,EAAE;gBACpE,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE;wBACJ,QAAQ;wBACR,WAAW;wBACX,QAAQ;wBACR,SAAS;wBACT,KAAK;wBACL,aAAa;wBACb,QAAQ;qBACT;oBACD,WAAW,EAAE,iBAAiB;iBAC/B;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC;oBAChD,WAAW,EAAE,wBAAwB;iBACtC;gBACD,YAAY,EAAE;oBACZ,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,kEAAkE;iBACrE;gBACD,gBAAgB,EAAE;oBAChB,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,gCAAgC;iBAC9C;gBACD,YAAY,EAAE;oBACZ,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,WAAW,EAAE,qDAAqD;iBACnE;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,WAAW,EAAE,mBAAmB;iBACjC;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,oEAAoE;iBACvE;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,iKAAiK;iBACpK;aACF;YACD,QAAQ,EAAE,CAAC,cAAc,EAAE,WAAW,EAAE,UAAU,CAAC;SACpD;KACF;IAED,oBAAoB,EAAE;QACpB,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EAAE;YACX,KAAK,EAAE,sBAAsB;YAC7B,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,aAAa,EAAE,KAAK;SACrB;QACD,WAAW,EACT,mVAAmV;QACrV,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE;gBAC9D,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,CAAC;oBAC7D,WAAW,EAAE,4BAA4B;iBAC1C;aACF;SACF;KACF;IAED,kBAAkB,EAAE;QAClB,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE;YACX,KAAK,EAAE,oBAAoB;YAC3B,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,aAAa,EAAE,KAAK;SACrB;QACD,WAAW,EAAE,sCAAsC;QACnD,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oBAAoB,EAAE;aAChE;YACD,QAAQ,EAAE,CAAC,UAAU,CAAC;SACvB;KACF;IAED,qBAAqB,EAAE;QACrB,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EAAE;YACX,KAAK,EAAE,uBAAuB;YAC9B,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,IAAI;YACrB,aAAa,EAAE,KAAK;SACrB;QACD,WAAW,EACT,qIAAqI;QACvI,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oBAAoB,EAAE;gBAC/D,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChC,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChC,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpC,YAAY,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;gBAC1D,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;gBAClD,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE;gBACtD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,8CAA8C;iBAC5D;gBACD,oBAAoB,EAAE;oBACpB,IAAI,EAAE,OAAO;oBACb,WAAW,EACT,ySAAyS;oBAC3S,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,QAAQ,EAAE;gCACR,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,2CAA2C;6BACzD;4BACD,YAAY,EAAE;gCACZ,IAAI,EAAE,QAAQ;gCACd,WAAW,EACT,kEAAkE;6BACrE;4BACD,eAAe,EAAE;gCACf,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,0CAA0C;6BACxD;yBACF;wBACD,QAAQ,EAAE,CAAC,UAAU,EAAE,cAAc,CAAC;qBACvC;iBACF;aACF;YACD,QAAQ,EAAE,CAAC,UAAU,CAAC;SACvB;KACF;IAED,yBAAyB,EAAE;QACzB,IAAI,EAAE,2BAA2B;QACjC,WAAW,EAAE;YACX,KAAK,EAAE,2BAA2B;YAClC,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,IAAI;YACrB,aAAa,EAAE,KAAK;SACrB;QACD,WAAW,EACT,sIAAsI;QACxI,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oBAAoB,EAAE;aAChE;YACD,QAAQ,EAAE,CAAC,UAAU,CAAC;SACvB;KACF;IAED,sBAAsB,EAAE;QACtB,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EAAE;YACX,KAAK,EAAE,wBAAwB;YAC/B,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,IAAI;YACrB,aAAa,EAAE,KAAK;SACrB;QACD,WAAW,EACT,uQAAuQ;QACzQ,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oBAAoB,EAAE;gBAC/D,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,0DAA0D;iBAC7D;aACF;YACD,QAAQ,EAAE,CAAC,UAAU,CAAC;SACvB;KACF;IAED,kBAAkB,EAAE;QAClB,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE;YACX,KAAK,EAAE,2BAA2B;YAClC,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,aAAa,EAAE,KAAK;SACrB;QACD,WAAW,EACT,yHAAyH;QAC3H,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oBAAoB,EAAE;gBAC/D,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,iCAAiC;iBAC/C;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,6BAA6B;iBAC3C;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE;wBACJ,SAAS;wBACT,MAAM;wBACN,cAAc;wBACd,WAAW;wBACX,QAAQ;wBACR,WAAW;qBACZ;oBACD,WAAW,EAAE,0BAA0B;iBACxC;gBACD,aAAa,EAAE;oBACb,IAAI,EAAE,SAAS;oBACf,WAAW,EACT,wEAAwE;iBAC3E;aACF;YACD,QAAQ,EAAE,CAAC,UAAU,CAAC;SACvB;KACF;IAED,qBAAqB,EAAE;QACrB,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EAAE;YACX,KAAK,EAAE,uBAAuB;YAC9B,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,IAAI;YACrB,aAAa,EAAE,KAAK;SACrB;QACD,WAAW,EACT,8KAA8K;QAChL,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oBAAoB,EAAE;gBAC/D,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2BAA2B,EAAE;gBAClE,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,wCAAwC;iBACtD;gBACD,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpC,eAAe,EAAE;oBACf,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,yGAAyG;iBAC5G;gBACD,eAAe,EAAE;oBACf,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,mDAAmD;iBACjE;gBACD,cAAc,EAAE;oBACd,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC;oBAChC,WAAW,EACT,8DAA8D;iBACjE;aACF;YACD,QAAQ,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,iBAAiB,CAAC;SAChE;KACF;IAED,qBAAqB,EAAE;QACrB,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EAAE;YACX,KAAK,EAAE,uBAAuB;YAC9B,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,IAAI;YACrB,aAAa,EAAE,KAAK;SACrB;QACD,WAAW,EACT,mQAAmQ;QACrQ,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oBAAoB,EAAE;gBAC/D,MAAM,EAAE;oBACN,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,gCAAgC;iBAC9C;gBACD,YAAY,EAAE;oBACZ,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,kEAAkE;iBACrE;gBACD,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE;gBAC1D,eAAe,EAAE;oBACf,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,4DAA4D;iBAC/D;gBACD,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC9B,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpC,eAAe,EAAE;oBACf,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,wCAAwC;iBACtD;aACF;YACD,QAAQ,EAAE,CAAC,UAAU,CAAC;SACvB;KACF;IAED,qBAAqB,EAAE;QACrB,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EAAE;YACX,KAAK,EAAE,uBAAuB;YAC9B,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,IAAI;YACrB,aAAa,EAAE,KAAK;SACrB;QACD,WAAW,EACT,gFAAgF;QAClF,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oBAAoB,EAAE;aAChE;YACD,QAAQ,EAAE,CAAC,UAAU,CAAC;SACvB;KACF;IAED,4BAA4B,EAAE;QAC5B,IAAI,EAAE,8BAA8B;QACpC,WAAW,EAAE;YACX,KAAK,EAAE,8BAA8B;YACrC,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,IAAI;YACrB,aAAa,EAAE,KAAK;SACrB;QACD,WAAW,EACT,0OAA0O;QAC5O,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oBAAoB,EAAE;gBAC/D,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,gCAAgC;iBAC9C;aACF;YACD,QAAQ,EAAE,CAAC,UAAU,EAAE,YAAY,CAAC;SACrC;KACF;IAED,eAAe,EAAE;QACf,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE;YACX,KAAK,EAAE,iBAAiB;YACxB,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,aAAa,EAAE,KAAK;SACrB;QACD,WAAW,EACT,wGAAwG;QAC1G,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oBAAoB,EAAE;gBAC/D,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,4CAA4C;iBAC1D;aACF;YACD,QAAQ,EAAE,CAAC,UAAU,CAAC;SACvB;KACF;CACF,CAAC;AAEF,+CAA+C;AAC/C,WAAW;AACX,+CAA+C"}
@@ -0,0 +1,228 @@
1
+ /**
2
+ * GitHub MCP Integration Tools
3
+ *
4
+ * Phase 1, Task 1.1: Connect GitHub MCP Server to Dobby.
5
+ * Provides tools for code management, PR automation, and CI/CD monitoring
6
+ * through the official GitHub MCP Server (ghcr.io/github/github-mcp-server).
7
+ */
8
+ export declare const githubMcpTools: {
9
+ github_search_code: {
10
+ name: string;
11
+ annotations: {
12
+ title: string;
13
+ readOnlyHint: boolean;
14
+ destructiveHint: boolean;
15
+ openWorldHint: boolean;
16
+ };
17
+ description: string;
18
+ inputSchema: {
19
+ type: "object";
20
+ properties: {
21
+ query: {
22
+ type: string;
23
+ description: string;
24
+ };
25
+ repo: {
26
+ type: string;
27
+ description: string;
28
+ };
29
+ language: {
30
+ type: string;
31
+ description: string;
32
+ };
33
+ };
34
+ required: string[];
35
+ };
36
+ };
37
+ github_get_file: {
38
+ name: string;
39
+ annotations: {
40
+ title: string;
41
+ readOnlyHint: boolean;
42
+ destructiveHint: boolean;
43
+ openWorldHint: boolean;
44
+ };
45
+ description: string;
46
+ inputSchema: {
47
+ type: "object";
48
+ properties: {
49
+ repo: {
50
+ type: string;
51
+ description: string;
52
+ };
53
+ path: {
54
+ type: string;
55
+ description: string;
56
+ };
57
+ branch: {
58
+ type: string;
59
+ description: string;
60
+ };
61
+ };
62
+ required: string[];
63
+ };
64
+ };
65
+ github_create_pr: {
66
+ name: string;
67
+ annotations: {
68
+ title: string;
69
+ readOnlyHint: boolean;
70
+ destructiveHint: boolean;
71
+ openWorldHint: boolean;
72
+ };
73
+ description: string;
74
+ inputSchema: {
75
+ type: "object";
76
+ properties: {
77
+ repo: {
78
+ type: string;
79
+ description: string;
80
+ };
81
+ title: {
82
+ type: string;
83
+ description: string;
84
+ };
85
+ body: {
86
+ type: string;
87
+ description: string;
88
+ };
89
+ head: {
90
+ type: string;
91
+ description: string;
92
+ };
93
+ base: {
94
+ type: string;
95
+ description: string;
96
+ };
97
+ };
98
+ required: string[];
99
+ };
100
+ };
101
+ github_list_prs: {
102
+ name: string;
103
+ annotations: {
104
+ title: string;
105
+ readOnlyHint: boolean;
106
+ destructiveHint: boolean;
107
+ openWorldHint: boolean;
108
+ };
109
+ description: string;
110
+ inputSchema: {
111
+ type: "object";
112
+ properties: {
113
+ repo: {
114
+ type: string;
115
+ description: string;
116
+ };
117
+ state: {
118
+ type: string;
119
+ enum: string[];
120
+ description: string;
121
+ };
122
+ limit: {
123
+ type: string;
124
+ description: string;
125
+ };
126
+ };
127
+ required: string[];
128
+ };
129
+ };
130
+ github_list_issues: {
131
+ name: string;
132
+ annotations: {
133
+ title: string;
134
+ readOnlyHint: boolean;
135
+ destructiveHint: boolean;
136
+ openWorldHint: boolean;
137
+ };
138
+ description: string;
139
+ inputSchema: {
140
+ type: "object";
141
+ properties: {
142
+ repo: {
143
+ type: string;
144
+ description: string;
145
+ };
146
+ state: {
147
+ type: string;
148
+ enum: string[];
149
+ description: string;
150
+ };
151
+ labels: {
152
+ type: string;
153
+ description: string;
154
+ };
155
+ limit: {
156
+ type: string;
157
+ description: string;
158
+ };
159
+ };
160
+ required: string[];
161
+ };
162
+ };
163
+ github_create_issue: {
164
+ name: string;
165
+ annotations: {
166
+ title: string;
167
+ readOnlyHint: boolean;
168
+ destructiveHint: boolean;
169
+ openWorldHint: boolean;
170
+ };
171
+ description: string;
172
+ inputSchema: {
173
+ type: "object";
174
+ properties: {
175
+ repo: {
176
+ type: string;
177
+ description: string;
178
+ };
179
+ title: {
180
+ type: string;
181
+ description: string;
182
+ };
183
+ body: {
184
+ type: string;
185
+ description: string;
186
+ };
187
+ labels: {
188
+ type: string;
189
+ items: {
190
+ type: string;
191
+ };
192
+ description: string;
193
+ };
194
+ };
195
+ required: string[];
196
+ };
197
+ };
198
+ github_get_workflow_runs: {
199
+ name: string;
200
+ annotations: {
201
+ title: string;
202
+ readOnlyHint: boolean;
203
+ destructiveHint: boolean;
204
+ openWorldHint: boolean;
205
+ };
206
+ description: string;
207
+ inputSchema: {
208
+ type: "object";
209
+ properties: {
210
+ repo: {
211
+ type: string;
212
+ description: string;
213
+ };
214
+ status: {
215
+ type: string;
216
+ enum: string[];
217
+ description: string;
218
+ };
219
+ limit: {
220
+ type: string;
221
+ description: string;
222
+ };
223
+ };
224
+ required: string[];
225
+ };
226
+ };
227
+ };
228
+ //# sourceMappingURL=github-mcp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"github-mcp.d.ts","sourceRoot":"","sources":["../../src/tools/github-mcp.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+N1B,CAAC"}