@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
@@ -1,706 +0,0 @@
1
- "use strict";
2
- /**
3
- * Daemon Factory
4
- *
5
- * Creates and manages agent daemons in orchestrator mode:
6
- * - One orchestrator (HAL) handles general conversation
7
- * - Specialist daemons handle complex domain-specific tasks
8
- *
9
- * Uses BotContext for credential management (workspace isolation).
10
- */
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.DaemonManager = void 0;
13
- exports.createDaemonManager = createDaemonManager;
14
- exports.startDaemonMode = startDaemonMode;
15
- exports.createStandaloneBugFixer = createStandaloneBugFixer;
16
- const daemon_1 = require("./hal/daemon");
17
- const specialist_1 = require("./shared/specialist");
18
- const specialist_daemon_1 = require("./bug-fixer/specialist-daemon");
19
- const definitions_1 = require("./hal/definitions");
20
- const bot_manager_1 = require("./bot-manager");
21
- const config_1 = require("../config");
22
- const logger_1 = require("../lib/logger");
23
- const bot_config_1 = require("../bot-config");
24
- const hailer_clients_1 = require("../mcp/hailer-clients");
25
- const UserContextCache_1 = require("../mcp/UserContextCache");
26
- const bot_config_2 = require("../bot-config");
27
- const tool_registry_1 = require("../mcp/tool-registry");
28
- const logger = (0, logger_1.createLogger)({ component: "DaemonFactory" });
29
- /**
30
- * Map botType from Agent Directory to specialist key
31
- * botType values come from the Agent Directory workflow
32
- */
33
- function mapBotTypeToSpecialistKey(botType) {
34
- if (!botType)
35
- return null;
36
- const mapping = {
37
- 'workflow-expert': 'hailerExpert',
38
- 'bug-fixer': 'bugFixer',
39
- // Add more mappings as new specialists are added
40
- };
41
- return mapping[botType] || null;
42
- }
43
- /**
44
- * Manages orchestrator + specialist daemons
45
- */
46
- class DaemonManager {
47
- daemons = new Map();
48
- orchestrator = null;
49
- specialists = new Map();
50
- botManager;
51
- options;
52
- botTypeMap;
53
- displayNameMap;
54
- constructor(botManager, options) {
55
- this.botManager = botManager;
56
- this.options = options;
57
- this.botTypeMap = options.botTypeMap || new Map();
58
- this.displayNameMap = options.displayNameMap || new Map();
59
- }
60
- /**
61
- * Get the workspace ID this daemon manager is running for
62
- */
63
- getWorkspaceId() {
64
- return this.options.workspaceId;
65
- }
66
- /**
67
- * Orchestrator mode: one orchestrator (HAL) + specialist daemons
68
- */
69
- async startOrchestratorMode() {
70
- const botClients = this.botManager.getAllBotClients();
71
- logger.info("Starting daemons in ORCHESTRATOR mode", {
72
- botCount: botClients.length,
73
- });
74
- // Find orchestrator bot
75
- let orchestratorClient;
76
- const specialistClients = new Map();
77
- for (const botClient of botClients) {
78
- const email = botClient.config.email;
79
- const botType = this.botTypeMap.get(botClient.userId) || null;
80
- // Check if this is the orchestrator (by email match, botType, or first bot fallback)
81
- if (this.options.orchestratorEmail === email ||
82
- botType === 'orchestrator' ||
83
- (!this.options.orchestratorEmail && !orchestratorClient)) {
84
- orchestratorClient = botClient;
85
- continue;
86
- }
87
- // Check if this matches a specialist
88
- if (this.options.specialistEmails) {
89
- for (const [specialistKey, specialistEmail] of Object.entries(this.options.specialistEmails)) {
90
- if (email === specialistEmail) {
91
- specialistClients.set(specialistKey, botClient);
92
- break;
93
- }
94
- }
95
- }
96
- else {
97
- // Auto-assign based on botType from workspace config
98
- const specialistKey = mapBotTypeToSpecialistKey(botType);
99
- if (specialistKey && definitions_1.SPECIALISTS[specialistKey]) {
100
- specialistClients.set(specialistKey, botClient);
101
- }
102
- else {
103
- // Fallback: assign to first available specialist
104
- for (const key of Object.keys(definitions_1.SPECIALISTS)) {
105
- if (!specialistClients.has(key)) {
106
- specialistClients.set(key, botClient);
107
- break;
108
- }
109
- }
110
- }
111
- }
112
- }
113
- if (!orchestratorClient) {
114
- throw new Error("No orchestrator bot found");
115
- }
116
- // Create specialist user ID map for orchestrator
117
- const specialistUserIds = new Map();
118
- for (const [key, client] of specialistClients) {
119
- specialistUserIds.set(key, client.userId);
120
- }
121
- // Start orchestrator
122
- const orchestratorConfig = {
123
- botClient: orchestratorClient,
124
- mcpServerUrl: this.options.mcpServerUrl,
125
- anthropicApiKey: this.options.anthropicApiKey,
126
- model: this.options.model,
127
- specialistUserIds,
128
- useStructuredOutputs: this.options.useStructuredOutputs,
129
- };
130
- this.orchestrator = new daemon_1.OrchestratorDaemon(orchestratorConfig);
131
- await this.orchestrator.initialize();
132
- // Register specialist user IDs with orchestrator (with display names from workspace)
133
- for (const [key, userId] of specialistUserIds) {
134
- const displayName = this.displayNameMap.get(userId) || this.botManager.getUserName(userId);
135
- this.orchestrator.registerSpecialistUserId(key, userId, displayName);
136
- }
137
- this.daemons.set(orchestratorClient.userId, this.orchestrator);
138
- // Subscribe to bot state changes to update specialist availability
139
- (0, bot_config_1.onBotStateChange)((userId, enabled) => {
140
- const botType = this.botTypeMap.get(userId) || null;
141
- // Skip orchestrator changes (handled by daemon restart)
142
- if (botType === 'orchestrator')
143
- return;
144
- // Find the specialist key for this user
145
- const specialistKey = mapBotTypeToSpecialistKey(botType);
146
- if (!specialistKey) {
147
- logger.debug('No specialist mapping for botType', { userId, botType });
148
- return;
149
- }
150
- if (enabled) {
151
- // Re-register the specialist (with display name from workspace)
152
- const displayName = this.displayNameMap.get(userId) || this.botManager.getUserName(userId);
153
- this.orchestrator?.registerSpecialistUserId(specialistKey, userId, displayName);
154
- logger.info('Specialist re-enabled', { specialistKey, userId, displayName });
155
- }
156
- else {
157
- // Unregister the specialist
158
- this.orchestrator?.unregisterSpecialist(specialistKey);
159
- logger.info('Specialist disabled', { specialistKey, userId });
160
- }
161
- });
162
- // Start specialist daemons
163
- for (const [specialistKey, botClient] of specialistClients) {
164
- const specialistDef = definitions_1.SPECIALISTS[specialistKey];
165
- if (!specialistDef) {
166
- logger.warn("Unknown specialist key", { key: specialistKey });
167
- continue;
168
- }
169
- // Clone the specialist to avoid cross-workspace contamination
170
- const specialist = { ...specialistDef, botUserId: botClient.userId };
171
- let specialistDaemon;
172
- // Create BugFixerSpecialistDaemon for bugFixer (has actual bug fixing code)
173
- if (specialistKey === 'bugFixer') {
174
- const userContext = await UserContextCache_1.UserContextCache.getContext(botClient.config.mcpServerApiKey);
175
- const bugFixerConfig = {
176
- botClient,
177
- mcpServerUrl: this.options.mcpServerUrl,
178
- anthropicApiKey: this.options.anthropicApiKey,
179
- model: specialist.model || this.options.model,
180
- specialist,
181
- userContext,
182
- };
183
- specialistDaemon = new specialist_daemon_1.BugFixerSpecialistDaemon(bugFixerConfig);
184
- }
185
- else {
186
- const specialistConfig = {
187
- botClient,
188
- mcpServerUrl: this.options.mcpServerUrl,
189
- anthropicApiKey: this.options.anthropicApiKey,
190
- model: specialist.model || this.options.model,
191
- specialist,
192
- };
193
- specialistDaemon = new specialist_1.SpecialistDaemon(specialistConfig);
194
- }
195
- await specialistDaemon.initialize();
196
- this.specialists.set(specialistKey, specialistDaemon);
197
- this.daemons.set(botClient.userId, specialistDaemon);
198
- logger.info("Specialist daemon started", {
199
- key: specialistKey,
200
- name: specialist.name,
201
- });
202
- }
203
- logger.info("Orchestrator started", {
204
- specialistCount: this.specialists.size,
205
- totalDaemons: this.daemons.size,
206
- });
207
- }
208
- /**
209
- * Stop all daemons
210
- * Flushes session logs for each daemon before stopping
211
- */
212
- async stopAll() {
213
- const stopPromises = Array.from(this.daemons.entries()).map(async ([botId, daemon]) => {
214
- await daemon.stop();
215
- logger.info("Daemon stopped", { botId });
216
- });
217
- await Promise.all(stopPromises);
218
- this.daemons.clear();
219
- }
220
- /**
221
- * Get daemon for a specific bot
222
- */
223
- getDaemon(botId) {
224
- return this.daemons.get(botId);
225
- }
226
- /**
227
- * Get status of all daemons
228
- */
229
- getStatus() {
230
- return Array.from(this.daemons.entries()).map(([botId, daemon]) => ({
231
- botId,
232
- state: daemon.getConversationState(),
233
- }));
234
- }
235
- /**
236
- * Log current status to console (for monitoring)
237
- */
238
- logStatus() {
239
- const orchStatus = this.orchestrator?.getOrchestratorStatus();
240
- logger.info("Daemon status", {
241
- orchestrator: orchStatus ? {
242
- discussions: orchStatus.conversationState.discussionCount,
243
- processing: orchStatus.conversationState.isProcessing,
244
- specialists: orchStatus.specialists.filter(s => s.available).length,
245
- } : null,
246
- specialistCount: this.specialists.size,
247
- totalDaemons: this.daemons.size,
248
- });
249
- }
250
- /**
251
- * Get orchestrator instance (only in orchestrator mode)
252
- */
253
- getOrchestrator() {
254
- return this.orchestrator;
255
- }
256
- /**
257
- * Get the workspace schema cache from the orchestrator
258
- * Used by other modules that need dynamic workflow/field ID lookup
259
- */
260
- getSchemaCache() {
261
- return this.orchestrator?.getSchemaCache() ?? null;
262
- }
263
- /**
264
- * Get specialist by key (only in orchestrator mode)
265
- */
266
- getSpecialist(key) {
267
- return this.specialists.get(key);
268
- }
269
- /**
270
- * Register a standalone daemon (for standalone Bug Fixer mode)
271
- */
272
- registerStandaloneDaemon(userId, daemon) {
273
- this.daemons.set(userId, daemon);
274
- logger.info("Registered standalone daemon", { userId });
275
- }
276
- /**
277
- * Check if running in orchestrator mode
278
- */
279
- isOrchestratorMode() {
280
- return !!this.options.orchestratorMode;
281
- }
282
- /**
283
- * Trigger HAL to respond in a discussion with context
284
- */
285
- async triggerHalResponse(discussionId, activityId, context) {
286
- if (!this.orchestrator) {
287
- logger.warn('Cannot trigger HAL response - orchestrator not running');
288
- return;
289
- }
290
- await this.orchestrator.respondWithContext(discussionId, activityId, context);
291
- }
292
- /**
293
- * Hot-reload: Start a specialist daemon dynamically
294
- * Preserves orchestrator conversation context
295
- */
296
- async startSpecialist(email, password, botType, userId) {
297
- const specialistKey = mapBotTypeToSpecialistKey(botType);
298
- if (!specialistKey) {
299
- logger.warn('Unknown botType for specialist', { botType });
300
- return false;
301
- }
302
- // Check if already running
303
- if (this.specialists.has(specialistKey)) {
304
- logger.info('Specialist already running', { specialistKey });
305
- return true;
306
- }
307
- const specialistDef = definitions_1.SPECIALISTS[specialistKey];
308
- if (!specialistDef) {
309
- logger.warn('Specialist definition not found', { specialistKey });
310
- return false;
311
- }
312
- try {
313
- // Initialize bot client
314
- const actualUserId = userId || email;
315
- // Bug Fixer specialists need BOT_INTERNAL tool access
316
- const isBugFixer = botType === 'bugFixer' || botType === 'bug-fixer' || specialistKey === 'bugFixer';
317
- const allowedGroups = isBugFixer
318
- ? [tool_registry_1.ToolGroup.READ, tool_registry_1.ToolGroup.WRITE, tool_registry_1.ToolGroup.BOT_INTERNAL]
319
- : undefined;
320
- const apiKey = (0, hailer_clients_1.registerBotCredentials)(actualUserId, email, password, { allowedGroups });
321
- await this.botManager.initializeBotClient(email, password, apiKey);
322
- const botClient = this.botManager.getBotClientByBotId(specialistKey) ||
323
- Array.from(this.botManager.getAllBotClients())
324
- .find(bc => bc.config.email === email);
325
- if (!botClient) {
326
- logger.error('Failed to get bot client after initialization', { email: (0, config_1.maskEmail)(email) });
327
- return false;
328
- }
329
- // Update botType map
330
- this.botTypeMap.set(botClient.userId, botType);
331
- // Clone the specialist to avoid cross-workspace contamination
332
- const specialist = { ...specialistDef, botUserId: botClient.userId };
333
- // Create and start specialist daemon
334
- let specialistDaemon;
335
- // Create BugFixerSpecialistDaemon for bugFixer (has actual bug fixing code)
336
- if (specialistKey === 'bugFixer') {
337
- const userContext = await UserContextCache_1.UserContextCache.getContext(apiKey);
338
- const bugFixerConfig = {
339
- botClient,
340
- mcpServerUrl: this.options.mcpServerUrl,
341
- anthropicApiKey: this.options.anthropicApiKey,
342
- model: specialist.model || this.options.model,
343
- specialist,
344
- userContext,
345
- };
346
- specialistDaemon = new specialist_daemon_1.BugFixerSpecialistDaemon(bugFixerConfig);
347
- }
348
- else {
349
- const specialistConfig = {
350
- botClient,
351
- mcpServerUrl: this.options.mcpServerUrl,
352
- anthropicApiKey: this.options.anthropicApiKey,
353
- model: specialist.model || this.options.model,
354
- specialist,
355
- };
356
- specialistDaemon = new specialist_1.SpecialistDaemon(specialistConfig);
357
- }
358
- await specialistDaemon.initialize();
359
- this.specialists.set(specialistKey, specialistDaemon);
360
- this.daemons.set(botClient.userId, specialistDaemon);
361
- // Register with orchestrator (with display name from workspace)
362
- const displayName = this.displayNameMap.get(botClient.userId) || this.botManager.getUserName(botClient.userId);
363
- this.orchestrator?.registerSpecialistUserId(specialistKey, botClient.userId, displayName);
364
- // Register bot as enabled in state so message processing works
365
- const workspaceId = this.getWorkspaceId();
366
- if (workspaceId) {
367
- (0, bot_config_1.setBotEnabled)(workspaceId, botClient.userId, true);
368
- (0, bot_config_1.setBotUserId)(workspaceId, botClient.userId, botType);
369
- }
370
- logger.info('Specialist hot-loaded successfully', {
371
- specialistKey,
372
- name: specialist.name,
373
- botId: botClient.userId,
374
- email,
375
- });
376
- return true;
377
- }
378
- catch (error) {
379
- logger.error('Failed to hot-load specialist', {
380
- specialistKey,
381
- email,
382
- error: error instanceof Error ? error.message : String(error),
383
- });
384
- return false;
385
- }
386
- }
387
- /**
388
- * Hot-reload: Stop a specialist daemon dynamically
389
- * Preserves orchestrator conversation context
390
- */
391
- async stopSpecialist(botType) {
392
- const specialistKey = mapBotTypeToSpecialistKey(botType);
393
- if (!specialistKey) {
394
- logger.warn('Unknown botType for specialist', { botType });
395
- return false;
396
- }
397
- const specialistDaemon = this.specialists.get(specialistKey);
398
- if (!specialistDaemon) {
399
- logger.info('Specialist not running', { specialistKey });
400
- return true;
401
- }
402
- try {
403
- // Find botId by looking through daemons map
404
- let botId;
405
- for (const [id, daemon] of this.daemons) {
406
- if (daemon === specialistDaemon) {
407
- botId = id;
408
- break;
409
- }
410
- }
411
- // Unregister from orchestrator first
412
- this.orchestrator?.unregisterSpecialist(specialistKey);
413
- // Stop the daemon
414
- await specialistDaemon.stop();
415
- // Remove from maps
416
- this.specialists.delete(specialistKey);
417
- if (botId) {
418
- this.daemons.delete(botId);
419
- this.botTypeMap.delete(botId);
420
- // Remove bot client connection
421
- await this.botManager.removeBotClient(botId);
422
- }
423
- logger.info('Specialist stopped successfully', {
424
- specialistKey,
425
- botId,
426
- });
427
- return true;
428
- }
429
- catch (error) {
430
- logger.error('Failed to stop specialist', {
431
- specialistKey,
432
- error: error instanceof Error ? error.message : String(error),
433
- });
434
- return false;
435
- }
436
- }
437
- /**
438
- * Hot-reload a specialist (stop if running, start if enabled)
439
- */
440
- async hotReloadSpecialist(email, password, botType, enabled, userId) {
441
- if (enabled) {
442
- return this.startSpecialist(email, password, botType, userId);
443
- }
444
- else {
445
- return this.stopSpecialist(botType);
446
- }
447
- }
448
- /**
449
- * Start periodic status logging
450
- */
451
- startStatusLogging(intervalMs = 30000) {
452
- return setInterval(() => {
453
- this.logStatus();
454
- }, intervalMs);
455
- }
456
- }
457
- exports.DaemonManager = DaemonManager;
458
- /**
459
- * Create and start the daemon manager
460
- * This is the main entry point for daemon mode
461
- *
462
- * Uses WorkspaceContext for credential management (workspace isolation).
463
- *
464
- * @param options - Optional settings for orchestrator mode
465
- */
466
- async function createDaemonManager(options) {
467
- const appConfig = (0, config_1.createApplicationConfig)();
468
- const mcpClientConfig = appConfig.mcpClient;
469
- if (!mcpClientConfig) {
470
- logger.error("MCP Client not configured - cannot start daemon mode");
471
- return null;
472
- }
473
- // Find Anthropic API key from providers
474
- const anthropicProvider = mcpClientConfig.providers.find(p => p.type === "anthropic");
475
- if (!anthropicProvider) {
476
- logger.error("Anthropic provider not configured - daemon mode requires Anthropic");
477
- return null;
478
- }
479
- // Create bot manager
480
- const botManager = new bot_manager_1.MultiBotManager([]);
481
- // Load workspaces from .bot-config/*.json via BotContext
482
- const botContexts = (0, bot_config_2.loadBotConfigs)();
483
- if (botContexts.length === 0) {
484
- logger.warn('No workspace configs found in .bot-config/ - run npm run seed-config first');
485
- return null;
486
- }
487
- // Find workspace with orchestrator
488
- const botCtx = options?.workspaceId
489
- ? botContexts.find(ctx => ctx.workspaceId === options.workspaceId && ctx.getOrchestratorCredentials())
490
- : botContexts.find(ctx => ctx.getOrchestratorCredentials());
491
- if (!botCtx) {
492
- logger.error('No workspace with orchestrator found');
493
- return null;
494
- }
495
- logger.info('Using workspace', {
496
- workspaceId: botCtx.workspaceId,
497
- workspaceName: botCtx.workspaceName
498
- });
499
- // Build botTypeMap and displayNameMap for runtime lookups
500
- const botTypeMap = new Map();
501
- const displayNameMap = new Map();
502
- // Get orchestrator from BotContext
503
- const orchCreds = botCtx.getOrchestratorCredentials();
504
- if (!orchCreds) {
505
- logger.error('Orchestrator credentials not found');
506
- return null;
507
- }
508
- let orchestratorEmail;
509
- try {
510
- logger.info('Loading orchestrator', {
511
- email: (0, config_1.maskEmail)(orchCreds.email),
512
- displayName: orchCreds.displayName
513
- });
514
- const orchestratorUserId = orchCreds.userId;
515
- orchestratorEmail = orchCreds.email;
516
- const apiKey = (0, hailer_clients_1.registerBotCredentials)(orchestratorUserId, orchCreds.email, orchCreds.password);
517
- await botManager.initializeBotClient(orchCreds.email, orchCreds.password, apiKey);
518
- // Register orchestrator botType and displayName
519
- botTypeMap.set(orchestratorUserId, 'orchestrator');
520
- if (orchCreds.displayName) {
521
- displayNameMap.set(orchestratorUserId, orchCreds.displayName);
522
- }
523
- }
524
- catch (error) {
525
- logger.error('Failed to initialize orchestrator', { error });
526
- return null;
527
- }
528
- // Initialize specialists (disabled by default - HAL handles everything)
529
- // Set SPECIALISTS_ENABLED=true to enable specialist bots from AI Hub
530
- const specialistsEnabled = process.env.SPECIALISTS_ENABLED === 'true';
531
- if (specialistsEnabled) {
532
- const specialists = botCtx.getSpecialistCredentials();
533
- // If Bug Fixer env vars are set, use them instead of AI Hub
534
- const bugFixerFromEnv = process.env.BUG_MONITOR_ENABLED === 'true' && process.env.BUG_FIXER_EMAIL;
535
- if (bugFixerFromEnv) {
536
- // Remove any AI Hub Bug Fixer config (env vars take priority)
537
- const existingIdx = specialists.findIndex(s => s.botType === 'bugFixer');
538
- if (existingIdx >= 0) {
539
- specialists.splice(existingIdx, 1);
540
- }
541
- // Add Bug Fixer from env vars
542
- specialists.push({
543
- userId: '', // Set after login
544
- email: process.env.BUG_FIXER_EMAIL,
545
- password: process.env.BUG_FIXER_PASSWORD || '',
546
- botType: 'bugFixer',
547
- enabled: true,
548
- displayName: 'Bug Fixer',
549
- workspaceId: botCtx.workspaceId,
550
- });
551
- logger.info('Bug Fixer configured from env vars (AI Hub bypassed)');
552
- }
553
- for (const spec of specialists) {
554
- try {
555
- logger.info('Loading specialist', {
556
- email: (0, config_1.maskEmail)(spec.email),
557
- botType: spec.botType,
558
- displayName: spec.displayName
559
- });
560
- const specialistUserId = spec.userId;
561
- // Bug Fixer specialists need BOT_INTERNAL tool access
562
- const isBugFixer = spec.botType === 'bugFixer' || spec.botType === 'bug-fixer';
563
- const allowedGroups = isBugFixer
564
- ? [tool_registry_1.ToolGroup.READ, tool_registry_1.ToolGroup.WRITE, tool_registry_1.ToolGroup.BOT_INTERNAL]
565
- : undefined;
566
- const apiKey = (0, hailer_clients_1.registerBotCredentials)(specialistUserId, spec.email, spec.password, { allowedGroups });
567
- await botManager.initializeBotClient(spec.email, spec.password, apiKey);
568
- // Register specialist botType and displayName
569
- if (spec.botType) {
570
- botTypeMap.set(specialistUserId, spec.botType);
571
- }
572
- if (spec.displayName) {
573
- displayNameMap.set(specialistUserId, spec.displayName);
574
- }
575
- }
576
- catch (error) {
577
- logger.warn('Failed to initialize specialist', {
578
- email: spec.email,
579
- error: error instanceof Error ? error.message : String(error)
580
- });
581
- }
582
- }
583
- }
584
- else {
585
- logger.info('Specialists disabled (SPECIALISTS_ENABLED=false) - HAL running solo');
586
- }
587
- // Check environment for orchestrator mode (defaults to TRUE)
588
- const orchestratorMode = options?.orchestratorMode ??
589
- process.env.DAEMON_ORCHESTRATOR_MODE !== "false";
590
- // Check environment for structured outputs mode (defaults to FALSE for safety)
591
- // Set USE_STRUCTURED_OUTPUTS=true to save ~100K tokens per request
592
- const useStructuredOutputs = options?.useStructuredOutputs ??
593
- process.env.USE_STRUCTURED_OUTPUTS === "true";
594
- // Create daemon manager
595
- const daemonManager = new DaemonManager(botManager, {
596
- mcpServerUrl: mcpClientConfig.mcpServerUrl,
597
- anthropicApiKey: anthropicProvider.apiKey,
598
- model: anthropicProvider.model,
599
- orchestratorMode,
600
- orchestratorEmail: orchestratorEmail || options?.orchestratorEmail,
601
- specialistEmails: options?.specialistEmails,
602
- botTypeMap,
603
- displayNameMap,
604
- workspaceId: botCtx.workspaceId,
605
- useStructuredOutputs,
606
- });
607
- // Start all daemons
608
- await daemonManager.startOrchestratorMode();
609
- return daemonManager;
610
- }
611
- /**
612
- * Quick start function for testing
613
- *
614
- * @param orchestratorMode - Enable orchestrator mode (default: true)
615
- */
616
- async function startDaemonMode(orchestratorMode = true) {
617
- logger.info("Starting Chat Agent Daemon Mode (ORCHESTRATOR)...");
618
- const manager = await createDaemonManager({ orchestratorMode });
619
- if (!manager) {
620
- logger.error("Failed to create daemon manager");
621
- process.exit(1);
622
- }
623
- // Handle shutdown - await async stopAll() to flush session logs
624
- process.on("SIGINT", () => {
625
- logger.info("Shutting down daemons...");
626
- manager.stopAll().then(() => process.exit(0));
627
- });
628
- process.on("SIGTERM", () => {
629
- logger.info("Shutting down daemons...");
630
- manager.stopAll().then(() => process.exit(0));
631
- });
632
- logger.info("Chat Agent Daemon Mode (ORCHESTRATOR) running. Press Ctrl+C to stop.");
633
- // Start periodic status logging
634
- manager.startStatusLogging(60000);
635
- }
636
- /**
637
- * Create standalone Bug Fixer daemon (no orchestrator/AI Hub needed)
638
- * For testing Bug Fixer independently
639
- */
640
- async function createStandaloneBugFixer(email, password) {
641
- const appConfig = (0, config_1.createApplicationConfig)();
642
- const mcpClientConfig = appConfig.mcpClient;
643
- if (!mcpClientConfig) {
644
- logger.error("MCP Client not configured - cannot start standalone Bug Fixer");
645
- return null;
646
- }
647
- const anthropicProvider = mcpClientConfig.providers.find(p => p.type === 'anthropic');
648
- if (!anthropicProvider?.apiKey) {
649
- logger.error("Anthropic API key not configured");
650
- return null;
651
- }
652
- logger.info("Creating standalone Bug Fixer", { email: (0, config_1.maskEmail)(email) });
653
- // Create bot manager with empty config (we'll add the bot dynamically)
654
- const botManager = new bot_manager_1.MultiBotManager([]);
655
- // Register credentials and get API key
656
- const bugFixerApiKey = (0, hailer_clients_1.registerBotCredentials)('standalone-bugfixer', email, password, { allowedGroups: [tool_registry_1.ToolGroup.READ, tool_registry_1.ToolGroup.WRITE, tool_registry_1.ToolGroup.BOT_INTERNAL] });
657
- // Initialize the bot client - returns userId
658
- const bugFixerUserId = await botManager.initializeBotClient(email, password, bugFixerApiKey);
659
- if (!bugFixerUserId) {
660
- logger.error("Failed to initialize Bug Fixer client");
661
- return null;
662
- }
663
- // Get the actual BotClient object
664
- const bugFixerClient = botManager.getBotClient(bugFixerUserId);
665
- if (!bugFixerClient) {
666
- logger.error("Failed to get Bug Fixer client after init");
667
- return null;
668
- }
669
- logger.info("Bug Fixer logged in", { userId: bugFixerUserId });
670
- // Get user context for API calls
671
- const userContext = await UserContextCache_1.UserContextCache.getContext(bugFixerApiKey);
672
- // Enable bot in bot state - CRITICAL for message processing
673
- const workspaceId = bugFixerClient.workspaceCache?.currentWorkspace?._id;
674
- if (workspaceId) {
675
- (0, bot_config_1.setBotEnabled)(workspaceId, bugFixerUserId, true);
676
- logger.info("Bug Fixer bot enabled in state", { workspaceId, userId: bugFixerUserId });
677
- }
678
- else {
679
- logger.warn("No workspace ID for Bug Fixer - bot state may not work correctly");
680
- }
681
- // Create minimal daemon manager for Bug Fixer only
682
- const daemonManager = new DaemonManager(botManager, {
683
- mcpServerUrl: mcpClientConfig.mcpServerUrl,
684
- anthropicApiKey: anthropicProvider.apiKey,
685
- model: anthropicProvider.model,
686
- orchestratorMode: false,
687
- });
688
- // Create Bug Fixer specialist definition
689
- const bugFixerSpecialist = definitions_1.SPECIALISTS.bugFixer;
690
- // Create BugFixerSpecialistDaemon directly
691
- const bugFixerConfig = {
692
- botClient: bugFixerClient,
693
- mcpServerUrl: mcpClientConfig.mcpServerUrl,
694
- anthropicApiKey: anthropicProvider.apiKey,
695
- model: anthropicProvider.model,
696
- specialist: bugFixerSpecialist,
697
- userContext,
698
- };
699
- const bugFixerDaemon = new specialist_daemon_1.BugFixerSpecialistDaemon(bugFixerConfig);
700
- await bugFixerDaemon.initialize();
701
- // Track the daemon for cleanup
702
- daemonManager.registerStandaloneDaemon(bugFixerUserId, bugFixerDaemon);
703
- logger.info("Standalone Bug Fixer daemon started", { userId: bugFixerUserId });
704
- return daemonManager;
705
- }
706
- //# sourceMappingURL=factory.js.map