@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,235 @@
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
+ // ============================================
9
+ // Tool Definitions
10
+ // ============================================
11
+ export const githubMcpTools = {
12
+ github_search_code: {
13
+ name: 'github_search_code',
14
+ annotations: {
15
+ title: 'GitHub Search Code',
16
+ readOnlyHint: true,
17
+ destructiveHint: false,
18
+ openWorldHint: false,
19
+ },
20
+ description: 'Search for code across GitHub repositories using the GitHub MCP Server. Returns matching files and code snippets.',
21
+ inputSchema: {
22
+ type: 'object',
23
+ properties: {
24
+ query: {
25
+ type: 'string',
26
+ description: 'Search query (e.g., "authentication middleware", "BigQuery parameterized query")',
27
+ },
28
+ repo: {
29
+ type: 'string',
30
+ description: 'Optional: Limit search to a specific repo (e.g., "gil-dobby/repo-dobby")',
31
+ },
32
+ language: {
33
+ type: 'string',
34
+ description: 'Optional: Filter by language (e.g., "typescript", "python")',
35
+ },
36
+ },
37
+ required: ['query'],
38
+ },
39
+ },
40
+ github_get_file: {
41
+ name: 'github_get_file',
42
+ annotations: {
43
+ title: 'GitHub Get File',
44
+ readOnlyHint: true,
45
+ destructiveHint: false,
46
+ openWorldHint: false,
47
+ },
48
+ description: 'Read a file from a GitHub repository. Returns file content.',
49
+ inputSchema: {
50
+ type: 'object',
51
+ properties: {
52
+ repo: {
53
+ type: 'string',
54
+ description: 'Repository in format "owner/repo" (e.g., "gil-dobby/repo-dobby")',
55
+ },
56
+ path: {
57
+ type: 'string',
58
+ description: 'File path within the repo (e.g., "web/shared/lib/gateway/auth.ts")',
59
+ },
60
+ branch: {
61
+ type: 'string',
62
+ description: 'Optional: Branch name (default: main)',
63
+ },
64
+ },
65
+ required: ['repo', 'path'],
66
+ },
67
+ },
68
+ github_create_pr: {
69
+ name: 'github_create_pr',
70
+ annotations: {
71
+ title: 'GitHub Create PR',
72
+ readOnlyHint: false,
73
+ destructiveHint: true,
74
+ openWorldHint: false,
75
+ },
76
+ description: 'Create a Pull Request on GitHub. Requires an existing branch with commits.',
77
+ inputSchema: {
78
+ type: 'object',
79
+ properties: {
80
+ repo: {
81
+ type: 'string',
82
+ description: 'Repository in format "owner/repo"',
83
+ },
84
+ title: {
85
+ type: 'string',
86
+ description: 'PR title',
87
+ },
88
+ body: {
89
+ type: 'string',
90
+ description: 'PR description in markdown',
91
+ },
92
+ head: {
93
+ type: 'string',
94
+ description: 'Source branch name',
95
+ },
96
+ base: {
97
+ type: 'string',
98
+ description: 'Target branch (default: main)',
99
+ },
100
+ },
101
+ required: ['repo', 'title', 'head'],
102
+ },
103
+ },
104
+ github_list_prs: {
105
+ name: 'github_list_prs',
106
+ annotations: {
107
+ title: 'GitHub List PRs',
108
+ readOnlyHint: true,
109
+ destructiveHint: false,
110
+ openWorldHint: false,
111
+ },
112
+ description: 'List Pull Requests for a repository with optional filters.',
113
+ inputSchema: {
114
+ type: 'object',
115
+ properties: {
116
+ repo: {
117
+ type: 'string',
118
+ description: 'Repository in format "owner/repo"',
119
+ },
120
+ state: {
121
+ type: 'string',
122
+ enum: ['open', 'closed', 'all'],
123
+ description: 'Filter by PR state (default: open)',
124
+ },
125
+ limit: {
126
+ type: 'number',
127
+ description: 'Maximum number of PRs to return (default: 10)',
128
+ },
129
+ },
130
+ required: ['repo'],
131
+ },
132
+ },
133
+ github_list_issues: {
134
+ name: 'github_list_issues',
135
+ annotations: {
136
+ title: 'GitHub List Issues',
137
+ readOnlyHint: true,
138
+ destructiveHint: false,
139
+ openWorldHint: false,
140
+ },
141
+ description: 'List issues for a repository with optional filters.',
142
+ inputSchema: {
143
+ type: 'object',
144
+ properties: {
145
+ repo: {
146
+ type: 'string',
147
+ description: 'Repository in format "owner/repo"',
148
+ },
149
+ state: {
150
+ type: 'string',
151
+ enum: ['open', 'closed', 'all'],
152
+ description: 'Filter by issue state (default: open)',
153
+ },
154
+ labels: {
155
+ type: 'string',
156
+ description: 'Comma-separated label names to filter by',
157
+ },
158
+ limit: {
159
+ type: 'number',
160
+ description: 'Maximum number of issues to return (default: 10)',
161
+ },
162
+ },
163
+ required: ['repo'],
164
+ },
165
+ },
166
+ github_create_issue: {
167
+ name: 'github_create_issue',
168
+ annotations: {
169
+ title: 'GitHub Create Issue',
170
+ readOnlyHint: false,
171
+ destructiveHint: true,
172
+ openWorldHint: false,
173
+ },
174
+ description: 'Create a new issue on a GitHub repository.',
175
+ inputSchema: {
176
+ type: 'object',
177
+ properties: {
178
+ repo: {
179
+ type: 'string',
180
+ description: 'Repository in format "owner/repo"',
181
+ },
182
+ title: {
183
+ type: 'string',
184
+ description: 'Issue title',
185
+ },
186
+ body: {
187
+ type: 'string',
188
+ description: 'Issue body in markdown',
189
+ },
190
+ labels: {
191
+ type: 'array',
192
+ items: { type: 'string' },
193
+ description: 'Labels to add',
194
+ },
195
+ },
196
+ required: ['repo', 'title'],
197
+ },
198
+ },
199
+ github_get_workflow_runs: {
200
+ name: 'github_get_workflow_runs',
201
+ annotations: {
202
+ title: 'GitHub Workflow Runs',
203
+ readOnlyHint: true,
204
+ destructiveHint: false,
205
+ openWorldHint: false,
206
+ },
207
+ description: 'List recent GitHub Actions workflow runs for CI/CD monitoring.',
208
+ inputSchema: {
209
+ type: 'object',
210
+ properties: {
211
+ repo: {
212
+ type: 'string',
213
+ description: 'Repository in format "owner/repo"',
214
+ },
215
+ status: {
216
+ type: 'string',
217
+ enum: ['completed', 'in_progress', 'queued', 'failure', 'success'],
218
+ description: 'Filter by run status',
219
+ },
220
+ limit: {
221
+ type: 'number',
222
+ description: 'Maximum number of runs to return (default: 5)',
223
+ },
224
+ },
225
+ required: ['repo'],
226
+ },
227
+ },
228
+ };
229
+ // ============================================
230
+ // GitHub API Helper
231
+ // ============================================
232
+ // ============================================
233
+ // Tool Handlers
234
+ // ============================================
235
+ //# sourceMappingURL=github-mcp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"github-mcp.js","sourceRoot":"","sources":["../../src/tools/github-mcp.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,+CAA+C;AAC/C,mBAAmB;AACnB,+CAA+C;AAE/C,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,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,mHAAmH;QAChI,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,kFAAkF;iBAChG;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,0EAA0E;iBACxF;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,6DAA6D;iBAC3E;aACF;YACD,QAAQ,EAAE,CAAC,OAAO,CAAC;SACpB;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,EAAE,6DAA6D;QAC1E,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,kEAAkE;iBAChF;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,oEAAoE;iBAClF;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,uCAAuC;iBACrD;aACF;YACD,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;SAC3B;KACF;IAED,gBAAgB,EAAE;QAChB,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE;YACX,KAAK,EAAE,kBAAkB;YACzB,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,IAAI;YACrB,aAAa,EAAE,KAAK;SACrB;QACD,WAAW,EAAE,4EAA4E;QACzF,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,mCAAmC;iBACjD;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,UAAU;iBACxB;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,4BAA4B;iBAC1C;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,oBAAoB;iBAClC;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,+BAA+B;iBAC7C;aACF;YACD,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC;SACpC;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,EAAE,4DAA4D;QACzE,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,mCAAmC;iBACjD;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC;oBAC/B,WAAW,EAAE,oCAAoC;iBAClD;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,+CAA+C;iBAC7D;aACF;YACD,QAAQ,EAAE,CAAC,MAAM,CAAC;SACnB;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,qDAAqD;QAClE,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,mCAAmC;iBACjD;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC;oBAC/B,WAAW,EAAE,uCAAuC;iBACrD;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,0CAA0C;iBACxD;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,kDAAkD;iBAChE;aACF;YACD,QAAQ,EAAE,CAAC,MAAM,CAAC;SACnB;KACF;IAED,mBAAmB,EAAE;QACnB,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE;YACX,KAAK,EAAE,qBAAqB;YAC5B,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,IAAI;YACrB,aAAa,EAAE,KAAK;SACrB;QACD,WAAW,EAAE,4CAA4C;QACzD,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,mCAAmC;iBACjD;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,aAAa;iBAC3B;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,wBAAwB;iBACtC;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,WAAW,EAAE,eAAe;iBAC7B;aACF;YACD,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;SAC5B;KACF;IAED,wBAAwB,EAAE;QACxB,IAAI,EAAE,0BAA0B;QAChC,WAAW,EAAE;YACX,KAAK,EAAE,sBAAsB;YAC7B,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,aAAa,EAAE,KAAK;SACrB;QACD,WAAW,EAAE,gEAAgE;QAC7E,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,mCAAmC;iBACjD;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC;oBAClE,WAAW,EAAE,sBAAsB;iBACpC;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,+CAA+C;iBAC7D;aACF;YACD,QAAQ,EAAE,CAAC,MAAM,CAAC;SACnB;KACF;CACF,CAAC;AAEF,+CAA+C;AAC/C,oBAAoB;AACpB,+CAA+C;AAI/C,+CAA+C;AAC/C,gBAAgB;AAChB,+CAA+C"}
@@ -0,0 +1,273 @@
1
+ /**
2
+ * Governance MCP Tools
3
+ *
4
+ * Policy-as-Code operations via MCP for Claude Desktop/Cursor/VS Code users.
5
+ * 6 tools:
6
+ * 1. export_policies — Export org governance policies as YAML/JSON
7
+ * 2. import_policies — Import policies from YAML/JSON
8
+ * 3. validate_policies — Dry-run validate a policy document
9
+ * 4. apply_guardrail — Apply a guardrail template to an org
10
+ * 5. create_policy — Create a rule-based/keyword policy at Org/Tenant/Process layer
11
+ * 6. list_policies — List policies visible to a tenant
12
+ *
13
+ * create_policy/list_policies definitions are kept byte-identical to
14
+ * @dobbyai/capability-core's governanceCapabilities entries of the same id
15
+ * (description/inputSchema/annotations) — see
16
+ * packages/capability-core/src/capabilities/governance.ts. Do not edit one
17
+ * without the other.
18
+ */
19
+ export declare const governanceTools: {
20
+ export_policies: {
21
+ name: string;
22
+ annotations: {
23
+ title: string;
24
+ readOnlyHint: boolean;
25
+ destructiveHint: boolean;
26
+ openWorldHint: boolean;
27
+ };
28
+ description: string;
29
+ inputSchema: {
30
+ type: "object";
31
+ properties: {
32
+ organization_id: {
33
+ type: string;
34
+ description: string;
35
+ };
36
+ format: {
37
+ type: string;
38
+ enum: string[];
39
+ description: string;
40
+ default: string;
41
+ };
42
+ };
43
+ required: string[];
44
+ };
45
+ };
46
+ import_policies: {
47
+ name: string;
48
+ annotations: {
49
+ title: string;
50
+ readOnlyHint: boolean;
51
+ destructiveHint: boolean;
52
+ openWorldHint: boolean;
53
+ };
54
+ description: string;
55
+ inputSchema: {
56
+ type: "object";
57
+ properties: {
58
+ organization_id: {
59
+ type: string;
60
+ description: string;
61
+ };
62
+ content: {
63
+ type: string;
64
+ description: string;
65
+ };
66
+ };
67
+ required: string[];
68
+ };
69
+ };
70
+ validate_policies: {
71
+ name: string;
72
+ annotations: {
73
+ title: string;
74
+ readOnlyHint: boolean;
75
+ destructiveHint: boolean;
76
+ openWorldHint: boolean;
77
+ };
78
+ description: string;
79
+ inputSchema: {
80
+ type: "object";
81
+ properties: {
82
+ organization_id: {
83
+ type: string;
84
+ description: string;
85
+ };
86
+ content: {
87
+ type: string;
88
+ description: string;
89
+ };
90
+ };
91
+ required: string[];
92
+ };
93
+ };
94
+ apply_guardrail: {
95
+ name: string;
96
+ annotations: {
97
+ title: string;
98
+ readOnlyHint: boolean;
99
+ destructiveHint: boolean;
100
+ openWorldHint: boolean;
101
+ };
102
+ description: string;
103
+ inputSchema: {
104
+ type: "object";
105
+ properties: {
106
+ organization_id: {
107
+ type: string;
108
+ description: string;
109
+ };
110
+ template: {
111
+ type: string;
112
+ enum: string[];
113
+ description: string;
114
+ };
115
+ };
116
+ required: string[];
117
+ };
118
+ };
119
+ create_policy: {
120
+ name: string;
121
+ annotations: {
122
+ title: string;
123
+ readOnlyHint: boolean;
124
+ destructiveHint: boolean;
125
+ openWorldHint: boolean;
126
+ };
127
+ description: string;
128
+ inputSchema: {
129
+ type: "object";
130
+ properties: {
131
+ tenant_id: {
132
+ type: string;
133
+ description: string;
134
+ };
135
+ layer: {
136
+ type: string;
137
+ enum: number[];
138
+ description: string;
139
+ };
140
+ scope_id: {
141
+ type: string;
142
+ description: string;
143
+ };
144
+ text: {
145
+ type: string;
146
+ minLength: number;
147
+ maxLength: number;
148
+ description: string;
149
+ };
150
+ severity: {
151
+ type: string;
152
+ enum: string[];
153
+ description: string;
154
+ };
155
+ is_active: {
156
+ type: string;
157
+ description: string;
158
+ };
159
+ };
160
+ required: string[];
161
+ };
162
+ };
163
+ list_policies: {
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
+ tenant_id: {
176
+ type: string;
177
+ description: string;
178
+ };
179
+ };
180
+ required: string[];
181
+ };
182
+ };
183
+ update_policy: {
184
+ name: string;
185
+ annotations: {
186
+ title: string;
187
+ readOnlyHint: boolean;
188
+ destructiveHint: boolean;
189
+ openWorldHint: boolean;
190
+ };
191
+ description: string;
192
+ inputSchema: {
193
+ type: "object";
194
+ properties: {
195
+ tenant_id: {
196
+ type: string;
197
+ description: string;
198
+ };
199
+ policy_id: {
200
+ type: string;
201
+ description: string;
202
+ };
203
+ text: {
204
+ type: string;
205
+ minLength: number;
206
+ maxLength: number;
207
+ description: string;
208
+ };
209
+ severity: {
210
+ type: string;
211
+ enum: string[];
212
+ description: string;
213
+ };
214
+ is_active: {
215
+ type: string;
216
+ description: string;
217
+ };
218
+ };
219
+ required: string[];
220
+ };
221
+ };
222
+ delete_policy: {
223
+ name: string;
224
+ annotations: {
225
+ title: string;
226
+ readOnlyHint: boolean;
227
+ destructiveHint: boolean;
228
+ openWorldHint: boolean;
229
+ };
230
+ description: string;
231
+ inputSchema: {
232
+ type: "object";
233
+ properties: {
234
+ tenant_id: {
235
+ type: string;
236
+ description: string;
237
+ };
238
+ policy_id: {
239
+ type: string;
240
+ description: string;
241
+ };
242
+ };
243
+ required: string[];
244
+ };
245
+ };
246
+ test_policy: {
247
+ name: string;
248
+ annotations: {
249
+ title: string;
250
+ readOnlyHint: boolean;
251
+ destructiveHint: boolean;
252
+ openWorldHint: boolean;
253
+ };
254
+ description: string;
255
+ inputSchema: {
256
+ type: "object";
257
+ properties: {
258
+ tenant_id: {
259
+ type: string;
260
+ description: string;
261
+ };
262
+ sample_text: {
263
+ type: string;
264
+ minLength: number;
265
+ maxLength: number;
266
+ description: string;
267
+ };
268
+ };
269
+ required: string[];
270
+ };
271
+ };
272
+ };
273
+ //# sourceMappingURL=governance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"governance.d.ts","sourceRoot":"","sources":["../../src/tools/governance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAMH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2R3B,CAAC"}