@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,431 @@
1
+ "use strict";
2
+ /**
3
+ * Bug Fixer Specialist Daemon
4
+ *
5
+ * Fully LLM-driven bug fixing through natural conversation.
6
+ *
7
+ * - Monitors Bug Reports workflow for new bugs
8
+ * - Routes bug discussions to LLM for natural conversation
9
+ * - LLM uses primitive tools (read files, apply fixes, build, publish) directly
10
+ * - No hardcoded workflow - LLM decides actions based on conversation
11
+ *
12
+ * The user talks to the LLM naturally, and it fixes bugs using its tools.
13
+ */
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.BugFixerSpecialistDaemon = void 0;
16
+ const specialist_1 = require("../shared/specialist");
17
+ const hailer_clients_1 = require("../../mcp/hailer-clients");
18
+ const tool_registry_1 = require("../../mcp/tool-registry");
19
+ const logger_1 = require("../../lib/logger");
20
+ const bot_1 = require("./bot");
21
+ const monitor_1 = require("./monitor");
22
+ const config_1 = require("./config");
23
+ const pending_classification_1 = require("./registries/pending-classification");
24
+ const pending_fix_1 = require("./registries/pending-fix");
25
+ class BugFixerSpecialistDaemon extends specialist_1.SpecialistDaemon {
26
+ bugFixerLogger;
27
+ bugFixerBot = null;
28
+ bugMonitor = null;
29
+ bugConfig = null;
30
+ workflowDiscovery = null;
31
+ userContext;
32
+ unsubscribeFromBugSignals = null;
33
+ processedBugIds = new Map(); // bugId -> timestamp
34
+ constructor(config) {
35
+ super(config);
36
+ this.userContext = config.userContext;
37
+ this.bugFixerLogger = (0, logger_1.createLogger)({
38
+ component: "BugFixerSpecialistDaemon",
39
+ botId: config.botClient.userId,
40
+ });
41
+ }
42
+ /**
43
+ * Override initialize to also set up bug monitoring
44
+ */
45
+ async initialize() {
46
+ // Initialize base specialist daemon first
47
+ await super.initialize();
48
+ // Initialize bug monitoring
49
+ await this.initializeBugMonitoring();
50
+ }
51
+ /**
52
+ * Initialize bug monitoring - discover workflow and subscribe to signals
53
+ */
54
+ async initializeBugMonitoring() {
55
+ try {
56
+ // Load bug reports config
57
+ this.bugConfig = await (0, config_1.loadConfig)(this.userContext);
58
+ if (!this.bugConfig.enabled) {
59
+ this.bugFixerLogger.info("Bug Fixer is disabled in config");
60
+ return;
61
+ }
62
+ // Discover Bug Reports workflow
63
+ this.workflowDiscovery = await (0, config_1.discoverWorkflow)(this.userContext, this.bugConfig) ?? null;
64
+ if (!this.workflowDiscovery) {
65
+ this.bugFixerLogger.warn("Bug Reports workflow not found");
66
+ return;
67
+ }
68
+ // Create BugMonitor for activity parsing (but we handle signals ourselves)
69
+ this.bugMonitor = new monitor_1.BugMonitor(this.userContext);
70
+ // Pass the discovery result to the monitor so it can move bugs between phases
71
+ this.bugMonitor.setDiscovery(this.workflowDiscovery);
72
+ // Register our own bot user ID to ignore
73
+ this.bugMonitor.registerBotUser(this.botClient.userId);
74
+ // Create BugFixerBot with the monitor
75
+ this.bugFixerBot = new bot_1.BugFixerBot(this.userContext, this.bugConfig, this.bugMonitor);
76
+ // Subscribe to activity creation signals for Bug Reports workflow
77
+ const unsubscribe = (0, hailer_clients_1.subscribeToSignal)(this.userContext.apiKey, "activities.created", (eventData) => this.handleBugCreatedSignal(eventData));
78
+ if (unsubscribe) {
79
+ this.unsubscribeFromBugSignals = unsubscribe;
80
+ this.bugFixerLogger.info("Subscribed to Bug Reports workflow signals", {
81
+ workflowId: this.workflowDiscovery.workflowId,
82
+ workflowName: this.workflowDiscovery.workflowName,
83
+ });
84
+ }
85
+ // Do initial check for any bugs that arrived while offline
86
+ await this.checkForExistingBugs();
87
+ this.bugFixerLogger.info("Bug Fixer monitoring initialized", {
88
+ workflowName: this.workflowDiscovery.workflowName,
89
+ autoFix: this.bugConfig.autoFix,
90
+ });
91
+ }
92
+ catch (error) {
93
+ this.bugFixerLogger.error("Failed to initialize bug monitoring", {
94
+ error: error instanceof Error ? error.message : String(error),
95
+ });
96
+ }
97
+ }
98
+ /**
99
+ * Handle activity.created signal for Bug Reports workflow
100
+ */
101
+ async handleBugCreatedSignal(eventData) {
102
+ try {
103
+ // Extract activity ID from signal - activity_id can be an array or string
104
+ let activityId = eventData?.activity_id || eventData?.activityId || eventData?._id;
105
+ if (Array.isArray(activityId)) {
106
+ activityId = activityId[0];
107
+ }
108
+ const processId = eventData?.processId;
109
+ const phase = eventData?.phase;
110
+ if (!activityId) {
111
+ return;
112
+ }
113
+ // Filter: Only process activities from Bug Reports workflow
114
+ if (this.workflowDiscovery && processId !== this.workflowDiscovery.workflowId) {
115
+ return;
116
+ }
117
+ // Filter: Only process activities in "New" phase
118
+ if (this.workflowDiscovery?.phases.new && phase !== this.workflowDiscovery.phases.new) {
119
+ return;
120
+ }
121
+ // Skip if already processed
122
+ if (this.processedBugIds.has(activityId)) {
123
+ return;
124
+ }
125
+ this.bugFixerLogger.info("New bug report detected via signal", { activityId });
126
+ // Mark as processed
127
+ this.processedBugIds.set(activityId, Date.now());
128
+ // Fetch and process the bug
129
+ await this.fetchAndProcessBug(activityId);
130
+ }
131
+ catch (error) {
132
+ this.bugFixerLogger.error("Error handling bug created signal", {
133
+ error: error instanceof Error ? error.message : String(error),
134
+ });
135
+ }
136
+ }
137
+ /**
138
+ * Check for existing bugs in "New" phase (on startup)
139
+ */
140
+ async checkForExistingBugs() {
141
+ if (!this.workflowDiscovery?.phases.new)
142
+ return;
143
+ try {
144
+ const { hailer } = this.userContext;
145
+ const result = await hailer.fetchActivityList(this.workflowDiscovery.workflowId, this.workflowDiscovery.phases.new, 50);
146
+ const activities = result?.activities || result || [];
147
+ for (const activity of activities) {
148
+ const bugId = activity._id;
149
+ if (!this.processedBugIds.has(bugId)) {
150
+ this.processedBugIds.set(bugId, Date.now());
151
+ await this.fetchAndProcessBug(bugId);
152
+ }
153
+ }
154
+ }
155
+ catch (error) {
156
+ this.bugFixerLogger.error("Error checking for existing bugs", {
157
+ error: error instanceof Error ? error.message : String(error),
158
+ });
159
+ }
160
+ }
161
+ /**
162
+ * Fetch a bug by ID and process it through the LLM
163
+ */
164
+ async fetchAndProcessBug(activityId) {
165
+ if (!this.bugMonitor || !this.workflowDiscovery) {
166
+ return;
167
+ }
168
+ try {
169
+ const { hailer } = this.userContext;
170
+ // Fetch full activity details
171
+ const activity = await hailer.fetchActivityById(activityId);
172
+ if (!activity) {
173
+ this.bugFixerLogger.warn("Could not fetch bug activity", { activityId });
174
+ return;
175
+ }
176
+ // Debug: log all fields to see what keys exist
177
+ this.bugFixerLogger.debug("Activity fieldsAndValues", {
178
+ activityId,
179
+ fieldsAndValues: JSON.stringify(activity.fieldsAndValues, null, 2),
180
+ });
181
+ // Parse into BugReport
182
+ const bug = {
183
+ id: activity._id,
184
+ name: activity.name || "Untitled Bug",
185
+ description: this.extractFieldValue(activity, "description"),
186
+ priority: this.parsePriority(this.extractFieldValue(activity, "priority")),
187
+ workflowId: this.workflowDiscovery?.workflowId || "",
188
+ phaseId: activity.phase,
189
+ discussionId: activity.discussion,
190
+ appId: this.extractFieldValue(activity, "appId"),
191
+ appName: this.extractFieldValue(activity, "appName"),
192
+ reportedBy: this.extractFieldValue(activity, "reportedBy"),
193
+ stepsToReproduce: this.extractFieldValue(activity, "stepsToReproduce"),
194
+ createdAt: activity.created || new Date().toISOString(),
195
+ };
196
+ this.bugFixerLogger.debug("Parsed bug report", {
197
+ bugId: bug.id,
198
+ description: bug.description,
199
+ appName: bug.appName,
200
+ appId: bug.appId,
201
+ });
202
+ this.bugFixerLogger.info("Processing bug report via LLM", {
203
+ bugId: bug.id,
204
+ bugName: bug.name,
205
+ appId: bug.appId,
206
+ });
207
+ // Register in pending classification so tools can find it
208
+ if (bug.discussionId) {
209
+ pending_classification_1.pendingClassificationRegistry.register({
210
+ discussionId: bug.discussionId,
211
+ bugId: bug.id,
212
+ bugName: bug.name,
213
+ appId: bug.appId,
214
+ appName: bug.appName,
215
+ classification: "unclear", // LLM will determine
216
+ reason: "Pending LLM analysis",
217
+ timestamp: Date.now(),
218
+ bug,
219
+ });
220
+ // Watch the discussion for responses
221
+ this.bugMonitor.watchDiscussion(bug.discussionId);
222
+ // Build context message for LLM
223
+ const contextMessage = this.buildBugContextMessage(bug);
224
+ // Route through LLM pipeline using respondWithContext from parent class
225
+ await this.respondWithContext(bug.discussionId, bug.id, contextMessage);
226
+ }
227
+ }
228
+ catch (error) {
229
+ this.bugFixerLogger.error("Error processing bug", {
230
+ activityId,
231
+ error: error instanceof Error ? error.message : String(error),
232
+ });
233
+ }
234
+ }
235
+ /**
236
+ * Build context message for LLM - just present the bug, let LLM decide what to do
237
+ */
238
+ buildBugContextMessage(bug) {
239
+ const parts = [
240
+ `Hey, a new bug just came in:`,
241
+ ``,
242
+ `**${bug.name}**`,
243
+ bug.appName ? `App: ${bug.appName}` : (bug.appId ? `App ID: ${bug.appId}` : ""),
244
+ bug.priority && bug.priority !== "low" ? `Priority: ${bug.priority}` : "",
245
+ ``,
246
+ bug.description || "(No description provided)",
247
+ ].filter(Boolean);
248
+ if (bug.stepsToReproduce) {
249
+ parts.push(``, `Steps to reproduce:`, bug.stepsToReproduce);
250
+ }
251
+ return parts.join("\n");
252
+ }
253
+ /**
254
+ * Extract a field value from activity by key
255
+ */
256
+ extractFieldValue(activity, fieldKey) {
257
+ const fieldsAndValues = activity.fieldsAndValues || {};
258
+ for (const [fieldId, fieldData] of Object.entries(fieldsAndValues)) {
259
+ const data = fieldData;
260
+ const key = data.key || data.label || fieldId;
261
+ if (key === fieldKey || key.toLowerCase() === fieldKey.toLowerCase()) {
262
+ return data.value || "";
263
+ }
264
+ }
265
+ return "";
266
+ }
267
+ /**
268
+ * Parse priority string to enum value
269
+ */
270
+ parsePriority(value) {
271
+ const v = String(value).toLowerCase();
272
+ if (v.includes("critical") || v.includes("urgent"))
273
+ return "critical";
274
+ if (v.includes("high"))
275
+ return "high";
276
+ if (v.includes("medium") || v.includes("normal"))
277
+ return "medium";
278
+ return "low";
279
+ }
280
+ /**
281
+ * Override extractIncomingMessage to route messages in watched discussions to the LLM
282
+ * All messages now go to the LLM for natural language interpretation
283
+ */
284
+ async extractIncomingMessage(signal) {
285
+ // First try the parent implementation (handles @mentions)
286
+ const message = await super.extractIncomingMessage(signal);
287
+ // If we got a message from parent, return it
288
+ if (message) {
289
+ return message;
290
+ }
291
+ // Also check if this is a message in a watched discussion (pending fix/classification)
292
+ const discussionId = signal.data?.discussion;
293
+ if (!discussionId) {
294
+ return null;
295
+ }
296
+ // Check if this discussion has a pending classification or fix
297
+ const hasPendingClassification = pending_classification_1.pendingClassificationRegistry.has(discussionId);
298
+ const hasPendingFix = pending_fix_1.pendingFixRegistry.has(discussionId);
299
+ if (hasPendingClassification || hasPendingFix) {
300
+ // Extract message content and pass to LLM for interpretation
301
+ const messageId = signal.data?.msg_id;
302
+ const senderId = signal.data?.uid;
303
+ if (!messageId || !senderId) {
304
+ return null;
305
+ }
306
+ // Skip our own messages
307
+ if (senderId === this.botClient.userId) {
308
+ return null;
309
+ }
310
+ try {
311
+ const { hailer } = this.userContext;
312
+ const result = await hailer.fetchDiscussionMessages(discussionId, 5);
313
+ const messages = result?.messages || [];
314
+ const msg = messages.find((m) => m._id === messageId);
315
+ if (!msg) {
316
+ return null;
317
+ }
318
+ const content = msg.content || msg.msg || msg.message || "";
319
+ // Skip empty messages (system notifications like "user joined")
320
+ if (!content || content.trim().length === 0) {
321
+ this.bugFixerLogger.debug("Skipping empty/system message", { discussionId, messageId });
322
+ return null;
323
+ }
324
+ // Return the message so LLM can interpret user intent
325
+ this.bugFixerLogger.debug("Passing message to LLM for interpretation", {
326
+ discussionId,
327
+ hasPendingClassification,
328
+ hasPendingFix,
329
+ contentPreview: content.substring(0, 50),
330
+ });
331
+ const { workspaceCache } = this.userContext;
332
+ return {
333
+ id: messageId,
334
+ discussionId,
335
+ workspaceId: workspaceCache.currentWorkspace._id,
336
+ senderId,
337
+ senderName: msg.userName || "User",
338
+ content,
339
+ timestamp: msg.created ? new Date(msg.created).getTime() : Date.now(),
340
+ // Messages in watched discussions are high priority for the LLM
341
+ priority: "high",
342
+ priorityReason: "Message in watched bug discussion",
343
+ isReplyToBot: false, // We don't know, but LLM will interpret
344
+ isMention: false,
345
+ isDirectMessage: false,
346
+ };
347
+ }
348
+ catch (error) {
349
+ this.bugFixerLogger.debug("Could not extract message from watched discussion", {
350
+ discussionId,
351
+ error: error instanceof Error ? error.message : String(error),
352
+ });
353
+ }
354
+ }
355
+ return null;
356
+ }
357
+ /**
358
+ * Override tool groups to include BOT_INTERNAL tools (bug fixer tools)
359
+ */
360
+ getToolGroups() {
361
+ return [tool_registry_1.ToolGroup.READ, tool_registry_1.ToolGroup.WRITE, tool_registry_1.ToolGroup.BOT_INTERNAL];
362
+ }
363
+ /**
364
+ * Override tool whitelist - primitive tools only, LLM decides how to use them
365
+ */
366
+ getToolWhitelist() {
367
+ // Get parent tools but REMOVE add_discussion_message to prevent double-posting
368
+ const parentTools = super.getToolWhitelist().filter((tool) => tool !== "add_discussion_message");
369
+ return [
370
+ ...parentTools,
371
+ // Primitive bug fixing tools - LLM uses these directly
372
+ "bug_fixer_find_app",
373
+ "bug_fixer_list_files",
374
+ "bug_fixer_read_file",
375
+ "bug_fixer_apply_fix",
376
+ "bug_fixer_run_build",
377
+ "bug_fixer_git_status",
378
+ "bug_fixer_git_pull",
379
+ "bug_fixer_git_commit",
380
+ "bug_fixer_git_push",
381
+ "bug_fixer_git_revert",
382
+ "bug_fixer_publish_app",
383
+ // Phase management tools (handle phase + status + leave automatically)
384
+ "mark_bug_declined",
385
+ "mark_bug_fixed",
386
+ ];
387
+ }
388
+ /**
389
+ * Override preprocessToolInput to auto-inject discussionId for bug fixer tools
390
+ * This allows the LLM to call tools without explicitly passing the discussionId
391
+ */
392
+ preprocessToolInput(toolName, input) {
393
+ // Auto-inject discussionId for bug fixer workflow tools
394
+ if (toolName.startsWith("bug_fixer_") && this.currentDiscussionId) {
395
+ if (!input.discussionId) {
396
+ this.bugFixerLogger.debug("Auto-injecting discussionId into tool input", {
397
+ toolName,
398
+ discussionId: this.currentDiscussionId,
399
+ });
400
+ return {
401
+ ...input,
402
+ discussionId: this.currentDiscussionId,
403
+ };
404
+ }
405
+ }
406
+ return input;
407
+ }
408
+ /**
409
+ * Override stop to clean up bug monitoring
410
+ */
411
+ async stop() {
412
+ // Unsubscribe from bug signals
413
+ if (this.unsubscribeFromBugSignals) {
414
+ this.unsubscribeFromBugSignals();
415
+ this.unsubscribeFromBugSignals = null;
416
+ }
417
+ // Stop bug monitor
418
+ if (this.bugMonitor) {
419
+ await this.bugMonitor.stop();
420
+ this.bugMonitor = null;
421
+ }
422
+ // Clean up
423
+ this.bugFixerBot = null;
424
+ this.processedBugIds.clear();
425
+ // Stop base daemon
426
+ await super.stop();
427
+ this.bugFixerLogger.info("Bug Fixer specialist daemon stopped");
428
+ }
429
+ }
430
+ exports.BugFixerSpecialistDaemon = BugFixerSpecialistDaemon;
431
+ //# sourceMappingURL=specialist-daemon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"specialist-daemon.js","sourceRoot":"","sources":["../../../src/agents/bug-fixer/specialist-daemon.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Bug Fixer Specialist Daemon
3
+ *
4
+ * A specialist daemon for bug fixing that extends SpecialistDaemon.
5
+ * Bug Fixer handles bug discussions naturally - responds to all messages
6
+ * in bug discussions (not just @mentions).
7
+ *
8
+ * Tools: Uses MCP tools registered in the tool registry.
9
+ */
10
+ import { SpecialistDaemon, SpecialistDaemonConfig } from "../shared/specialist";
11
+ import { IncomingMessage } from "../shared/base";
12
+ import { HailerSignal } from "../../mcp/signal-handler";
13
+ export interface BugFixerSpecialistConfig extends SpecialistDaemonConfig {
14
+ /** Base path for app projects */
15
+ appsBasePath?: string;
16
+ }
17
+ export declare class BugFixerSpecialist extends SpecialistDaemon {
18
+ private bugFixerLogger;
19
+ private bugDiscussions;
20
+ constructor(config: BugFixerSpecialistConfig);
21
+ /**
22
+ * Register a bug discussion for Bug Fixer to handle
23
+ * Call this when a new bug is detected
24
+ */
25
+ registerBugDiscussion(discussionId: string, bugId: string, bugName: string, appPath?: string): void;
26
+ /**
27
+ * Unregister a bug discussion (bug resolved)
28
+ */
29
+ unregisterBugDiscussion(discussionId: string): void;
30
+ /**
31
+ * Check if Bug Fixer is handling a discussion
32
+ */
33
+ isHandlingDiscussion(discussionId: string): boolean;
34
+ /**
35
+ * Override to respond to ALL messages in bug discussions (not just @mentions)
36
+ */
37
+ protected extractIncomingMessage(signal: HailerSignal): Promise<IncomingMessage | null>;
38
+ /**
39
+ * Bug Fixer's tool whitelist - bug fixing tools
40
+ */
41
+ protected getToolWhitelist(): string[];
42
+ /**
43
+ * Override system prompt - fully conversational bug fixing
44
+ */
45
+ protected getSystemPrompt(): string;
46
+ }
47
+ //# sourceMappingURL=specialist.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"specialist.d.ts","sourceRoot":"","sources":["../../../src/agents/bug-fixer/specialist.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAIxD,MAAM,WAAW,wBAAyB,SAAQ,sBAAsB;IACtE,iCAAiC;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,kBAAmB,SAAQ,gBAAgB;IACtD,OAAO,CAAC,cAAc,CAAS;IAG/B,OAAO,CAAC,cAAc,CAIjB;gBAEO,MAAM,EAAE,wBAAwB;IAQ5C;;;OAGG;IACI,qBAAqB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAK1G;;OAEG;IACI,uBAAuB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAI1D;;OAEG;IACI,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO;IAI1D;;OAEG;cACa,sBAAsB,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAmG7F;;OAEG;IACH,SAAS,CAAC,gBAAgB,IAAI,MAAM,EAAE;IA+BtC;;OAEG;IACH,SAAS,CAAC,eAAe,IAAI,MAAM;CAiKpC"}