@hailer/mcp 1.1.15 → 1.1.16

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 (544) hide show
  1. package/dist/agents/bot-manager.d.ts +48 -0
  2. package/dist/agents/bot-manager.d.ts.map +1 -0
  3. package/dist/agents/bot-manager.js +254 -0
  4. package/dist/agents/bot-manager.js.map +1 -0
  5. package/dist/agents/bug-fixer/ai.d.ts +80 -0
  6. package/dist/agents/bug-fixer/ai.d.ts.map +1 -0
  7. package/dist/agents/bug-fixer/ai.js +466 -0
  8. package/dist/agents/bug-fixer/ai.js.map +1 -0
  9. package/dist/agents/bug-fixer/bot.d.ts +92 -0
  10. package/dist/agents/bug-fixer/bot.d.ts.map +1 -0
  11. package/dist/agents/bug-fixer/bot.js +687 -0
  12. package/dist/agents/bug-fixer/bot.js.map +1 -0
  13. package/dist/agents/bug-fixer/config.d.ts +21 -0
  14. package/dist/agents/bug-fixer/config.d.ts.map +1 -0
  15. package/dist/agents/bug-fixer/config.js +218 -0
  16. package/dist/agents/bug-fixer/config.js.map +1 -0
  17. package/dist/agents/bug-fixer/files.d.ts +67 -0
  18. package/dist/agents/bug-fixer/files.d.ts.map +1 -0
  19. package/dist/agents/bug-fixer/files.js +386 -0
  20. package/dist/agents/bug-fixer/files.js.map +1 -0
  21. package/dist/agents/bug-fixer/git.d.ts +48 -0
  22. package/dist/agents/bug-fixer/git.d.ts.map +1 -0
  23. package/dist/agents/bug-fixer/git.js +298 -0
  24. package/dist/agents/bug-fixer/git.js.map +1 -0
  25. package/dist/agents/bug-fixer/index.d.ts +103 -0
  26. package/dist/agents/bug-fixer/index.d.ts.map +1 -0
  27. package/dist/agents/bug-fixer/index.js +262 -0
  28. package/dist/agents/bug-fixer/index.js.map +1 -0
  29. package/dist/agents/bug-fixer/lsp.d.ts +113 -0
  30. package/dist/agents/bug-fixer/lsp.d.ts.map +1 -0
  31. package/dist/agents/bug-fixer/lsp.js +485 -0
  32. package/dist/agents/bug-fixer/lsp.js.map +1 -0
  33. package/dist/agents/bug-fixer/monitor.d.ts +123 -0
  34. package/dist/agents/bug-fixer/monitor.d.ts.map +1 -0
  35. package/dist/agents/bug-fixer/monitor.js +629 -0
  36. package/dist/agents/bug-fixer/monitor.js.map +1 -0
  37. package/dist/agents/bug-fixer/prompt.d.ts +5 -0
  38. package/dist/agents/bug-fixer/prompt.d.ts.map +1 -0
  39. package/dist/agents/bug-fixer/prompt.js +94 -0
  40. package/dist/agents/bug-fixer/prompt.js.map +1 -0
  41. package/dist/agents/bug-fixer/registries/pending-classification.d.ts +28 -0
  42. package/dist/agents/bug-fixer/registries/pending-classification.d.ts.map +1 -0
  43. package/dist/agents/bug-fixer/registries/pending-classification.js +50 -0
  44. package/dist/agents/bug-fixer/registries/pending-classification.js.map +1 -0
  45. package/dist/agents/bug-fixer/registries/pending-fix.d.ts +33 -0
  46. package/dist/agents/bug-fixer/registries/pending-fix.d.ts.map +1 -0
  47. package/dist/agents/bug-fixer/registries/pending-fix.js +64 -0
  48. package/dist/agents/bug-fixer/registries/pending-fix.js.map +1 -0
  49. package/dist/agents/bug-fixer/registries/pending.d.ts +27 -0
  50. package/dist/agents/bug-fixer/registries/pending.d.ts.map +1 -0
  51. package/dist/agents/bug-fixer/registries/pending.js +49 -0
  52. package/dist/agents/bug-fixer/registries/pending.js.map +1 -0
  53. package/dist/agents/bug-fixer/specialist-daemon.d.ts +88 -0
  54. package/dist/agents/bug-fixer/specialist-daemon.d.ts.map +1 -0
  55. package/dist/agents/bug-fixer/specialist-daemon.js +431 -0
  56. package/dist/agents/bug-fixer/specialist-daemon.js.map +1 -0
  57. package/dist/agents/bug-fixer/specialist.d.ts +47 -0
  58. package/dist/agents/bug-fixer/specialist.d.ts.map +1 -0
  59. package/dist/agents/bug-fixer/specialist.js +327 -0
  60. package/dist/agents/bug-fixer/specialist.js.map +1 -0
  61. package/dist/agents/bug-fixer/types.d.ts +123 -0
  62. package/dist/agents/bug-fixer/types.d.ts.map +1 -0
  63. package/dist/agents/bug-fixer/types.js +9 -0
  64. package/dist/agents/bug-fixer/types.js.map +1 -0
  65. package/dist/agents/factory.d.ts +172 -0
  66. package/dist/agents/factory.d.ts.map +1 -0
  67. package/dist/agents/factory.js +706 -0
  68. package/dist/agents/factory.js.map +1 -0
  69. package/dist/agents/hailer-expert/index.d.ts +8 -0
  70. package/dist/agents/hailer-expert/index.d.ts.map +1 -0
  71. package/dist/agents/hailer-expert/index.js +14 -0
  72. package/dist/agents/hailer-expert/index.js.map +1 -0
  73. package/dist/agents/hal/daemon.d.ts +174 -0
  74. package/dist/agents/hal/daemon.d.ts.map +1 -0
  75. package/dist/agents/hal/daemon.js +1385 -0
  76. package/dist/agents/hal/daemon.js.map +1 -0
  77. package/dist/agents/hal/definitions.d.ts +42 -0
  78. package/dist/agents/hal/definitions.d.ts.map +1 -0
  79. package/dist/agents/hal/definitions.js +300 -0
  80. package/dist/agents/hal/definitions.js.map +1 -0
  81. package/dist/agents/hal/index.d.ts +3 -0
  82. package/dist/agents/hal/index.d.ts.map +1 -0
  83. package/dist/agents/hal/index.js +8 -0
  84. package/dist/agents/hal/index.js.map +1 -0
  85. package/dist/agents/index.d.ts +18 -0
  86. package/dist/agents/index.d.ts.map +1 -0
  87. package/dist/agents/index.js +48 -0
  88. package/dist/agents/index.js.map +1 -0
  89. package/dist/agents/shared/base.d.ts +253 -0
  90. package/dist/agents/shared/base.d.ts.map +1 -0
  91. package/dist/agents/shared/base.js +1122 -0
  92. package/dist/agents/shared/base.js.map +1 -0
  93. package/dist/agents/shared/schemas/action-schema.d.ts +62 -0
  94. package/dist/agents/shared/schemas/action-schema.d.ts.map +1 -0
  95. package/dist/agents/shared/schemas/action-schema.js +483 -0
  96. package/dist/agents/shared/schemas/action-schema.js.map +1 -0
  97. package/dist/agents/shared/services/agent-registry.d.ts +108 -0
  98. package/dist/agents/shared/services/agent-registry.d.ts.map +1 -0
  99. package/dist/agents/shared/services/agent-registry.js +469 -0
  100. package/dist/agents/shared/services/agent-registry.js.map +1 -0
  101. package/dist/agents/shared/services/conversation-manager.d.ts +57 -0
  102. package/dist/agents/shared/services/conversation-manager.d.ts.map +1 -0
  103. package/dist/agents/shared/services/conversation-manager.js +168 -0
  104. package/dist/agents/shared/services/conversation-manager.js.map +1 -0
  105. package/dist/agents/shared/services/mcp-client.d.ts +56 -0
  106. package/dist/agents/shared/services/mcp-client.d.ts.map +1 -0
  107. package/dist/agents/shared/services/mcp-client.js +124 -0
  108. package/dist/agents/shared/services/mcp-client.js.map +1 -0
  109. package/dist/agents/shared/services/message-classifier.d.ts +37 -0
  110. package/dist/agents/shared/services/message-classifier.d.ts.map +1 -0
  111. package/dist/agents/shared/services/message-classifier.js +203 -0
  112. package/dist/agents/shared/services/message-classifier.js.map +1 -0
  113. package/dist/agents/shared/services/message-formatter.d.ts +89 -0
  114. package/dist/agents/shared/services/message-formatter.d.ts.map +1 -0
  115. package/dist/agents/shared/services/message-formatter.js +390 -0
  116. package/dist/agents/shared/services/message-formatter.js.map +1 -0
  117. package/dist/agents/shared/services/session-logger.d.ts +162 -0
  118. package/dist/agents/shared/services/session-logger.d.ts.map +1 -0
  119. package/dist/agents/shared/services/session-logger.js +724 -0
  120. package/dist/agents/shared/services/session-logger.js.map +1 -0
  121. package/dist/agents/shared/services/structured-output-executor.d.ts +88 -0
  122. package/dist/agents/shared/services/structured-output-executor.d.ts.map +1 -0
  123. package/dist/agents/shared/services/structured-output-executor.js +296 -0
  124. package/dist/agents/shared/services/structured-output-executor.js.map +1 -0
  125. package/dist/agents/shared/services/token-billing.d.ts +72 -0
  126. package/dist/agents/shared/services/token-billing.d.ts.map +1 -0
  127. package/dist/agents/shared/services/token-billing.js +198 -0
  128. package/dist/agents/shared/services/token-billing.js.map +1 -0
  129. package/dist/agents/shared/services/tool-executor.d.ts +43 -0
  130. package/dist/agents/shared/services/tool-executor.d.ts.map +1 -0
  131. package/dist/agents/shared/services/tool-executor.js +175 -0
  132. package/dist/agents/shared/services/tool-executor.js.map +1 -0
  133. package/dist/agents/shared/services/typing-indicator.d.ts +24 -0
  134. package/dist/agents/shared/services/typing-indicator.d.ts.map +1 -0
  135. package/dist/agents/shared/services/typing-indicator.js +54 -0
  136. package/dist/agents/shared/services/typing-indicator.js.map +1 -0
  137. package/dist/agents/shared/services/workspace-schema-cache.d.ts +122 -0
  138. package/dist/agents/shared/services/workspace-schema-cache.d.ts.map +1 -0
  139. package/dist/agents/shared/services/workspace-schema-cache.js +507 -0
  140. package/dist/agents/shared/services/workspace-schema-cache.js.map +1 -0
  141. package/dist/agents/shared/specialist.d.ts +91 -0
  142. package/dist/agents/shared/specialist.d.ts.map +1 -0
  143. package/dist/agents/shared/specialist.js +399 -0
  144. package/dist/agents/shared/specialist.js.map +1 -0
  145. package/dist/agents/shared/tool-schema-loader.d.ts +65 -0
  146. package/dist/agents/shared/tool-schema-loader.d.ts.map +1 -0
  147. package/dist/agents/shared/tool-schema-loader.js +238 -0
  148. package/dist/agents/shared/tool-schema-loader.js.map +1 -0
  149. package/dist/agents/shared/types.d.ts +190 -0
  150. package/dist/agents/shared/types.d.ts.map +1 -0
  151. package/dist/agents/shared/types.js +13 -0
  152. package/dist/agents/shared/types.js.map +1 -0
  153. package/dist/app.d.ts.map +1 -0
  154. package/dist/app.js.map +1 -0
  155. package/dist/bot/bot-config.d.ts.map +1 -0
  156. package/dist/bot/bot-config.js.map +1 -0
  157. package/dist/bot/bot-manager.d.ts.map +1 -0
  158. package/dist/bot/bot-manager.js.map +1 -0
  159. package/dist/bot/bot.d.ts.map +1 -0
  160. package/dist/bot/bot.js.map +1 -0
  161. package/dist/bot/operation-logger.d.ts.map +1 -0
  162. package/dist/bot/operation-logger.js.map +1 -0
  163. package/dist/bot/services/__tests__/permission-guard.test.d.ts +2 -0
  164. package/dist/bot/services/__tests__/permission-guard.test.d.ts.map +1 -0
  165. package/dist/bot/services/__tests__/permission-guard.test.js +357 -0
  166. package/dist/bot/services/__tests__/permission-guard.test.js.map +1 -0
  167. package/dist/bot/services/conversation-manager.d.ts.map +1 -0
  168. package/dist/bot/services/conversation-manager.js.map +1 -0
  169. package/dist/bot/services/index.d.ts.map +1 -0
  170. package/dist/bot/services/index.js.map +1 -0
  171. package/dist/bot/services/message-classifier.d.ts.map +1 -0
  172. package/dist/bot/services/message-classifier.js.map +1 -0
  173. package/dist/bot/services/message-formatter.d.ts.map +1 -0
  174. package/dist/bot/services/message-formatter.js.map +1 -0
  175. package/dist/bot/services/permission-guard.d.ts.map +1 -0
  176. package/dist/bot/services/permission-guard.js.map +1 -0
  177. package/dist/bot/services/session-logger.d.ts.map +1 -0
  178. package/dist/bot/services/session-logger.js.map +1 -0
  179. package/dist/bot/services/token-billing.d.ts.map +1 -0
  180. package/dist/bot/services/token-billing.js.map +1 -0
  181. package/dist/bot/services/types.d.ts.map +1 -0
  182. package/dist/bot/services/types.js.map +1 -0
  183. package/dist/bot/services/typing-indicator.d.ts.map +1 -0
  184. package/dist/bot/services/typing-indicator.js.map +1 -0
  185. package/dist/bot/services/workspace-schema-cache.d.ts.map +1 -0
  186. package/dist/bot/services/workspace-schema-cache.js.map +1 -0
  187. package/dist/bot/tool-executor.d.ts.map +1 -0
  188. package/dist/bot/tool-executor.js.map +1 -0
  189. package/dist/bot/workspace-overview.d.ts.map +1 -0
  190. package/dist/bot/workspace-overview.js.map +1 -0
  191. package/dist/bot-config/constants.d.ts +42 -0
  192. package/dist/bot-config/constants.d.ts.map +1 -0
  193. package/dist/bot-config/constants.js +118 -0
  194. package/dist/bot-config/constants.js.map +1 -0
  195. package/dist/bot-config/context.d.ts +157 -0
  196. package/dist/bot-config/context.d.ts.map +1 -0
  197. package/dist/bot-config/context.js +475 -0
  198. package/dist/bot-config/context.js.map +1 -0
  199. package/dist/bot-config/index.d.ts +21 -0
  200. package/dist/bot-config/index.d.ts.map +1 -0
  201. package/dist/bot-config/index.js +104 -0
  202. package/dist/bot-config/index.js.map +1 -0
  203. package/dist/bot-config/loader.d.ts +28 -0
  204. package/dist/bot-config/loader.d.ts.map +1 -0
  205. package/dist/bot-config/loader.js +194 -0
  206. package/dist/bot-config/loader.js.map +1 -0
  207. package/dist/bot-config/persistence.d.ts +68 -0
  208. package/dist/bot-config/persistence.d.ts.map +1 -0
  209. package/dist/bot-config/persistence.js +261 -0
  210. package/dist/bot-config/persistence.js.map +1 -0
  211. package/dist/bot-config/state.d.ts +56 -0
  212. package/dist/bot-config/state.d.ts.map +1 -0
  213. package/dist/bot-config/state.js +197 -0
  214. package/dist/bot-config/state.js.map +1 -0
  215. package/dist/bot-config/tools.d.ts +28 -0
  216. package/dist/bot-config/tools.d.ts.map +1 -0
  217. package/dist/bot-config/tools.js +279 -0
  218. package/dist/bot-config/tools.js.map +1 -0
  219. package/dist/bot-config/types.d.ts +45 -0
  220. package/dist/bot-config/types.d.ts.map +1 -0
  221. package/dist/bot-config/types.js +9 -0
  222. package/dist/bot-config/types.js.map +1 -0
  223. package/dist/bot-config/webhooks.d.ts +27 -0
  224. package/dist/bot-config/webhooks.d.ts.map +1 -0
  225. package/dist/bot-config/webhooks.js +212 -0
  226. package/dist/bot-config/webhooks.js.map +1 -0
  227. package/dist/cli.d.ts.map +1 -0
  228. package/dist/cli.js.map +1 -0
  229. package/dist/client/agents/base.d.ts +207 -0
  230. package/dist/client/agents/base.d.ts.map +1 -0
  231. package/dist/client/agents/base.js +744 -0
  232. package/dist/client/agents/base.js.map +1 -0
  233. package/dist/client/agents/definitions.d.ts +53 -0
  234. package/dist/client/agents/definitions.d.ts.map +1 -0
  235. package/dist/client/agents/definitions.js +263 -0
  236. package/dist/client/agents/definitions.js.map +1 -0
  237. package/dist/client/agents/orchestrator.d.ts +141 -0
  238. package/dist/client/agents/orchestrator.d.ts.map +1 -0
  239. package/dist/client/agents/orchestrator.js +1062 -0
  240. package/dist/client/agents/orchestrator.js.map +1 -0
  241. package/dist/client/agents/specialist.d.ts +86 -0
  242. package/dist/client/agents/specialist.d.ts.map +1 -0
  243. package/dist/client/agents/specialist.js +340 -0
  244. package/dist/client/agents/specialist.js.map +1 -0
  245. package/dist/client/bot-entrypoint.d.ts +7 -0
  246. package/dist/client/bot-entrypoint.d.ts.map +1 -0
  247. package/dist/client/bot-entrypoint.js +103 -0
  248. package/dist/client/bot-entrypoint.js.map +1 -0
  249. package/dist/client/bot-manager.d.ts +44 -0
  250. package/dist/client/bot-manager.d.ts.map +1 -0
  251. package/dist/client/bot-manager.js +173 -0
  252. package/dist/client/bot-manager.js.map +1 -0
  253. package/dist/client/bot-runner.d.ts +35 -0
  254. package/dist/client/bot-runner.d.ts.map +1 -0
  255. package/dist/client/bot-runner.js +188 -0
  256. package/dist/client/bot-runner.js.map +1 -0
  257. package/dist/client/chat-agent-daemon.d.ts +464 -0
  258. package/dist/client/chat-agent-daemon.d.ts.map +1 -0
  259. package/dist/client/chat-agent-daemon.js +1774 -0
  260. package/dist/client/chat-agent-daemon.js.map +1 -0
  261. package/dist/client/daemon-factory.d.ts +106 -0
  262. package/dist/client/daemon-factory.d.ts.map +1 -0
  263. package/dist/client/daemon-factory.js +301 -0
  264. package/dist/client/daemon-factory.js.map +1 -0
  265. package/dist/client/factory.d.ts +111 -0
  266. package/dist/client/factory.d.ts.map +1 -0
  267. package/dist/client/factory.js +314 -0
  268. package/dist/client/factory.js.map +1 -0
  269. package/dist/client/index.d.ts +17 -0
  270. package/dist/client/index.d.ts.map +1 -0
  271. package/dist/client/index.js +38 -0
  272. package/dist/client/index.js.map +1 -0
  273. package/dist/client/multi-bot-manager.d.ts +42 -0
  274. package/dist/client/multi-bot-manager.d.ts.map +1 -0
  275. package/dist/client/multi-bot-manager.js +161 -0
  276. package/dist/client/multi-bot-manager.js.map +1 -0
  277. package/dist/client/orchestrator-daemon.d.ts +87 -0
  278. package/dist/client/orchestrator-daemon.d.ts.map +1 -0
  279. package/dist/client/orchestrator-daemon.js +444 -0
  280. package/dist/client/orchestrator-daemon.js.map +1 -0
  281. package/dist/client/server.d.ts +8 -0
  282. package/dist/client/server.d.ts.map +1 -0
  283. package/dist/client/server.js +251 -0
  284. package/dist/client/server.js.map +1 -0
  285. package/dist/client/services/agent-registry.d.ts +108 -0
  286. package/dist/client/services/agent-registry.d.ts.map +1 -0
  287. package/dist/client/services/agent-registry.js +630 -0
  288. package/dist/client/services/agent-registry.js.map +1 -0
  289. package/dist/client/services/conversation-manager.d.ts +50 -0
  290. package/dist/client/services/conversation-manager.d.ts.map +1 -0
  291. package/dist/client/services/conversation-manager.js +136 -0
  292. package/dist/client/services/conversation-manager.js.map +1 -0
  293. package/dist/client/services/mcp-client.d.ts +48 -0
  294. package/dist/client/services/mcp-client.d.ts.map +1 -0
  295. package/dist/client/services/mcp-client.js +105 -0
  296. package/dist/client/services/mcp-client.js.map +1 -0
  297. package/dist/client/services/message-classifier.d.ts +37 -0
  298. package/dist/client/services/message-classifier.d.ts.map +1 -0
  299. package/dist/client/services/message-classifier.js +187 -0
  300. package/dist/client/services/message-classifier.js.map +1 -0
  301. package/dist/client/services/message-formatter.d.ts +84 -0
  302. package/dist/client/services/message-formatter.d.ts.map +1 -0
  303. package/dist/client/services/message-formatter.js +353 -0
  304. package/dist/client/services/message-formatter.js.map +1 -0
  305. package/dist/client/services/session-logger.d.ts +106 -0
  306. package/dist/client/services/session-logger.d.ts.map +1 -0
  307. package/dist/client/services/session-logger.js +446 -0
  308. package/dist/client/services/session-logger.js.map +1 -0
  309. package/dist/client/services/tool-executor.d.ts +41 -0
  310. package/dist/client/services/tool-executor.d.ts.map +1 -0
  311. package/dist/client/services/tool-executor.js +169 -0
  312. package/dist/client/services/tool-executor.js.map +1 -0
  313. package/dist/client/services/workspace-schema-cache.d.ts +149 -0
  314. package/dist/client/services/workspace-schema-cache.d.ts.map +1 -0
  315. package/dist/client/services/workspace-schema-cache.js +732 -0
  316. package/dist/client/services/workspace-schema-cache.js.map +1 -0
  317. package/dist/client/specialist-daemon.d.ts +77 -0
  318. package/dist/client/specialist-daemon.d.ts.map +1 -0
  319. package/dist/client/specialist-daemon.js +197 -0
  320. package/dist/client/specialist-daemon.js.map +1 -0
  321. package/dist/client/specialists.d.ts +53 -0
  322. package/dist/client/specialists.d.ts.map +1 -0
  323. package/dist/client/specialists.js +178 -0
  324. package/dist/client/specialists.js.map +1 -0
  325. package/dist/client/tool-schema-loader.d.ts +62 -0
  326. package/dist/client/tool-schema-loader.d.ts.map +1 -0
  327. package/dist/client/tool-schema-loader.js +232 -0
  328. package/dist/client/tool-schema-loader.js.map +1 -0
  329. package/dist/client/types.d.ts +327 -0
  330. package/dist/client/types.d.ts.map +1 -0
  331. package/dist/client/types.js +121 -0
  332. package/dist/client/types.js.map +1 -0
  333. package/dist/commands/seed-config.d.ts +9 -0
  334. package/dist/commands/seed-config.d.ts.map +1 -0
  335. package/dist/commands/seed-config.js +392 -0
  336. package/dist/commands/seed-config.js.map +1 -0
  337. package/dist/commands/setup.d.ts +11 -0
  338. package/dist/commands/setup.d.ts.map +1 -0
  339. package/dist/commands/setup.js +320 -0
  340. package/dist/commands/setup.js.map +1 -0
  341. package/dist/config.d.ts.map +1 -0
  342. package/dist/config.js.map +1 -0
  343. package/dist/core.d.ts.map +1 -0
  344. package/dist/core.js.map +1 -0
  345. package/dist/lib/discussion-lock.d.ts.map +1 -0
  346. package/dist/lib/discussion-lock.js.map +1 -0
  347. package/dist/lib/logger.d.ts.map +1 -0
  348. package/dist/lib/logger.js.map +1 -0
  349. package/dist/lib/request-logger.d.ts.map +1 -0
  350. package/dist/lib/request-logger.js.map +1 -0
  351. package/dist/mcp/UserContextCache.d.ts.map +1 -0
  352. package/dist/mcp/UserContextCache.js.map +1 -0
  353. package/dist/mcp/auth.d.ts.map +1 -0
  354. package/dist/mcp/auth.js.map +1 -0
  355. package/dist/mcp/hailer-clients.d.ts.map +1 -0
  356. package/dist/mcp/hailer-clients.js.map +1 -0
  357. package/dist/mcp/session-store.d.ts.map +1 -0
  358. package/dist/mcp/session-store.js.map +1 -0
  359. package/dist/mcp/signal-handler.d.ts.map +1 -0
  360. package/dist/mcp/signal-handler.js.map +1 -0
  361. package/dist/mcp/tool-registry.d.ts.map +1 -0
  362. package/dist/mcp/tool-registry.js.map +1 -0
  363. package/dist/mcp/tools/__tests__/discussion-forward.test.d.ts +2 -0
  364. package/dist/mcp/tools/__tests__/discussion-forward.test.d.ts.map +1 -0
  365. package/dist/mcp/tools/__tests__/discussion-forward.test.js +218 -0
  366. package/dist/mcp/tools/__tests__/discussion-forward.test.js.map +1 -0
  367. package/dist/mcp/tools/activity.d.ts.map +1 -0
  368. package/dist/mcp/tools/activity.js.map +1 -0
  369. package/dist/mcp/tools/app-core.d.ts.map +1 -0
  370. package/dist/mcp/tools/app-core.js.map +1 -0
  371. package/dist/mcp/tools/app-marketplace.d.ts.map +1 -0
  372. package/dist/mcp/tools/app-marketplace.js.map +1 -0
  373. package/dist/mcp/tools/app-member.d.ts.map +1 -0
  374. package/dist/mcp/tools/app-member.js.map +1 -0
  375. package/dist/mcp/tools/app-scaffold.d.ts.map +1 -0
  376. package/dist/mcp/tools/app-scaffold.js.map +1 -0
  377. package/dist/mcp/tools/app.d.ts.map +1 -0
  378. package/dist/mcp/tools/app.js.map +1 -0
  379. package/dist/mcp/tools/bot-config/constants.d.ts.map +1 -0
  380. package/dist/mcp/tools/bot-config/constants.js.map +1 -0
  381. package/dist/mcp/tools/bot-config/core.d.ts.map +1 -0
  382. package/dist/mcp/tools/bot-config/core.js.map +1 -0
  383. package/dist/mcp/tools/bot-config/index.d.ts.map +1 -0
  384. package/dist/mcp/tools/bot-config/index.js.map +1 -0
  385. package/dist/mcp/tools/bot-config/tools.d.ts.map +1 -0
  386. package/dist/mcp/tools/bot-config/tools.js.map +1 -0
  387. package/dist/mcp/tools/bot-config/types.d.ts.map +1 -0
  388. package/dist/mcp/tools/bot-config/types.js.map +1 -0
  389. package/dist/mcp/tools/bug-fixer-tools.d.ts.map +1 -0
  390. package/dist/mcp/tools/bug-fixer-tools.js.map +1 -0
  391. package/dist/mcp/tools/company.d.ts.map +1 -0
  392. package/dist/mcp/tools/company.js.map +1 -0
  393. package/dist/mcp/tools/discussion.d.ts.map +1 -0
  394. package/dist/mcp/tools/discussion.js.map +1 -0
  395. package/dist/mcp/tools/document.d.ts.map +1 -0
  396. package/dist/mcp/tools/document.js.map +1 -0
  397. package/dist/mcp/tools/file.d.ts.map +1 -0
  398. package/dist/mcp/tools/file.js.map +1 -0
  399. package/dist/mcp/tools/insight.d.ts.map +1 -0
  400. package/dist/mcp/tools/insight.js.map +1 -0
  401. package/dist/mcp/tools/investigate.d.ts.map +1 -0
  402. package/dist/mcp/tools/investigate.js.map +1 -0
  403. package/dist/mcp/tools/user.d.ts.map +1 -0
  404. package/dist/mcp/tools/user.js.map +1 -0
  405. package/dist/mcp/tools/workflow-permissions.d.ts.map +1 -0
  406. package/dist/mcp/tools/workflow-permissions.js.map +1 -0
  407. package/dist/mcp/tools/workflow.d.ts.map +1 -0
  408. package/dist/mcp/tools/workflow.js.map +1 -0
  409. package/dist/mcp/utils/api-errors.d.ts.map +1 -0
  410. package/dist/mcp/utils/api-errors.js.map +1 -0
  411. package/dist/mcp/utils/data-transformers.d.ts.map +1 -0
  412. package/dist/mcp/utils/data-transformers.js.map +1 -0
  413. package/dist/mcp/utils/file-upload.d.ts.map +1 -0
  414. package/dist/mcp/utils/file-upload.js.map +1 -0
  415. package/dist/mcp/utils/hailer-api-client.d.ts.map +1 -0
  416. package/dist/mcp/utils/hailer-api-client.js.map +1 -0
  417. package/dist/mcp/utils/index.d.ts.map +1 -0
  418. package/dist/mcp/utils/index.js.map +1 -0
  419. package/dist/mcp/utils/logger.d.ts.map +1 -0
  420. package/dist/mcp/utils/logger.js.map +1 -0
  421. package/dist/mcp/utils/pagination.d.ts.map +1 -0
  422. package/dist/mcp/utils/pagination.js.map +1 -0
  423. package/dist/mcp/utils/response-builder.d.ts.map +1 -0
  424. package/dist/mcp/utils/response-builder.js.map +1 -0
  425. package/dist/mcp/utils/role-utils.d.ts.map +1 -0
  426. package/dist/mcp/utils/role-utils.js.map +1 -0
  427. package/dist/mcp/utils/tool-helpers.d.ts.map +1 -0
  428. package/dist/mcp/utils/tool-helpers.js.map +1 -0
  429. package/dist/mcp/utils/types.d.ts.map +1 -0
  430. package/dist/mcp/utils/types.js.map +1 -0
  431. package/dist/mcp/webhook-handler.d.ts.map +1 -0
  432. package/dist/mcp/webhook-handler.js.map +1 -0
  433. package/dist/mcp/workspace-cache.d.ts.map +1 -0
  434. package/dist/mcp/workspace-cache.js.map +1 -0
  435. package/dist/mcp-server.d.ts.map +1 -0
  436. package/dist/mcp-server.js.map +1 -0
  437. package/dist/modules/bug-reports/bug-config.d.ts +25 -0
  438. package/dist/modules/bug-reports/bug-config.d.ts.map +1 -0
  439. package/dist/modules/bug-reports/bug-config.js +187 -0
  440. package/dist/modules/bug-reports/bug-config.js.map +1 -0
  441. package/dist/modules/bug-reports/bug-monitor.d.ts +108 -0
  442. package/dist/modules/bug-reports/bug-monitor.d.ts.map +1 -0
  443. package/dist/modules/bug-reports/bug-monitor.js +510 -0
  444. package/dist/modules/bug-reports/bug-monitor.js.map +1 -0
  445. package/dist/modules/bug-reports/giuseppe-agent.d.ts +58 -0
  446. package/dist/modules/bug-reports/giuseppe-agent.d.ts.map +1 -0
  447. package/dist/modules/bug-reports/giuseppe-agent.js +467 -0
  448. package/dist/modules/bug-reports/giuseppe-agent.js.map +1 -0
  449. package/dist/modules/bug-reports/giuseppe-ai.d.ts +83 -0
  450. package/dist/modules/bug-reports/giuseppe-ai.d.ts.map +1 -0
  451. package/dist/modules/bug-reports/giuseppe-ai.js +466 -0
  452. package/dist/modules/bug-reports/giuseppe-ai.js.map +1 -0
  453. package/dist/modules/bug-reports/giuseppe-bot.d.ts +110 -0
  454. package/dist/modules/bug-reports/giuseppe-bot.d.ts.map +1 -0
  455. package/dist/modules/bug-reports/giuseppe-bot.js +804 -0
  456. package/dist/modules/bug-reports/giuseppe-bot.js.map +1 -0
  457. package/dist/modules/bug-reports/giuseppe-daemon.d.ts +80 -0
  458. package/dist/modules/bug-reports/giuseppe-daemon.d.ts.map +1 -0
  459. package/dist/modules/bug-reports/giuseppe-daemon.js +617 -0
  460. package/dist/modules/bug-reports/giuseppe-daemon.js.map +1 -0
  461. package/dist/modules/bug-reports/giuseppe-files.d.ts +64 -0
  462. package/dist/modules/bug-reports/giuseppe-files.d.ts.map +1 -0
  463. package/dist/modules/bug-reports/giuseppe-files.js +375 -0
  464. package/dist/modules/bug-reports/giuseppe-files.js.map +1 -0
  465. package/dist/modules/bug-reports/giuseppe-git.d.ts +48 -0
  466. package/dist/modules/bug-reports/giuseppe-git.d.ts.map +1 -0
  467. package/dist/modules/bug-reports/giuseppe-git.js +298 -0
  468. package/dist/modules/bug-reports/giuseppe-git.js.map +1 -0
  469. package/dist/modules/bug-reports/giuseppe-lsp.d.ts +113 -0
  470. package/dist/modules/bug-reports/giuseppe-lsp.d.ts.map +1 -0
  471. package/dist/modules/bug-reports/giuseppe-lsp.js +485 -0
  472. package/dist/modules/bug-reports/giuseppe-lsp.js.map +1 -0
  473. package/dist/modules/bug-reports/giuseppe-prompt.d.ts +5 -0
  474. package/dist/modules/bug-reports/giuseppe-prompt.d.ts.map +1 -0
  475. package/dist/modules/bug-reports/giuseppe-prompt.js +94 -0
  476. package/dist/modules/bug-reports/giuseppe-prompt.js.map +1 -0
  477. package/dist/modules/bug-reports/index.d.ts +77 -0
  478. package/dist/modules/bug-reports/index.d.ts.map +1 -0
  479. package/dist/modules/bug-reports/index.js +215 -0
  480. package/dist/modules/bug-reports/index.js.map +1 -0
  481. package/dist/modules/bug-reports/pending-classification-registry.d.ts +28 -0
  482. package/dist/modules/bug-reports/pending-classification-registry.d.ts.map +1 -0
  483. package/dist/modules/bug-reports/pending-classification-registry.js +50 -0
  484. package/dist/modules/bug-reports/pending-classification-registry.js.map +1 -0
  485. package/dist/modules/bug-reports/pending-fix-registry.d.ts +30 -0
  486. package/dist/modules/bug-reports/pending-fix-registry.d.ts.map +1 -0
  487. package/dist/modules/bug-reports/pending-fix-registry.js +42 -0
  488. package/dist/modules/bug-reports/pending-fix-registry.js.map +1 -0
  489. package/dist/modules/bug-reports/pending-registry.d.ts +27 -0
  490. package/dist/modules/bug-reports/pending-registry.d.ts.map +1 -0
  491. package/dist/modules/bug-reports/pending-registry.js +49 -0
  492. package/dist/modules/bug-reports/pending-registry.js.map +1 -0
  493. package/dist/modules/bug-reports/types.d.ts +123 -0
  494. package/dist/modules/bug-reports/types.d.ts.map +1 -0
  495. package/dist/modules/bug-reports/types.js +9 -0
  496. package/dist/modules/bug-reports/types.js.map +1 -0
  497. package/dist/plugins/bug-fixer/index.d.ts.map +1 -0
  498. package/dist/plugins/bug-fixer/index.js.map +1 -0
  499. package/dist/plugins/bug-fixer/tools.d.ts.map +1 -0
  500. package/dist/plugins/bug-fixer/tools.js.map +1 -0
  501. package/dist/plugins/vipunen/__tests__/tools.test.d.ts +10 -0
  502. package/dist/plugins/vipunen/__tests__/tools.test.d.ts.map +1 -0
  503. package/dist/plugins/vipunen/__tests__/tools.test.js +646 -0
  504. package/dist/plugins/vipunen/__tests__/tools.test.js.map +1 -0
  505. package/dist/plugins/vipunen/client.d.ts.map +1 -0
  506. package/dist/plugins/vipunen/client.js.map +1 -0
  507. package/dist/plugins/vipunen/index.d.ts.map +1 -0
  508. package/dist/plugins/vipunen/index.js.map +1 -0
  509. package/dist/plugins/vipunen/tools.d.ts.map +1 -0
  510. package/dist/plugins/vipunen/tools.js.map +1 -0
  511. package/dist/routes/agents.d.ts +44 -0
  512. package/dist/routes/agents.d.ts.map +1 -0
  513. package/dist/routes/agents.js +311 -0
  514. package/dist/routes/agents.js.map +1 -0
  515. package/dist/services/agent-credential-store.d.ts +73 -0
  516. package/dist/services/agent-credential-store.d.ts.map +1 -0
  517. package/dist/services/agent-credential-store.js +212 -0
  518. package/dist/services/agent-credential-store.js.map +1 -0
  519. package/dist/stdio-server.d.ts.map +1 -0
  520. package/dist/stdio-server.js.map +1 -0
  521. package/dist/workspace/context.d.ts +148 -0
  522. package/dist/workspace/context.d.ts.map +1 -0
  523. package/dist/workspace/context.js +339 -0
  524. package/dist/workspace/context.js.map +1 -0
  525. package/dist/workspace/credentials.d.ts +55 -0
  526. package/dist/workspace/credentials.d.ts.map +1 -0
  527. package/dist/workspace/credentials.js +239 -0
  528. package/dist/workspace/credentials.js.map +1 -0
  529. package/dist/workspace/index.d.ts +21 -0
  530. package/dist/workspace/index.d.ts.map +1 -0
  531. package/dist/workspace/index.js +45 -0
  532. package/dist/workspace/index.js.map +1 -0
  533. package/dist/workspace/loader.d.ts +27 -0
  534. package/dist/workspace/loader.d.ts.map +1 -0
  535. package/dist/workspace/loader.js +222 -0
  536. package/dist/workspace/loader.js.map +1 -0
  537. package/dist/workspace/schema.d.ts +37 -0
  538. package/dist/workspace/schema.d.ts.map +1 -0
  539. package/dist/workspace/schema.js +192 -0
  540. package/dist/workspace/schema.js.map +1 -0
  541. package/package.json +13 -1
  542. package/.claude/.context-watchdog.json +0 -1
  543. package/.claude/.session-checked +0 -1
  544. package/test-billing-server.js +0 -136
@@ -0,0 +1,327 @@
1
+ "use strict";
2
+ /**
3
+ * Bug Fixer Specialist Daemon
4
+ *
5
+ * A specialist daemon for bug fixing that extends SpecialistDaemon.
6
+ * Bug Fixer handles bug discussions naturally - responds to all messages
7
+ * in bug discussions (not just @mentions).
8
+ *
9
+ * Tools: Uses MCP tools registered in the tool registry.
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.BugFixerSpecialist = void 0;
13
+ const specialist_1 = require("../shared/specialist");
14
+ const logger_1 = require("../../lib/logger");
15
+ const config_1 = require("../../config");
16
+ class BugFixerSpecialist extends specialist_1.SpecialistDaemon {
17
+ bugFixerLogger;
18
+ // Track bug discussions Bug Fixer is handling
19
+ bugDiscussions = new Map();
20
+ constructor(config) {
21
+ super(config);
22
+ this.bugFixerLogger = (0, logger_1.createLogger)({
23
+ component: "BugFixerSpecialist",
24
+ botId: config.botClient.userId,
25
+ });
26
+ }
27
+ /**
28
+ * Register a bug discussion for Bug Fixer to handle
29
+ * Call this when a new bug is detected
30
+ */
31
+ registerBugDiscussion(discussionId, bugId, bugName, appPath) {
32
+ this.bugDiscussions.set(discussionId, { bugId, bugName, appPath });
33
+ this.bugFixerLogger.info("Registered bug discussion", { discussionId, bugId, bugName });
34
+ }
35
+ /**
36
+ * Unregister a bug discussion (bug resolved)
37
+ */
38
+ unregisterBugDiscussion(discussionId) {
39
+ this.bugDiscussions.delete(discussionId);
40
+ }
41
+ /**
42
+ * Check if Bug Fixer is handling a discussion
43
+ */
44
+ isHandlingDiscussion(discussionId) {
45
+ return this.bugDiscussions.has(discussionId);
46
+ }
47
+ /**
48
+ * Override to respond to ALL messages in bug discussions (not just @mentions)
49
+ */
50
+ async extractIncomingMessage(signal) {
51
+ // FIRST: Check if this is a bug discussion we're handling (before @mention check)
52
+ const discussionId = signal.data?.discussion;
53
+ this.bugFixerLogger.debug("Checking signal for bug discussion", {
54
+ discussionId,
55
+ registeredDiscussions: Array.from(this.bugDiscussions.keys()),
56
+ signalType: signal.type,
57
+ });
58
+ // Check if this is a registered bug discussion
59
+ const bugInfo = discussionId ? this.bugDiscussions.get(discussionId) : null;
60
+ if (!bugInfo) {
61
+ // Not a bug discussion - fall back to @mention check (parent behavior)
62
+ return super.extractIncomingMessage(signal);
63
+ }
64
+ this.bugFixerLogger.info("Processing message in registered bug discussion", {
65
+ discussionId,
66
+ bugName: bugInfo.bugName,
67
+ });
68
+ // Get the message content
69
+ const senderId = signal.data?.uid;
70
+ if (!senderId)
71
+ return null;
72
+ // Skip our own messages
73
+ if (senderId === this.botClient.userId)
74
+ return null;
75
+ // Fetch the message content using the Hailer API
76
+ try {
77
+ const msgId = signal.data?.msg_id;
78
+ this.bugFixerLogger.info("Processing bug discussion message", {
79
+ discussionId,
80
+ bugName: bugInfo.bugName,
81
+ msgId,
82
+ });
83
+ // Fetch actual message content from API
84
+ const response = await this.botClient.client.socket.request("v3.discussion.message.latest", [discussionId]);
85
+ const messages = response?.messages || [];
86
+ const targetMessage = messages.find((msg) => msg._id === msgId);
87
+ if (!targetMessage) {
88
+ this.bugFixerLogger.warn("Message not found in discussion", { discussionId, msgId });
89
+ return null;
90
+ }
91
+ // Extract content - try both field names
92
+ const messageContent = targetMessage.msg || targetMessage.content || "";
93
+ if (!messageContent) {
94
+ this.bugFixerLogger.warn("Message has no content", { discussionId, msgId, targetMessage });
95
+ return null;
96
+ }
97
+ // Get sender name from cache or message
98
+ const cachedUser = this.botClient.workspaceCache?.usersById[senderId];
99
+ const senderName = cachedUser?.fullName
100
+ || `${cachedUser?.firstname || ''} ${cachedUser?.lastname || ''}`.trim()
101
+ || targetMessage.userName
102
+ || "User";
103
+ this.bugFixerLogger.debug("Extracted message content", {
104
+ discussionId,
105
+ msgId,
106
+ contentPreview: messageContent.substring(0, 50),
107
+ senderName,
108
+ });
109
+ // Return a properly structured IncomingMessage with actual content
110
+ return {
111
+ id: msgId,
112
+ discussionId,
113
+ senderId,
114
+ senderName,
115
+ content: messageContent,
116
+ timestamp: Date.now(),
117
+ priority: "high",
118
+ priorityReason: `Bug discussion: ${bugInfo.bugName}`,
119
+ workspaceId: signal.workspaceId || '',
120
+ linkedActivityId: bugInfo.bugId,
121
+ linkedActivityName: bugInfo.bugName,
122
+ isMention: false,
123
+ isReplyToBot: false,
124
+ isDirectMessage: true,
125
+ };
126
+ }
127
+ catch (error) {
128
+ this.bugFixerLogger.warn("Failed to process bug discussion message", { discussionId, error });
129
+ return null;
130
+ }
131
+ }
132
+ /**
133
+ * Bug Fixer's tool whitelist - bug fixing tools
134
+ */
135
+ getToolWhitelist() {
136
+ return [
137
+ // Standard Hailer tools
138
+ "list_workflows",
139
+ "list_workflow_phases",
140
+ "get_workflow_schema",
141
+ "list_activities",
142
+ "show_activity_by_id",
143
+ "update_activity",
144
+ "add_discussion_message",
145
+ "fetch_discussion_messages",
146
+ "get_activity_from_discussion",
147
+ "leave_discussion",
148
+ "search_workspace_users",
149
+ // Bug Fixer's bug-fixing tools (registered as MCP tools)
150
+ "bug_fixer_find_app",
151
+ "bug_fixer_list_files",
152
+ "bug_fixer_read_file",
153
+ // "bug_fixer_write_file", // Disabled - use bug_fixer_apply_fix instead
154
+ "bug_fixer_apply_fix", // search/replace pattern (token-efficient)
155
+ "bug_fixer_run_build",
156
+ "bug_fixer_git_status",
157
+ "bug_fixer_git_pull",
158
+ "bug_fixer_git_commit",
159
+ "bug_fixer_git_push",
160
+ "bug_fixer_git_revert",
161
+ "bug_fixer_publish_app",
162
+ ];
163
+ }
164
+ /**
165
+ * Override system prompt - fully conversational bug fixing
166
+ */
167
+ getSystemPrompt() {
168
+ const basePrompt = super.getSystemPrompt();
169
+ // Get configured app paths to tell LLM where apps are
170
+ const appPaths = [];
171
+ if (config_1.environment.DEV_APPS_PATHS) {
172
+ appPaths.push(...config_1.environment.DEV_APPS_PATHS.split(',').map(p => p.trim()).filter(p => p));
173
+ }
174
+ if (config_1.environment.DEV_APPS_PATH && !appPaths.includes(config_1.environment.DEV_APPS_PATH)) {
175
+ appPaths.push(config_1.environment.DEV_APPS_PATH);
176
+ }
177
+ const appPathsInfo = appPaths.length > 0
178
+ ? `\n\n<app_directories>\nConfigured app directories: ${appPaths.join(', ')}\nUse bug_fixer_find_app to search these automatically - don't ask users for paths.\n</app_directories>`
179
+ : '';
180
+ const conversationalPrompt = `
181
+
182
+ <critical_rule>
183
+ 🚨 **NEVER use update_activity to change bug phase or status!**
184
+
185
+ Instead, use these dedicated tools:
186
+ - **mark_bug_declined** - when user says "not a bug", "decline", "won't fix"
187
+ - **mark_bug_fixed** - when fix is published AND user confirmed it works
188
+
189
+ These tools handle phase + status + leaving discussion automatically.
190
+ Using update_activity for phase/status changes is FORBIDDEN.
191
+ </critical_rule>
192
+
193
+ <identity>
194
+ You're a senior developer helping fix bugs. You have access to the codebase and can read files, make edits, run builds, and publish apps. Use these tools naturally as part of the conversation - like a colleague who happens to have their IDE open.
195
+ </identity>
196
+
197
+ <personality>
198
+ - Be conversational and friendly, not robotic
199
+ - Explain your thinking in plain language
200
+ - When you use tools, briefly mention what you're doing ("Let me check the code..." / "Looking at the git status...")
201
+ - Don't dump raw tool outputs - summarize what you found
202
+ - If something fails, explain what went wrong and what you'll try next
203
+ - Ask questions when the bug report is unclear
204
+ </personality>
205
+
206
+ <tools_you_have>
207
+ You have these tools - USE THEM, don't ask users for information you can look up:
208
+
209
+ **Finding apps:**
210
+ - bug_fixer_find_app({ searchTerm: "app name" }) - searches configured app directories automatically
211
+ - ALWAYS use this first when you see an app name in the bug report
212
+ - Don't ask users for paths - the tool finds apps by name
213
+
214
+ **Reading code:**
215
+ - bug_fixer_list_files({ appPath: "/path/from/find_app" }) - list all source files
216
+ - bug_fixer_read_file({ appPath: "...", filePath: "src/Component.tsx" }) - read file contents
217
+
218
+ **Making fixes:**
219
+ - bug_fixer_apply_fix with search/replace:
220
+ \`\`\`json
221
+ {
222
+ "appPath": "/full/path/to/app",
223
+ "fixes": [{
224
+ "path": "src/Component.tsx",
225
+ "action": "edit",
226
+ "search": "exact code to find",
227
+ "replace": "new code"
228
+ }]
229
+ }
230
+ \`\`\`
231
+ The search string must EXACTLY match what's in the file.
232
+
233
+ **Build & Git:**
234
+ - bug_fixer_run_build({ appPath: "..." }) - verify fix compiles
235
+ - bug_fixer_git_status, git_pull, git_commit, git_push, git_revert
236
+
237
+ **Publishing:**
238
+ - bug_fixer_publish_app({ appPath: "..." }) - deploy to production
239
+ - update_activity - move bug to different phase
240
+ </tools_you_have>
241
+
242
+ <how_you_work>
243
+ When someone reports a bug:
244
+ 1. Understand what's broken - ask if unclear
245
+ 2. Find and read the relevant code
246
+ 3. Figure out the root cause
247
+ 4. Explain what you found and propose a fix
248
+ 5. Get their OK before making changes
249
+ 6. Apply the fix, make sure it builds
250
+ 7. Have them test it
251
+ 8. Publish when they confirm it works
252
+
253
+ But this isn't a rigid checklist - adapt to the conversation. If they say "just fix it", you can be more proactive. If they want to understand the issue first, take time to explain.
254
+ </how_you_work>
255
+
256
+ <important>
257
+ - Always ask before making code changes (unless they've already said "fix it" or similar)
258
+ - After the fix builds successfully, COMMIT locally but DO NOT PUSH yet
259
+ - Ask user to test the fix first: "The fix builds clean. Can you test it?"
260
+ - Only PUSH after user confirms it works ("looks good", "works", "ship it", etc.)
261
+ - Only PUBLISH to production after explicit user approval
262
+ - If a build fails, read the error and try a different approach - don't give up
263
+ - When done, update the bug phase (use list_workflow_phases to get IDs, then update_activity)
264
+ - You're in a bug discussion - no need for @mentions, just talk naturally
265
+ </important>
266
+
267
+ <phase_management>
268
+ **Use these tools to close bugs - they handle everything automatically:**
269
+
270
+ **When declining a bug** (user says "not a bug", "decline", "won't fix"):
271
+ \`\`\`
272
+ mark_bug_declined({
273
+ bugId: "the-bug-activity-id",
274
+ workflowId: "the-workflow-id",
275
+ discussionId: "the-discussion-id",
276
+ reason: "Not a bug - as designed"
277
+ })
278
+ \`\`\`
279
+ → Automatically sets phase=Declined, status="Won't Fix", and leaves discussion
280
+
281
+ **When a fix is complete** (user confirmed fix works, code is published):
282
+ \`\`\`
283
+ mark_bug_fixed({
284
+ bugId: "the-bug-activity-id",
285
+ workflowId: "the-workflow-id",
286
+ discussionId: "the-discussion-id",
287
+ fixSummary: "Changed X to fix Y"
288
+ })
289
+ \`\`\`
290
+ → Automatically sets phase=Fixed, status="Fixed", and leaves discussion
291
+
292
+ **⚠️ IMPORTANT:**
293
+ - Use mark_bug_declined when NO code fix was made
294
+ - Use mark_bug_fixed ONLY after code is published AND user confirmed it works
295
+ - These tools handle phase, status, AND leaving - you don't need to call anything else
296
+ </phase_management>
297
+
298
+ <example_conversation>
299
+ User: "The pitch should be blue but it's showing green - Lineup Manager app"
300
+
301
+ You: [immediately use bug_fixer_find_app({ searchTerm: "Lineup Manager" })]
302
+ "Found the Lineup Manager app. Let me look at the code..."
303
+ [use bug_fixer_list_files, then bug_fixer_read_file for relevant files]
304
+
305
+ You: "I found it - the pitch color is set to #4CAF50 (green) in src/components/Pitch.tsx.
306
+ I can change it to #2196F3 (blue). Want me to make that fix?"
307
+
308
+ User: "yes"
309
+
310
+ You: [use bug_fixer_apply_fix, bug_fixer_run_build, bug_fixer_git_commit]
311
+ "Fixed and committed locally. The pitch is now blue. Can you test it?"
312
+
313
+ User: "looks good!"
314
+
315
+ You: [use bug_fixer_git_push]
316
+ "Pushed to git. Should I publish to production?"
317
+
318
+ User: "yes"
319
+
320
+ You: [use bug_fixer_publish_app, update_activity to move to Fixed phase]
321
+ "Published! Bug marked as fixed. Anything else?"
322
+ </example_conversation>`;
323
+ return basePrompt + appPathsInfo + conversationalPrompt;
324
+ }
325
+ }
326
+ exports.BugFixerSpecialist = BugFixerSpecialist;
327
+ //# sourceMappingURL=specialist.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"specialist.js","sourceRoot":"","sources":["../../../src/agents/bug-fixer/specialist.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,123 @@
1
+ /**
2
+ * Bug Reports Module - Type Definitions
3
+ *
4
+ * Shared types for the bug monitoring and auto-fix system.
5
+ * No hardcoded IDs - everything discovered by name patterns.
6
+ */
7
+ export interface BugReportsConfig {
8
+ /** Enable/disable the bug monitor */
9
+ enabled: boolean;
10
+ /** Workflow name pattern to find Bug Reports workflow */
11
+ workflowNamePattern: string;
12
+ /** Phase names for bug lifecycle */
13
+ phaseNames: {
14
+ new: string;
15
+ inProgress: string;
16
+ fixed: string;
17
+ closed: string;
18
+ declined: string;
19
+ };
20
+ /** Polling interval in milliseconds */
21
+ intervalMs: number;
22
+ /** Enable auto-fix via Bug Fixer bot */
23
+ autoFix: boolean;
24
+ /** Post notifications to bug discussions */
25
+ notifyOnNew: boolean;
26
+ /** Anthropic API key for Bug Fixer bot (if autoFix enabled) */
27
+ anthropicApiKey?: string;
28
+ /** Apps registry - maps appId to project paths */
29
+ appsRegistry?: Record<string, AppRegistryEntry>;
30
+ }
31
+ export interface AppRegistryEntry {
32
+ /** Local path to app project */
33
+ projectPath: string;
34
+ /** App name for reference */
35
+ name: string;
36
+ /** Git remote URL (optional) */
37
+ gitRemote?: string;
38
+ }
39
+ export interface BugReport {
40
+ /** Activity ID */
41
+ id: string;
42
+ /** Bug title/name */
43
+ name: string;
44
+ /** App ID this bug relates to */
45
+ appId?: string;
46
+ /** App name */
47
+ appName?: string;
48
+ /** Who reported the bug */
49
+ reportedBy?: string;
50
+ /** Bug description */
51
+ description: string;
52
+ /** Steps to reproduce */
53
+ stepsToReproduce?: string;
54
+ /** Expected behavior */
55
+ expectedBehavior?: string;
56
+ /** Actual behavior */
57
+ actualBehavior?: string;
58
+ /** Priority level */
59
+ priority?: 'low' | 'medium' | 'high' | 'critical';
60
+ /** Discussion ID for posting updates */
61
+ discussionId?: string;
62
+ /** Workflow ID */
63
+ workflowId: string;
64
+ /** Current phase ID */
65
+ phaseId: string;
66
+ /** Creation timestamp */
67
+ createdAt: string;
68
+ /** Who created the bug activity (user ID) */
69
+ createdBy?: string;
70
+ /** Raw field values for custom parsing */
71
+ rawFields?: Record<string, any>;
72
+ }
73
+ export interface WorkflowDiscoveryResult {
74
+ /** Found workflow ID */
75
+ workflowId: string;
76
+ /** Workflow name */
77
+ workflowName: string;
78
+ /** Phase ID mappings */
79
+ phases: {
80
+ new?: string;
81
+ inProgress?: string;
82
+ fixed?: string;
83
+ closed?: string;
84
+ declined?: string;
85
+ };
86
+ /** Field ID mappings (discovered by label) */
87
+ fields: {
88
+ appId?: string;
89
+ appName?: string;
90
+ description?: string;
91
+ stepsToReproduce?: string;
92
+ expectedBehavior?: string;
93
+ actualBehavior?: string;
94
+ reportedBy?: string;
95
+ priority?: string;
96
+ };
97
+ }
98
+ export interface FixResult {
99
+ success: boolean;
100
+ /** What was done */
101
+ summary: string;
102
+ /** Files modified */
103
+ filesModified?: string[];
104
+ /** Commit hash if committed */
105
+ commitHash?: string;
106
+ /** New version if published */
107
+ publishedVersion?: string;
108
+ /** Error message if failed */
109
+ error?: string;
110
+ /** Detailed log of actions */
111
+ log?: string[];
112
+ }
113
+ export interface BugFixerTaskInput {
114
+ /** The bug to fix */
115
+ bug: BugReport;
116
+ /** App project info */
117
+ app: AppRegistryEntry;
118
+ /** Whether to auto-publish after fix */
119
+ autoPublish: boolean;
120
+ /** Hailer app ID for publishing */
121
+ hailerAppId?: string;
122
+ }
123
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/agents/bug-fixer/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ /**
3
+ * Bug Reports Module - Type Definitions
4
+ *
5
+ * Shared types for the bug monitoring and auto-fix system.
6
+ * No hardcoded IDs - everything discovered by name patterns.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/agents/bug-fixer/types.ts"],"names":[],"mappings":";AAAA;;;;;GAKG"}
@@ -0,0 +1,172 @@
1
+ /**
2
+ * Daemon Factory
3
+ *
4
+ * Creates and manages agent daemons in orchestrator mode:
5
+ * - One orchestrator (HAL) handles general conversation
6
+ * - Specialist daemons handle complex domain-specific tasks
7
+ *
8
+ * Uses BotContext for credential management (workspace isolation).
9
+ */
10
+ import { ChatAgentDaemon } from "./shared/base";
11
+ import { OrchestratorDaemon } from "./hal/daemon";
12
+ import { SpecialistDaemon } from "./shared/specialist";
13
+ import { MultiBotManager } from "./bot-manager";
14
+ import { ConversationState } from "./shared/types";
15
+ import type { WorkspaceSchemaCacheService } from "./shared/services/workspace-schema-cache";
16
+ export interface DaemonManagerOptions {
17
+ mcpServerUrl: string;
18
+ anthropicApiKey: string;
19
+ model?: string;
20
+ /**
21
+ * Enable orchestrator mode (default: true)
22
+ * Set to false only for legacy compatibility
23
+ */
24
+ orchestratorMode?: boolean;
25
+ /**
26
+ * Email of the bot to use as orchestrator (defaults to first bot)
27
+ */
28
+ orchestratorEmail?: string;
29
+ /**
30
+ * Map of specialist key to bot email (e.g., { hailerExpert: "expert@bot.com" })
31
+ */
32
+ specialistEmails?: Record<string, string>;
33
+ /**
34
+ * Map of userId to botType (from workspace config)
35
+ */
36
+ botTypeMap?: Map<string, string>;
37
+ /**
38
+ * Map of userId to displayName (from Agent Directory activity name)
39
+ */
40
+ displayNameMap?: Map<string, string>;
41
+ /**
42
+ * Specific workspace ID to use (for webhook-triggered restarts)
43
+ */
44
+ workspaceId?: string;
45
+ /**
46
+ * Use structured outputs instead of native tools
47
+ * Saves ~100K tokens per request by not sending tool schemas
48
+ * Requires anthropic-beta: structured-outputs-2025-11-13
49
+ */
50
+ useStructuredOutputs?: boolean;
51
+ }
52
+ /**
53
+ * Manages orchestrator + specialist daemons
54
+ */
55
+ export declare class DaemonManager {
56
+ private daemons;
57
+ private orchestrator;
58
+ private specialists;
59
+ private botManager;
60
+ private options;
61
+ private botTypeMap;
62
+ private displayNameMap;
63
+ constructor(botManager: MultiBotManager, options: DaemonManagerOptions);
64
+ /**
65
+ * Get the workspace ID this daemon manager is running for
66
+ */
67
+ getWorkspaceId(): string | undefined;
68
+ /**
69
+ * Orchestrator mode: one orchestrator (HAL) + specialist daemons
70
+ */
71
+ startOrchestratorMode(): Promise<void>;
72
+ /**
73
+ * Stop all daemons
74
+ * Flushes session logs for each daemon before stopping
75
+ */
76
+ stopAll(): Promise<void>;
77
+ /**
78
+ * Get daemon for a specific bot
79
+ */
80
+ getDaemon(botId: string): ChatAgentDaemon | undefined;
81
+ /**
82
+ * Get status of all daemons
83
+ */
84
+ getStatus(): Array<{
85
+ botId: string;
86
+ state: ConversationState;
87
+ }>;
88
+ /**
89
+ * Log current status to console (for monitoring)
90
+ */
91
+ logStatus(): void;
92
+ /**
93
+ * Get orchestrator instance (only in orchestrator mode)
94
+ */
95
+ getOrchestrator(): OrchestratorDaemon | null;
96
+ /**
97
+ * Get the workspace schema cache from the orchestrator
98
+ * Used by other modules that need dynamic workflow/field ID lookup
99
+ */
100
+ getSchemaCache(): WorkspaceSchemaCacheService | null;
101
+ /**
102
+ * Get specialist by key (only in orchestrator mode)
103
+ */
104
+ getSpecialist(key: string): SpecialistDaemon | undefined;
105
+ /**
106
+ * Register a standalone daemon (for standalone Bug Fixer mode)
107
+ */
108
+ registerStandaloneDaemon(userId: string, daemon: ChatAgentDaemon): void;
109
+ /**
110
+ * Check if running in orchestrator mode
111
+ */
112
+ isOrchestratorMode(): boolean;
113
+ /**
114
+ * Trigger HAL to respond in a discussion with context
115
+ */
116
+ triggerHalResponse(discussionId: string, activityId: string, context: string): Promise<void>;
117
+ /**
118
+ * Hot-reload: Start a specialist daemon dynamically
119
+ * Preserves orchestrator conversation context
120
+ */
121
+ startSpecialist(email: string, password: string, botType: string, userId?: string): Promise<boolean>;
122
+ /**
123
+ * Hot-reload: Stop a specialist daemon dynamically
124
+ * Preserves orchestrator conversation context
125
+ */
126
+ stopSpecialist(botType: string): Promise<boolean>;
127
+ /**
128
+ * Hot-reload a specialist (stop if running, start if enabled)
129
+ */
130
+ hotReloadSpecialist(email: string, password: string, botType: string, enabled: boolean, userId?: string): Promise<boolean>;
131
+ /**
132
+ * Start periodic status logging
133
+ */
134
+ startStatusLogging(intervalMs?: number): NodeJS.Timeout;
135
+ }
136
+ export interface CreateDaemonManagerOptions {
137
+ /** Enable orchestrator mode */
138
+ orchestratorMode?: boolean;
139
+ /** Email of orchestrator bot (defaults to first) */
140
+ orchestratorEmail?: string;
141
+ /** Map specialist keys to bot emails */
142
+ specialistEmails?: Record<string, string>;
143
+ /** Specific workspace ID to use (for webhook-triggered restarts) */
144
+ workspaceId?: string;
145
+ /**
146
+ * Use structured outputs instead of native tools
147
+ * Saves ~100K tokens per request
148
+ * Defaults to false, set USE_STRUCTURED_OUTPUTS=true to enable
149
+ */
150
+ useStructuredOutputs?: boolean;
151
+ }
152
+ /**
153
+ * Create and start the daemon manager
154
+ * This is the main entry point for daemon mode
155
+ *
156
+ * Uses WorkspaceContext for credential management (workspace isolation).
157
+ *
158
+ * @param options - Optional settings for orchestrator mode
159
+ */
160
+ export declare function createDaemonManager(options?: CreateDaemonManagerOptions): Promise<DaemonManager | null>;
161
+ /**
162
+ * Quick start function for testing
163
+ *
164
+ * @param orchestratorMode - Enable orchestrator mode (default: true)
165
+ */
166
+ export declare function startDaemonMode(orchestratorMode?: boolean): Promise<void>;
167
+ /**
168
+ * Create standalone Bug Fixer daemon (no orchestrator/AI Hub needed)
169
+ * For testing Bug Fixer independently
170
+ */
171
+ export declare function createStandaloneBugFixer(email: string, password: string): Promise<DaemonManager | null>;
172
+ //# sourceMappingURL=factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/agents/factory.ts"],"names":[],"mappings":"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"}