@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,507 @@
1
+ "use strict";
2
+ /**
3
+ * Workspace Schema Cache Service
4
+ *
5
+ * Dynamically discovers and caches workflow schemas per workspace.
6
+ * Replaces hardcoded workflow/field IDs with runtime lookup.
7
+ *
8
+ * WORKSPACE ISOLATION: Each workspace gets its own workflow IDs.
9
+ * Never use hardcoded IDs - always lookup via this cache.
10
+ *
11
+ * On bot startup:
12
+ * 1. Check memory cache first
13
+ * 2. If cache miss: Query list_workflows to find AI Agent workflows by name
14
+ * 3. If missing, install them from marketplace
15
+ * 4. Query get_workflow_schema to get field IDs
16
+ * 5. Store in memory cache for session duration
17
+ */
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ exports.WorkspaceSchemaCacheService = void 0;
20
+ /** AI Agent template ID in marketplace (HR for AI Agents) */
21
+ const AI_AGENT_TEMPLATE_ID = "685ab3c39af7445dd5384ffd";
22
+ /** Known workflow names from the AI Agent template (partial match, case insensitive) */
23
+ const TEMPLATE_WORKFLOW_PATTERNS = {
24
+ SESSION_LOG: ["session log", "session_log"],
25
+ AGENT_DIRECTORY: ["agent directory", "agent_directory"],
26
+ POSITIONS: ["positions", "position"],
27
+ TEAMS: ["teams", "team"],
28
+ TOOL_REGISTRY: ["tool registry", "tool_registry", "mcp server"],
29
+ MCP_CONFIG: ["mcp config", "mcp_config", "mcp configuration"],
30
+ };
31
+ class WorkspaceSchemaCacheService {
32
+ logger;
33
+ callMcpTool;
34
+ cache = new Map();
35
+ constructor(logger, callMcpTool) {
36
+ this.logger = logger;
37
+ this.callMcpTool = callMcpTool;
38
+ }
39
+ /**
40
+ * Initialize schema cache for a workspace
41
+ * Call this on bot startup after connecting to Hailer
42
+ *
43
+ * Set SKIP_SCHEMA_DISCOVERY=true to skip API calls on startup.
44
+ * HAL can discover workflows on-demand via MCP tools when needed.
45
+ */
46
+ async initializeForWorkspace(workspaceId) {
47
+ // 1. Check memory cache first
48
+ const existing = this.cache.get(workspaceId);
49
+ if (existing?.initialized) {
50
+ this.logger.debug("Using memory-cached workspace schemas", { workspaceId });
51
+ return existing;
52
+ }
53
+ // 2. Check if schema discovery is disabled (saves dozens of API calls on startup)
54
+ if (process.env.SKIP_SCHEMA_DISCOVERY === 'true') {
55
+ this.logger.info("Schema discovery skipped (SKIP_SCHEMA_DISCOVERY=true)", { workspaceId });
56
+ const schemas = {
57
+ workspaceId,
58
+ initialized: true,
59
+ };
60
+ this.cache.set(workspaceId, schemas);
61
+ return schemas;
62
+ }
63
+ // 3. Discover via API
64
+ this.logger.info("Discovering workspace schemas via API", { workspaceId });
65
+ const schemas = {
66
+ workspaceId,
67
+ initialized: false,
68
+ };
69
+ try {
70
+ // Fetch all workflows in workspace
71
+ const workflowsResult = await this.callMcpTool("list_workflows", {
72
+ workspace: workspaceId,
73
+ });
74
+ const workflowsText = workflowsResult?.content?.[0]?.text;
75
+ if (!workflowsText) {
76
+ this.logger.warn("No workflows found in workspace", { workspaceId });
77
+ schemas.initialized = true;
78
+ this.cache.set(workspaceId, schemas);
79
+ return schemas;
80
+ }
81
+ // Parse workflows
82
+ const workflows = this.parseWorkflows(workflowsText);
83
+ this.logger.debug("Found workflows", { workspaceId, count: workflows.length });
84
+ // Find template workflows
85
+ this.mapWorkflowsToSchemas(workflows, schemas);
86
+ // Check if required workflows are missing
87
+ const missingRequired = !schemas.sessionLog || !schemas.agentDirectory;
88
+ if (missingRequired) {
89
+ this.logger.info("AI Agent workflows not found, installing from marketplace", { workspaceId });
90
+ const installed = await this.installAgentTemplate(workspaceId);
91
+ if (installed) {
92
+ // Re-fetch workflows after installation
93
+ const refreshResult = await this.callMcpTool("list_workflows", {
94
+ workspace: workspaceId,
95
+ });
96
+ const refreshText = refreshResult?.content?.[0]?.text;
97
+ if (refreshText) {
98
+ const refreshedWorkflows = this.parseWorkflows(refreshText);
99
+ this.mapWorkflowsToSchemas(refreshedWorkflows, schemas);
100
+ }
101
+ }
102
+ }
103
+ // Load detailed schemas for found workflows
104
+ await this.loadDetailedSchemas(schemas);
105
+ schemas.initialized = true;
106
+ this.cache.set(workspaceId, schemas);
107
+ this.logger.info("Workspace schemas cached", {
108
+ workspaceId,
109
+ hasSessionLog: !!schemas.sessionLog,
110
+ hasAgentDirectory: !!schemas.agentDirectory,
111
+ hasPositions: !!schemas.positions,
112
+ });
113
+ return schemas;
114
+ }
115
+ catch (error) {
116
+ this.logger.error("Failed to initialize workspace schemas", {
117
+ workspaceId,
118
+ error: error instanceof Error ? error.message : String(error),
119
+ });
120
+ schemas.initialized = true; // Mark as initialized even on error to prevent retry loops
121
+ this.cache.set(workspaceId, schemas);
122
+ return schemas;
123
+ }
124
+ }
125
+ /**
126
+ * Get cached schemas for a workspace
127
+ */
128
+ getSchemas(workspaceId) {
129
+ return this.cache.get(workspaceId);
130
+ }
131
+ /**
132
+ * Get Session Log schema for a workspace
133
+ */
134
+ getSessionLogSchema(workspaceId) {
135
+ return this.cache.get(workspaceId)?.sessionLog;
136
+ }
137
+ /**
138
+ * Get Agent Directory schema for a workspace
139
+ */
140
+ getAgentDirectorySchema(workspaceId) {
141
+ return this.cache.get(workspaceId)?.agentDirectory;
142
+ }
143
+ /**
144
+ * Get Positions schema for a workspace
145
+ */
146
+ getPositionsSchema(workspaceId) {
147
+ return this.cache.get(workspaceId)?.positions;
148
+ }
149
+ /**
150
+ * Get Teams schema for a workspace
151
+ */
152
+ getTeamsSchema(workspaceId) {
153
+ return this.cache.get(workspaceId)?.teams;
154
+ }
155
+ /**
156
+ * Get Tool Registry schema for a workspace
157
+ */
158
+ getToolRegistrySchema(workspaceId) {
159
+ return this.cache.get(workspaceId)?.toolRegistry;
160
+ }
161
+ /**
162
+ * Get MCP Config schema for a workspace
163
+ */
164
+ getMcpConfigSchema(workspaceId) {
165
+ return this.cache.get(workspaceId)?.mcpConfig;
166
+ }
167
+ /**
168
+ * Check if a workspace has the AI Agent template installed
169
+ */
170
+ hasAgentTemplate(workspaceId) {
171
+ const schemas = this.cache.get(workspaceId);
172
+ return !!(schemas?.sessionLog && schemas?.agentDirectory);
173
+ }
174
+ /**
175
+ * Check if workflow name matches a pattern (case insensitive, ignores emojis)
176
+ */
177
+ matchesPattern(workflowName, patterns) {
178
+ // Normalize: lowercase, remove emojis and extra whitespace
179
+ const normalized = workflowName
180
+ .toLowerCase()
181
+ .replace(/[\u{1F300}-\u{1F9FF}]/gu, "") // Remove emojis
182
+ .replace(/\s+/g, " ")
183
+ .trim();
184
+ return patterns.some(pattern => normalized.includes(pattern));
185
+ }
186
+ /**
187
+ * Map workflow list to schema slots (using pattern matching)
188
+ */
189
+ mapWorkflowsToSchemas(workflows, schemas) {
190
+ for (const workflow of workflows) {
191
+ // Filter by workspace if specified
192
+ if (schemas.workspaceId && workflow.workspaceId && workflow.workspaceId !== schemas.workspaceId) {
193
+ continue;
194
+ }
195
+ if (this.matchesPattern(workflow.name, TEMPLATE_WORKFLOW_PATTERNS.SESSION_LOG)) {
196
+ schemas.sessionLog = { workflowId: workflow.id, name: workflow.name, phases: {}, fields: {} };
197
+ }
198
+ else if (this.matchesPattern(workflow.name, TEMPLATE_WORKFLOW_PATTERNS.AGENT_DIRECTORY)) {
199
+ schemas.agentDirectory = { workflowId: workflow.id, name: workflow.name, phases: {}, fields: {} };
200
+ }
201
+ else if (this.matchesPattern(workflow.name, TEMPLATE_WORKFLOW_PATTERNS.POSITIONS)) {
202
+ schemas.positions = { workflowId: workflow.id, name: workflow.name, phases: {}, fields: {} };
203
+ }
204
+ else if (this.matchesPattern(workflow.name, TEMPLATE_WORKFLOW_PATTERNS.TEAMS) && workflow.name.toLowerCase().includes("team")) {
205
+ // Be more specific for Teams to avoid matching "Teams" workflow in sports data
206
+ if (workflow.name.includes("🎖️") || workflow.name.toLowerCase() === "teams") {
207
+ schemas.teams = { workflowId: workflow.id, name: workflow.name, phases: {}, fields: {} };
208
+ }
209
+ }
210
+ else if (this.matchesPattern(workflow.name, TEMPLATE_WORKFLOW_PATTERNS.TOOL_REGISTRY)) {
211
+ schemas.toolRegistry = { workflowId: workflow.id, name: workflow.name, phases: {}, fields: {} };
212
+ }
213
+ else if (this.matchesPattern(workflow.name, TEMPLATE_WORKFLOW_PATTERNS.MCP_CONFIG)) {
214
+ schemas.mcpConfig = { workflowId: workflow.id, name: workflow.name, phases: {}, fields: {} };
215
+ }
216
+ }
217
+ }
218
+ /**
219
+ * Load detailed schemas (phases, fields) for all found workflows
220
+ */
221
+ async loadDetailedSchemas(schemas) {
222
+ const schemaProps = ['sessionLog', 'agentDirectory', 'positions', 'teams', 'toolRegistry', 'mcpConfig'];
223
+ for (const prop of schemaProps) {
224
+ if (schemas[prop]) {
225
+ await this.loadWorkflowSchemaDetails(schemas[prop]);
226
+ }
227
+ }
228
+ }
229
+ /**
230
+ * Install AI Agent template from marketplace
231
+ */
232
+ async installAgentTemplate(workspaceId) {
233
+ try {
234
+ // First try to find the template by name in marketplace
235
+ const templatesResult = await this.callMcpTool("list_templates", {
236
+ publicOnly: true,
237
+ });
238
+ let templateId = AI_AGENT_TEMPLATE_ID;
239
+ const templatesText = templatesResult?.content?.[0]?.text;
240
+ if (templatesText) {
241
+ try {
242
+ const parsed = JSON.parse(templatesText);
243
+ const templates = parsed.templates || parsed.data || parsed;
244
+ if (Array.isArray(templates)) {
245
+ const agentTemplate = templates.find((t) => t.name?.includes("AI Agent") || t.title?.includes("AI Agent"));
246
+ if (agentTemplate?._id) {
247
+ templateId = agentTemplate._id;
248
+ }
249
+ }
250
+ }
251
+ catch {
252
+ // Use default template ID
253
+ }
254
+ }
255
+ this.logger.info("Installing AI Agent template", { workspaceId, templateId });
256
+ const installResult = await this.callMcpTool("install_template", {
257
+ templateId,
258
+ workspaceId,
259
+ });
260
+ const installText = installResult?.content?.[0]?.text || "";
261
+ // Check for explicit error indicators
262
+ const hasError = installText.toLowerCase().includes("error") ||
263
+ installText.toLowerCase().includes("not found") ||
264
+ installText.toLowerCase().includes("failed");
265
+ const hasSuccess = installText.toLowerCase().includes("success") ||
266
+ installText.toLowerCase().includes("installed") ||
267
+ installText.toLowerCase().includes("created");
268
+ const success = hasSuccess && !hasError;
269
+ if (success) {
270
+ this.logger.info("AI Agent template installed successfully", { workspaceId });
271
+ }
272
+ else {
273
+ this.logger.warn("Template installation failed", {
274
+ workspaceId,
275
+ response: installText.substring(0, 300),
276
+ });
277
+ }
278
+ return success;
279
+ }
280
+ catch (error) {
281
+ this.logger.error("Failed to install AI Agent template", {
282
+ workspaceId,
283
+ error: error instanceof Error ? error.message : String(error),
284
+ });
285
+ return false;
286
+ }
287
+ }
288
+ /**
289
+ * Parse workflows from list_workflows response
290
+ * Handles both raw JSON and markdown-wrapped JSON responses
291
+ */
292
+ parseWorkflows(text) {
293
+ const workflows = [];
294
+ try {
295
+ // First, try to extract JSON array from markdown-wrapped response
296
+ // The response often has: "📋 **18 Workflows Found**\n\n[\n {...}\n]\n\n🔗 **Relationships**..."
297
+ let jsonText = text;
298
+ // Try to extract JSON array from markdown
299
+ const jsonArrayMatch = text.match(/\[\s*\{[\s\S]*?\}\s*\]/);
300
+ if (jsonArrayMatch) {
301
+ jsonText = jsonArrayMatch[0];
302
+ }
303
+ const parsed = JSON.parse(jsonText);
304
+ const items = Array.isArray(parsed) ? parsed : (parsed.workflows || parsed.data || []);
305
+ if (Array.isArray(items)) {
306
+ for (const item of items) {
307
+ // Support both `id` and `_id` field names
308
+ const id = item.id || item._id;
309
+ const name = item.name;
310
+ const workspaceId = item.workspaceId;
311
+ if (id && name) {
312
+ workflows.push({ id, name, workspaceId });
313
+ }
314
+ }
315
+ }
316
+ }
317
+ catch {
318
+ // Fallback: regex extraction for both id and _id patterns
319
+ const idMatches = text.matchAll(/"(?:id|_id)":\s*"([a-f0-9]{24})"/gi);
320
+ const nameMatches = text.matchAll(/"name":\s*"([^"]+)"/gi);
321
+ const wsMatches = text.matchAll(/"workspaceId":\s*"([a-f0-9]{24})"/gi);
322
+ const ids = [...idMatches].map(m => m[1]);
323
+ const names = [...nameMatches].map(m => m[1]);
324
+ const wsIds = [...wsMatches].map(m => m[1]);
325
+ for (let i = 0; i < Math.min(ids.length, names.length); i++) {
326
+ workflows.push({
327
+ id: ids[i],
328
+ name: names[i],
329
+ workspaceId: wsIds[i],
330
+ });
331
+ }
332
+ }
333
+ this.logger.debug("Parsed workflows from response", { count: workflows.length });
334
+ return workflows;
335
+ }
336
+ /**
337
+ * Load detailed workflow schema (phases and fields) for an existing schema
338
+ */
339
+ async loadWorkflowSchemaDetails(schema) {
340
+ try {
341
+ // Get phases first
342
+ const phasesResult = await this.callMcpTool("list_workflow_phases", {
343
+ workflowId: schema.workflowId,
344
+ });
345
+ const phasesText = phasesResult?.content?.[0]?.text;
346
+ if (phasesText) {
347
+ this.parsePhases(phasesText, schema);
348
+ }
349
+ this.logger.debug("Parsed phases for workflow", {
350
+ workflowId: schema.workflowId,
351
+ workflowName: schema.name,
352
+ phaseCount: Object.keys(schema.phases).length,
353
+ phases: Object.keys(schema.phases),
354
+ });
355
+ // Get schema with fields (use first phase)
356
+ const firstPhaseId = Object.values(schema.phases)[0];
357
+ if (firstPhaseId) {
358
+ const schemaResult = await this.callMcpTool("get_workflow_schema", {
359
+ workflowId: schema.workflowId,
360
+ phaseId: firstPhaseId,
361
+ });
362
+ const schemaText = schemaResult?.content?.[0]?.text;
363
+ if (schemaText) {
364
+ this.parseFields(schemaText, schema);
365
+ this.logger.debug("Parsed fields for workflow", {
366
+ workflowId: schema.workflowId,
367
+ workflowName: schema.name,
368
+ fieldCount: Object.keys(schema.fields).length,
369
+ fieldKeys: Object.keys(schema.fields).slice(0, 10), // First 10 keys
370
+ });
371
+ }
372
+ else {
373
+ this.logger.warn("No schema text returned from get_workflow_schema", {
374
+ workflowId: schema.workflowId,
375
+ });
376
+ }
377
+ }
378
+ else {
379
+ this.logger.warn("No phase ID found - skipping field schema load", {
380
+ workflowId: schema.workflowId,
381
+ workflowName: schema.name,
382
+ });
383
+ }
384
+ }
385
+ catch (error) {
386
+ this.logger.warn("Failed to load workflow schema details", {
387
+ workflowId: schema.workflowId,
388
+ workflowName: schema.name,
389
+ error: error instanceof Error ? error.message : String(error),
390
+ });
391
+ }
392
+ }
393
+ /**
394
+ * Parse phases from list_workflow_phases response
395
+ * Format: 1. **PhaseName**\n - Phase ID: `phaseId`
396
+ */
397
+ parsePhases(text, schema) {
398
+ this.logger.debug("Parsing phases text", {
399
+ workflowId: schema.workflowId,
400
+ textLength: text.length,
401
+ textPreview: text.substring(0, 500),
402
+ });
403
+ try {
404
+ const parsed = JSON.parse(text);
405
+ const phases = parsed.phases || parsed.data || parsed;
406
+ if (Array.isArray(phases)) {
407
+ for (const phase of phases) {
408
+ if (phase.id && phase.name) {
409
+ schema.phases[phase.name.toLowerCase()] = phase.id;
410
+ }
411
+ else if (phase._id && phase.name) {
412
+ schema.phases[phase.name.toLowerCase()] = phase._id;
413
+ }
414
+ }
415
+ }
416
+ }
417
+ catch {
418
+ // Markdown format: **PhaseName**\n - Phase ID: `phaseId`
419
+ // Match pattern: \d+\. **Name** ... Phase ID: `id`
420
+ const phaseBlocks = text.split(/\d+\.\s*\*\*/).filter(Boolean);
421
+ for (const block of phaseBlocks) {
422
+ const nameMatch = block.match(/^([^*]+)\*\*/);
423
+ const phaseIdMatch = block.match(/Phase ID:\s*`([a-f0-9]{24})`/i);
424
+ if (nameMatch && phaseIdMatch) {
425
+ const phaseName = nameMatch[1].trim();
426
+ const phaseId = phaseIdMatch[1];
427
+ schema.phases[phaseName.toLowerCase()] = phaseId;
428
+ }
429
+ }
430
+ }
431
+ }
432
+ /**
433
+ * Parse fields from get_workflow_schema response
434
+ * Stores fields by both label and key for flexible lookup
435
+ */
436
+ parseFields(text, schema) {
437
+ try {
438
+ const parsed = JSON.parse(text);
439
+ const fields = parsed.fields || parsed.data || parsed;
440
+ if (Array.isArray(fields)) {
441
+ for (const field of fields) {
442
+ const fieldId = field.id || field._id || field.fieldId;
443
+ const label = field.label || field.name;
444
+ const key = field.key;
445
+ if (fieldId && label) {
446
+ schema.fields[label] = fieldId;
447
+ }
448
+ // Also store by key for direct lookup (e.g., "firstName" -> fieldId)
449
+ if (fieldId && key) {
450
+ schema.fields[key] = fieldId;
451
+ }
452
+ }
453
+ }
454
+ else if (typeof fields === "object") {
455
+ // Handle object format {fieldId: {label, type, key, ...}}
456
+ for (const [fieldId, fieldData] of Object.entries(fields)) {
457
+ const data = fieldData;
458
+ const label = data.label || data.name;
459
+ const key = data.key;
460
+ if (label) {
461
+ schema.fields[label] = fieldId;
462
+ }
463
+ // Also store by key
464
+ if (key) {
465
+ schema.fields[key] = fieldId;
466
+ }
467
+ }
468
+ }
469
+ }
470
+ catch {
471
+ // Regex fallback for markdown format:
472
+ // **Label**
473
+ // - Field ID: `fieldId`
474
+ // - Key: `key`
475
+ const fieldBlocks = text.split(/\d+\.\s*\*\*/).filter(Boolean);
476
+ for (const block of fieldBlocks) {
477
+ const labelMatch = block.match(/^([^*\n]+)\*\*/);
478
+ const fieldIdMatch = block.match(/Field ID:\s*`([a-f0-9]{24})`/i);
479
+ const keyMatch = block.match(/Key:\s*`(\w+)`/i);
480
+ if (fieldIdMatch) {
481
+ const fieldId = fieldIdMatch[1];
482
+ if (labelMatch) {
483
+ schema.fields[labelMatch[1].trim()] = fieldId;
484
+ }
485
+ if (keyMatch) {
486
+ schema.fields[keyMatch[1]] = fieldId;
487
+ }
488
+ }
489
+ }
490
+ }
491
+ }
492
+ /**
493
+ * Clear cache for a workspace (memory cache only)
494
+ */
495
+ clearCache(workspaceId) {
496
+ if (workspaceId) {
497
+ this.cache.delete(workspaceId);
498
+ this.logger.info("Cleared memory cache", { workspaceId });
499
+ }
500
+ else {
501
+ this.cache.clear();
502
+ this.logger.info("Cleared all memory caches");
503
+ }
504
+ }
505
+ }
506
+ exports.WorkspaceSchemaCacheService = WorkspaceSchemaCacheService;
507
+ //# sourceMappingURL=workspace-schema-cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-schema-cache.js","sourceRoot":"","sources":["../../../../src/agents/shared/services/workspace-schema-cache.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,91 @@
1
+ /**
2
+ * Specialist Daemon
3
+ *
4
+ * A lightweight daemon for specialist bots that only responds when @mentioned.
5
+ * Specialists are invited to discussions by the orchestrator (HAL) to handle
6
+ * specific complex tasks.
7
+ *
8
+ * Key differences from ChatAgentDaemon:
9
+ * - Only responds when @mentioned (not all messages)
10
+ * - Has specialized system prompt from Specialist config
11
+ * - More tool-focused, less conversational
12
+ */
13
+ import { ChatAgentDaemon, ChatAgentDaemonConfig, IncomingMessage } from "./base";
14
+ import { Specialist } from "../hal/definitions";
15
+ import { HailerSignal } from "../../mcp/signal-handler";
16
+ import { ToolInput } from "./types";
17
+ export interface SpecialistDaemonConfig extends ChatAgentDaemonConfig {
18
+ /** The specialist configuration */
19
+ specialist: Specialist;
20
+ }
21
+ export declare class SpecialistDaemon extends ChatAgentDaemon {
22
+ private specialistLogger;
23
+ private specialist;
24
+ private lastResponseTime;
25
+ private minResponseGap;
26
+ constructor(config: SpecialistDaemonConfig);
27
+ /**
28
+ * Override agent name for Agent Directory - uses specialist's configured name
29
+ */
30
+ protected getAgentName(): {
31
+ firstName: string;
32
+ lastName: string;
33
+ };
34
+ /**
35
+ * Override agent description for Agent Directory - uses specialist's expertise
36
+ */
37
+ protected getAgentDescription(): string;
38
+ /**
39
+ * Override Position details for Specialist - uses specialist's expertise
40
+ */
41
+ protected getPositionDetails(): {
42
+ name: string;
43
+ purpose: string;
44
+ personaTone: string;
45
+ coreCapabilities: string;
46
+ boundaries: string;
47
+ };
48
+ /**
49
+ * Specialist gets more tools for complex operations
50
+ */
51
+ protected getToolWhitelist(): string[];
52
+ /**
53
+ * Force compact output for schema tools (avoid verbose field dumps in discussions)
54
+ */
55
+ protected preprocessToolInput(toolName: string, input: ToolInput): ToolInput;
56
+ /**
57
+ * Override to only process messages where we're @mentioned
58
+ */
59
+ protected extractIncomingMessage(signal: HailerSignal): Promise<IncomingMessage | null>;
60
+ /**
61
+ * Check if this specialist is mentioned in the message
62
+ * Supports various mention formats:
63
+ * - @"Specialist Name"
64
+ * - @SpecialistName (no spaces)
65
+ * - Direct user tag [hailerTag|Name](userId)
66
+ */
67
+ private isMentionedInMessage;
68
+ /**
69
+ * Override system prompt with specialist-specific prompt
70
+ */
71
+ protected getSystemPrompt(): string;
72
+ /**
73
+ * Track response time for rate limiting
74
+ */
75
+ protected postResponse(discussionId: string, content: string): Promise<void>;
76
+ /**
77
+ * Get specialist status
78
+ */
79
+ getSpecialistStatus(): {
80
+ name: string;
81
+ expertise: string[];
82
+ conversationState: ReturnType<ChatAgentDaemon["getConversationState"]>;
83
+ lastResponseTime: number;
84
+ };
85
+ /**
86
+ * Trigger specialist to respond in a discussion with specific context
87
+ * Used for proactive responses (e.g., bug detection triggering Giuseppe)
88
+ */
89
+ respondWithContext(discussionId: string, activityId: string, contextMessage: string): Promise<void>;
90
+ }
91
+ //# sourceMappingURL=specialist.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"specialist.d.ts","sourceRoot":"","sources":["../../../src/agents/shared/specialist.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC,MAAM,WAAW,sBAAuB,SAAQ,qBAAqB;IACnE,mCAAmC;IACnC,UAAU,EAAE,UAAU,CAAC;CACxB;AAED,qBAAa,gBAAiB,SAAQ,eAAe;IACnD,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,cAAc,CAAQ;gBAElB,MAAM,EAAE,sBAAsB;IAY1C;;OAEG;IACH,SAAS,CAAC,YAAY,IAAI;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE;IAOjE;;OAEG;IACH,SAAS,CAAC,mBAAmB,IAAI,MAAM;IAIvC;;OAEG;IACH,SAAS,CAAC,kBAAkB,IAAI;QAC9B,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,gBAAgB,EAAE,MAAM,CAAC;QACzB,UAAU,EAAE,MAAM,CAAC;KACpB;IAUD;;OAEG;IACH,SAAS,CAAC,gBAAgB,IAAI,MAAM,EAAE;IA0CtC;;OAEG;cACgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,SAAS;IAOrF;;OAEG;cACa,sBAAsB,CACpC,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAoClC;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB;IAuC5B;;OAEG;IACH,SAAS,CAAC,eAAe,IAAI,MAAM;IAwInC;;OAEG;cACa,YAAY,CAC1B,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC;IAKhB;;OAEG;IACI,mBAAmB,IAAI;QAC5B,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,iBAAiB,EAAE,UAAU,CAAC,eAAe,CAAC,sBAAsB,CAAC,CAAC,CAAC;QACvE,gBAAgB,EAAE,MAAM,CAAC;KAC1B;IASD;;;OAGG;IACU,kBAAkB,CAC7B,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,IAAI,CAAC;CA4DjB"}