@hailer/mcp 1.1.15 → 1.1.17-beta.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 (768) hide show
  1. package/.claude/CLAUDE.md +117 -320
  2. package/.claude/commands/app-squad.md +86 -90
  3. package/.claude/commands/audit-squad.md +19 -19
  4. package/.claude/commands/autoplan.md +3 -3
  5. package/.claude/commands/cleanup-squad.md +16 -16
  6. package/.claude/commands/config-squad.md +30 -30
  7. package/.claude/commands/crud-squad.md +23 -23
  8. package/.claude/commands/data-squad.md +21 -21
  9. package/.claude/commands/debug-squad.md +44 -44
  10. package/.claude/commands/doc-squad.md +16 -16
  11. package/.claude/commands/help:agents.md +130 -99
  12. package/.claude/commands/help:commands.md +15 -15
  13. package/.claude/commands/help:faq.md +17 -17
  14. package/.claude/commands/help:plugins.md +1 -1
  15. package/.claude/commands/help:skills.md +18 -24
  16. package/.claude/commands/hotfix-squad.md +22 -22
  17. package/.claude/commands/integration-squad.md +22 -22
  18. package/.claude/commands/janitor-squad.md +31 -31
  19. package/.claude/commands/learn-auto.md +5 -5
  20. package/.claude/commands/learn.md +12 -20
  21. package/.claude/commands/onboard-squad.md +39 -49
  22. package/.claude/commands/plan-workspace.md +2 -2
  23. package/.claude/commands/publish.md +32 -37
  24. package/.claude/commands/review-squad.md +27 -27
  25. package/.claude/commands/stats.md +26 -12
  26. package/.claude/commands/swarm.md +25 -25
  27. package/.claude/skills/chrome-mcp-reference/SKILL.md +5 -0
  28. package/.claude/skills/hailer-api-client/SKILL.md +55 -16
  29. package/.claude/skills/hailer-app-builder/SKILL.md +4 -270
  30. package/.claude/skills/hailer-apps-pictures/SKILL.md +3 -3
  31. package/.claude/skills/hailer-design-system/SKILL.md +96 -4
  32. package/.claude/skills/hailer-monolith-automations/SKILL.md +138 -116
  33. package/.claude/skills/hailer-permissions-system/SKILL.md +6 -9
  34. package/.claude/skills/hailer-project-protocol/SKILL.md +20 -110
  35. package/.claude/skills/integration-patterns/SKILL.md +6 -6
  36. package/.claude/skills/lsp-setup/SKILL.md +8 -9
  37. package/.claude/skills/sdk-activity-patterns/SKILL.md +238 -0
  38. package/.claude/skills/{SDK-document-templates → sdk-document-templates}/SKILL.md +13 -340
  39. package/.claude/skills/{SDK-function-fields → sdk-function-fields}/SKILL.md +8 -40
  40. package/.claude/skills/{SDK-insight-queries → sdk-insight-queries}/SKILL.md +114 -392
  41. package/.claude/skills/{SDK-ws-config-skill → sdk-ws-config-skill}/SKILL.md +79 -310
  42. package/.claude/skills/zapier-hailer-patterns/SKILL.md +84 -361
  43. package/.opencode/package-lock.json +117 -0
  44. package/CLAUDE.md +5 -358
  45. package/dist/agents/bot-manager.d.ts +48 -0
  46. package/dist/agents/bot-manager.d.ts.map +1 -0
  47. package/dist/agents/bot-manager.js +254 -0
  48. package/dist/agents/bot-manager.js.map +1 -0
  49. package/dist/agents/bug-fixer/ai.d.ts +80 -0
  50. package/dist/agents/bug-fixer/ai.d.ts.map +1 -0
  51. package/dist/agents/bug-fixer/ai.js +466 -0
  52. package/dist/agents/bug-fixer/ai.js.map +1 -0
  53. package/dist/agents/bug-fixer/bot.d.ts +92 -0
  54. package/dist/agents/bug-fixer/bot.d.ts.map +1 -0
  55. package/dist/agents/bug-fixer/bot.js +687 -0
  56. package/dist/agents/bug-fixer/bot.js.map +1 -0
  57. package/dist/agents/bug-fixer/config.d.ts +21 -0
  58. package/dist/agents/bug-fixer/config.d.ts.map +1 -0
  59. package/dist/agents/bug-fixer/config.js +218 -0
  60. package/dist/agents/bug-fixer/config.js.map +1 -0
  61. package/dist/agents/bug-fixer/files.d.ts +67 -0
  62. package/dist/agents/bug-fixer/files.d.ts.map +1 -0
  63. package/dist/agents/bug-fixer/files.js +386 -0
  64. package/dist/agents/bug-fixer/files.js.map +1 -0
  65. package/dist/agents/bug-fixer/git.d.ts +48 -0
  66. package/dist/agents/bug-fixer/git.d.ts.map +1 -0
  67. package/dist/agents/bug-fixer/git.js +298 -0
  68. package/dist/agents/bug-fixer/git.js.map +1 -0
  69. package/dist/agents/bug-fixer/index.d.ts +103 -0
  70. package/dist/agents/bug-fixer/index.d.ts.map +1 -0
  71. package/dist/agents/bug-fixer/index.js +262 -0
  72. package/dist/agents/bug-fixer/index.js.map +1 -0
  73. package/dist/agents/bug-fixer/lsp.d.ts +113 -0
  74. package/dist/agents/bug-fixer/lsp.d.ts.map +1 -0
  75. package/dist/agents/bug-fixer/lsp.js +485 -0
  76. package/dist/agents/bug-fixer/lsp.js.map +1 -0
  77. package/dist/agents/bug-fixer/monitor.d.ts +123 -0
  78. package/dist/agents/bug-fixer/monitor.d.ts.map +1 -0
  79. package/dist/agents/bug-fixer/monitor.js +629 -0
  80. package/dist/agents/bug-fixer/monitor.js.map +1 -0
  81. package/dist/agents/bug-fixer/prompt.d.ts +5 -0
  82. package/dist/agents/bug-fixer/prompt.d.ts.map +1 -0
  83. package/dist/agents/bug-fixer/prompt.js +94 -0
  84. package/dist/agents/bug-fixer/prompt.js.map +1 -0
  85. package/dist/agents/bug-fixer/registries/pending-classification.d.ts +28 -0
  86. package/dist/agents/bug-fixer/registries/pending-classification.d.ts.map +1 -0
  87. package/dist/agents/bug-fixer/registries/pending-classification.js +50 -0
  88. package/dist/agents/bug-fixer/registries/pending-classification.js.map +1 -0
  89. package/dist/agents/bug-fixer/registries/pending-fix.d.ts +33 -0
  90. package/dist/agents/bug-fixer/registries/pending-fix.d.ts.map +1 -0
  91. package/dist/agents/bug-fixer/registries/pending-fix.js +64 -0
  92. package/dist/agents/bug-fixer/registries/pending-fix.js.map +1 -0
  93. package/dist/agents/bug-fixer/registries/pending.d.ts +27 -0
  94. package/dist/agents/bug-fixer/registries/pending.d.ts.map +1 -0
  95. package/dist/agents/bug-fixer/registries/pending.js +49 -0
  96. package/dist/agents/bug-fixer/registries/pending.js.map +1 -0
  97. package/dist/agents/bug-fixer/specialist-daemon.d.ts +88 -0
  98. package/dist/agents/bug-fixer/specialist-daemon.d.ts.map +1 -0
  99. package/dist/agents/bug-fixer/specialist-daemon.js +431 -0
  100. package/dist/agents/bug-fixer/specialist-daemon.js.map +1 -0
  101. package/dist/agents/bug-fixer/specialist.d.ts +47 -0
  102. package/dist/agents/bug-fixer/specialist.d.ts.map +1 -0
  103. package/dist/agents/bug-fixer/specialist.js +327 -0
  104. package/dist/agents/bug-fixer/specialist.js.map +1 -0
  105. package/dist/agents/bug-fixer/types.d.ts +123 -0
  106. package/dist/agents/bug-fixer/types.d.ts.map +1 -0
  107. package/dist/agents/bug-fixer/types.js +9 -0
  108. package/dist/agents/bug-fixer/types.js.map +1 -0
  109. package/dist/agents/factory.d.ts +172 -0
  110. package/dist/agents/factory.d.ts.map +1 -0
  111. package/dist/agents/factory.js +706 -0
  112. package/dist/agents/factory.js.map +1 -0
  113. package/dist/agents/hailer-expert/index.d.ts +8 -0
  114. package/dist/agents/hailer-expert/index.d.ts.map +1 -0
  115. package/dist/agents/hailer-expert/index.js +14 -0
  116. package/dist/agents/hailer-expert/index.js.map +1 -0
  117. package/dist/agents/hal/daemon.d.ts +174 -0
  118. package/dist/agents/hal/daemon.d.ts.map +1 -0
  119. package/dist/agents/hal/daemon.js +1385 -0
  120. package/dist/agents/hal/daemon.js.map +1 -0
  121. package/dist/agents/hal/definitions.d.ts +42 -0
  122. package/dist/agents/hal/definitions.d.ts.map +1 -0
  123. package/dist/agents/hal/definitions.js +300 -0
  124. package/dist/agents/hal/definitions.js.map +1 -0
  125. package/dist/agents/hal/index.d.ts +3 -0
  126. package/dist/agents/hal/index.d.ts.map +1 -0
  127. package/dist/agents/hal/index.js +8 -0
  128. package/dist/agents/hal/index.js.map +1 -0
  129. package/dist/agents/index.d.ts +18 -0
  130. package/dist/agents/index.d.ts.map +1 -0
  131. package/dist/agents/index.js +48 -0
  132. package/dist/agents/index.js.map +1 -0
  133. package/dist/agents/shared/base.d.ts +253 -0
  134. package/dist/agents/shared/base.d.ts.map +1 -0
  135. package/dist/agents/shared/base.js +1122 -0
  136. package/dist/agents/shared/base.js.map +1 -0
  137. package/dist/agents/shared/schemas/action-schema.d.ts +62 -0
  138. package/dist/agents/shared/schemas/action-schema.d.ts.map +1 -0
  139. package/dist/agents/shared/schemas/action-schema.js +483 -0
  140. package/dist/agents/shared/schemas/action-schema.js.map +1 -0
  141. package/dist/agents/shared/services/agent-registry.d.ts +108 -0
  142. package/dist/agents/shared/services/agent-registry.d.ts.map +1 -0
  143. package/dist/agents/shared/services/agent-registry.js +469 -0
  144. package/dist/agents/shared/services/agent-registry.js.map +1 -0
  145. package/dist/agents/shared/services/conversation-manager.d.ts +57 -0
  146. package/dist/agents/shared/services/conversation-manager.d.ts.map +1 -0
  147. package/dist/agents/shared/services/conversation-manager.js +168 -0
  148. package/dist/agents/shared/services/conversation-manager.js.map +1 -0
  149. package/dist/agents/shared/services/mcp-client.d.ts +56 -0
  150. package/dist/agents/shared/services/mcp-client.d.ts.map +1 -0
  151. package/dist/agents/shared/services/mcp-client.js +124 -0
  152. package/dist/agents/shared/services/mcp-client.js.map +1 -0
  153. package/dist/agents/shared/services/message-classifier.d.ts +37 -0
  154. package/dist/agents/shared/services/message-classifier.d.ts.map +1 -0
  155. package/dist/agents/shared/services/message-classifier.js +203 -0
  156. package/dist/agents/shared/services/message-classifier.js.map +1 -0
  157. package/dist/agents/shared/services/message-formatter.d.ts +89 -0
  158. package/dist/agents/shared/services/message-formatter.d.ts.map +1 -0
  159. package/dist/agents/shared/services/message-formatter.js +390 -0
  160. package/dist/agents/shared/services/message-formatter.js.map +1 -0
  161. package/dist/agents/shared/services/session-logger.d.ts +162 -0
  162. package/dist/agents/shared/services/session-logger.d.ts.map +1 -0
  163. package/dist/agents/shared/services/session-logger.js +724 -0
  164. package/dist/agents/shared/services/session-logger.js.map +1 -0
  165. package/dist/agents/shared/services/structured-output-executor.d.ts +88 -0
  166. package/dist/agents/shared/services/structured-output-executor.d.ts.map +1 -0
  167. package/dist/agents/shared/services/structured-output-executor.js +296 -0
  168. package/dist/agents/shared/services/structured-output-executor.js.map +1 -0
  169. package/dist/agents/shared/services/token-billing.d.ts +72 -0
  170. package/dist/agents/shared/services/token-billing.d.ts.map +1 -0
  171. package/dist/agents/shared/services/token-billing.js +198 -0
  172. package/dist/agents/shared/services/token-billing.js.map +1 -0
  173. package/dist/agents/shared/services/tool-executor.d.ts +43 -0
  174. package/dist/agents/shared/services/tool-executor.d.ts.map +1 -0
  175. package/dist/agents/shared/services/tool-executor.js +175 -0
  176. package/dist/agents/shared/services/tool-executor.js.map +1 -0
  177. package/dist/agents/shared/services/typing-indicator.d.ts +24 -0
  178. package/dist/agents/shared/services/typing-indicator.d.ts.map +1 -0
  179. package/dist/agents/shared/services/typing-indicator.js +54 -0
  180. package/dist/agents/shared/services/typing-indicator.js.map +1 -0
  181. package/dist/agents/shared/services/workspace-schema-cache.d.ts +122 -0
  182. package/dist/agents/shared/services/workspace-schema-cache.d.ts.map +1 -0
  183. package/dist/agents/shared/services/workspace-schema-cache.js +507 -0
  184. package/dist/agents/shared/services/workspace-schema-cache.js.map +1 -0
  185. package/dist/agents/shared/specialist.d.ts +91 -0
  186. package/dist/agents/shared/specialist.d.ts.map +1 -0
  187. package/dist/agents/shared/specialist.js +399 -0
  188. package/dist/agents/shared/specialist.js.map +1 -0
  189. package/dist/agents/shared/tool-schema-loader.d.ts +65 -0
  190. package/dist/agents/shared/tool-schema-loader.d.ts.map +1 -0
  191. package/dist/agents/shared/tool-schema-loader.js +238 -0
  192. package/dist/agents/shared/tool-schema-loader.js.map +1 -0
  193. package/dist/agents/shared/types.d.ts +190 -0
  194. package/dist/agents/shared/types.d.ts.map +1 -0
  195. package/dist/agents/shared/types.js +13 -0
  196. package/dist/agents/shared/types.js.map +1 -0
  197. package/dist/app.d.ts.map +1 -0
  198. package/dist/app.js +10 -127
  199. package/dist/app.js.map +1 -0
  200. package/dist/bot/bot-config.d.ts.map +1 -0
  201. package/dist/bot/bot-config.js.map +1 -0
  202. package/dist/bot/bot-manager.d.ts +3 -14
  203. package/dist/bot/bot-manager.d.ts.map +1 -0
  204. package/dist/bot/bot-manager.js +13 -4
  205. package/dist/bot/bot-manager.js.map +1 -0
  206. package/dist/bot/bot.d.ts +23 -102
  207. package/dist/bot/bot.d.ts.map +1 -0
  208. package/dist/bot/bot.js +356 -1212
  209. package/dist/bot/bot.js.map +1 -0
  210. package/dist/bot/operation-logger.d.ts.map +1 -0
  211. package/dist/bot/operation-logger.js.map +1 -0
  212. package/dist/bot/services/__tests__/permission-guard.test.d.ts +2 -0
  213. package/dist/bot/services/__tests__/permission-guard.test.d.ts.map +1 -0
  214. package/dist/bot/services/__tests__/permission-guard.test.js +357 -0
  215. package/dist/bot/services/__tests__/permission-guard.test.js.map +1 -0
  216. package/dist/bot/services/bot-permissions.d.ts +50 -0
  217. package/dist/bot/services/bot-permissions.d.ts.map +1 -0
  218. package/dist/bot/services/bot-permissions.js +198 -0
  219. package/dist/bot/services/bot-permissions.js.map +1 -0
  220. package/dist/bot/services/conversation-manager.d.ts.map +1 -0
  221. package/dist/bot/services/conversation-manager.js.map +1 -0
  222. package/dist/bot/services/index.d.ts +4 -2
  223. package/dist/bot/services/index.d.ts.map +1 -0
  224. package/dist/bot/services/index.js +10 -5
  225. package/dist/bot/services/index.js.map +1 -0
  226. package/dist/bot/services/message-classifier.d.ts +1 -1
  227. package/dist/bot/services/message-classifier.d.ts.map +1 -0
  228. package/dist/bot/services/message-classifier.js.map +1 -0
  229. package/dist/bot/services/message-formatter.d.ts.map +1 -0
  230. package/dist/bot/services/message-formatter.js.map +1 -0
  231. package/dist/bot/services/permission-guard.d.ts.map +1 -0
  232. package/dist/bot/services/permission-guard.js.map +1 -0
  233. package/dist/bot/services/session-logger.d.ts.map +1 -0
  234. package/dist/bot/services/session-logger.js.map +1 -0
  235. package/dist/bot/services/signal-router.d.ts +32 -0
  236. package/dist/bot/services/signal-router.d.ts.map +1 -0
  237. package/dist/bot/services/signal-router.js +132 -0
  238. package/dist/bot/services/signal-router.js.map +1 -0
  239. package/dist/bot/services/system-prompt.d.ts +12 -0
  240. package/dist/bot/services/system-prompt.d.ts.map +1 -0
  241. package/dist/bot/services/system-prompt.js +93 -0
  242. package/dist/bot/services/system-prompt.js.map +1 -0
  243. package/dist/bot/services/token-billing.d.ts.map +1 -0
  244. package/dist/bot/services/token-billing.js.map +1 -0
  245. package/dist/bot/services/types.d.ts +7 -34
  246. package/dist/bot/services/types.d.ts.map +1 -0
  247. package/dist/bot/services/types.js +0 -3
  248. package/dist/bot/services/types.js.map +1 -0
  249. package/dist/bot/services/typing-indicator.d.ts.map +1 -0
  250. package/dist/bot/services/typing-indicator.js.map +1 -0
  251. package/dist/bot/services/workspace-refresh.d.ts +47 -0
  252. package/dist/bot/services/workspace-refresh.d.ts.map +1 -0
  253. package/dist/bot/services/workspace-refresh.js +154 -0
  254. package/dist/bot/services/workspace-refresh.js.map +1 -0
  255. package/dist/bot/services/workspace-schema-cache.d.ts.map +1 -0
  256. package/dist/bot/services/workspace-schema-cache.js.map +1 -0
  257. package/dist/bot/tool-executor.d.ts.map +1 -0
  258. package/dist/bot/tool-executor.js.map +1 -0
  259. package/dist/bot/workspace-overview.d.ts.map +1 -0
  260. package/dist/bot/workspace-overview.js.map +1 -0
  261. package/dist/bot-config/constants.d.ts +6 -0
  262. package/dist/bot-config/constants.d.ts.map +1 -0
  263. package/dist/bot-config/constants.js +43 -0
  264. package/dist/bot-config/constants.js.map +1 -0
  265. package/dist/bot-config/context.d.ts +117 -0
  266. package/dist/bot-config/context.d.ts.map +1 -0
  267. package/dist/bot-config/context.js +354 -0
  268. package/dist/bot-config/context.js.map +1 -0
  269. package/dist/bot-config/index.d.ts +12 -0
  270. package/dist/bot-config/index.d.ts.map +1 -0
  271. package/dist/bot-config/index.js +29 -0
  272. package/dist/bot-config/index.js.map +1 -0
  273. package/dist/bot-config/loader.d.ts +40 -0
  274. package/dist/bot-config/loader.d.ts.map +1 -0
  275. package/dist/bot-config/loader.js +285 -0
  276. package/dist/bot-config/loader.js.map +1 -0
  277. package/dist/bot-config/persistence.d.ts +17 -0
  278. package/dist/bot-config/persistence.d.ts.map +1 -0
  279. package/dist/bot-config/persistence.js +51 -0
  280. package/dist/bot-config/persistence.js.map +1 -0
  281. package/dist/bot-config/state.d.ts +15 -0
  282. package/dist/bot-config/state.d.ts.map +1 -0
  283. package/dist/bot-config/state.js +46 -0
  284. package/dist/bot-config/state.js.map +1 -0
  285. package/dist/bot-config/tools.d.ts +28 -0
  286. package/dist/bot-config/tools.d.ts.map +1 -0
  287. package/dist/bot-config/tools.js +279 -0
  288. package/dist/bot-config/tools.js.map +1 -0
  289. package/dist/bot-config/types.d.ts +52 -0
  290. package/dist/bot-config/types.d.ts.map +1 -0
  291. package/dist/bot-config/types.js +6 -0
  292. package/dist/bot-config/types.js.map +1 -0
  293. package/dist/bot-config/webhooks.d.ts +23 -0
  294. package/dist/bot-config/webhooks.d.ts.map +1 -0
  295. package/dist/bot-config/webhooks.js +199 -0
  296. package/dist/bot-config/webhooks.js.map +1 -0
  297. package/dist/cli.d.ts.map +1 -0
  298. package/dist/cli.js.map +1 -0
  299. package/dist/client/agents/base.d.ts +207 -0
  300. package/dist/client/agents/base.d.ts.map +1 -0
  301. package/dist/client/agents/base.js +744 -0
  302. package/dist/client/agents/base.js.map +1 -0
  303. package/dist/client/agents/definitions.d.ts +53 -0
  304. package/dist/client/agents/definitions.d.ts.map +1 -0
  305. package/dist/client/agents/definitions.js +263 -0
  306. package/dist/client/agents/definitions.js.map +1 -0
  307. package/dist/client/agents/orchestrator.d.ts +141 -0
  308. package/dist/client/agents/orchestrator.d.ts.map +1 -0
  309. package/dist/client/agents/orchestrator.js +1062 -0
  310. package/dist/client/agents/orchestrator.js.map +1 -0
  311. package/dist/client/agents/specialist.d.ts +86 -0
  312. package/dist/client/agents/specialist.d.ts.map +1 -0
  313. package/dist/client/agents/specialist.js +340 -0
  314. package/dist/client/agents/specialist.js.map +1 -0
  315. package/dist/client/bot-entrypoint.d.ts +7 -0
  316. package/dist/client/bot-entrypoint.d.ts.map +1 -0
  317. package/dist/client/bot-entrypoint.js +103 -0
  318. package/dist/client/bot-entrypoint.js.map +1 -0
  319. package/dist/client/bot-manager.d.ts +44 -0
  320. package/dist/client/bot-manager.d.ts.map +1 -0
  321. package/dist/client/bot-manager.js +173 -0
  322. package/dist/client/bot-manager.js.map +1 -0
  323. package/dist/client/bot-runner.d.ts +35 -0
  324. package/dist/client/bot-runner.d.ts.map +1 -0
  325. package/dist/client/bot-runner.js +188 -0
  326. package/dist/client/bot-runner.js.map +1 -0
  327. package/dist/client/chat-agent-daemon.d.ts +464 -0
  328. package/dist/client/chat-agent-daemon.d.ts.map +1 -0
  329. package/dist/client/chat-agent-daemon.js +1774 -0
  330. package/dist/client/chat-agent-daemon.js.map +1 -0
  331. package/dist/client/daemon-factory.d.ts +106 -0
  332. package/dist/client/daemon-factory.d.ts.map +1 -0
  333. package/dist/client/daemon-factory.js +301 -0
  334. package/dist/client/daemon-factory.js.map +1 -0
  335. package/dist/client/factory.d.ts +111 -0
  336. package/dist/client/factory.d.ts.map +1 -0
  337. package/dist/client/factory.js +314 -0
  338. package/dist/client/factory.js.map +1 -0
  339. package/dist/client/index.d.ts +17 -0
  340. package/dist/client/index.d.ts.map +1 -0
  341. package/dist/client/index.js +38 -0
  342. package/dist/client/index.js.map +1 -0
  343. package/dist/client/multi-bot-manager.d.ts +42 -0
  344. package/dist/client/multi-bot-manager.d.ts.map +1 -0
  345. package/dist/client/multi-bot-manager.js +161 -0
  346. package/dist/client/multi-bot-manager.js.map +1 -0
  347. package/dist/client/orchestrator-daemon.d.ts +87 -0
  348. package/dist/client/orchestrator-daemon.d.ts.map +1 -0
  349. package/dist/client/orchestrator-daemon.js +444 -0
  350. package/dist/client/orchestrator-daemon.js.map +1 -0
  351. package/dist/client/server.d.ts +8 -0
  352. package/dist/client/server.d.ts.map +1 -0
  353. package/dist/client/server.js +251 -0
  354. package/dist/client/server.js.map +1 -0
  355. package/dist/client/services/agent-registry.d.ts +108 -0
  356. package/dist/client/services/agent-registry.d.ts.map +1 -0
  357. package/dist/client/services/agent-registry.js +630 -0
  358. package/dist/client/services/agent-registry.js.map +1 -0
  359. package/dist/client/services/conversation-manager.d.ts +50 -0
  360. package/dist/client/services/conversation-manager.d.ts.map +1 -0
  361. package/dist/client/services/conversation-manager.js +136 -0
  362. package/dist/client/services/conversation-manager.js.map +1 -0
  363. package/dist/client/services/mcp-client.d.ts +48 -0
  364. package/dist/client/services/mcp-client.d.ts.map +1 -0
  365. package/dist/client/services/mcp-client.js +105 -0
  366. package/dist/client/services/mcp-client.js.map +1 -0
  367. package/dist/client/services/message-classifier.d.ts +37 -0
  368. package/dist/client/services/message-classifier.d.ts.map +1 -0
  369. package/dist/client/services/message-classifier.js +187 -0
  370. package/dist/client/services/message-classifier.js.map +1 -0
  371. package/dist/client/services/message-formatter.d.ts +84 -0
  372. package/dist/client/services/message-formatter.d.ts.map +1 -0
  373. package/dist/client/services/message-formatter.js +353 -0
  374. package/dist/client/services/message-formatter.js.map +1 -0
  375. package/dist/client/services/session-logger.d.ts +106 -0
  376. package/dist/client/services/session-logger.d.ts.map +1 -0
  377. package/dist/client/services/session-logger.js +446 -0
  378. package/dist/client/services/session-logger.js.map +1 -0
  379. package/dist/client/services/tool-executor.d.ts +41 -0
  380. package/dist/client/services/tool-executor.d.ts.map +1 -0
  381. package/dist/client/services/tool-executor.js +169 -0
  382. package/dist/client/services/tool-executor.js.map +1 -0
  383. package/dist/client/services/workspace-schema-cache.d.ts +149 -0
  384. package/dist/client/services/workspace-schema-cache.d.ts.map +1 -0
  385. package/dist/client/services/workspace-schema-cache.js +732 -0
  386. package/dist/client/services/workspace-schema-cache.js.map +1 -0
  387. package/dist/client/specialist-daemon.d.ts +77 -0
  388. package/dist/client/specialist-daemon.d.ts.map +1 -0
  389. package/dist/client/specialist-daemon.js +197 -0
  390. package/dist/client/specialist-daemon.js.map +1 -0
  391. package/dist/client/specialists.d.ts +53 -0
  392. package/dist/client/specialists.d.ts.map +1 -0
  393. package/dist/client/specialists.js +178 -0
  394. package/dist/client/specialists.js.map +1 -0
  395. package/dist/client/tool-schema-loader.d.ts +62 -0
  396. package/dist/client/tool-schema-loader.d.ts.map +1 -0
  397. package/dist/client/tool-schema-loader.js +232 -0
  398. package/dist/client/tool-schema-loader.js.map +1 -0
  399. package/dist/client/types.d.ts +327 -0
  400. package/dist/client/types.d.ts.map +1 -0
  401. package/dist/client/types.js +121 -0
  402. package/dist/client/types.js.map +1 -0
  403. package/dist/commands/seed-config.d.ts +9 -0
  404. package/dist/commands/seed-config.d.ts.map +1 -0
  405. package/dist/commands/seed-config.js +377 -0
  406. package/dist/commands/seed-config.js.map +1 -0
  407. package/dist/commands/setup.d.ts +11 -0
  408. package/dist/commands/setup.d.ts.map +1 -0
  409. package/dist/commands/setup.js +320 -0
  410. package/dist/commands/setup.js.map +1 -0
  411. package/dist/config.d.ts +0 -9
  412. package/dist/config.d.ts.map +1 -0
  413. package/dist/config.js +0 -15
  414. package/dist/config.js.map +1 -0
  415. package/dist/core.d.ts.map +1 -0
  416. package/dist/core.js.map +1 -0
  417. package/dist/lib/discussion-lock.d.ts.map +1 -0
  418. package/dist/lib/discussion-lock.js.map +1 -0
  419. package/dist/lib/logger.d.ts.map +1 -0
  420. package/dist/lib/logger.js.map +1 -0
  421. package/dist/lib/request-logger.d.ts.map +1 -0
  422. package/dist/lib/request-logger.js.map +1 -0
  423. package/dist/mcp/UserContextCache.d.ts.map +1 -0
  424. package/dist/mcp/UserContextCache.js.map +1 -0
  425. package/dist/mcp/auth.d.ts.map +1 -0
  426. package/dist/mcp/auth.js.map +1 -0
  427. package/dist/mcp/hailer-clients.d.ts.map +1 -0
  428. package/dist/mcp/hailer-clients.js +2 -2
  429. package/dist/mcp/hailer-clients.js.map +1 -0
  430. package/dist/mcp/session-store.d.ts.map +1 -0
  431. package/dist/mcp/session-store.js.map +1 -0
  432. package/dist/mcp/signal-handler.d.ts.map +1 -0
  433. package/dist/mcp/signal-handler.js.map +1 -0
  434. package/dist/mcp/tool-registry.d.ts +10 -115
  435. package/dist/mcp/tool-registry.d.ts.map +1 -0
  436. package/dist/mcp/tool-registry.js +39 -363
  437. package/dist/mcp/tool-registry.js.map +1 -0
  438. package/dist/mcp/tools/__tests__/discussion-forward.test.d.ts +2 -0
  439. package/dist/mcp/tools/__tests__/discussion-forward.test.d.ts.map +1 -0
  440. package/dist/mcp/tools/__tests__/discussion-forward.test.js +218 -0
  441. package/dist/mcp/tools/__tests__/discussion-forward.test.js.map +1 -0
  442. package/dist/mcp/tools/activity.d.ts +3 -0
  443. package/dist/mcp/tools/activity.d.ts.map +1 -0
  444. package/dist/mcp/tools/activity.js +8 -1
  445. package/dist/mcp/tools/activity.js.map +1 -0
  446. package/dist/mcp/tools/app-core.d.ts +3 -0
  447. package/dist/mcp/tools/app-core.d.ts.map +1 -0
  448. package/dist/mcp/tools/app-core.js +9 -2
  449. package/dist/mcp/tools/app-core.js.map +1 -0
  450. package/dist/mcp/tools/app-marketplace.d.ts +3 -0
  451. package/dist/mcp/tools/app-marketplace.d.ts.map +1 -0
  452. package/dist/mcp/tools/app-marketplace.js +13 -1
  453. package/dist/mcp/tools/app-marketplace.js.map +1 -0
  454. package/dist/mcp/tools/app-member.d.ts +3 -0
  455. package/dist/mcp/tools/app-member.d.ts.map +1 -0
  456. package/dist/mcp/tools/app-member.js +6 -1
  457. package/dist/mcp/tools/app-member.js.map +1 -0
  458. package/dist/mcp/tools/app-scaffold.d.ts +3 -0
  459. package/dist/mcp/tools/app-scaffold.d.ts.map +1 -0
  460. package/dist/mcp/tools/app-scaffold.js +15 -11
  461. package/dist/mcp/tools/app-scaffold.js.map +1 -0
  462. package/dist/mcp/tools/app.d.ts.map +1 -0
  463. package/dist/mcp/tools/app.js.map +1 -0
  464. package/dist/mcp/tools/bot-config/constants.d.ts.map +1 -0
  465. package/dist/mcp/tools/bot-config/constants.js.map +1 -0
  466. package/dist/mcp/tools/bot-config/core.d.ts.map +1 -0
  467. package/dist/mcp/tools/bot-config/core.js.map +1 -0
  468. package/dist/mcp/tools/bot-config/index.d.ts.map +1 -0
  469. package/dist/mcp/tools/bot-config/index.js.map +1 -0
  470. package/dist/mcp/tools/bot-config/tools.d.ts.map +1 -0
  471. package/dist/mcp/tools/bot-config/tools.js.map +1 -0
  472. package/dist/mcp/tools/bot-config/types.d.ts.map +1 -0
  473. package/dist/mcp/tools/bot-config/types.js.map +1 -0
  474. package/dist/mcp/tools/bug-fixer-tools.d.ts.map +1 -0
  475. package/dist/mcp/tools/bug-fixer-tools.js.map +1 -0
  476. package/dist/mcp/tools/company.d.ts +3 -0
  477. package/dist/mcp/tools/company.d.ts.map +1 -0
  478. package/dist/mcp/tools/company.js +5 -1
  479. package/dist/mcp/tools/company.js.map +1 -0
  480. package/dist/mcp/tools/discussion.d.ts +3 -0
  481. package/dist/mcp/tools/discussion.d.ts.map +1 -0
  482. package/dist/mcp/tools/discussion.js +13 -2
  483. package/dist/mcp/tools/discussion.js.map +1 -0
  484. package/dist/mcp/tools/document.d.ts.map +1 -0
  485. package/dist/mcp/tools/document.js.map +1 -0
  486. package/dist/mcp/tools/file.d.ts +3 -0
  487. package/dist/mcp/tools/file.d.ts.map +1 -0
  488. package/dist/mcp/tools/file.js +6 -1
  489. package/dist/mcp/tools/file.js.map +1 -0
  490. package/dist/mcp/tools/index.d.ts +7 -0
  491. package/dist/mcp/tools/index.d.ts.map +1 -0
  492. package/dist/mcp/tools/index.js +34 -0
  493. package/dist/mcp/tools/index.js.map +1 -0
  494. package/dist/mcp/tools/insight.d.ts +3 -0
  495. package/dist/mcp/tools/insight.d.ts.map +1 -0
  496. package/dist/mcp/tools/insight.js +18 -8
  497. package/dist/mcp/tools/insight.js.map +1 -0
  498. package/dist/mcp/tools/investigate.d.ts.map +1 -0
  499. package/dist/mcp/tools/investigate.js.map +1 -0
  500. package/dist/mcp/tools/user.d.ts +3 -0
  501. package/dist/mcp/tools/user.d.ts.map +1 -0
  502. package/dist/mcp/tools/user.js +6 -1
  503. package/dist/mcp/tools/user.js.map +1 -0
  504. package/dist/mcp/tools/workflow-permissions.d.ts +3 -0
  505. package/dist/mcp/tools/workflow-permissions.d.ts.map +1 -0
  506. package/dist/mcp/tools/workflow-permissions.js +8 -1
  507. package/dist/mcp/tools/workflow-permissions.js.map +1 -0
  508. package/dist/mcp/tools/workflow.d.ts +3 -0
  509. package/dist/mcp/tools/workflow.d.ts.map +1 -0
  510. package/dist/mcp/tools/workflow.js +29 -28
  511. package/dist/mcp/tools/workflow.js.map +1 -0
  512. package/dist/mcp/utils/api-errors.d.ts.map +1 -0
  513. package/dist/mcp/utils/api-errors.js.map +1 -0
  514. package/dist/mcp/utils/data-transformers.d.ts.map +1 -0
  515. package/dist/mcp/utils/data-transformers.js.map +1 -0
  516. package/dist/mcp/utils/file-upload.d.ts.map +1 -0
  517. package/dist/mcp/utils/file-upload.js.map +1 -0
  518. package/dist/mcp/utils/hailer-api-client.d.ts.map +1 -0
  519. package/dist/mcp/utils/hailer-api-client.js.map +1 -0
  520. package/dist/mcp/utils/index.d.ts +4 -11
  521. package/dist/mcp/utils/index.d.ts.map +1 -0
  522. package/dist/mcp/utils/index.js +5 -36
  523. package/dist/mcp/utils/index.js.map +1 -0
  524. package/dist/mcp/utils/logger.d.ts.map +1 -0
  525. package/dist/mcp/utils/logger.js.map +1 -0
  526. package/dist/mcp/utils/pagination.d.ts.map +1 -0
  527. package/dist/mcp/utils/pagination.js.map +1 -0
  528. package/dist/mcp/utils/response-builder.d.ts.map +1 -0
  529. package/dist/mcp/utils/response-builder.js.map +1 -0
  530. package/dist/mcp/utils/role-utils.d.ts +0 -32
  531. package/dist/mcp/utils/role-utils.d.ts.map +1 -0
  532. package/dist/mcp/utils/role-utils.js +0 -73
  533. package/dist/mcp/utils/role-utils.js.map +1 -0
  534. package/dist/mcp/utils/tool-helpers.d.ts +0 -25
  535. package/dist/mcp/utils/tool-helpers.d.ts.map +1 -0
  536. package/dist/mcp/utils/tool-helpers.js +0 -34
  537. package/dist/mcp/utils/tool-helpers.js.map +1 -0
  538. package/dist/mcp/utils/types.d.ts.map +1 -0
  539. package/dist/mcp/utils/types.js.map +1 -0
  540. package/dist/mcp/webhook-handler.d.ts +4 -34
  541. package/dist/mcp/webhook-handler.d.ts.map +1 -0
  542. package/dist/mcp/webhook-handler.js +57 -74
  543. package/dist/mcp/webhook-handler.js.map +1 -0
  544. package/dist/mcp/workspace-cache.d.ts.map +1 -0
  545. package/dist/mcp/workspace-cache.js.map +1 -0
  546. package/dist/mcp-server.d.ts.map +1 -0
  547. package/dist/mcp-server.js +3 -78
  548. package/dist/mcp-server.js.map +1 -0
  549. package/dist/modules/bug-reports/bug-config.d.ts +25 -0
  550. package/dist/modules/bug-reports/bug-config.d.ts.map +1 -0
  551. package/dist/modules/bug-reports/bug-config.js +187 -0
  552. package/dist/modules/bug-reports/bug-config.js.map +1 -0
  553. package/dist/modules/bug-reports/bug-monitor.d.ts +108 -0
  554. package/dist/modules/bug-reports/bug-monitor.d.ts.map +1 -0
  555. package/dist/modules/bug-reports/bug-monitor.js +510 -0
  556. package/dist/modules/bug-reports/bug-monitor.js.map +1 -0
  557. package/dist/modules/bug-reports/giuseppe-agent.d.ts +58 -0
  558. package/dist/modules/bug-reports/giuseppe-agent.d.ts.map +1 -0
  559. package/dist/modules/bug-reports/giuseppe-agent.js +467 -0
  560. package/dist/modules/bug-reports/giuseppe-agent.js.map +1 -0
  561. package/dist/modules/bug-reports/giuseppe-ai.d.ts +83 -0
  562. package/dist/modules/bug-reports/giuseppe-ai.d.ts.map +1 -0
  563. package/dist/modules/bug-reports/giuseppe-ai.js +466 -0
  564. package/dist/modules/bug-reports/giuseppe-ai.js.map +1 -0
  565. package/dist/modules/bug-reports/giuseppe-bot.d.ts +110 -0
  566. package/dist/modules/bug-reports/giuseppe-bot.d.ts.map +1 -0
  567. package/dist/modules/bug-reports/giuseppe-bot.js +804 -0
  568. package/dist/modules/bug-reports/giuseppe-bot.js.map +1 -0
  569. package/dist/modules/bug-reports/giuseppe-daemon.d.ts +80 -0
  570. package/dist/modules/bug-reports/giuseppe-daemon.d.ts.map +1 -0
  571. package/dist/modules/bug-reports/giuseppe-daemon.js +617 -0
  572. package/dist/modules/bug-reports/giuseppe-daemon.js.map +1 -0
  573. package/dist/modules/bug-reports/giuseppe-files.d.ts +64 -0
  574. package/dist/modules/bug-reports/giuseppe-files.d.ts.map +1 -0
  575. package/dist/modules/bug-reports/giuseppe-files.js +375 -0
  576. package/dist/modules/bug-reports/giuseppe-files.js.map +1 -0
  577. package/dist/modules/bug-reports/giuseppe-git.d.ts +48 -0
  578. package/dist/modules/bug-reports/giuseppe-git.d.ts.map +1 -0
  579. package/dist/modules/bug-reports/giuseppe-git.js +298 -0
  580. package/dist/modules/bug-reports/giuseppe-git.js.map +1 -0
  581. package/dist/modules/bug-reports/giuseppe-lsp.d.ts +113 -0
  582. package/dist/modules/bug-reports/giuseppe-lsp.d.ts.map +1 -0
  583. package/dist/modules/bug-reports/giuseppe-lsp.js +485 -0
  584. package/dist/modules/bug-reports/giuseppe-lsp.js.map +1 -0
  585. package/dist/modules/bug-reports/giuseppe-prompt.d.ts +5 -0
  586. package/dist/modules/bug-reports/giuseppe-prompt.d.ts.map +1 -0
  587. package/dist/modules/bug-reports/giuseppe-prompt.js +94 -0
  588. package/dist/modules/bug-reports/giuseppe-prompt.js.map +1 -0
  589. package/dist/modules/bug-reports/index.d.ts +77 -0
  590. package/dist/modules/bug-reports/index.d.ts.map +1 -0
  591. package/dist/modules/bug-reports/index.js +215 -0
  592. package/dist/modules/bug-reports/index.js.map +1 -0
  593. package/dist/modules/bug-reports/pending-classification-registry.d.ts +28 -0
  594. package/dist/modules/bug-reports/pending-classification-registry.d.ts.map +1 -0
  595. package/dist/modules/bug-reports/pending-classification-registry.js +50 -0
  596. package/dist/modules/bug-reports/pending-classification-registry.js.map +1 -0
  597. package/dist/modules/bug-reports/pending-fix-registry.d.ts +30 -0
  598. package/dist/modules/bug-reports/pending-fix-registry.d.ts.map +1 -0
  599. package/dist/modules/bug-reports/pending-fix-registry.js +42 -0
  600. package/dist/modules/bug-reports/pending-fix-registry.js.map +1 -0
  601. package/dist/modules/bug-reports/pending-registry.d.ts +27 -0
  602. package/dist/modules/bug-reports/pending-registry.d.ts.map +1 -0
  603. package/dist/modules/bug-reports/pending-registry.js +49 -0
  604. package/dist/modules/bug-reports/pending-registry.js.map +1 -0
  605. package/dist/modules/bug-reports/types.d.ts +123 -0
  606. package/dist/modules/bug-reports/types.d.ts.map +1 -0
  607. package/dist/modules/bug-reports/types.js +9 -0
  608. package/dist/modules/bug-reports/types.js.map +1 -0
  609. package/dist/plugins/bug-fixer/index.d.ts.map +1 -0
  610. package/dist/plugins/bug-fixer/index.js.map +1 -0
  611. package/dist/plugins/bug-fixer/tools.d.ts.map +1 -0
  612. package/dist/plugins/bug-fixer/tools.js.map +1 -0
  613. package/dist/plugins/vipunen/__tests__/tools.test.d.ts +10 -0
  614. package/dist/plugins/vipunen/__tests__/tools.test.d.ts.map +1 -0
  615. package/dist/plugins/vipunen/__tests__/tools.test.js +646 -0
  616. package/dist/plugins/vipunen/__tests__/tools.test.js.map +1 -0
  617. package/dist/plugins/vipunen/client.d.ts.map +1 -0
  618. package/dist/plugins/vipunen/client.js.map +1 -0
  619. package/dist/plugins/vipunen/index.d.ts.map +1 -0
  620. package/dist/plugins/vipunen/index.js.map +1 -0
  621. package/dist/plugins/vipunen/tools.d.ts.map +1 -0
  622. package/dist/plugins/vipunen/tools.js.map +1 -0
  623. package/dist/routes/agents.d.ts +44 -0
  624. package/dist/routes/agents.d.ts.map +1 -0
  625. package/dist/routes/agents.js +311 -0
  626. package/dist/routes/agents.js.map +1 -0
  627. package/dist/services/agent-credential-store.d.ts +73 -0
  628. package/dist/services/agent-credential-store.d.ts.map +1 -0
  629. package/dist/services/agent-credential-store.js +212 -0
  630. package/dist/services/agent-credential-store.js.map +1 -0
  631. package/dist/stdio-server.d.ts.map +1 -0
  632. package/dist/stdio-server.js.map +1 -0
  633. package/dist/workspace/context.d.ts +148 -0
  634. package/dist/workspace/context.d.ts.map +1 -0
  635. package/dist/workspace/context.js +339 -0
  636. package/dist/workspace/context.js.map +1 -0
  637. package/dist/workspace/credentials.d.ts +55 -0
  638. package/dist/workspace/credentials.d.ts.map +1 -0
  639. package/dist/workspace/credentials.js +239 -0
  640. package/dist/workspace/credentials.js.map +1 -0
  641. package/dist/workspace/index.d.ts +21 -0
  642. package/dist/workspace/index.d.ts.map +1 -0
  643. package/dist/workspace/index.js +45 -0
  644. package/dist/workspace/index.js.map +1 -0
  645. package/dist/workspace/loader.d.ts +27 -0
  646. package/dist/workspace/loader.d.ts.map +1 -0
  647. package/dist/workspace/loader.js +222 -0
  648. package/dist/workspace/loader.js.map +1 -0
  649. package/dist/workspace/schema.d.ts +37 -0
  650. package/dist/workspace/schema.d.ts.map +1 -0
  651. package/dist/workspace/schema.js +192 -0
  652. package/dist/workspace/schema.js.map +1 -0
  653. package/package.json +13 -2
  654. package/.claude/.context-watchdog.json +0 -1
  655. package/.claude/.session-checked +0 -1
  656. package/.claude/agents/agent-ada-skill-builder.md +0 -94
  657. package/.claude/agents/agent-alejandro-function-fields.md +0 -342
  658. package/.claude/agents/agent-bjorn-config-audit.md +0 -103
  659. package/.claude/agents/agent-builder-agent-creator.md +0 -130
  660. package/.claude/agents/agent-code-simplifier.md +0 -53
  661. package/.claude/agents/agent-dmitri-activity-crud.md +0 -159
  662. package/.claude/agents/agent-giuseppe-app-builder.md +0 -208
  663. package/.claude/agents/agent-gunther-mcp-tools.md +0 -39
  664. package/.claude/agents/agent-helga-workflow-config.md +0 -204
  665. package/.claude/agents/agent-igor-activity-mover-automation.md +0 -125
  666. package/.claude/agents/agent-ingrid-doc-templates.md +0 -261
  667. package/.claude/agents/agent-ivan-monolith.md +0 -154
  668. package/.claude/agents/agent-kenji-data-reader.md +0 -86
  669. package/.claude/agents/agent-lars-code-inspector.md +0 -102
  670. package/.claude/agents/agent-marco-mockup-builder.md +0 -110
  671. package/.claude/agents/agent-marcus-api-documenter.md +0 -323
  672. package/.claude/agents/agent-marketplace-publisher.md +0 -280
  673. package/.claude/agents/agent-marketplace-reviewer.md +0 -309
  674. package/.claude/agents/agent-permissions-handler.md +0 -208
  675. package/.claude/agents/agent-simple-writer.md +0 -48
  676. package/.claude/agents/agent-svetlana-code-review.md +0 -171
  677. package/.claude/agents/agent-tanya-test-runner.md +0 -333
  678. package/.claude/agents/agent-ui-designer.md +0 -100
  679. package/.claude/agents/agent-viktor-sql-insights.md +0 -212
  680. package/.claude/agents/agent-web-search.md +0 -55
  681. package/.claude/agents/agent-yevgeni-discussions.md +0 -45
  682. package/.claude/agents/agent-zara-zapier.md +0 -159
  683. package/.claude/skills/SDK-activity-patterns/SKILL.md +0 -428
  684. package/.claude/skills/SDK-generate-skill/SKILL.md +0 -92
  685. package/.claude/skills/SDK-init-skill/SKILL.md +0 -127
  686. package/.claude/skills/agent-structure/SKILL.md +0 -98
  687. package/.claude/skills/delegation-routing/SKILL.md +0 -202
  688. package/.claude/skills/frontend-design/SKILL.md +0 -254
  689. package/.claude/skills/hailer-activity-mover/SKILL.md +0 -213
  690. package/.claude/skills/hailer-rest-api/SKILL.md +0 -61
  691. package/.claude/skills/hailer-rest-api/hailer-activities.md +0 -184
  692. package/.claude/skills/hailer-rest-api/hailer-admin.md +0 -473
  693. package/.claude/skills/hailer-rest-api/hailer-calendar.md +0 -256
  694. package/.claude/skills/hailer-rest-api/hailer-feed.md +0 -249
  695. package/.claude/skills/hailer-rest-api/hailer-insights.md +0 -195
  696. package/.claude/skills/hailer-rest-api/hailer-messaging.md +0 -276
  697. package/.claude/skills/hailer-rest-api/hailer-workflows.md +0 -283
  698. package/.claude/skills/insight-join-patterns/SKILL.md +0 -174
  699. package/.claude/skills/json-only-output/SKILL.md +0 -72
  700. package/.claude/skills/mcp-direct-tools/SKILL.md +0 -153
  701. package/.claude/skills/optional-parameters/SKILL.md +0 -72
  702. package/.claude/skills/tool-parameter-usage/SKILL.md +0 -126
  703. package/.claude/skills/tool-response-verification/SKILL.md +0 -92
  704. package/.opencode/agent/agent-ada-skill-builder.md +0 -35
  705. package/.opencode/agent/agent-alejandro-function-fields.md +0 -39
  706. package/.opencode/agent/agent-bjorn-config-audit.md +0 -36
  707. package/.opencode/agent/agent-builder-agent-creator.md +0 -39
  708. package/.opencode/agent/agent-code-simplifier.md +0 -31
  709. package/.opencode/agent/agent-dmitri-activity-crud.md +0 -40
  710. package/.opencode/agent/agent-giuseppe-app-builder.md +0 -37
  711. package/.opencode/agent/agent-gunther-mcp-tools.md +0 -39
  712. package/.opencode/agent/agent-helga-workflow-config.md +0 -204
  713. package/.opencode/agent/agent-igor-activity-mover-automation.md +0 -46
  714. package/.opencode/agent/agent-ingrid-doc-templates.md +0 -39
  715. package/.opencode/agent/agent-ivan-monolith.md +0 -46
  716. package/.opencode/agent/agent-kenji-data-reader.md +0 -53
  717. package/.opencode/agent/agent-lars-code-inspector.md +0 -28
  718. package/.opencode/agent/agent-marco-mockup-builder.md +0 -42
  719. package/.opencode/agent/agent-marcus-api-documenter.md +0 -53
  720. package/.opencode/agent/agent-marketplace-publisher.md +0 -44
  721. package/.opencode/agent/agent-marketplace-reviewer.md +0 -42
  722. package/.opencode/agent/agent-permissions-handler.md +0 -50
  723. package/.opencode/agent/agent-simple-writer.md +0 -45
  724. package/.opencode/agent/agent-svetlana-code-review.md +0 -39
  725. package/.opencode/agent/agent-tanya-test-runner.md +0 -57
  726. package/.opencode/agent/agent-ui-designer.md +0 -56
  727. package/.opencode/agent/agent-viktor-sql-insights.md +0 -34
  728. package/.opencode/agent/agent-web-search.md +0 -42
  729. package/.opencode/agent/agent-yevgeni-discussions.md +0 -37
  730. package/.opencode/agent/agent-zara-zapier.md +0 -53
  731. package/.opencode/commands/app-squad.md +0 -135
  732. package/.opencode/commands/audit-squad.md +0 -158
  733. package/.opencode/commands/autoplan.md +0 -563
  734. package/.opencode/commands/cleanup-squad.md +0 -98
  735. package/.opencode/commands/config-squad.md +0 -106
  736. package/.opencode/commands/crud-squad.md +0 -87
  737. package/.opencode/commands/data-squad.md +0 -97
  738. package/.opencode/commands/debug-squad.md +0 -303
  739. package/.opencode/commands/doc-squad.md +0 -65
  740. package/.opencode/commands/handoff.md +0 -137
  741. package/.opencode/commands/health.md +0 -49
  742. package/.opencode/commands/help-agents.md +0 -151
  743. package/.opencode/commands/help-commands.md +0 -32
  744. package/.opencode/commands/help-faq.md +0 -29
  745. package/.opencode/commands/help-plugins.md +0 -28
  746. package/.opencode/commands/help-skills.md +0 -7
  747. package/.opencode/commands/help-tools.md +0 -40
  748. package/.opencode/commands/help.md +0 -28
  749. package/.opencode/commands/hotfix-squad.md +0 -112
  750. package/.opencode/commands/integration-squad.md +0 -82
  751. package/.opencode/commands/janitor-squad.md +0 -167
  752. package/.opencode/commands/learn-auto.md +0 -120
  753. package/.opencode/commands/learn.md +0 -120
  754. package/.opencode/commands/mcp-list.md +0 -27
  755. package/.opencode/commands/onboard-squad.md +0 -140
  756. package/.opencode/commands/plan-workspace.md +0 -732
  757. package/.opencode/commands/prd.md +0 -131
  758. package/.opencode/commands/project-status.md +0 -82
  759. package/.opencode/commands/publish.md +0 -138
  760. package/.opencode/commands/recap.md +0 -69
  761. package/.opencode/commands/restore.md +0 -64
  762. package/.opencode/commands/review-squad.md +0 -152
  763. package/.opencode/commands/save.md +0 -24
  764. package/.opencode/commands/stats.md +0 -19
  765. package/.opencode/commands/swarm.md +0 -210
  766. package/.opencode/commands/tool-builder.md +0 -39
  767. package/.opencode/commands/ws-pull.md +0 -44
  768. package/test-billing-server.js +0 -136
@@ -1,63 +1,15 @@
1
1
  "use strict";
2
2
  /**
3
- * Clean Tool Registry with Dependency Injection
4
- *
5
- * No singletons, no statics - just clean, explicit tool registration
6
- * with per-agent access control via dependency injection.
7
- *
8
- * Supports workspace-specific schema overrides for structured outputs:
9
- * - Load schemas from WORKSPACE_SCHEMAS_PATH environment variable
10
- * - Schemas contain enum constraints (valid IDs, phase options, etc.)
11
- * - Enables Claude's strict mode validation with actual workspace values
3
+ * Tool Registry register, list, validate, execute MCP tools.
12
4
  */
13
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
- if (k2 === undefined) k2 = k;
15
- var desc = Object.getOwnPropertyDescriptor(m, k);
16
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
- desc = { enumerable: true, get: function() { return m[k]; } };
18
- }
19
- Object.defineProperty(o, k2, desc);
20
- }) : (function(o, m, k, k2) {
21
- if (k2 === undefined) k2 = k;
22
- o[k2] = m[k];
23
- }));
24
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
- Object.defineProperty(o, "default", { enumerable: true, value: v });
26
- }) : function(o, v) {
27
- o["default"] = v;
28
- });
29
- var __importStar = (this && this.__importStar) || (function () {
30
- var ownKeys = function(o) {
31
- ownKeys = Object.getOwnPropertyNames || function (o) {
32
- var ar = [];
33
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
34
- return ar;
35
- };
36
- return ownKeys(o);
37
- };
38
- return function (mod) {
39
- if (mod && mod.__esModule) return mod;
40
- var result = {};
41
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
42
- __setModuleDefault(result, mod);
43
- return result;
44
- };
45
- })();
46
5
  Object.defineProperty(exports, "__esModule", { value: true });
47
6
  exports.ToolRegistry = exports.ToolGroup = void 0;
48
7
  const zod_1 = require("zod");
49
8
  const logger_1 = require("../lib/logger");
50
9
  const request_logger_1 = require("../lib/request-logger");
51
- const fs = __importStar(require("fs"));
52
- const path = __importStar(require("path"));
53
10
  const logger = (0, logger_1.createLogger)({ component: 'tool-registry' });
54
11
  /**
55
12
  * Tool groups for access control
56
- * READ: Safe read operations (workflows, activities, schemas)
57
- * WRITE: Create/update operations (activities, discussions)
58
- * PLAYGROUND: Admin/dev tools (workflow/app management)
59
- * NUCLEAR: Destructive operations (remove workflows, apps, insights, templates)
60
- * BOT_INTERNAL: Tools for autonomous bots only (not exposed to MCP clients by default)
61
13
  */
62
14
  var ToolGroup;
63
15
  (function (ToolGroup) {
@@ -67,220 +19,63 @@ var ToolGroup;
67
19
  ToolGroup["NUCLEAR"] = "nuclear";
68
20
  ToolGroup["BOT_INTERNAL"] = "bot_internal";
69
21
  })(ToolGroup || (exports.ToolGroup = ToolGroup = {}));
70
- /**
71
- * ToolRegistry - Clean, testable, dependency-injected tool registry
72
- *
73
- * NO SINGLETON PATTERN - instantiated explicitly and passed through DI
74
- *
75
- * Workspace Schema Support:
76
- * Set WORKSPACE_SCHEMAS_PATH env var to load Claude-compatible schemas
77
- * with enum constraints for workflow IDs, phase IDs, field options, etc.
78
- */
79
22
  class ToolRegistry {
80
23
  tools = new Map();
24
+ jsonSchemas = new Map();
81
25
  _lazyGuard;
82
26
  enableNuclearTools;
83
- workspaceSchemas = new Map();
84
- workspaceSchemasLoaded = false;
85
27
  constructor(options = {}) {
86
28
  this.enableNuclearTools = options.enableNuclearTools ?? false;
87
- logger.debug('ToolRegistry instance created', {
88
- enableNuclearTools: this.enableNuclearTools
89
- });
90
- // Load workspace schemas if path is configured
91
- this.loadWorkspaceSchemas();
92
29
  }
93
- /**
94
- * Load workspace-specific schemas from configured path
95
- * Schemas provide enum constraints for Claude's strict mode
96
- */
97
- loadWorkspaceSchemas() {
98
- const schemasPath = process.env.WORKSPACE_SCHEMAS_PATH;
99
- if (!schemasPath) {
100
- logger.debug('WORKSPACE_SCHEMAS_PATH not set, using generic schemas');
101
- return;
102
- }
103
- const claudeSchemasPath = path.join(schemasPath, 'claude');
104
- if (!fs.existsSync(claudeSchemasPath)) {
105
- logger.warn('Workspace schemas path not found', { path: claudeSchemasPath });
106
- return;
107
- }
108
- try {
109
- const files = fs.readdirSync(claudeSchemasPath);
110
- for (const file of files) {
111
- if (file.endsWith('.schema.json')) {
112
- const schemaPath = path.join(claudeSchemasPath, file);
113
- const schema = JSON.parse(fs.readFileSync(schemaPath, 'utf-8'));
114
- const name = file.replace('.schema.json', '');
115
- this.workspaceSchemas.set(name, schema);
116
- logger.debug('Loaded workspace schema', { name, file });
117
- }
118
- }
119
- this.workspaceSchemasLoaded = true;
120
- logger.debug('Workspace schemas loaded for structured outputs', {
121
- count: this.workspaceSchemas.size,
122
- schemas: Array.from(this.workspaceSchemas.keys()),
123
- path: claudeSchemasPath
124
- });
125
- }
126
- catch (error) {
127
- logger.error('Failed to load workspace schemas', error);
128
- }
129
- }
130
- /**
131
- * Get workspace schema for a workflow (if available)
132
- */
133
- getWorkspaceSchema(workflowName) {
134
- const normalizedName = workflowName.toLowerCase().replace(/ /g, '_');
135
- return this.workspaceSchemas.get(normalizedName) || null;
136
- }
137
- /**
138
- * Check if workspace schemas are available
139
- */
140
- hasWorkspaceSchemas() {
141
- return this.workspaceSchemasLoaded && this.workspaceSchemas.size > 0;
142
- }
143
- /**
144
- * Add a tool to the registry
145
- */
146
30
  addTool(tool) {
147
- // Short-circuit: Skip NUCLEAR tools when not enabled
148
- if (tool.group === ToolGroup.NUCLEAR && !this.enableNuclearTools) {
149
- logger.debug('Skipping NUCLEAR tool (not enabled)', {
150
- name: tool.name,
151
- group: tool.group
152
- });
31
+ if (tool.group === ToolGroup.NUCLEAR && !this.enableNuclearTools)
153
32
  return;
154
- }
155
- if (this.tools.has(tool.name)) {
156
- logger.warn('Tool already registered, replacing', { name: tool.name });
157
- }
158
33
  this.tools.set(tool.name, tool);
159
- logger.debug('Tool registered', { name: tool.name, group: tool.group });
34
+ this.jsonSchemas.set(tool.name, this.convertZodSchemaToJsonSchema(tool.schema));
160
35
  }
161
- /**
162
- * Get tool definitions filtered by contextType — single-pass, no secondary lookups
163
- */
36
+ /** Filter tools by contextType */
164
37
  getToolDefinitionsByContextType(contextType) {
165
38
  return Array.from(this.tools.values())
166
39
  .filter(t => (t.contextType ?? 'hailer') === contextType)
167
40
  .map(tool => ({
168
41
  name: tool.name,
169
42
  description: tool.description,
170
- inputSchema: this.convertZodSchemaToJsonSchema(tool.schema)
43
+ inputSchema: this.jsonSchemas.get(tool.name)
171
44
  }));
172
45
  }
173
- /**
174
- * Get tool definitions with optional filtering
175
- *
176
- * @param filter - Optional filter configuration
177
- * @param filter.allowedGroups - Filter by tool groups
178
- * @param filter.allowedTools - Explicit whitelist of tool names
179
- */
46
+ /** Get tool definitions with optional group/name filtering */
180
47
  getToolDefinitions(filter) {
181
48
  let toolsToExpose = Array.from(this.tools.values());
182
49
  if (filter) {
183
50
  if (filter.allowedTools) {
184
- // Explicit whitelist by tool name (takes precedence)
185
51
  toolsToExpose = toolsToExpose.filter(t => filter.allowedTools.includes(t.name));
186
- logger.debug('Filtered tools by allowedTools', {
187
- count: toolsToExpose.length,
188
- allowedTools: filter.allowedTools
189
- });
190
52
  }
191
53
  else if (filter.allowedGroups) {
192
- // Filter by tool groups
193
54
  toolsToExpose = toolsToExpose.filter(t => filter.allowedGroups.includes(t.group));
194
- logger.debug('Filtered tools by allowedGroups', {
195
- count: toolsToExpose.length,
196
- allowedGroups: filter.allowedGroups
197
- });
198
55
  }
199
56
  }
200
57
  return toolsToExpose.map(tool => ({
201
58
  name: tool.name,
202
59
  description: tool.description,
203
- inputSchema: this.convertZodSchemaToJsonSchema(tool.schema)
60
+ inputSchema: this.jsonSchemas.get(tool.name)
204
61
  }));
205
62
  }
206
- /**
207
- * Get specific tool schema on-demand
208
- * Token-efficient: ~200 tokens per tool vs loading all tools upfront
209
- *
210
- * For activity tools (create_activity, update_activity), returns the master
211
- * workspace schema with ALL valid IDs as enums. This enables Claude's strict
212
- * mode to constrain outputs to valid values without needing them in the prompt.
213
- */
214
- getToolSchema(toolName, workflowName) {
63
+ /** Get specific tool schema on-demand */
64
+ getToolSchema(toolName) {
215
65
  const tool = this.tools.get(toolName);
216
- if (!tool) {
217
- logger.warn('Tool not found', { toolName });
66
+ if (!tool)
218
67
  return null;
219
- }
220
- // For activity tools, return master schema with ALL enum constraints
221
- if (this.workspaceSchemasLoaded &&
222
- (toolName === 'create_activity' || toolName === 'update_activity')) {
223
- const masterSchema = this.workspaceSchemas.get('_master_activity');
224
- if (masterSchema) {
225
- logger.debug('Using master workspace schema with enum constraints', {
226
- toolName,
227
- workflowCount: masterSchema.properties?.workflowId?.enum?.length || 0,
228
- phaseCount: masterSchema.properties?.phaseId?.enum?.length || 0
229
- });
230
- return {
231
- name: tool.name,
232
- description: `${tool.description} [Enum-constrained to valid workspace IDs]`,
233
- inputSchema: masterSchema
234
- };
235
- }
236
- }
237
- // For workflow-specific request, return that workflow's schema
238
- if (this.workspaceSchemasLoaded && workflowName) {
239
- const workspaceSchema = this.getWorkspaceSchema(workflowName);
240
- if (workspaceSchema) {
241
- logger.debug('Using workflow-specific schema', { toolName, workflowName });
242
- return {
243
- name: tool.name,
244
- description: `${tool.description} [Schema-constrained to ${workflowName}]`,
245
- inputSchema: workspaceSchema
246
- };
247
- }
248
- }
249
- // Fallback to generic Zod-converted schema
250
68
  return {
251
69
  name: tool.name,
252
70
  description: tool.description,
253
- inputSchema: this.convertZodSchemaToJsonSchema(tool.schema)
71
+ inputSchema: this.jsonSchemas.get(tool.name)
254
72
  };
255
73
  }
256
- /**
257
- * Get all workflow-specific tool schemas
258
- * Returns schemas with enum constraints for each workflow
259
- */
260
- getAllWorkflowSchemas() {
261
- const schemas = new Map();
262
- if (!this.workspaceSchemasLoaded) {
263
- return schemas;
264
- }
265
- for (const [workflowName, schema] of this.workspaceSchemas.entries()) {
266
- if (workflowName.startsWith('_'))
267
- continue; // Skip meta schemas
268
- schemas.set(workflowName, {
269
- name: `create_${workflowName}`,
270
- description: `Create activity in ${workflowName}. Enum-constrained to valid IDs.`,
271
- inputSchema: schema
272
- });
273
- }
274
- return schemas;
275
- }
276
- /**
277
- * Execute tool with validation
278
- */
74
+ /** Execute tool with Zod validation */
279
75
  async executeTool(name, args, context) {
280
76
  const tool = this.tools.get(name);
281
- if (!tool) {
77
+ if (!tool)
282
78
  throw new Error(`Tool "${name}" not found`);
283
- }
284
79
  logger.debug('Executing tool', {
285
80
  name,
286
81
  auth: context?.apiKey
@@ -292,7 +87,6 @@ class ToolRegistry {
292
87
  if (name === 'install_workflow' && args.workflowTemplates) {
293
88
  transformedArgs = this.preTransformInstallWorkflow(args);
294
89
  }
295
- // Zod validation
296
90
  try {
297
91
  const validated = tool.schema.parse(transformedArgs);
298
92
  return await tool.execute(validated, context);
@@ -300,57 +94,31 @@ class ToolRegistry {
300
94
  catch (error) {
301
95
  if (error instanceof zod_1.z.ZodError) {
302
96
  const errorDetails = error.errors.map(e => `${e.path.join('.')}: ${e.message}`).join(', ');
303
- // Track in request logger or log separately
304
97
  const reqLogger = request_logger_1.RequestLogger.getCurrent();
305
98
  if (reqLogger) {
306
99
  reqLogger.toolError(name, errorDetails);
307
100
  }
308
101
  else {
309
- logger.warn('Tool validation failed', {
310
- toolName: name,
311
- errors: errorDetails,
312
- receivedArgs: JSON.stringify(args)
313
- });
102
+ logger.warn('Tool validation failed', { toolName: name, errors: errorDetails, receivedArgs: JSON.stringify(args) });
314
103
  }
315
- // Check if tool has a skill hint
316
104
  const hasSkillHint = tool.description.includes('Use Skill');
317
105
  const skillName = hasSkillHint ? tool.description.match(/`([^`]+)-skill`/)?.[1] + '-skill' : null;
318
- const errorMessage = `❌ **Validation Error for \`${name}\`**
319
-
320
- **Errors:** ${errorDetails}
321
-
322
- **You provided:**
323
- \`\`\`json
324
- ${JSON.stringify(args, null, 2)}
325
- \`\`\`
326
-
327
- ${skillName ? `💡 **Next step:** Load the skill first to see correct format and examples:
328
- \`\`\`
329
- get_skill({ skillName: "${skillName}" })
330
- \`\`\`
331
-
332
- Then retry \`${name}\` with the correct format from the skill examples.` : `💡 **Next step:** Use \`tools/get_schema\` to see the full schema for \`${name}\`, then retry with correct parameters.`}`;
333
106
  return {
334
107
  content: [{
335
108
  type: "text",
336
- text: errorMessage
109
+ text: `❌ **Validation Error for \`${name}\`**\n\n**Errors:** ${errorDetails}\n\n**You provided:**\n\`\`\`json\n${JSON.stringify(args, null, 2)}\n\`\`\`\n\n${skillName ? `💡 **Next step:** Load the skill first:\n\`\`\`\nget_skill({ skillName: "${skillName}" })\n\`\`\`\nThen retry with the correct format.` : `💡 **Next step:** Use \`tools/get_schema\` to see the full schema for \`${name}\`, then retry.`}`
337
110
  }]
338
111
  };
339
112
  }
340
113
  throw error;
341
114
  }
342
115
  }
343
- /**
344
- * Pre-transform install_workflow args to fix common LLM mistakes BEFORE validation
345
- */
116
+ /** Fix common LLM mistakes in install_workflow before validation */
346
117
  preTransformInstallWorkflow(args) {
347
118
  let templates = args.workflowTemplates;
348
- // Fix: single object instead of array
349
- if (!Array.isArray(templates)) {
119
+ if (!Array.isArray(templates))
350
120
  templates = [templates];
351
- }
352
- // Transform each template
353
- templates = templates.map((template, tIdx) => {
121
+ templates = templates.map((template) => {
354
122
  const result = { ...template };
355
123
  // Fix: fields as array instead of object
356
124
  if (Array.isArray(template.fields)) {
@@ -363,7 +131,6 @@ Then retry \`${name}\` with the correct format from the skill examples.` : `💡
363
131
  result.fields = fieldsObj;
364
132
  }
365
133
  else if (template.fields) {
366
- // Fix: field IDs not matching pattern
367
134
  const fieldsObj = {};
368
135
  let idx = 0;
369
136
  for (const [key, field] of Object.entries(template.fields)) {
@@ -379,19 +146,16 @@ Then retry \`${name}\` with the correct format from the skill examples.` : `💡
379
146
  if (Array.isArray(template.phases)) {
380
147
  const phasesObj = {};
381
148
  template.phases.forEach((phase, idx) => {
382
- const phaseId = `_${2000 + idx}`;
383
- phasesObj[phaseId] = { name: phase.name };
149
+ phasesObj[`_${2000 + idx}`] = { name: phase.name };
384
150
  });
385
151
  result.phases = phasesObj;
386
152
  }
387
153
  else if (template.phases) {
388
- // Fix: phase IDs not matching pattern
389
154
  const phasesObj = {};
390
155
  let idx = 0;
391
156
  for (const [key, phase] of Object.entries(template.phases)) {
392
157
  const phaseId = /^_\d{4}$/.test(key) ? key : `_${2000 + idx}`;
393
- const p = phase;
394
- phasesObj[phaseId] = { name: p.name || key };
158
+ phasesObj[phaseId] = { name: phase.name || key };
395
159
  idx++;
396
160
  }
397
161
  result.phases = phasesObj;
@@ -400,10 +164,8 @@ Then retry \`${name}\` with the correct format from the skill examples.` : `💡
400
164
  if (result.fields) {
401
165
  for (const fieldId of Object.keys(result.fields)) {
402
166
  const f = result.fields[fieldId];
403
- // select → textpredefinedoptions
404
167
  if (f.type === 'select')
405
168
  f.type = 'textpredefinedoptions';
406
- // user → users
407
169
  if (f.type === 'user')
408
170
  f.type = 'users';
409
171
  }
@@ -412,127 +174,55 @@ Then retry \`${name}\` with the correct format from the skill examples.` : `💡
412
174
  });
413
175
  return { ...args, workflowTemplates: templates };
414
176
  }
415
- /**
416
- * Get tool metadata (for access control checks)
417
- */
418
177
  getTool(name) {
419
178
  return this.tools.get(name);
420
179
  }
421
- /**
422
- * Get total tool count
423
- */
424
180
  getToolCount() {
425
181
  return this.tools.size;
426
182
  }
427
- /**
428
- * Get statistics for monitoring/debugging
429
- */
430
183
  getCacheStats() {
431
184
  const byGroup = {
432
- [ToolGroup.READ]: 0,
433
- [ToolGroup.WRITE]: 0,
434
- [ToolGroup.PLAYGROUND]: 0,
435
- [ToolGroup.NUCLEAR]: 0,
436
- [ToolGroup.BOT_INTERNAL]: 0
185
+ [ToolGroup.READ]: 0, [ToolGroup.WRITE]: 0,
186
+ [ToolGroup.PLAYGROUND]: 0, [ToolGroup.NUCLEAR]: 0, [ToolGroup.BOT_INTERNAL]: 0
437
187
  };
438
- for (const tool of this.tools.values()) {
188
+ for (const tool of this.tools.values())
439
189
  byGroup[tool.group]++;
440
- }
441
- return {
442
- totalTools: this.tools.size,
443
- toolNames: Array.from(this.tools.keys()),
444
- byGroup,
445
- workspaceSchemas: {
446
- loaded: this.workspaceSchemasLoaded,
447
- count: this.workspaceSchemas.size,
448
- workflows: Array.from(this.workspaceSchemas.keys())
449
- }
450
- };
190
+ return { totalTools: this.tools.size, toolNames: Array.from(this.tools.keys()), byGroup };
451
191
  }
452
- /**
453
- * Get all available workspace schemas (for listing available workflows)
454
- */
455
- getAvailableWorkflowSchemas() {
456
- const workflows = [];
457
- for (const [name, schema] of this.workspaceSchemas.entries()) {
458
- if (name.startsWith('_'))
459
- continue; // Skip meta schemas like _workspace
460
- workflows.push({
461
- name: name.replace(/_/g, ' ').replace(/\b\w/g, l => l.toUpperCase()),
462
- workflowId: schema.properties?.workflowId?.const || '',
463
- description: schema.description || ''
464
- });
465
- }
466
- return workflows;
467
- }
468
- /**
469
- * Get workflow-specific create tool definition
470
- * Returns schema with enum constraints for valid phase IDs, field options, etc.
471
- */
472
- getWorkflowCreateToolDefinition(workflowName) {
473
- const schema = this.getWorkspaceSchema(workflowName);
474
- if (!schema) {
475
- return null;
476
- }
477
- const normalizedName = workflowName.toLowerCase().replace(/ /g, '_');
478
- return {
479
- name: `create_${normalizedName}`,
480
- description: `Create activity in ${workflowName}. Schema-validated with enum constraints for valid IDs.`,
481
- inputSchema: schema
482
- };
483
- }
484
- /**
485
- * Convert Zod schema to JSON Schema format (required by MCP protocol)
486
- */
192
+ // ===== ZOD → JSON SCHEMA CONVERSION =====
487
193
  convertZodSchemaToJsonSchema(zodSchema) {
488
- // Handle ZodObject by extracting its shape
489
194
  if (zodSchema._def?.typeName === 'ZodObject') {
490
195
  zodSchema = zodSchema._def.shape();
491
196
  }
492
197
  const properties = {};
493
198
  const required = [];
494
- // Handle the schema object
495
199
  for (const [key, value] of Object.entries(zodSchema)) {
496
200
  if (value && typeof value === "object" && "_def" in value) {
497
201
  const zodType = value;
498
202
  const property = this.convertZodTypeToJsonSchema(zodType);
499
- // Handle optional vs required - Check for ZodOptional and ZodDefault wrappers
500
203
  const isOptional = zodType._def?.typeName === 'ZodOptional';
501
204
  const hasDefault = zodType._def?.typeName === 'ZodDefault';
502
- if (!isOptional && !hasDefault) {
205
+ if (!isOptional && !hasDefault)
503
206
  required.push(key);
504
- }
505
- // Handle default values - Extract from ZodDefault wrapper
506
207
  if (hasDefault && typeof zodType._def?.defaultValue === 'function') {
507
208
  property.default = zodType._def.defaultValue();
508
209
  }
509
210
  properties[key] = property;
510
211
  }
511
212
  }
512
- return {
513
- type: "object",
514
- properties,
515
- required,
516
- };
213
+ return { type: "object", properties, required };
517
214
  }
518
- /**
519
- * Convert a single Zod type to JSON Schema
520
- */
521
215
  convertZodTypeToJsonSchema(zodType) {
522
- // Unwrap ZodOptional and ZodDefault wrappers to get the inner type
523
216
  let unwrappedType = zodType;
524
217
  while (unwrappedType._def?.typeName === 'ZodOptional' || unwrappedType._def?.typeName === 'ZodDefault') {
525
218
  unwrappedType = unwrappedType._def.innerType;
526
219
  }
527
220
  const typeName = unwrappedType._def?.typeName;
528
221
  const property = {};
529
- // Add description if available (check both wrapped and unwrapped)
530
- if (zodType._def?.description) {
222
+ if (zodType._def?.description)
531
223
  property.description = zodType._def.description;
532
- }
533
- else if (unwrappedType._def?.description) {
224
+ else if (unwrappedType._def?.description)
534
225
  property.description = unwrappedType._def.description;
535
- }
536
226
  switch (typeName) {
537
227
  case "ZodString":
538
228
  property.type = "string";
@@ -545,23 +235,17 @@ Then retry \`${name}\` with the correct format from the skill examples.` : `💡
545
235
  break;
546
236
  case "ZodArray":
547
237
  property.type = "array";
548
- // Handle array items
549
- if (unwrappedType._def?.type) {
550
- property.items = this.convertZodTypeToJsonSchema(unwrappedType._def.type);
551
- }
552
- else {
553
- property.items = { type: "string" };
554
- }
238
+ property.items = unwrappedType._def?.type
239
+ ? this.convertZodTypeToJsonSchema(unwrappedType._def.type)
240
+ : { type: "string" };
555
241
  break;
556
242
  case "ZodObject":
557
243
  property.type = "object";
558
- // Recursively handle object properties if needed
559
244
  if (unwrappedType._def?.shape) {
560
245
  const nestedSchema = this.convertZodSchemaToJsonSchema(unwrappedType._def.shape);
561
246
  property.properties = nestedSchema.properties;
562
- if (nestedSchema.required?.length > 0) {
247
+ if (nestedSchema.required?.length > 0)
563
248
  property.required = nestedSchema.required;
564
- }
565
249
  }
566
250
  break;
567
251
  case "ZodRecord":
@@ -569,28 +253,21 @@ Then retry \`${name}\` with the correct format from the skill examples.` : `💡
569
253
  break;
570
254
  case "ZodEnum":
571
255
  property.type = "string";
572
- // Handle enum values
573
- if (unwrappedType._def?.values) {
256
+ if (unwrappedType._def?.values)
574
257
  property.enum = Array.from(unwrappedType._def.values);
575
- }
576
258
  break;
577
259
  case "ZodUnion":
578
- // For unions, try to extract types
579
- if (unwrappedType._def?.options && unwrappedType._def.options.length > 0) {
580
- const firstOption = unwrappedType._def.options[0];
581
- const firstType = this.convertZodTypeToJsonSchema(firstOption);
260
+ if (unwrappedType._def?.options?.length > 0) {
261
+ const firstType = this.convertZodTypeToJsonSchema(unwrappedType._def.options[0]);
582
262
  property.type = firstType.type;
583
- if (firstType.enum) {
263
+ if (firstType.enum)
584
264
  property.enum = firstType.enum;
585
- }
586
265
  }
587
266
  else {
588
267
  property.type = "string";
589
268
  }
590
269
  break;
591
270
  case "ZodLazy":
592
- // Unwrap lazy schema (used for recursive types like WhereFilter)
593
- // Guard against infinite recursion from self-referencing schemas
594
271
  if (!this._lazyGuard)
595
272
  this._lazyGuard = new Set();
596
273
  if (this._lazyGuard.has(unwrappedType)) {
@@ -609,8 +286,7 @@ Then retry \`${name}\` with the correct format from the skill examples.` : `💡
609
286
  this._lazyGuard.delete(unwrappedType);
610
287
  property.type = "object";
611
288
  break;
612
- default:
613
- property.type = "string";
289
+ default: property.type = "string";
614
290
  }
615
291
  return property;
616
292
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-registry.js","sourceRoot":"","sources":["../../src/mcp/tool-registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=discussion-forward.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discussion-forward.test.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tools/__tests__/discussion-forward.test.ts"],"names":[],"mappings":""}