@hailer/mcp 1.2.1 → 2.0.0-beta.1

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 (764) hide show
  1. package/.claude/agents/agent-hailer-helper.md +118 -0
  2. package/.claude/commands/app-squad.md +16 -110
  3. package/.claude/commands/debug-squad.md +13 -290
  4. package/.claude/commands/publish.md +2 -2
  5. package/.claude/commands/review-squad.md +17 -139
  6. package/.claude/skills/create-and-publish-app/SKILL.md +95 -153
  7. package/.claude/skills/hailer-app-builder/SKILL.md +2 -2
  8. package/.claude/skills/hailer-ui-guide/SKILL.md +265 -0
  9. package/.env.example +50 -1
  10. package/CLAUDE.md +136 -10
  11. package/dist/app.d.ts.map +1 -1
  12. package/dist/app.js +3 -0
  13. package/dist/app.js.map +1 -1
  14. package/dist/bot/bot-manager.d.ts +9 -6
  15. package/dist/bot/bot-manager.d.ts.map +1 -1
  16. package/dist/bot/bot-manager.js +142 -31
  17. package/dist/bot/bot-manager.js.map +1 -1
  18. package/dist/bot/bot.d.ts +59 -16
  19. package/dist/bot/bot.d.ts.map +1 -1
  20. package/dist/bot/bot.js +889 -142
  21. package/dist/bot/bot.js.map +1 -1
  22. package/dist/bot/operation-logger.d.ts.map +1 -1
  23. package/dist/bot/operation-logger.js +24 -12
  24. package/dist/bot/operation-logger.js.map +1 -1
  25. package/dist/bot/services/bot-permissions.d.ts +2 -2
  26. package/dist/bot/services/bot-permissions.d.ts.map +1 -1
  27. package/dist/bot/services/bot-permissions.js +28 -9
  28. package/dist/bot/services/bot-permissions.js.map +1 -1
  29. package/dist/bot/services/conversation-manager.d.ts +23 -23
  30. package/dist/bot/services/conversation-manager.d.ts.map +1 -1
  31. package/dist/bot/services/conversation-manager.js +52 -49
  32. package/dist/bot/services/conversation-manager.js.map +1 -1
  33. package/dist/bot/services/helper-prompt.d.ts +8 -0
  34. package/dist/bot/services/helper-prompt.d.ts.map +1 -0
  35. package/dist/bot/services/helper-prompt.js +177 -0
  36. package/dist/bot/services/helper-prompt.js.map +1 -0
  37. package/dist/bot/services/message-classifier.d.ts +16 -16
  38. package/dist/bot/services/message-classifier.d.ts.map +1 -1
  39. package/dist/bot/services/message-classifier.js +55 -49
  40. package/dist/bot/services/message-classifier.js.map +1 -1
  41. package/dist/bot/services/message-formatter.d.ts +38 -38
  42. package/dist/bot/services/message-formatter.d.ts.map +1 -1
  43. package/dist/bot/services/message-formatter.js +81 -74
  44. package/dist/bot/services/message-formatter.js.map +1 -1
  45. package/dist/bot/services/permission-guard.d.ts.map +1 -1
  46. package/dist/bot/services/permission-guard.js +20 -10
  47. package/dist/bot/services/permission-guard.js.map +1 -1
  48. package/dist/bot/services/signal-router.d.ts.map +1 -1
  49. package/dist/bot/services/signal-router.js +11 -6
  50. package/dist/bot/services/signal-router.js.map +1 -1
  51. package/dist/bot/services/system-prompt.d.ts +14 -0
  52. package/dist/bot/services/system-prompt.d.ts.map +1 -1
  53. package/dist/bot/services/system-prompt.js +179 -4
  54. package/dist/bot/services/system-prompt.js.map +1 -1
  55. package/dist/bot/services/token-billing.d.ts +23 -23
  56. package/dist/bot/services/token-billing.d.ts.map +1 -1
  57. package/dist/bot/services/token-billing.js +51 -36
  58. package/dist/bot/services/token-billing.js.map +1 -1
  59. package/dist/bot/services/types.d.ts +3 -1
  60. package/dist/bot/services/types.d.ts.map +1 -1
  61. package/dist/bot/services/typing-indicator.d.ts +8 -8
  62. package/dist/bot/services/typing-indicator.d.ts.map +1 -1
  63. package/dist/bot/services/typing-indicator.js +12 -10
  64. package/dist/bot/services/typing-indicator.js.map +1 -1
  65. package/dist/bot/services/workspace-refresh.d.ts +3 -3
  66. package/dist/bot/services/workspace-refresh.d.ts.map +1 -1
  67. package/dist/bot/services/workspace-refresh.js +23 -13
  68. package/dist/bot/services/workspace-refresh.js.map +1 -1
  69. package/dist/bot/tool-executor.d.ts +10 -6
  70. package/dist/bot/tool-executor.d.ts.map +1 -1
  71. package/dist/bot/tool-executor.js +12 -6
  72. package/dist/bot/tool-executor.js.map +1 -1
  73. package/dist/bot/workspace-overview.d.ts.map +1 -1
  74. package/dist/bot/workspace-overview.js +6 -3
  75. package/dist/bot/workspace-overview.js.map +1 -1
  76. package/dist/bot-config/activity-error.d.ts +47 -0
  77. package/dist/bot-config/activity-error.d.ts.map +1 -0
  78. package/dist/bot-config/activity-error.js +67 -0
  79. package/dist/bot-config/activity-error.js.map +1 -0
  80. package/dist/bot-config/context.d.ts +4 -4
  81. package/dist/bot-config/context.d.ts.map +1 -1
  82. package/dist/bot-config/context.js +18 -14
  83. package/dist/bot-config/context.js.map +1 -1
  84. package/dist/bot-config/events.d.ts +45 -0
  85. package/dist/bot-config/events.d.ts.map +1 -0
  86. package/dist/bot-config/events.js +51 -0
  87. package/dist/bot-config/events.js.map +1 -0
  88. package/dist/bot-config/index.d.ts +3 -0
  89. package/dist/bot-config/index.d.ts.map +1 -1
  90. package/dist/bot-config/index.js +8 -1
  91. package/dist/bot-config/index.js.map +1 -1
  92. package/dist/bot-config/loader.d.ts +3 -0
  93. package/dist/bot-config/loader.d.ts.map +1 -1
  94. package/dist/bot-config/loader.js +45 -20
  95. package/dist/bot-config/loader.js.map +1 -1
  96. package/dist/bot-config/persistence.js.map +1 -1
  97. package/dist/bot-config/reconciler.d.ts +11 -0
  98. package/dist/bot-config/reconciler.d.ts.map +1 -0
  99. package/dist/bot-config/reconciler.js +121 -0
  100. package/dist/bot-config/reconciler.js.map +1 -0
  101. package/dist/bot-config/state.d.ts.map +1 -1
  102. package/dist/bot-config/state.js.map +1 -1
  103. package/dist/bot-config/types.d.ts +32 -0
  104. package/dist/bot-config/types.d.ts.map +1 -1
  105. package/dist/bot-config/webhooks.d.ts.map +1 -1
  106. package/dist/bot-config/webhooks.js.map +1 -1
  107. package/dist/bot-config/workflow-installer.d.ts +37 -0
  108. package/dist/bot-config/workflow-installer.d.ts.map +1 -0
  109. package/dist/bot-config/workflow-installer.js +346 -0
  110. package/dist/bot-config/workflow-installer.js.map +1 -0
  111. package/dist/cli.d.ts.map +1 -1
  112. package/dist/cli.js +12 -0
  113. package/dist/cli.js.map +1 -1
  114. package/dist/config.d.ts +23 -19
  115. package/dist/config.d.ts.map +1 -1
  116. package/dist/config.js +65 -27
  117. package/dist/config.js.map +1 -1
  118. package/dist/core.d.ts +6 -4
  119. package/dist/core.d.ts.map +1 -1
  120. package/dist/core.js +11 -16
  121. package/dist/core.js.map +1 -1
  122. package/dist/lib/logger.d.ts.map +1 -1
  123. package/dist/lib/logger.js +7 -4
  124. package/dist/lib/logger.js.map +1 -1
  125. package/dist/lib/request-logger.d.ts +19 -19
  126. package/dist/lib/request-logger.d.ts.map +1 -1
  127. package/dist/lib/request-logger.js +19 -19
  128. package/dist/lib/request-logger.js.map +1 -1
  129. package/dist/mcp/UserContextCache.d.ts +28 -22
  130. package/dist/mcp/UserContextCache.d.ts.map +1 -1
  131. package/dist/mcp/UserContextCache.js +23 -23
  132. package/dist/mcp/UserContextCache.js.map +1 -1
  133. package/dist/mcp/auth.js.map +1 -1
  134. package/dist/mcp/hailer-clients.d.ts +5 -4
  135. package/dist/mcp/hailer-clients.d.ts.map +1 -1
  136. package/dist/mcp/hailer-clients.js +61 -27
  137. package/dist/mcp/hailer-clients.js.map +1 -1
  138. package/dist/mcp/hailer-rpc.d.ts +40 -0
  139. package/dist/mcp/hailer-rpc.d.ts.map +1 -0
  140. package/dist/mcp/hailer-rpc.js +43 -0
  141. package/dist/mcp/hailer-rpc.js.map +1 -0
  142. package/dist/mcp/session-store.d.ts +16 -16
  143. package/dist/mcp/session-store.d.ts.map +1 -1
  144. package/dist/mcp/session-store.js +16 -16
  145. package/dist/mcp/session-store.js.map +1 -1
  146. package/dist/mcp/tool-profiles.d.ts +69 -0
  147. package/dist/mcp/tool-profiles.d.ts.map +1 -0
  148. package/dist/mcp/tool-profiles.js +176 -0
  149. package/dist/mcp/tool-profiles.js.map +1 -0
  150. package/dist/mcp/tool-registry.d.ts +16 -0
  151. package/dist/mcp/tool-registry.d.ts.map +1 -1
  152. package/dist/mcp/tool-registry.js +91 -39
  153. package/dist/mcp/tool-registry.js.map +1 -1
  154. package/dist/mcp/tools/activity.d.ts.map +1 -1
  155. package/dist/mcp/tools/activity.js +398 -198
  156. package/dist/mcp/tools/activity.js.map +1 -1
  157. package/dist/mcp/tools/aliases.d.ts +11 -0
  158. package/dist/mcp/tools/aliases.d.ts.map +1 -0
  159. package/dist/mcp/tools/aliases.js +176 -0
  160. package/dist/mcp/tools/aliases.js.map +1 -0
  161. package/dist/mcp/tools/app-core.d.ts +6 -8
  162. package/dist/mcp/tools/app-core.d.ts.map +1 -1
  163. package/dist/mcp/tools/app-core.js +355 -254
  164. package/dist/mcp/tools/app-core.js.map +1 -1
  165. package/dist/mcp/tools/app-marketplace.d.ts +8 -16
  166. package/dist/mcp/tools/app-marketplace.d.ts.map +1 -1
  167. package/dist/mcp/tools/app-marketplace.js +604 -930
  168. package/dist/mcp/tools/app-marketplace.js.map +1 -1
  169. package/dist/mcp/tools/app.d.ts +4 -7
  170. package/dist/mcp/tools/app.d.ts.map +1 -1
  171. package/dist/mcp/tools/app.js +4 -7
  172. package/dist/mcp/tools/app.js.map +1 -1
  173. package/dist/mcp/tools/bot-self.d.ts +21 -0
  174. package/dist/mcp/tools/bot-self.d.ts.map +1 -0
  175. package/dist/mcp/tools/bot-self.js +174 -0
  176. package/dist/mcp/tools/bot-self.js.map +1 -0
  177. package/dist/mcp/tools/calendar.d.ts +21 -0
  178. package/dist/mcp/tools/calendar.d.ts.map +1 -0
  179. package/dist/mcp/tools/calendar.js +741 -0
  180. package/dist/mcp/tools/calendar.js.map +1 -0
  181. package/dist/mcp/tools/company.d.ts.map +1 -1
  182. package/dist/mcp/tools/company.js +2 -1
  183. package/dist/mcp/tools/company.js.map +1 -1
  184. package/dist/mcp/tools/date.js.map +1 -1
  185. package/dist/mcp/tools/discussion.d.ts +23 -3
  186. package/dist/mcp/tools/discussion.d.ts.map +1 -1
  187. package/dist/mcp/tools/discussion.js +417 -534
  188. package/dist/mcp/tools/discussion.js.map +1 -1
  189. package/dist/mcp/tools/file.d.ts.map +1 -1
  190. package/dist/mcp/tools/file.js +18 -16
  191. package/dist/mcp/tools/file.js.map +1 -1
  192. package/dist/mcp/tools/index.js +4 -4
  193. package/dist/mcp/tools/index.js.map +1 -1
  194. package/dist/mcp/tools/insight.d.ts +7 -5
  195. package/dist/mcp/tools/insight.d.ts.map +1 -1
  196. package/dist/mcp/tools/insight.js +419 -477
  197. package/dist/mcp/tools/insight.js.map +1 -1
  198. package/dist/mcp/tools/user.d.ts.map +1 -1
  199. package/dist/mcp/tools/user.js +15 -13
  200. package/dist/mcp/tools/user.js.map +1 -1
  201. package/dist/mcp/tools/workflow-permissions.d.ts +2 -4
  202. package/dist/mcp/tools/workflow-permissions.d.ts.map +1 -1
  203. package/dist/mcp/tools/workflow-permissions.js +88 -97
  204. package/dist/mcp/tools/workflow-permissions.js.map +1 -1
  205. package/dist/mcp/tools/workflow.d.ts +2 -7
  206. package/dist/mcp/tools/workflow.d.ts.map +1 -1
  207. package/dist/mcp/tools/workflow.js +817 -850
  208. package/dist/mcp/tools/workflow.js.map +1 -1
  209. package/dist/mcp/utils/api-errors.d.ts.map +1 -1
  210. package/dist/mcp/utils/api-errors.js +2 -2
  211. package/dist/mcp/utils/api-errors.js.map +1 -1
  212. package/dist/mcp/utils/data-transformers.d.ts.map +1 -1
  213. package/dist/mcp/utils/data-transformers.js +8 -4
  214. package/dist/mcp/utils/data-transformers.js.map +1 -1
  215. package/dist/mcp/utils/file-upload.d.ts.map +1 -1
  216. package/dist/mcp/utils/file-upload.js +1 -1
  217. package/dist/mcp/utils/file-upload.js.map +1 -1
  218. package/dist/mcp/utils/hailer-api-client.d.ts +81 -81
  219. package/dist/mcp/utils/hailer-api-client.d.ts.map +1 -1
  220. package/dist/mcp/utils/hailer-api-client.js +103 -101
  221. package/dist/mcp/utils/hailer-api-client.js.map +1 -1
  222. package/dist/mcp/utils/index.d.ts.map +1 -1
  223. package/dist/mcp/utils/index.js.map +1 -1
  224. package/dist/mcp/utils/logger.d.ts.map +1 -1
  225. package/dist/mcp/utils/logger.js.map +1 -1
  226. package/dist/mcp/utils/response-builder.d.ts.map +1 -1
  227. package/dist/mcp/utils/response-builder.js +8 -4
  228. package/dist/mcp/utils/response-builder.js.map +1 -1
  229. package/dist/mcp/utils/role-utils.d.ts.map +1 -1
  230. package/dist/mcp/utils/role-utils.js +6 -3
  231. package/dist/mcp/utils/role-utils.js.map +1 -1
  232. package/dist/mcp/utils/tool-helpers.d.ts.map +1 -1
  233. package/dist/mcp/utils/tool-helpers.js +2 -2
  234. package/dist/mcp/utils/tool-helpers.js.map +1 -1
  235. package/dist/mcp/utils/types.d.ts +1 -1
  236. package/dist/mcp/utils/types.d.ts.map +1 -1
  237. package/dist/mcp/utils/types.js.map +1 -1
  238. package/dist/mcp/webhook-handler.d.ts +43 -8
  239. package/dist/mcp/webhook-handler.d.ts.map +1 -1
  240. package/dist/mcp/webhook-handler.js +861 -116
  241. package/dist/mcp/webhook-handler.js.map +1 -1
  242. package/dist/mcp/workspace-admin-store.d.ts +49 -0
  243. package/dist/mcp/workspace-admin-store.d.ts.map +1 -0
  244. package/dist/mcp/workspace-admin-store.js +168 -0
  245. package/dist/mcp/workspace-admin-store.js.map +1 -0
  246. package/dist/mcp/workspace-cache.d.ts +2 -2
  247. package/dist/mcp/workspace-cache.d.ts.map +1 -1
  248. package/dist/mcp/workspace-cache.js +9 -5
  249. package/dist/mcp/workspace-cache.js.map +1 -1
  250. package/dist/mcp-server.d.ts +26 -11
  251. package/dist/mcp-server.d.ts.map +1 -1
  252. package/dist/mcp-server.js +360 -36
  253. package/dist/mcp-server.js.map +1 -1
  254. package/dist/plugins/vipunen/client.d.ts +41 -41
  255. package/dist/plugins/vipunen/client.d.ts.map +1 -1
  256. package/dist/plugins/vipunen/client.js +53 -48
  257. package/dist/plugins/vipunen/client.js.map +1 -1
  258. package/dist/plugins/vipunen/index.js.map +1 -1
  259. package/dist/plugins/vipunen/tools.d.ts.map +1 -1
  260. package/dist/plugins/vipunen/tools.js +6 -3
  261. package/dist/plugins/vipunen/tools.js.map +1 -1
  262. package/dist/public-chat/graduate.d.ts +29 -0
  263. package/dist/public-chat/graduate.d.ts.map +1 -0
  264. package/dist/public-chat/graduate.js +593 -0
  265. package/dist/public-chat/graduate.js.map +1 -0
  266. package/dist/public-chat/handler.d.ts +12 -0
  267. package/dist/public-chat/handler.d.ts.map +1 -0
  268. package/dist/public-chat/handler.js +179 -0
  269. package/dist/public-chat/handler.js.map +1 -0
  270. package/dist/public-chat/index.d.ts +16 -0
  271. package/dist/public-chat/index.d.ts.map +1 -0
  272. package/dist/public-chat/index.js +74 -0
  273. package/dist/public-chat/index.js.map +1 -0
  274. package/dist/public-chat/knowledge.d.ts +3 -0
  275. package/dist/public-chat/knowledge.d.ts.map +1 -0
  276. package/dist/public-chat/knowledge.js +1339 -0
  277. package/dist/public-chat/knowledge.js.map +1 -0
  278. package/dist/public-chat/rate-limit.d.ts +16 -0
  279. package/dist/public-chat/rate-limit.d.ts.map +1 -0
  280. package/dist/public-chat/rate-limit.js +51 -0
  281. package/dist/public-chat/rate-limit.js.map +1 -0
  282. package/dist/public-chat/session-store.d.ts +41 -0
  283. package/dist/public-chat/session-store.d.ts.map +1 -0
  284. package/dist/public-chat/session-store.js +95 -0
  285. package/dist/public-chat/session-store.js.map +1 -0
  286. package/dist/public-chat/studio-prewarm.d.ts +61 -0
  287. package/dist/public-chat/studio-prewarm.d.ts.map +1 -0
  288. package/dist/public-chat/studio-prewarm.js +162 -0
  289. package/dist/public-chat/studio-prewarm.js.map +1 -0
  290. package/dist/public-chat/system-prompt.d.ts +22 -0
  291. package/dist/public-chat/system-prompt.d.ts.map +1 -0
  292. package/dist/public-chat/system-prompt.js +428 -0
  293. package/dist/public-chat/system-prompt.js.map +1 -0
  294. package/package.json +14 -6
  295. package/scripts/build-public-chat-knowledge.py +101 -0
  296. package/scripts/probe-mcp-pricing.ts +52 -0
  297. package/scripts/smoke-public-chat-live.ts +148 -0
  298. package/scripts/smoke-public-chat.ts +110 -0
  299. package/.claude/CLAUDE.md +0 -126
  300. package/.claude/commands/audit-squad.md +0 -158
  301. package/.claude/commands/cleanup-squad.md +0 -98
  302. package/.claude/commands/config-squad.md +0 -106
  303. package/.claude/commands/crud-squad.md +0 -87
  304. package/.claude/commands/data-squad.md +0 -97
  305. package/.claude/commands/doc-squad.md +0 -65
  306. package/.claude/commands/help.md +0 -29
  307. package/.claude/commands/help:agents.md +0 -182
  308. package/.claude/commands/help:commands.md +0 -78
  309. package/.claude/commands/help:faq.md +0 -79
  310. package/.claude/commands/help:plugins.md +0 -50
  311. package/.claude/commands/help:skills.md +0 -87
  312. package/.claude/commands/help:tools.md +0 -75
  313. package/.claude/commands/hotfix-squad.md +0 -112
  314. package/.claude/commands/integration-squad.md +0 -82
  315. package/.claude/commands/janitor-squad.md +0 -167
  316. package/.claude/commands/onboard-squad.md +0 -130
  317. package/.claude/commands/swarm.md +0 -210
  318. package/.claude/commands/tool-builder.md +0 -39
  319. package/.claude/skills/publish-hailer-app/SKILL.md +0 -280
  320. package/dist/CLAUDE.md +0 -370
  321. package/dist/agents/bot-manager.d.ts +0 -48
  322. package/dist/agents/bot-manager.d.ts.map +0 -1
  323. package/dist/agents/bot-manager.js +0 -254
  324. package/dist/agents/bot-manager.js.map +0 -1
  325. package/dist/agents/bug-fixer/ai.d.ts +0 -80
  326. package/dist/agents/bug-fixer/ai.d.ts.map +0 -1
  327. package/dist/agents/bug-fixer/ai.js +0 -466
  328. package/dist/agents/bug-fixer/ai.js.map +0 -1
  329. package/dist/agents/bug-fixer/bot.d.ts +0 -92
  330. package/dist/agents/bug-fixer/bot.d.ts.map +0 -1
  331. package/dist/agents/bug-fixer/bot.js +0 -687
  332. package/dist/agents/bug-fixer/bot.js.map +0 -1
  333. package/dist/agents/bug-fixer/config.d.ts +0 -21
  334. package/dist/agents/bug-fixer/config.d.ts.map +0 -1
  335. package/dist/agents/bug-fixer/config.js +0 -218
  336. package/dist/agents/bug-fixer/config.js.map +0 -1
  337. package/dist/agents/bug-fixer/files.d.ts +0 -67
  338. package/dist/agents/bug-fixer/files.d.ts.map +0 -1
  339. package/dist/agents/bug-fixer/files.js +0 -386
  340. package/dist/agents/bug-fixer/files.js.map +0 -1
  341. package/dist/agents/bug-fixer/git.d.ts +0 -48
  342. package/dist/agents/bug-fixer/git.d.ts.map +0 -1
  343. package/dist/agents/bug-fixer/git.js +0 -298
  344. package/dist/agents/bug-fixer/git.js.map +0 -1
  345. package/dist/agents/bug-fixer/index.d.ts +0 -103
  346. package/dist/agents/bug-fixer/index.d.ts.map +0 -1
  347. package/dist/agents/bug-fixer/index.js +0 -262
  348. package/dist/agents/bug-fixer/index.js.map +0 -1
  349. package/dist/agents/bug-fixer/lsp.d.ts +0 -113
  350. package/dist/agents/bug-fixer/lsp.d.ts.map +0 -1
  351. package/dist/agents/bug-fixer/lsp.js +0 -485
  352. package/dist/agents/bug-fixer/lsp.js.map +0 -1
  353. package/dist/agents/bug-fixer/monitor.d.ts +0 -123
  354. package/dist/agents/bug-fixer/monitor.d.ts.map +0 -1
  355. package/dist/agents/bug-fixer/monitor.js +0 -629
  356. package/dist/agents/bug-fixer/monitor.js.map +0 -1
  357. package/dist/agents/bug-fixer/prompt.d.ts +0 -5
  358. package/dist/agents/bug-fixer/prompt.d.ts.map +0 -1
  359. package/dist/agents/bug-fixer/prompt.js +0 -94
  360. package/dist/agents/bug-fixer/prompt.js.map +0 -1
  361. package/dist/agents/bug-fixer/registries/pending-classification.d.ts +0 -28
  362. package/dist/agents/bug-fixer/registries/pending-classification.d.ts.map +0 -1
  363. package/dist/agents/bug-fixer/registries/pending-classification.js +0 -50
  364. package/dist/agents/bug-fixer/registries/pending-classification.js.map +0 -1
  365. package/dist/agents/bug-fixer/registries/pending-fix.d.ts +0 -33
  366. package/dist/agents/bug-fixer/registries/pending-fix.d.ts.map +0 -1
  367. package/dist/agents/bug-fixer/registries/pending-fix.js +0 -64
  368. package/dist/agents/bug-fixer/registries/pending-fix.js.map +0 -1
  369. package/dist/agents/bug-fixer/registries/pending.d.ts +0 -27
  370. package/dist/agents/bug-fixer/registries/pending.d.ts.map +0 -1
  371. package/dist/agents/bug-fixer/registries/pending.js +0 -49
  372. package/dist/agents/bug-fixer/registries/pending.js.map +0 -1
  373. package/dist/agents/bug-fixer/specialist-daemon.d.ts +0 -88
  374. package/dist/agents/bug-fixer/specialist-daemon.d.ts.map +0 -1
  375. package/dist/agents/bug-fixer/specialist-daemon.js +0 -431
  376. package/dist/agents/bug-fixer/specialist-daemon.js.map +0 -1
  377. package/dist/agents/bug-fixer/specialist.d.ts +0 -47
  378. package/dist/agents/bug-fixer/specialist.d.ts.map +0 -1
  379. package/dist/agents/bug-fixer/specialist.js +0 -327
  380. package/dist/agents/bug-fixer/specialist.js.map +0 -1
  381. package/dist/agents/bug-fixer/types.d.ts +0 -123
  382. package/dist/agents/bug-fixer/types.d.ts.map +0 -1
  383. package/dist/agents/bug-fixer/types.js +0 -9
  384. package/dist/agents/bug-fixer/types.js.map +0 -1
  385. package/dist/agents/factory.d.ts +0 -172
  386. package/dist/agents/factory.d.ts.map +0 -1
  387. package/dist/agents/factory.js +0 -706
  388. package/dist/agents/factory.js.map +0 -1
  389. package/dist/agents/hailer-expert/index.d.ts +0 -8
  390. package/dist/agents/hailer-expert/index.d.ts.map +0 -1
  391. package/dist/agents/hailer-expert/index.js +0 -14
  392. package/dist/agents/hailer-expert/index.js.map +0 -1
  393. package/dist/agents/hal/daemon.d.ts +0 -174
  394. package/dist/agents/hal/daemon.d.ts.map +0 -1
  395. package/dist/agents/hal/daemon.js +0 -1385
  396. package/dist/agents/hal/daemon.js.map +0 -1
  397. package/dist/agents/hal/definitions.d.ts +0 -42
  398. package/dist/agents/hal/definitions.d.ts.map +0 -1
  399. package/dist/agents/hal/definitions.js +0 -300
  400. package/dist/agents/hal/definitions.js.map +0 -1
  401. package/dist/agents/hal/index.d.ts +0 -3
  402. package/dist/agents/hal/index.d.ts.map +0 -1
  403. package/dist/agents/hal/index.js +0 -8
  404. package/dist/agents/hal/index.js.map +0 -1
  405. package/dist/agents/index.d.ts +0 -18
  406. package/dist/agents/index.d.ts.map +0 -1
  407. package/dist/agents/index.js +0 -48
  408. package/dist/agents/index.js.map +0 -1
  409. package/dist/agents/shared/base.d.ts +0 -253
  410. package/dist/agents/shared/base.d.ts.map +0 -1
  411. package/dist/agents/shared/base.js +0 -1122
  412. package/dist/agents/shared/base.js.map +0 -1
  413. package/dist/agents/shared/schemas/action-schema.d.ts +0 -62
  414. package/dist/agents/shared/schemas/action-schema.d.ts.map +0 -1
  415. package/dist/agents/shared/schemas/action-schema.js +0 -483
  416. package/dist/agents/shared/schemas/action-schema.js.map +0 -1
  417. package/dist/agents/shared/services/agent-registry.d.ts +0 -108
  418. package/dist/agents/shared/services/agent-registry.d.ts.map +0 -1
  419. package/dist/agents/shared/services/agent-registry.js +0 -469
  420. package/dist/agents/shared/services/agent-registry.js.map +0 -1
  421. package/dist/agents/shared/services/conversation-manager.d.ts +0 -57
  422. package/dist/agents/shared/services/conversation-manager.d.ts.map +0 -1
  423. package/dist/agents/shared/services/conversation-manager.js +0 -168
  424. package/dist/agents/shared/services/conversation-manager.js.map +0 -1
  425. package/dist/agents/shared/services/mcp-client.d.ts +0 -56
  426. package/dist/agents/shared/services/mcp-client.d.ts.map +0 -1
  427. package/dist/agents/shared/services/mcp-client.js +0 -124
  428. package/dist/agents/shared/services/mcp-client.js.map +0 -1
  429. package/dist/agents/shared/services/message-classifier.d.ts +0 -37
  430. package/dist/agents/shared/services/message-classifier.d.ts.map +0 -1
  431. package/dist/agents/shared/services/message-classifier.js +0 -203
  432. package/dist/agents/shared/services/message-classifier.js.map +0 -1
  433. package/dist/agents/shared/services/message-formatter.d.ts +0 -89
  434. package/dist/agents/shared/services/message-formatter.d.ts.map +0 -1
  435. package/dist/agents/shared/services/message-formatter.js +0 -390
  436. package/dist/agents/shared/services/message-formatter.js.map +0 -1
  437. package/dist/agents/shared/services/session-logger.d.ts +0 -162
  438. package/dist/agents/shared/services/session-logger.d.ts.map +0 -1
  439. package/dist/agents/shared/services/session-logger.js +0 -724
  440. package/dist/agents/shared/services/session-logger.js.map +0 -1
  441. package/dist/agents/shared/services/structured-output-executor.d.ts +0 -88
  442. package/dist/agents/shared/services/structured-output-executor.d.ts.map +0 -1
  443. package/dist/agents/shared/services/structured-output-executor.js +0 -296
  444. package/dist/agents/shared/services/structured-output-executor.js.map +0 -1
  445. package/dist/agents/shared/services/token-billing.d.ts +0 -72
  446. package/dist/agents/shared/services/token-billing.d.ts.map +0 -1
  447. package/dist/agents/shared/services/token-billing.js +0 -198
  448. package/dist/agents/shared/services/token-billing.js.map +0 -1
  449. package/dist/agents/shared/services/tool-executor.d.ts +0 -43
  450. package/dist/agents/shared/services/tool-executor.d.ts.map +0 -1
  451. package/dist/agents/shared/services/tool-executor.js +0 -175
  452. package/dist/agents/shared/services/tool-executor.js.map +0 -1
  453. package/dist/agents/shared/services/typing-indicator.d.ts +0 -24
  454. package/dist/agents/shared/services/typing-indicator.d.ts.map +0 -1
  455. package/dist/agents/shared/services/typing-indicator.js +0 -54
  456. package/dist/agents/shared/services/typing-indicator.js.map +0 -1
  457. package/dist/agents/shared/services/workspace-schema-cache.d.ts +0 -122
  458. package/dist/agents/shared/services/workspace-schema-cache.d.ts.map +0 -1
  459. package/dist/agents/shared/services/workspace-schema-cache.js +0 -507
  460. package/dist/agents/shared/services/workspace-schema-cache.js.map +0 -1
  461. package/dist/agents/shared/specialist.d.ts +0 -91
  462. package/dist/agents/shared/specialist.d.ts.map +0 -1
  463. package/dist/agents/shared/specialist.js +0 -399
  464. package/dist/agents/shared/specialist.js.map +0 -1
  465. package/dist/agents/shared/tool-schema-loader.d.ts +0 -65
  466. package/dist/agents/shared/tool-schema-loader.d.ts.map +0 -1
  467. package/dist/agents/shared/tool-schema-loader.js +0 -238
  468. package/dist/agents/shared/tool-schema-loader.js.map +0 -1
  469. package/dist/agents/shared/types.d.ts +0 -190
  470. package/dist/agents/shared/types.d.ts.map +0 -1
  471. package/dist/agents/shared/types.js +0 -13
  472. package/dist/agents/shared/types.js.map +0 -1
  473. package/dist/bot/bot-config.d.ts +0 -37
  474. package/dist/bot/bot-config.d.ts.map +0 -1
  475. package/dist/bot/bot-config.js +0 -219
  476. package/dist/bot/bot-config.js.map +0 -1
  477. package/dist/bot/services/__tests__/permission-guard.test.d.ts +0 -2
  478. package/dist/bot/services/__tests__/permission-guard.test.d.ts.map +0 -1
  479. package/dist/bot/services/__tests__/permission-guard.test.js +0 -357
  480. package/dist/bot/services/__tests__/permission-guard.test.js.map +0 -1
  481. package/dist/bot/services/session-logger.d.ts +0 -162
  482. package/dist/bot/services/session-logger.d.ts.map +0 -1
  483. package/dist/bot/services/session-logger.js +0 -724
  484. package/dist/bot/services/session-logger.js.map +0 -1
  485. package/dist/bot/services/workspace-schema-cache.d.ts +0 -122
  486. package/dist/bot/services/workspace-schema-cache.d.ts.map +0 -1
  487. package/dist/bot/services/workspace-schema-cache.js +0 -506
  488. package/dist/bot/services/workspace-schema-cache.js.map +0 -1
  489. package/dist/bot-config/tools.d.ts +0 -28
  490. package/dist/bot-config/tools.d.ts.map +0 -1
  491. package/dist/bot-config/tools.js +0 -279
  492. package/dist/bot-config/tools.js.map +0 -1
  493. package/dist/client/agents/base.d.ts +0 -207
  494. package/dist/client/agents/base.d.ts.map +0 -1
  495. package/dist/client/agents/base.js +0 -744
  496. package/dist/client/agents/base.js.map +0 -1
  497. package/dist/client/agents/definitions.d.ts +0 -53
  498. package/dist/client/agents/definitions.d.ts.map +0 -1
  499. package/dist/client/agents/definitions.js +0 -263
  500. package/dist/client/agents/definitions.js.map +0 -1
  501. package/dist/client/agents/orchestrator.d.ts +0 -141
  502. package/dist/client/agents/orchestrator.d.ts.map +0 -1
  503. package/dist/client/agents/orchestrator.js +0 -1062
  504. package/dist/client/agents/orchestrator.js.map +0 -1
  505. package/dist/client/agents/specialist.d.ts +0 -86
  506. package/dist/client/agents/specialist.d.ts.map +0 -1
  507. package/dist/client/agents/specialist.js +0 -340
  508. package/dist/client/agents/specialist.js.map +0 -1
  509. package/dist/client/bot-entrypoint.d.ts +0 -7
  510. package/dist/client/bot-entrypoint.d.ts.map +0 -1
  511. package/dist/client/bot-entrypoint.js +0 -103
  512. package/dist/client/bot-entrypoint.js.map +0 -1
  513. package/dist/client/bot-manager.d.ts +0 -44
  514. package/dist/client/bot-manager.d.ts.map +0 -1
  515. package/dist/client/bot-manager.js +0 -173
  516. package/dist/client/bot-manager.js.map +0 -1
  517. package/dist/client/bot-runner.d.ts +0 -35
  518. package/dist/client/bot-runner.d.ts.map +0 -1
  519. package/dist/client/bot-runner.js +0 -188
  520. package/dist/client/bot-runner.js.map +0 -1
  521. package/dist/client/chat-agent-daemon.d.ts +0 -464
  522. package/dist/client/chat-agent-daemon.d.ts.map +0 -1
  523. package/dist/client/chat-agent-daemon.js +0 -1774
  524. package/dist/client/chat-agent-daemon.js.map +0 -1
  525. package/dist/client/daemon-factory.d.ts +0 -106
  526. package/dist/client/daemon-factory.d.ts.map +0 -1
  527. package/dist/client/daemon-factory.js +0 -301
  528. package/dist/client/daemon-factory.js.map +0 -1
  529. package/dist/client/factory.d.ts +0 -111
  530. package/dist/client/factory.d.ts.map +0 -1
  531. package/dist/client/factory.js +0 -314
  532. package/dist/client/factory.js.map +0 -1
  533. package/dist/client/index.d.ts +0 -17
  534. package/dist/client/index.d.ts.map +0 -1
  535. package/dist/client/index.js +0 -38
  536. package/dist/client/index.js.map +0 -1
  537. package/dist/client/multi-bot-manager.d.ts +0 -42
  538. package/dist/client/multi-bot-manager.d.ts.map +0 -1
  539. package/dist/client/multi-bot-manager.js +0 -161
  540. package/dist/client/multi-bot-manager.js.map +0 -1
  541. package/dist/client/orchestrator-daemon.d.ts +0 -87
  542. package/dist/client/orchestrator-daemon.d.ts.map +0 -1
  543. package/dist/client/orchestrator-daemon.js +0 -444
  544. package/dist/client/orchestrator-daemon.js.map +0 -1
  545. package/dist/client/server.d.ts +0 -8
  546. package/dist/client/server.d.ts.map +0 -1
  547. package/dist/client/server.js +0 -251
  548. package/dist/client/server.js.map +0 -1
  549. package/dist/client/services/agent-registry.d.ts +0 -108
  550. package/dist/client/services/agent-registry.d.ts.map +0 -1
  551. package/dist/client/services/agent-registry.js +0 -630
  552. package/dist/client/services/agent-registry.js.map +0 -1
  553. package/dist/client/services/conversation-manager.d.ts +0 -50
  554. package/dist/client/services/conversation-manager.d.ts.map +0 -1
  555. package/dist/client/services/conversation-manager.js +0 -136
  556. package/dist/client/services/conversation-manager.js.map +0 -1
  557. package/dist/client/services/mcp-client.d.ts +0 -48
  558. package/dist/client/services/mcp-client.d.ts.map +0 -1
  559. package/dist/client/services/mcp-client.js +0 -105
  560. package/dist/client/services/mcp-client.js.map +0 -1
  561. package/dist/client/services/message-classifier.d.ts +0 -37
  562. package/dist/client/services/message-classifier.d.ts.map +0 -1
  563. package/dist/client/services/message-classifier.js +0 -187
  564. package/dist/client/services/message-classifier.js.map +0 -1
  565. package/dist/client/services/message-formatter.d.ts +0 -84
  566. package/dist/client/services/message-formatter.d.ts.map +0 -1
  567. package/dist/client/services/message-formatter.js +0 -353
  568. package/dist/client/services/message-formatter.js.map +0 -1
  569. package/dist/client/services/session-logger.d.ts +0 -106
  570. package/dist/client/services/session-logger.d.ts.map +0 -1
  571. package/dist/client/services/session-logger.js +0 -446
  572. package/dist/client/services/session-logger.js.map +0 -1
  573. package/dist/client/services/tool-executor.d.ts +0 -41
  574. package/dist/client/services/tool-executor.d.ts.map +0 -1
  575. package/dist/client/services/tool-executor.js +0 -169
  576. package/dist/client/services/tool-executor.js.map +0 -1
  577. package/dist/client/services/workspace-schema-cache.d.ts +0 -149
  578. package/dist/client/services/workspace-schema-cache.d.ts.map +0 -1
  579. package/dist/client/services/workspace-schema-cache.js +0 -732
  580. package/dist/client/services/workspace-schema-cache.js.map +0 -1
  581. package/dist/client/specialist-daemon.d.ts +0 -77
  582. package/dist/client/specialist-daemon.d.ts.map +0 -1
  583. package/dist/client/specialist-daemon.js +0 -197
  584. package/dist/client/specialist-daemon.js.map +0 -1
  585. package/dist/client/specialists.d.ts +0 -53
  586. package/dist/client/specialists.d.ts.map +0 -1
  587. package/dist/client/specialists.js +0 -178
  588. package/dist/client/specialists.js.map +0 -1
  589. package/dist/client/tool-schema-loader.d.ts +0 -62
  590. package/dist/client/tool-schema-loader.d.ts.map +0 -1
  591. package/dist/client/tool-schema-loader.js +0 -232
  592. package/dist/client/tool-schema-loader.js.map +0 -1
  593. package/dist/client/types.d.ts +0 -327
  594. package/dist/client/types.d.ts.map +0 -1
  595. package/dist/client/types.js +0 -121
  596. package/dist/client/types.js.map +0 -1
  597. package/dist/commands/seed-config.d.ts +0 -9
  598. package/dist/commands/seed-config.d.ts.map +0 -1
  599. package/dist/commands/seed-config.js +0 -377
  600. package/dist/commands/seed-config.js.map +0 -1
  601. package/dist/commands/setup.d.ts +0 -11
  602. package/dist/commands/setup.d.ts.map +0 -1
  603. package/dist/commands/setup.js +0 -320
  604. package/dist/commands/setup.js.map +0 -1
  605. package/dist/lib/discussion-lock.d.ts +0 -42
  606. package/dist/lib/discussion-lock.d.ts.map +0 -1
  607. package/dist/lib/discussion-lock.js +0 -110
  608. package/dist/lib/discussion-lock.js.map +0 -1
  609. package/dist/mcp/signal-handler.d.ts +0 -82
  610. package/dist/mcp/signal-handler.d.ts.map +0 -1
  611. package/dist/mcp/signal-handler.js +0 -406
  612. package/dist/mcp/signal-handler.js.map +0 -1
  613. package/dist/mcp/tools/__tests__/discussion-forward.test.d.ts +0 -2
  614. package/dist/mcp/tools/__tests__/discussion-forward.test.d.ts.map +0 -1
  615. package/dist/mcp/tools/__tests__/discussion-forward.test.js +0 -218
  616. package/dist/mcp/tools/__tests__/discussion-forward.test.js.map +0 -1
  617. package/dist/mcp/tools/app-member.d.ts +0 -14
  618. package/dist/mcp/tools/app-member.d.ts.map +0 -1
  619. package/dist/mcp/tools/app-member.js +0 -195
  620. package/dist/mcp/tools/app-member.js.map +0 -1
  621. package/dist/mcp/tools/app-scaffold.d.ts +0 -14
  622. package/dist/mcp/tools/app-scaffold.d.ts.map +0 -1
  623. package/dist/mcp/tools/app-scaffold.js +0 -581
  624. package/dist/mcp/tools/app-scaffold.js.map +0 -1
  625. package/dist/mcp/tools/bot-config/constants.d.ts +0 -23
  626. package/dist/mcp/tools/bot-config/constants.d.ts.map +0 -1
  627. package/dist/mcp/tools/bot-config/constants.js +0 -94
  628. package/dist/mcp/tools/bot-config/constants.js.map +0 -1
  629. package/dist/mcp/tools/bot-config/core.d.ts +0 -253
  630. package/dist/mcp/tools/bot-config/core.d.ts.map +0 -1
  631. package/dist/mcp/tools/bot-config/core.js +0 -2456
  632. package/dist/mcp/tools/bot-config/core.js.map +0 -1
  633. package/dist/mcp/tools/bot-config/index.d.ts +0 -10
  634. package/dist/mcp/tools/bot-config/index.d.ts.map +0 -1
  635. package/dist/mcp/tools/bot-config/index.js +0 -59
  636. package/dist/mcp/tools/bot-config/index.js.map +0 -1
  637. package/dist/mcp/tools/bot-config/tools.d.ts +0 -7
  638. package/dist/mcp/tools/bot-config/tools.d.ts.map +0 -1
  639. package/dist/mcp/tools/bot-config/tools.js +0 -15
  640. package/dist/mcp/tools/bot-config/tools.js.map +0 -1
  641. package/dist/mcp/tools/bot-config/types.d.ts +0 -50
  642. package/dist/mcp/tools/bot-config/types.d.ts.map +0 -1
  643. package/dist/mcp/tools/bot-config/types.js +0 -6
  644. package/dist/mcp/tools/bot-config/types.js.map +0 -1
  645. package/dist/mcp/tools/bug-fixer-tools.d.ts +0 -45
  646. package/dist/mcp/tools/bug-fixer-tools.d.ts.map +0 -1
  647. package/dist/mcp/tools/bug-fixer-tools.js +0 -1096
  648. package/dist/mcp/tools/bug-fixer-tools.js.map +0 -1
  649. package/dist/mcp/tools/document.d.ts +0 -11
  650. package/dist/mcp/tools/document.d.ts.map +0 -1
  651. package/dist/mcp/tools/document.js +0 -741
  652. package/dist/mcp/tools/document.js.map +0 -1
  653. package/dist/mcp/tools/investigate.d.ts +0 -9
  654. package/dist/mcp/tools/investigate.d.ts.map +0 -1
  655. package/dist/mcp/tools/investigate.js +0 -254
  656. package/dist/mcp/tools/investigate.js.map +0 -1
  657. package/dist/mcp/utils/pagination.d.ts +0 -40
  658. package/dist/mcp/utils/pagination.d.ts.map +0 -1
  659. package/dist/mcp/utils/pagination.js +0 -55
  660. package/dist/mcp/utils/pagination.js.map +0 -1
  661. package/dist/modules/bug-reports/bug-config.d.ts +0 -25
  662. package/dist/modules/bug-reports/bug-config.d.ts.map +0 -1
  663. package/dist/modules/bug-reports/bug-config.js +0 -187
  664. package/dist/modules/bug-reports/bug-config.js.map +0 -1
  665. package/dist/modules/bug-reports/bug-monitor.d.ts +0 -108
  666. package/dist/modules/bug-reports/bug-monitor.d.ts.map +0 -1
  667. package/dist/modules/bug-reports/bug-monitor.js +0 -510
  668. package/dist/modules/bug-reports/bug-monitor.js.map +0 -1
  669. package/dist/modules/bug-reports/giuseppe-agent.d.ts +0 -58
  670. package/dist/modules/bug-reports/giuseppe-agent.d.ts.map +0 -1
  671. package/dist/modules/bug-reports/giuseppe-agent.js +0 -467
  672. package/dist/modules/bug-reports/giuseppe-agent.js.map +0 -1
  673. package/dist/modules/bug-reports/giuseppe-ai.d.ts +0 -83
  674. package/dist/modules/bug-reports/giuseppe-ai.d.ts.map +0 -1
  675. package/dist/modules/bug-reports/giuseppe-ai.js +0 -466
  676. package/dist/modules/bug-reports/giuseppe-ai.js.map +0 -1
  677. package/dist/modules/bug-reports/giuseppe-bot.d.ts +0 -110
  678. package/dist/modules/bug-reports/giuseppe-bot.d.ts.map +0 -1
  679. package/dist/modules/bug-reports/giuseppe-bot.js +0 -804
  680. package/dist/modules/bug-reports/giuseppe-bot.js.map +0 -1
  681. package/dist/modules/bug-reports/giuseppe-daemon.d.ts +0 -80
  682. package/dist/modules/bug-reports/giuseppe-daemon.d.ts.map +0 -1
  683. package/dist/modules/bug-reports/giuseppe-daemon.js +0 -617
  684. package/dist/modules/bug-reports/giuseppe-daemon.js.map +0 -1
  685. package/dist/modules/bug-reports/giuseppe-files.d.ts +0 -64
  686. package/dist/modules/bug-reports/giuseppe-files.d.ts.map +0 -1
  687. package/dist/modules/bug-reports/giuseppe-files.js +0 -375
  688. package/dist/modules/bug-reports/giuseppe-files.js.map +0 -1
  689. package/dist/modules/bug-reports/giuseppe-git.d.ts +0 -48
  690. package/dist/modules/bug-reports/giuseppe-git.d.ts.map +0 -1
  691. package/dist/modules/bug-reports/giuseppe-git.js +0 -298
  692. package/dist/modules/bug-reports/giuseppe-git.js.map +0 -1
  693. package/dist/modules/bug-reports/giuseppe-lsp.d.ts +0 -113
  694. package/dist/modules/bug-reports/giuseppe-lsp.d.ts.map +0 -1
  695. package/dist/modules/bug-reports/giuseppe-lsp.js +0 -485
  696. package/dist/modules/bug-reports/giuseppe-lsp.js.map +0 -1
  697. package/dist/modules/bug-reports/giuseppe-prompt.d.ts +0 -5
  698. package/dist/modules/bug-reports/giuseppe-prompt.d.ts.map +0 -1
  699. package/dist/modules/bug-reports/giuseppe-prompt.js +0 -94
  700. package/dist/modules/bug-reports/giuseppe-prompt.js.map +0 -1
  701. package/dist/modules/bug-reports/index.d.ts +0 -77
  702. package/dist/modules/bug-reports/index.d.ts.map +0 -1
  703. package/dist/modules/bug-reports/index.js +0 -215
  704. package/dist/modules/bug-reports/index.js.map +0 -1
  705. package/dist/modules/bug-reports/pending-classification-registry.d.ts +0 -28
  706. package/dist/modules/bug-reports/pending-classification-registry.d.ts.map +0 -1
  707. package/dist/modules/bug-reports/pending-classification-registry.js +0 -50
  708. package/dist/modules/bug-reports/pending-classification-registry.js.map +0 -1
  709. package/dist/modules/bug-reports/pending-fix-registry.d.ts +0 -30
  710. package/dist/modules/bug-reports/pending-fix-registry.d.ts.map +0 -1
  711. package/dist/modules/bug-reports/pending-fix-registry.js +0 -42
  712. package/dist/modules/bug-reports/pending-fix-registry.js.map +0 -1
  713. package/dist/modules/bug-reports/pending-registry.d.ts +0 -27
  714. package/dist/modules/bug-reports/pending-registry.d.ts.map +0 -1
  715. package/dist/modules/bug-reports/pending-registry.js +0 -49
  716. package/dist/modules/bug-reports/pending-registry.js.map +0 -1
  717. package/dist/modules/bug-reports/types.d.ts +0 -123
  718. package/dist/modules/bug-reports/types.d.ts.map +0 -1
  719. package/dist/modules/bug-reports/types.js +0 -9
  720. package/dist/modules/bug-reports/types.js.map +0 -1
  721. package/dist/plugins/bug-fixer/index.d.ts +0 -2
  722. package/dist/plugins/bug-fixer/index.d.ts.map +0 -1
  723. package/dist/plugins/bug-fixer/index.js +0 -18
  724. package/dist/plugins/bug-fixer/index.js.map +0 -1
  725. package/dist/plugins/bug-fixer/tools.d.ts +0 -45
  726. package/dist/plugins/bug-fixer/tools.d.ts.map +0 -1
  727. package/dist/plugins/bug-fixer/tools.js +0 -1096
  728. package/dist/plugins/bug-fixer/tools.js.map +0 -1
  729. package/dist/plugins/vipunen/__tests__/tools.test.d.ts +0 -10
  730. package/dist/plugins/vipunen/__tests__/tools.test.d.ts.map +0 -1
  731. package/dist/plugins/vipunen/__tests__/tools.test.js +0 -646
  732. package/dist/plugins/vipunen/__tests__/tools.test.js.map +0 -1
  733. package/dist/routes/agents.d.ts +0 -44
  734. package/dist/routes/agents.d.ts.map +0 -1
  735. package/dist/routes/agents.js +0 -311
  736. package/dist/routes/agents.js.map +0 -1
  737. package/dist/services/agent-credential-store.d.ts +0 -73
  738. package/dist/services/agent-credential-store.d.ts.map +0 -1
  739. package/dist/services/agent-credential-store.js +0 -212
  740. package/dist/services/agent-credential-store.js.map +0 -1
  741. package/dist/stdio-server.d.ts +0 -14
  742. package/dist/stdio-server.d.ts.map +0 -1
  743. package/dist/stdio-server.js +0 -101
  744. package/dist/stdio-server.js.map +0 -1
  745. package/dist/workspace/context.d.ts +0 -148
  746. package/dist/workspace/context.d.ts.map +0 -1
  747. package/dist/workspace/context.js +0 -339
  748. package/dist/workspace/context.js.map +0 -1
  749. package/dist/workspace/credentials.d.ts +0 -55
  750. package/dist/workspace/credentials.d.ts.map +0 -1
  751. package/dist/workspace/credentials.js +0 -239
  752. package/dist/workspace/credentials.js.map +0 -1
  753. package/dist/workspace/index.d.ts +0 -21
  754. package/dist/workspace/index.d.ts.map +0 -1
  755. package/dist/workspace/index.js +0 -45
  756. package/dist/workspace/index.js.map +0 -1
  757. package/dist/workspace/loader.d.ts +0 -27
  758. package/dist/workspace/loader.d.ts.map +0 -1
  759. package/dist/workspace/loader.js +0 -222
  760. package/dist/workspace/loader.js.map +0 -1
  761. package/dist/workspace/schema.d.ts +0 -37
  762. package/dist/workspace/schema.d.ts.map +0 -1
  763. package/dist/workspace/schema.js +0 -192
  764. package/dist/workspace/schema.js.map +0 -1
@@ -0,0 +1,52 @@
1
+ /**
2
+ * One-off probe: which model names exist (enabled) in prod mcpPricing?
3
+ * Calls v3.mcp.deductTokens with tokenAmount 0 — deducts ceil(0*rate) = 0,
4
+ * so balance is untouched; success only proves the pricing row exists.
5
+ * Delete after use.
6
+ */
7
+
8
+ import { getAdminApiKey } from '../src/mcp/workspace-admin-store';
9
+ import { createHailerClientByApiKey } from '../src/mcp/hailer-clients';
10
+
11
+ const WORKSPACE_ID = '6901c67b4e80fecb6fd7b38a'; // mcptest
12
+ const CANDIDATES = [
13
+ 'claude-haiku',
14
+ 'claude-sonnet',
15
+ 'claude-haiku-4-5',
16
+ 'claude-sonnet-4-6',
17
+ 'claude-haiku-4-5-20251001',
18
+ 'claude-sonnet-4-5-20250929',
19
+ ];
20
+
21
+ async function main(): Promise<void> {
22
+ const apiKey = getAdminApiKey(WORKSPACE_ID);
23
+ if (!apiKey) {
24
+ console.error('No stored admin API key for workspace', WORKSPACE_ID);
25
+ process.exit(2);
26
+ }
27
+
28
+ const client = await createHailerClientByApiKey(apiKey);
29
+
30
+ for (const model of CANDIDATES) {
31
+ try {
32
+ const result = await client.socket.request('v3.mcp.deductTokens', [{
33
+ mcpToken: 'hL9xK2mNpQrS4tVwY6zA8bCD',
34
+ workspaceId: WORKSPACE_ID,
35
+ tokenAmount: 0,
36
+ model,
37
+ meta: { operation: 'pricing-probe' },
38
+ }]) as { newBalance?: number } | undefined;
39
+ console.log(`ROW EXISTS ${model} (balance after -0 deduct: ${result?.newBalance})`);
40
+ } catch (error) {
41
+ const err = error as { msg?: string; code?: number };
42
+ console.log(`REJECTED ${model} (${err?.msg ?? String(error)})`);
43
+ }
44
+ }
45
+
46
+ process.exit(0);
47
+ }
48
+
49
+ main().catch((error) => {
50
+ console.error(error);
51
+ process.exit(1);
52
+ });
@@ -0,0 +1,148 @@
1
+ /**
2
+ * Live-LLM smoke test for the public-chat bot. Fires a small set of canned
3
+ * prompts at the real model with the production system prompt and reports
4
+ * which bot-action types showed up in the responses.
5
+ *
6
+ * ANTHROPIC_API_KEY=... npx tsx scripts/smoke-public-chat-live.ts
7
+ *
8
+ * The script is OPTIONAL — it costs real API tokens and is non-deterministic.
9
+ * Run it before deploying significant prompt or corpus changes. The regular
10
+ * `smoke-public-chat.ts` covers everything that doesn't need a live model.
11
+ *
12
+ * The script does NOT exit non-zero on a missing action — the LLM is allowed
13
+ * to be cautious. It exits non-zero only on transport errors. Treat the report
14
+ * as a coverage signal: if all five action types reliably surface, the protocol
15
+ * is being honoured. If one or more are repeatedly silent across runs, the
16
+ * persona is probably under-specifying it or the model is dropping it.
17
+ */
18
+
19
+ import Anthropic from '@anthropic-ai/sdk';
20
+ import { buildPublicChatSystem } from '../src/public-chat/system-prompt';
21
+
22
+ // Minimal extractor — mirrors the frontend's bot-action-parser regex pair
23
+ // (BOT_ACTION_REGEX and INVOKE_FORM_REGEX from
24
+ // hailer-frontend-2/.../bot-action-parser.ts). Inlined to keep this script
25
+ // repo-local with no extra deps.
26
+ const ACTION_TYPES = '(navigate|highlight|point|presentation|slide)';
27
+ const TAG_REGEXES = [
28
+ new RegExp(`<bot-action\\s+type="${ACTION_TYPES}"\\s+target="([^"]+)"`, 'g'),
29
+ new RegExp(`<invoke\\s+name="bot_action"\\s+type="${ACTION_TYPES}"\\s+target="([^"]+)"`, 'g'),
30
+ ];
31
+
32
+ function extractActionTypes(text: string): Set<string> {
33
+ const found = new Set<string>();
34
+ for (const re of TAG_REGEXES) {
35
+ re.lastIndex = 0;
36
+ let m: RegExpExecArray | null;
37
+ while ((m = re.exec(text)) !== null) {
38
+ found.add(m[1]!);
39
+ }
40
+ }
41
+ return found;
42
+ }
43
+
44
+ const MODEL = 'claude-haiku-4-5-20251001';
45
+ const MAX_TOKENS = 600;
46
+
47
+ interface Probe {
48
+ label: string;
49
+ prompt: string;
50
+ /** Action types we'd expect to see at least one of in the reply. */
51
+ expect: Array<'navigate' | 'highlight' | 'point' | 'presentation' | 'slide'>;
52
+ }
53
+
54
+ const PROBES: Probe[] = [
55
+ {
56
+ label: 'tour invitation triggers a guided tour',
57
+ prompt: "I'm a developer evaluating Hailer for our team. Give me a quick walk-through of how this would feel.",
58
+ expect: ['navigate', 'point'],
59
+ },
60
+ {
61
+ label: 'explicit "show me X" triggers navigate or highlight',
62
+ prompt: 'Where do I see the calendar?',
63
+ expect: ['navigate', 'highlight'],
64
+ },
65
+ {
66
+ label: 'overview ask triggers the presentation',
67
+ prompt: "What is Hailer? Give me the elevator pitch — I want the big picture.",
68
+ expect: ['presentation'],
69
+ },
70
+ {
71
+ label: 'concept question triggers an inline slide chip',
72
+ prompt: 'Can you explain what a workflow is in Hailer?',
73
+ expect: ['slide'],
74
+ },
75
+ ];
76
+
77
+ async function main(): Promise<void> {
78
+ const apiKey = process.env['ANTHROPIC_API_KEY'];
79
+ if (!apiKey) {
80
+ console.error('ANTHROPIC_API_KEY env var is required for the live smoke.');
81
+ process.exit(2);
82
+ }
83
+ const anthropic = new Anthropic({ apiKey });
84
+
85
+ const system = buildPublicChatSystem();
86
+
87
+ let probesRun = 0;
88
+ let expectedActionsSatisfied = 0;
89
+ let expectedActionsTotal = 0;
90
+ const misses: Array<{ probe: string; missing: string[] }> = [];
91
+
92
+ for (const probe of PROBES) {
93
+ probesRun += 1;
94
+ process.stdout.write(`\n• ${probe.label}\n prompt: ${probe.prompt}\n`);
95
+ let fullText = '';
96
+ try {
97
+ const response = await anthropic.messages.create({
98
+ model: MODEL,
99
+ max_tokens: MAX_TOKENS,
100
+ temperature: 0.3,
101
+ system,
102
+ messages: [{ role: 'user', content: probe.prompt }],
103
+ });
104
+ for (const block of response.content) {
105
+ if (block.type === 'text') fullText += block.text;
106
+ }
107
+ } catch (err) {
108
+ console.error(` TRANSPORT ERROR: ${err instanceof Error ? err.message : String(err)}`);
109
+ process.exit(1);
110
+ }
111
+
112
+ const surfaced = extractActionTypes(fullText);
113
+
114
+ const missing: string[] = [];
115
+ for (const exp of probe.expect) {
116
+ expectedActionsTotal += 1;
117
+ if (surfaced.has(exp)) {
118
+ expectedActionsSatisfied += 1;
119
+ } else {
120
+ missing.push(exp);
121
+ }
122
+ }
123
+ console.log(` surfaced: ${Array.from(surfaced).join(', ') || '(none)'}`);
124
+ console.log(` expected: ${probe.expect.join(', ')}`);
125
+ if (missing.length > 0) {
126
+ misses.push({ probe: probe.label, missing });
127
+ console.log(` MISSING: ${missing.join(', ')}`);
128
+ }
129
+ }
130
+
131
+ console.log(
132
+ `\n${expectedActionsSatisfied}/${expectedActionsTotal} expected action types surfaced across ${probesRun} probes`
133
+ );
134
+ if (misses.length > 0) {
135
+ console.log('\nMisses worth investigating if they repeat across runs:');
136
+ for (const m of misses) {
137
+ console.log(` - "${m.probe}" missing: ${m.missing.join(', ')}`);
138
+ }
139
+ }
140
+ // Don't fail the run on missing actions — the LLM may legitimately reply in
141
+ // plain prose. Transport errors above are the only hard failure.
142
+ process.exit(0);
143
+ }
144
+
145
+ main().catch((err) => {
146
+ console.error(err);
147
+ process.exit(1);
148
+ });
@@ -0,0 +1,110 @@
1
+ /**
2
+ * Smoke test for the public-chat module — exercises the pieces that don't
3
+ * need a live Anthropic API key.
4
+ *
5
+ * npx tsx scripts/smoke-public-chat.ts
6
+ */
7
+
8
+ import assert from 'node:assert/strict';
9
+ import { buildPublicChatSystem, KNOWLEDGE_BYTES } from '../src/public-chat/system-prompt';
10
+ import { checkRate, _resetForTests } from '../src/public-chat/rate-limit';
11
+ import { HAILER_KNOWLEDGE_CORPUS } from '../src/public-chat/knowledge';
12
+
13
+ let ran = 0;
14
+ let failed = 0;
15
+
16
+ function check(name: string, fn: () => void): void {
17
+ ran += 1;
18
+ try {
19
+ fn();
20
+ console.log(` ok ${name}`);
21
+ } catch (err) {
22
+ failed += 1;
23
+ console.log(` FAIL ${name}`);
24
+ console.error(err);
25
+ }
26
+ }
27
+
28
+ console.log('public-chat smoke');
29
+
30
+ console.log('\nknowledge corpus:');
31
+ check('compiled and non-trivial', () => {
32
+ assert.ok(HAILER_KNOWLEDGE_CORPUS.length > 10_000, 'too small');
33
+ assert.ok(HAILER_KNOWLEDGE_CORPUS.length < 200_000, 'too large');
34
+ assert.equal(KNOWLEDGE_BYTES, HAILER_KNOWLEDGE_CORPUS.length);
35
+ });
36
+ check('mentions all five top-level topics', () => {
37
+ const lower = HAILER_KNOWLEDGE_CORPUS.toLowerCase();
38
+ for (const term of ['overview', 'ui guide', 'mcp server', 'apps & marketplace', 'getting started']) {
39
+ assert.ok(lower.includes(term), `missing: ${term}`);
40
+ }
41
+ });
42
+ check('omits internal infra/compliance bait words', () => {
43
+ const lower = HAILER_KNOWLEDGE_CORPUS.toLowerCase();
44
+ for (const banned of ['client_configs={', 'infra/', 'hailer-frontend-2/']) {
45
+ assert.ok(!lower.includes(banned), `should not contain: ${banned}`);
46
+ }
47
+ });
48
+
49
+ console.log('\nbuildPublicChatSystem:');
50
+ check('returns two cached text blocks', () => {
51
+ const blocks = buildPublicChatSystem();
52
+ assert.equal(blocks.length, 2);
53
+ for (const block of blocks) {
54
+ assert.equal(block.type, 'text');
55
+ assert.deepEqual(block.cache_control, { type: 'ephemeral' });
56
+ assert.ok(block.text.length > 0);
57
+ }
58
+ });
59
+ check('persona block describes role and bot-action protocol', () => {
60
+ const [persona] = buildPublicChatSystem();
61
+ assert.match(persona.text, /Hailer Helper/i);
62
+ assert.match(persona.text, /bot-action/i);
63
+ assert.match(persona.text, /navigate/i);
64
+ assert.match(persona.text, /highlight/i);
65
+ });
66
+ check('persona documents all five bot-action types and shows their canonical form', () => {
67
+ // If any of these regress (someone deletes a section, renames a type, etc.)
68
+ // the model loses the affordance and the demo silently degrades. Cheap to
69
+ // assert on every smoke run.
70
+ const [persona] = buildPublicChatSystem();
71
+ for (const type of ['navigate', 'highlight', 'point', 'presentation', 'slide']) {
72
+ const re = new RegExp(`<bot-action\\s+type="${type}"`, 'i');
73
+ assert.match(persona.text, re, `persona missing canonical form for type="${type}"`);
74
+ }
75
+ });
76
+ check('persona explicitly acknowledges the always-visible Continue button', () => {
77
+ // Was once the other way around — persona told the bot to "surface" the CTA
78
+ // even though the button is always visible. Lock the corrected wording in.
79
+ const [persona] = buildPublicChatSystem();
80
+ assert.match(persona.text, /persistently visible|always visible/i);
81
+ });
82
+ check('knowledge block carries the full corpus', () => {
83
+ const [, knowledge] = buildPublicChatSystem();
84
+ assert.ok(knowledge.text.includes(HAILER_KNOWLEDGE_CORPUS));
85
+ });
86
+
87
+ console.log('\ncheckRate:');
88
+ _resetForTests();
89
+ check('allows the first 30 requests from a single IP', () => {
90
+ for (let i = 0; i < 30; i++) {
91
+ const r = checkRate('1.2.3.4');
92
+ assert.equal(r.ok, true, `request ${i + 1} should be allowed`);
93
+ assert.equal(r.remaining, 30 - 1 - i);
94
+ }
95
+ });
96
+ check('rejects the 31st request with retry-after', () => {
97
+ const blocked = checkRate('1.2.3.4');
98
+ assert.equal(blocked.ok, false);
99
+ assert.equal(blocked.remaining, 0);
100
+ assert.ok((blocked.retryAfterSec ?? 0) > 0);
101
+ });
102
+ _resetForTests();
103
+ check('keeps independent counters per IP', () => {
104
+ for (let i = 0; i < 30; i++) checkRate('9.9.9.9');
105
+ assert.equal(checkRate('9.9.9.9').ok, false);
106
+ assert.equal(checkRate('1.1.1.1').ok, true);
107
+ });
108
+
109
+ console.log(`\n${ran - failed}/${ran} passed${failed === 0 ? '' : `, ${failed} failed`}`);
110
+ process.exit(failed === 0 ? 0 : 1);
package/.claude/CLAUDE.md DELETED
@@ -1,126 +0,0 @@
1
- # Hailer SDK + MCP Project
2
-
3
- ## The One Rule
4
-
5
- **If it can be done locally, do it locally. MCP tools are ONLY for things that require a server call.**
6
-
7
- This project has `workspace/` files managed by `@hailer/sdk`. These files ARE the source of truth for all workflow configuration. The MCP server provides tools for runtime operations that require talking to Hailer's API.
8
-
9
- ## What Goes Where
10
-
11
- | Need | Do this | NEVER this |
12
- |------|---------|------------|
13
- | **Find workflow/field/phase IDs** | Read `workspace/enums.ts` | ~~`list_workflows_minimal`~~, ~~`get_workflow_schema`~~, ~~`list_workflow_phases`~~ |
14
- | **See field types, labels, options** | Read `workspace/<Name>_<id>/fields.ts` | ~~`get_workflow_schema`~~ |
15
- | **See phases** | Read `workspace/<Name>_<id>/phases.ts` | ~~`list_workflow_phases`~~ |
16
- | **See all workflows** | Read `workspace/workflows.ts` | ~~`list_workflows`~~ |
17
- | **Create/modify fields** | Edit `fields.ts` → `npm run fields-push:force` | ~~`update_workflow_field`~~ |
18
- | **Create/modify phases** | Edit `phases.ts` → `npm run phases-push:force` | ~~`update_workflow_phase`~~ |
19
- | **Create/modify workflows** | Edit `workflows.ts` → `npm run workflows-sync:force` | ~~`install_workflow`~~ |
20
- | **Create/modify teams** | Edit `teams.ts` → `npm run teams-push:force` | — |
21
- | **Create/modify groups** | Edit `groups.ts` → `npm run groups-push:force` | — |
22
- | **Create activities** | MCP `create_activity` | — |
23
- | **List/read activities** | MCP `list_activities`, `show_activity_by_id` | — |
24
- | **Update activities** | MCP `update_activity` | — |
25
- | **Query data** | MCP `preview_insight`, `create_insight` | — |
26
- | **Discussions** | MCP discussion tools | — |
27
- | **Activity counts** | MCP `core_init` (once per session) | — |
28
- | **Scaffold app** | MCP `scaffold_hailer_app` | — |
29
- | **Publish app** | MCP `publish_hailer_app` | — |
30
-
31
- **If you're about to call an MCP tool, ask yourself: "Is this data in workspace/ files?" If yes, read the file instead.**
32
-
33
- ## How to Read workspace/ Files
34
-
35
- **Never read workspace/ files in main context** — they're large and fill context permanently.
36
-
37
- 1. Spawn a **haiku sub-agent** to read the files
38
- 2. Have it extract what you need (IDs, field types, phase names)
39
- 3. It returns a short summary
40
- 4. Use that summary for MCP runtime calls
41
-
42
- ```
43
- Pattern: haiku reads workspace/ → you get IDs → MCP create_activity/list_activities
44
- ```
45
-
46
- ## Sub-Agent Rules
47
-
48
- - **Haiku:** Read files, search code, data lookups, reviews
49
- - **Sonnet:** Write code, build features, complex edits
50
- - **You (Opus):** Orchestrate, synthesize results, make decisions
51
- - **Skills:** Load in sub-agents only, never in main context
52
- - If a task takes more than ~20 lines of code, delegate to sonnet
53
-
54
- ## workspace/ Structure
55
-
56
- ```
57
- workspace/
58
- ├── enums.ts # ALL IDs — WorkflowIds, FieldIds, PhaseIds, etc.
59
- ├── workflows.ts # Workflow registry
60
- ├── teams.ts # Team definitions
61
- ├── groups.ts # Group definitions
62
- ├── insights.ts # Insight definitions
63
- └── <WorkflowName>_<id>/
64
- ├── fields.ts # Field definitions (type, label, key, options, required)
65
- ├── phases.ts # Phase definitions (name, key, isInitial, isEndpoint)
66
- ├── main.ts # Workflow config
67
- └── functions/ # Function field code (if any)
68
- ```
69
-
70
- **Refresh:** `npm run pull` syncs server → local files
71
-
72
- ## SDK Push Commands (all use `:force` to avoid interactive prompts)
73
-
74
- | Command | What it does |
75
- |---------|-------------|
76
- | `npm run push:force` | Push everything |
77
- | `npm run fields-push:force` | Push field changes only |
78
- | `npm run phases-push:force` | Push phase changes only |
79
- | `npm run workflows-sync:force` | Sync workflow registry (create/delete) |
80
- | `npm run teams-push:force` | Push team changes |
81
- | `npm run groups-push:force` | Push group changes |
82
- | `npm run pull` | Pull latest from Hailer → local files |
83
-
84
- ## SDK Gotchas
85
-
86
- | Gotcha | Correct | Wrong |
87
- |--------|---------|-------|
88
- | New fields | Omit `_id` — server assigns it | Adding `_id` manually |
89
- | After push | Always `npm run pull` to get server-assigned IDs | Assuming local IDs are final |
90
- | Function fields | `npm run fields-push:force` (non-force skips functionVariables) | `npm run fields-push` |
91
- | Enum imports | Verify after pull — identical hex suffixes can collide | Trusting auto-generated imports |
92
- | `linkedfrom` fields | Don't work in isolated-vm — use `<` backlink dependency | Using in function fields |
93
- | Function field code | Plain JavaScript only | TypeScript syntax |
94
- | Phase transitions | Exact string match on phase name | Guessed names |
95
- | Field values (MCP) | Date: Unix ms (`1730937600000`), Dropdown: exact string, ActivityLink: string ID | ISO dates, arrays, objects |
96
-
97
- ## App Development
98
-
99
- | Step | How |
100
- |------|-----|
101
- | Scaffold | MCP `scaffold_hailer_app` — never copy apps |
102
- | Publish | MCP `publish_hailer_app` — auto icon, name, description, sharing |
103
- | Local dev | `npm run dev` from app directory |
104
-
105
- ## Skills
106
-
107
- Load in sub-agents via Skill tool. Never in main context.
108
-
109
- | Skill | When |
110
- |-------|------|
111
- | `sdk-ws-config-skill` | Workflows, fields, phases, teams, groups |
112
- | `sdk-function-fields` | Calculated fields, nameFunction |
113
- | `sdk-activity-patterns` | Creating/updating activities via MCP |
114
- | `sdk-insight-queries` | SQL insight queries |
115
- | `hailer-app-builder` | Building Hailer apps (React/Chakra) |
116
- | `hailer-design-system` | Theme, colors, icons, layout |
117
- | `publish-hailer-app` | Publishing apps to production |
118
- | `testing-patterns` | Vitest/playwright tests |
119
-
120
- ## Commands
121
-
122
- `/command <param>` — angle brackets = required
123
-
124
- **Essential:** `/save`, `/handoff`, `/prd`, `/autoplan`, `/ws-pull`
125
-
126
- **Squads:** `/app-squad`, `/review-squad`, `/config-squad`, `/hotfix-squad`, `/debug-squad`, `/swarm <desc>`
@@ -1,158 +0,0 @@
1
- ---
2
- description: Run parallel security and permissions audit
3
- argument-hint: [files, app name, or blank for full audit]
4
- allowed-tools: Task, Bash
5
- ---
6
-
7
- # Audit Squad
8
-
9
- Parallel security and permissions audit: code hardening, access control verification, and MCP tool validation.
10
-
11
- **Roles:**
12
- - **Code Reviewer** - Code review (hardcoded secrets, injection vulnerabilities, insecure patterns, OWASP top 10)
13
- - **Permissions Auditor** - Access control audit (effective permissions, team access levels, permission matrix)
14
- - **Tool Security Auditor** - MCP tools security (input validation, data exposure, security best practices)
15
-
16
- **Target:** $ARGUMENTS (if blank, use full project scope)
17
-
18
- **Scope options:**
19
- - Specific files or directory path
20
- - App name (checks that app's code and permissions)
21
- - Blank for full project audit
22
-
23
- ## Protocol
24
-
25
- ### Step 1: Determine Target
26
-
27
- If `$ARGUMENTS` has specific files/directories or app name, use those.
28
- Otherwise, scope is the entire project (workspace/ + apps/ + integrations/).
29
-
30
- If `$ARGUMENTS` contains `--code-only`:
31
- - Remove flag from target
32
- - Skip Permissions Auditor and Tool Security Auditor in Step 2
33
-
34
- If `$ARGUMENTS` contains `--permissions-only`:
35
- - Remove flag from target
36
- - Skip Code Reviewer and Tool Security Auditor in Step 2
37
-
38
- If `$ARGUMENTS` contains `--bg`:
39
- - Launch all agents in background mode
40
-
41
- ### Step 2: Launch Audit Agents in Parallel
42
-
43
- Spawn all applicable agents simultaneously using multiple Task tool calls in a single message:
44
-
45
- **Code Reviewer:**
46
- ```
47
- Task(prompt="Security audit of these files: [TARGET]. Focus on: hardcoded secrets, API keys, credentials, injection vulnerabilities (SQL/XSS/Command), insecure crypto usage, missing input validation, OWASP Top 10 issues, unsafe deserialization, missing authentication/authorization checks. Return verdict (PASS/FAIL), critical count, and detailed findings per file.")
48
- ```
49
-
50
- **Permissions Auditor:**
51
- ```
52
- Task(prompt="Load hailer-permissions-system skill for understanding the permissions model.\n\nAudit access control for the entire project. Map effective permissions: who has access to which apps, which teams have what access levels, which users are admins, workspace-wide versus app-specific permissions. Produce a permission matrix showing [User/Team] → [App] → [Access Level]. Flag any excessive or unclear permissions.")
53
- ```
54
-
55
- **Tool Security Auditor:**
56
- ```
57
- Task(prompt="Load tool-builder skill for understanding MCP tool patterns.\n\nSecurity audit of custom MCP tools (if any exist in src/mcp/tools/). Verify: input validation with Zod schemas, no unintended data exposure, proper error handling, rate limiting awareness, secure defaults. Report security posture per tool. If no custom tools exist, report that.")
58
- ```
59
-
60
- ### Step 3: Categorize and Aggregate Results
61
-
62
- Collect results from all agents. Categorize findings into three tiers:
63
-
64
- **CRITICAL:**
65
- - Hardcoded secrets/credentials
66
- - SQL injection, XSS, command injection vulnerabilities
67
- - Authentication/authorization bypasses
68
- - Excessive uncontrolled permissions
69
- - MCP tools exposing sensitive data
70
-
71
- **WARNING:**
72
- - Weak crypto usage
73
- - Missing input sanitization
74
- - Unclear permission delegations
75
- - Unvalidated MCP tool inputs
76
- - Missing rate limiting on tools
77
-
78
- **INFO:**
79
- - Best practice improvements
80
- - Code hardening suggestions
81
- - Permission clarity recommendations
82
-
83
- ### Step 4: Report
84
-
85
- ```markdown
86
- ## Audit Squad Report
87
-
88
- ### Scope
89
- [What was audited]
90
-
91
- ### Overall Security Posture
92
- [Rating: PASS / WARNING / CRITICAL]
93
- - Critical findings: X
94
- - Warnings: X
95
- - Info items: X
96
-
97
- ### Code Reviewer
98
- **Verdict:** PASS / FAIL / WARNINGS
99
- - Critical: X [list]
100
- - Warnings: X [list]
101
- - Info: X [list]
102
- - Files affected: [grouped summary]
103
-
104
- ### Permissions Auditor
105
- **Matrix Status:** [OK / EXCESSIVE / UNCLEAR]
106
- - Total apps: X
107
- - Total teams: X
108
- - Users with admin access: X
109
- - Flagged permissions: [list]
110
- - [Permission matrix if findings exist]
111
-
112
- ### Tool Security Auditor
113
- **Status:** [No tools / PASS / WARNINGS / CRITICAL]
114
- [If tools exist:]
115
- - Tools audited: X
116
- - Input validation issues: X
117
- - Data exposure risks: X
118
- - Best practice gaps: X
119
-
120
- ### Findings by Severity
121
-
122
- #### CRITICAL (Require Immediate Action)
123
- [List all critical findings with file/tool and remediation steps]
124
-
125
- #### WARNING (Address in Next Sprint)
126
- [List all warnings with context]
127
-
128
- #### INFO (Consider for Hardening)
129
- [List informational recommendations]
130
-
131
- ### Remediation Checklist
132
- - [ ] [Critical issue 1]: [Action]
133
- - [ ] [Critical issue 2]: [Action]
134
- - [ ] [Warning 1]: [Action]
135
-
136
- ### Summary
137
- [1-2 sentence overall assessment of security posture and next steps]
138
- ```
139
-
140
- If any agent fails or times out, report partial results from successful agents, note which failed, and offer to re-run individually.
141
-
142
- ## Options
143
-
144
- | Flag | Effect |
145
- |------|--------|
146
- | `--code-only` | Skip permissions and MCP tools (code review only, faster) |
147
- | `--permissions-only` | Skip code review and MCP tools (permissions matrix only) |
148
- | `--bg` | Run all agents in background mode |
149
-
150
- If `--bg` is present, launch all agents with `run_in_background: true` and tell the user they'll be notified when complete.
151
-
152
- ## Notes
153
-
154
- - Default scope is full project if no arguments provided
155
- - Code Reviewer focuses on secrets and injection attacks; general code quality is separate (/review-squad)
156
- - Permissions Auditor is organization-wide - includes team and app-level settings
157
- - Tool Security Auditor only validates if custom MCP tools exist in the project
158
- - Critical findings should block deployment; warnings should be tracked for next sprint
@@ -1,98 +0,0 @@
1
- ---
2
- description: Clean up codebase with config audit, code simplification, and dead code detection
3
- argument-hint: [files, directory, or blank for recent changes]
4
- allowed-tools: Task, Bash
5
- ---
6
- # Cleanup Squad
7
-
8
- Run parallel codebase cleanup using three agents simultaneously.
9
-
10
- **Roles:**
11
- - **Config Auditor** - Configuration audit (verify CLAUDE.md, hooks, workspace structure)
12
- - **Code Simplifier** - Refactor (improve code clarity and maintainability)
13
- - **Dead Code Inspector** - Dead code detection (find unused imports, dead code, type errors)
14
-
15
- **Target:** $ARGUMENTS (if blank, use recent git changes)
16
-
17
- **Changed files (auto-injected):**
18
- !git diff --name-only HEAD
19
-
20
- ## Protocol
21
-
22
- ### Step 1: Determine Target
23
-
24
- If `$ARGUMENTS` has specific files/directories, use those.
25
- Otherwise, use the changed files list above as the target.
26
-
27
- If `$ARGUMENTS` contains `--skip-config`:
28
- - Remove flag from target
29
- - Skip Config Auditor in Step 2
30
-
31
- If `$ARGUMENTS` contains `--skip-dead-code`:
32
- - Remove flag from target
33
- - Skip Dead Code Inspector in Step 2
34
-
35
- ### Step 2: Launch Agents in Parallel
36
-
37
- Spawn all agents simultaneously using multiple Task tool calls in a single message:
38
-
39
- **Config Auditor:**
40
- ```
41
- Task(prompt="Audit codebase configuration for: [TARGET]. Check:\n- CLAUDE.md accuracy and completeness\n- Hook configurations\n- Workspace structure\n- Agent definitions\n\nReturn list of issues found with severity levels.")
42
- ```
43
-
44
- **Code Simplifier:**
45
- ```
46
- Task(prompt="Refactor these files for clarity and maintainability: [TARGET]. Focus on:\n- Variable naming\n- Function complexity\n- Comment clarity\n- Code organization\n\nReturn refactoring suggestions with before/after examples.")
47
- ```
48
-
49
- **Dead Code Inspector:**
50
- ```
51
- Task(prompt="Load lsp-setup skill for code inspection.\n\nInspect these files for dead code: [TARGET]. Find:\n- Unused imports\n- Unreachable code\n- Unused variables\n- Type errors\n\nUse LSP if available. Return detailed list grouped by file.")
52
- ```
53
-
54
- ### Step 3: Aggregate Results
55
-
56
- Compile a unified cleanup report:
57
-
58
- ```markdown
59
- ## Cleanup Squad Report
60
-
61
- ### Config Auditor
62
- - Issues found: X
63
- - Critical: X
64
- - Warnings: X
65
- - [Issues grouped by category]
66
-
67
- ### Code Simplifier
68
- - Files analyzed: X
69
- - Refactoring suggestions: X
70
- - [Suggestions grouped by file]
71
-
72
- ### Dead Code Inspector
73
- - Unused imports: X
74
- - Dead code blocks: X
75
- - Type errors: X
76
- - [Details grouped by file]
77
-
78
- ### Summary
79
- [Overall assessment of codebase health]
80
- [Prioritized action items]
81
-
82
- ### Recommended Order
83
- 1. [Fix critical config issues first]
84
- 2. [Remove dead code]
85
- 3. [Apply refactoring suggestions]
86
- ```
87
-
88
- If any agent fails or times out, report partial results from successful agents, note which failed, and offer to re-run individually.
89
-
90
- ## Options
91
-
92
- | Flag | Effect |
93
- |------|--------|
94
- | `--skip-config` | Skip Config Auditor (faster, no config validation) |
95
- | `--skip-dead-code` | Skip Dead Code Inspector (when LSP not configured) |
96
- | `--bg` | Run all agents in background mode |
97
-
98
- If `--bg` is present, launch all agents with `run_in_background: true` and tell the user they'll be notified when complete.