@hailer/mcp 1.2.0 → 1.3.9

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 (774) hide show
  1. package/.claude/agents/agent-hailer-helper.md +118 -0
  2. package/.claude/commands/debug-squad.md +13 -290
  3. package/.claude/commands/publish.md +2 -2
  4. package/.claude/commands/review-squad.md +17 -139
  5. package/.claude/skills/create-and-publish-app/SKILL.md +148 -81
  6. package/.claude/skills/hailer-app-builder/SKILL.md +29 -2
  7. package/.claude/skills/hailer-ui-guide/SKILL.md +265 -0
  8. package/.env.example +50 -1
  9. package/CLAUDE.md +141 -10
  10. package/dist/app-prep.d.ts +27 -0
  11. package/dist/app-prep.d.ts.map +1 -0
  12. package/dist/app-prep.js +94 -0
  13. package/dist/app-prep.js.map +1 -0
  14. package/dist/app.d.ts.map +1 -1
  15. package/dist/app.js +3 -0
  16. package/dist/app.js.map +1 -1
  17. package/dist/bot/bot-manager.d.ts +9 -6
  18. package/dist/bot/bot-manager.d.ts.map +1 -1
  19. package/dist/bot/bot-manager.js +142 -31
  20. package/dist/bot/bot-manager.js.map +1 -1
  21. package/dist/bot/bot.d.ts +61 -16
  22. package/dist/bot/bot.d.ts.map +1 -1
  23. package/dist/bot/bot.js +927 -151
  24. package/dist/bot/bot.js.map +1 -1
  25. package/dist/bot/operation-logger.d.ts.map +1 -1
  26. package/dist/bot/operation-logger.js +24 -12
  27. package/dist/bot/operation-logger.js.map +1 -1
  28. package/dist/bot/services/bot-permissions.d.ts +37 -5
  29. package/dist/bot/services/bot-permissions.d.ts.map +1 -1
  30. package/dist/bot/services/bot-permissions.js +159 -35
  31. package/dist/bot/services/bot-permissions.js.map +1 -1
  32. package/dist/bot/services/conversation-manager.d.ts +23 -23
  33. package/dist/bot/services/conversation-manager.d.ts.map +1 -1
  34. package/dist/bot/services/conversation-manager.js +52 -49
  35. package/dist/bot/services/conversation-manager.js.map +1 -1
  36. package/dist/bot/services/helper-prompt.d.ts +8 -0
  37. package/dist/bot/services/helper-prompt.d.ts.map +1 -0
  38. package/dist/bot/services/helper-prompt.js +177 -0
  39. package/dist/bot/services/helper-prompt.js.map +1 -0
  40. package/dist/bot/services/message-classifier.d.ts +16 -16
  41. package/dist/bot/services/message-classifier.d.ts.map +1 -1
  42. package/dist/bot/services/message-classifier.js +55 -49
  43. package/dist/bot/services/message-classifier.js.map +1 -1
  44. package/dist/bot/services/message-formatter.d.ts +47 -38
  45. package/dist/bot/services/message-formatter.d.ts.map +1 -1
  46. package/dist/bot/services/message-formatter.js +99 -80
  47. package/dist/bot/services/message-formatter.js.map +1 -1
  48. package/dist/bot/services/permission-guard.d.ts.map +1 -1
  49. package/dist/bot/services/permission-guard.js +20 -10
  50. package/dist/bot/services/permission-guard.js.map +1 -1
  51. package/dist/bot/services/signal-router.d.ts.map +1 -1
  52. package/dist/bot/services/signal-router.js +11 -6
  53. package/dist/bot/services/signal-router.js.map +1 -1
  54. package/dist/bot/services/system-prompt.d.ts +14 -0
  55. package/dist/bot/services/system-prompt.d.ts.map +1 -1
  56. package/dist/bot/services/system-prompt.js +181 -4
  57. package/dist/bot/services/system-prompt.js.map +1 -1
  58. package/dist/bot/services/token-billing.d.ts +23 -23
  59. package/dist/bot/services/token-billing.d.ts.map +1 -1
  60. package/dist/bot/services/token-billing.js +51 -36
  61. package/dist/bot/services/token-billing.js.map +1 -1
  62. package/dist/bot/services/types.d.ts +3 -1
  63. package/dist/bot/services/types.d.ts.map +1 -1
  64. package/dist/bot/services/typing-indicator.d.ts +8 -8
  65. package/dist/bot/services/typing-indicator.d.ts.map +1 -1
  66. package/dist/bot/services/typing-indicator.js +12 -10
  67. package/dist/bot/services/typing-indicator.js.map +1 -1
  68. package/dist/bot/services/workspace-refresh.d.ts +3 -3
  69. package/dist/bot/services/workspace-refresh.d.ts.map +1 -1
  70. package/dist/bot/services/workspace-refresh.js +23 -13
  71. package/dist/bot/services/workspace-refresh.js.map +1 -1
  72. package/dist/bot/tool-executor.d.ts +10 -6
  73. package/dist/bot/tool-executor.d.ts.map +1 -1
  74. package/dist/bot/tool-executor.js +12 -6
  75. package/dist/bot/tool-executor.js.map +1 -1
  76. package/dist/bot/workspace-overview.d.ts.map +1 -1
  77. package/dist/bot/workspace-overview.js +6 -3
  78. package/dist/bot/workspace-overview.js.map +1 -1
  79. package/dist/bot-config/activity-error.d.ts +47 -0
  80. package/dist/bot-config/activity-error.d.ts.map +1 -0
  81. package/dist/bot-config/activity-error.js +67 -0
  82. package/dist/bot-config/activity-error.js.map +1 -0
  83. package/dist/bot-config/context.d.ts +4 -4
  84. package/dist/bot-config/context.d.ts.map +1 -1
  85. package/dist/bot-config/context.js +18 -14
  86. package/dist/bot-config/context.js.map +1 -1
  87. package/dist/bot-config/events.d.ts +45 -0
  88. package/dist/bot-config/events.d.ts.map +1 -0
  89. package/dist/bot-config/events.js +51 -0
  90. package/dist/bot-config/events.js.map +1 -0
  91. package/dist/bot-config/index.d.ts +3 -0
  92. package/dist/bot-config/index.d.ts.map +1 -1
  93. package/dist/bot-config/index.js +8 -1
  94. package/dist/bot-config/index.js.map +1 -1
  95. package/dist/bot-config/loader.d.ts +3 -0
  96. package/dist/bot-config/loader.d.ts.map +1 -1
  97. package/dist/bot-config/loader.js +45 -20
  98. package/dist/bot-config/loader.js.map +1 -1
  99. package/dist/bot-config/persistence.js.map +1 -1
  100. package/dist/bot-config/reconciler.d.ts +11 -0
  101. package/dist/bot-config/reconciler.d.ts.map +1 -0
  102. package/dist/bot-config/reconciler.js +121 -0
  103. package/dist/bot-config/reconciler.js.map +1 -0
  104. package/dist/bot-config/state.d.ts.map +1 -1
  105. package/dist/bot-config/state.js.map +1 -1
  106. package/dist/bot-config/types.d.ts +32 -0
  107. package/dist/bot-config/types.d.ts.map +1 -1
  108. package/dist/bot-config/webhooks.d.ts.map +1 -1
  109. package/dist/bot-config/webhooks.js.map +1 -1
  110. package/dist/bot-config/workflow-installer.d.ts +37 -0
  111. package/dist/bot-config/workflow-installer.d.ts.map +1 -0
  112. package/dist/bot-config/workflow-installer.js +346 -0
  113. package/dist/bot-config/workflow-installer.js.map +1 -0
  114. package/dist/cli.d.ts +4 -1
  115. package/dist/cli.d.ts.map +1 -1
  116. package/dist/cli.js +92 -11
  117. package/dist/cli.js.map +1 -1
  118. package/dist/config.d.ts +23 -19
  119. package/dist/config.d.ts.map +1 -1
  120. package/dist/config.js +65 -27
  121. package/dist/config.js.map +1 -1
  122. package/dist/core.d.ts +6 -4
  123. package/dist/core.d.ts.map +1 -1
  124. package/dist/core.js +11 -16
  125. package/dist/core.js.map +1 -1
  126. package/dist/lib/logger.d.ts.map +1 -1
  127. package/dist/lib/logger.js +7 -4
  128. package/dist/lib/logger.js.map +1 -1
  129. package/dist/lib/request-logger.d.ts +19 -19
  130. package/dist/lib/request-logger.d.ts.map +1 -1
  131. package/dist/lib/request-logger.js +19 -19
  132. package/dist/lib/request-logger.js.map +1 -1
  133. package/dist/mcp/UserContextCache.d.ts +28 -22
  134. package/dist/mcp/UserContextCache.d.ts.map +1 -1
  135. package/dist/mcp/UserContextCache.js +23 -23
  136. package/dist/mcp/UserContextCache.js.map +1 -1
  137. package/dist/mcp/auth.js.map +1 -1
  138. package/dist/mcp/hailer-clients.d.ts +5 -4
  139. package/dist/mcp/hailer-clients.d.ts.map +1 -1
  140. package/dist/mcp/hailer-clients.js +83 -34
  141. package/dist/mcp/hailer-clients.js.map +1 -1
  142. package/dist/mcp/hailer-rpc.d.ts +40 -0
  143. package/dist/mcp/hailer-rpc.d.ts.map +1 -0
  144. package/dist/mcp/hailer-rpc.js +43 -0
  145. package/dist/mcp/hailer-rpc.js.map +1 -0
  146. package/dist/mcp/publish-auth-injector.d.ts +22 -0
  147. package/dist/mcp/publish-auth-injector.d.ts.map +1 -0
  148. package/dist/mcp/publish-auth-injector.js +100 -0
  149. package/dist/mcp/publish-auth-injector.js.map +1 -0
  150. package/dist/mcp/session-store.d.ts +16 -16
  151. package/dist/mcp/session-store.d.ts.map +1 -1
  152. package/dist/mcp/session-store.js +16 -16
  153. package/dist/mcp/session-store.js.map +1 -1
  154. package/dist/mcp/tool-profiles.d.ts +69 -0
  155. package/dist/mcp/tool-profiles.d.ts.map +1 -0
  156. package/dist/mcp/tool-profiles.js +176 -0
  157. package/dist/mcp/tool-profiles.js.map +1 -0
  158. package/dist/mcp/tool-registry.d.ts +16 -0
  159. package/dist/mcp/tool-registry.d.ts.map +1 -1
  160. package/dist/mcp/tool-registry.js +91 -39
  161. package/dist/mcp/tool-registry.js.map +1 -1
  162. package/dist/mcp/tools/activity.d.ts +2 -0
  163. package/dist/mcp/tools/activity.d.ts.map +1 -1
  164. package/dist/mcp/tools/activity.js +575 -218
  165. package/dist/mcp/tools/activity.js.map +1 -1
  166. package/dist/mcp/tools/aliases.d.ts +11 -0
  167. package/dist/mcp/tools/aliases.d.ts.map +1 -0
  168. package/dist/mcp/tools/aliases.js +182 -0
  169. package/dist/mcp/tools/aliases.js.map +1 -0
  170. package/dist/mcp/tools/app-core.d.ts +6 -8
  171. package/dist/mcp/tools/app-core.d.ts.map +1 -1
  172. package/dist/mcp/tools/app-core.js +355 -254
  173. package/dist/mcp/tools/app-core.js.map +1 -1
  174. package/dist/mcp/tools/app-marketplace.d.ts +8 -16
  175. package/dist/mcp/tools/app-marketplace.d.ts.map +1 -1
  176. package/dist/mcp/tools/app-marketplace.js +604 -932
  177. package/dist/mcp/tools/app-marketplace.js.map +1 -1
  178. package/dist/mcp/tools/app.d.ts +4 -7
  179. package/dist/mcp/tools/app.d.ts.map +1 -1
  180. package/dist/mcp/tools/app.js +4 -7
  181. package/dist/mcp/tools/app.js.map +1 -1
  182. package/dist/mcp/tools/bot-self.d.ts +21 -0
  183. package/dist/mcp/tools/bot-self.d.ts.map +1 -0
  184. package/dist/mcp/tools/bot-self.js +174 -0
  185. package/dist/mcp/tools/bot-self.js.map +1 -0
  186. package/dist/mcp/tools/calendar.d.ts +21 -0
  187. package/dist/mcp/tools/calendar.d.ts.map +1 -0
  188. package/dist/mcp/tools/calendar.js +741 -0
  189. package/dist/mcp/tools/calendar.js.map +1 -0
  190. package/dist/mcp/tools/company.d.ts.map +1 -1
  191. package/dist/mcp/tools/company.js +2 -1
  192. package/dist/mcp/tools/company.js.map +1 -1
  193. package/dist/mcp/tools/date.js.map +1 -1
  194. package/dist/mcp/tools/discussion.d.ts +29 -3
  195. package/dist/mcp/tools/discussion.d.ts.map +1 -1
  196. package/dist/mcp/tools/discussion.js +419 -534
  197. package/dist/mcp/tools/discussion.js.map +1 -1
  198. package/dist/mcp/tools/file.d.ts.map +1 -1
  199. package/dist/mcp/tools/file.js +18 -16
  200. package/dist/mcp/tools/file.js.map +1 -1
  201. package/dist/mcp/tools/index.js +4 -4
  202. package/dist/mcp/tools/index.js.map +1 -1
  203. package/dist/mcp/tools/insight.d.ts +24 -5
  204. package/dist/mcp/tools/insight.d.ts.map +1 -1
  205. package/dist/mcp/tools/insight.js +513 -480
  206. package/dist/mcp/tools/insight.js.map +1 -1
  207. package/dist/mcp/tools/user.d.ts.map +1 -1
  208. package/dist/mcp/tools/user.js +15 -13
  209. package/dist/mcp/tools/user.js.map +1 -1
  210. package/dist/mcp/tools/workflow-permissions.d.ts +2 -4
  211. package/dist/mcp/tools/workflow-permissions.d.ts.map +1 -1
  212. package/dist/mcp/tools/workflow-permissions.js +88 -97
  213. package/dist/mcp/tools/workflow-permissions.js.map +1 -1
  214. package/dist/mcp/tools/workflow.d.ts +9 -7
  215. package/dist/mcp/tools/workflow.d.ts.map +1 -1
  216. package/dist/mcp/tools/workflow.js +852 -860
  217. package/dist/mcp/tools/workflow.js.map +1 -1
  218. package/dist/mcp/utils/api-errors.d.ts.map +1 -1
  219. package/dist/mcp/utils/api-errors.js +2 -2
  220. package/dist/mcp/utils/api-errors.js.map +1 -1
  221. package/dist/mcp/utils/data-transformers.d.ts +0 -3
  222. package/dist/mcp/utils/data-transformers.d.ts.map +1 -1
  223. package/dist/mcp/utils/data-transformers.js +32 -5
  224. package/dist/mcp/utils/data-transformers.js.map +1 -1
  225. package/dist/mcp/utils/file-upload.d.ts.map +1 -1
  226. package/dist/mcp/utils/file-upload.js +1 -1
  227. package/dist/mcp/utils/file-upload.js.map +1 -1
  228. package/dist/mcp/utils/hailer-api-client.d.ts +81 -81
  229. package/dist/mcp/utils/hailer-api-client.d.ts.map +1 -1
  230. package/dist/mcp/utils/hailer-api-client.js +113 -103
  231. package/dist/mcp/utils/hailer-api-client.js.map +1 -1
  232. package/dist/mcp/utils/index.d.ts.map +1 -1
  233. package/dist/mcp/utils/index.js.map +1 -1
  234. package/dist/mcp/utils/logger.d.ts.map +1 -1
  235. package/dist/mcp/utils/logger.js.map +1 -1
  236. package/dist/mcp/utils/response-builder.d.ts.map +1 -1
  237. package/dist/mcp/utils/response-builder.js +8 -4
  238. package/dist/mcp/utils/response-builder.js.map +1 -1
  239. package/dist/mcp/utils/role-utils.d.ts.map +1 -1
  240. package/dist/mcp/utils/role-utils.js +6 -3
  241. package/dist/mcp/utils/role-utils.js.map +1 -1
  242. package/dist/mcp/utils/tool-helpers.d.ts.map +1 -1
  243. package/dist/mcp/utils/tool-helpers.js +2 -2
  244. package/dist/mcp/utils/tool-helpers.js.map +1 -1
  245. package/dist/mcp/utils/types.d.ts +2 -1
  246. package/dist/mcp/utils/types.d.ts.map +1 -1
  247. package/dist/mcp/utils/types.js.map +1 -1
  248. package/dist/mcp/webhook-handler.d.ts +43 -8
  249. package/dist/mcp/webhook-handler.d.ts.map +1 -1
  250. package/dist/mcp/webhook-handler.js +861 -116
  251. package/dist/mcp/webhook-handler.js.map +1 -1
  252. package/dist/mcp/workspace-admin-store.d.ts +49 -0
  253. package/dist/mcp/workspace-admin-store.d.ts.map +1 -0
  254. package/dist/mcp/workspace-admin-store.js +168 -0
  255. package/dist/mcp/workspace-admin-store.js.map +1 -0
  256. package/dist/mcp/workspace-cache.d.ts +2 -2
  257. package/dist/mcp/workspace-cache.d.ts.map +1 -1
  258. package/dist/mcp/workspace-cache.js +9 -5
  259. package/dist/mcp/workspace-cache.js.map +1 -1
  260. package/dist/mcp-server.d.ts +26 -11
  261. package/dist/mcp-server.d.ts.map +1 -1
  262. package/dist/mcp-server.js +367 -48
  263. package/dist/mcp-server.js.map +1 -1
  264. package/dist/plugins/vipunen/client.d.ts +41 -41
  265. package/dist/plugins/vipunen/client.d.ts.map +1 -1
  266. package/dist/plugins/vipunen/client.js +53 -48
  267. package/dist/plugins/vipunen/client.js.map +1 -1
  268. package/dist/plugins/vipunen/index.js.map +1 -1
  269. package/dist/plugins/vipunen/tools.d.ts.map +1 -1
  270. package/dist/plugins/vipunen/tools.js +6 -3
  271. package/dist/plugins/vipunen/tools.js.map +1 -1
  272. package/dist/public-chat/graduate.d.ts +29 -0
  273. package/dist/public-chat/graduate.d.ts.map +1 -0
  274. package/dist/public-chat/graduate.js +593 -0
  275. package/dist/public-chat/graduate.js.map +1 -0
  276. package/dist/public-chat/handler.d.ts +12 -0
  277. package/dist/public-chat/handler.d.ts.map +1 -0
  278. package/dist/public-chat/handler.js +183 -0
  279. package/dist/public-chat/handler.js.map +1 -0
  280. package/dist/public-chat/index.d.ts +16 -0
  281. package/dist/public-chat/index.d.ts.map +1 -0
  282. package/dist/public-chat/index.js +74 -0
  283. package/dist/public-chat/index.js.map +1 -0
  284. package/dist/public-chat/knowledge.d.ts +3 -0
  285. package/dist/public-chat/knowledge.d.ts.map +1 -0
  286. package/dist/public-chat/knowledge.js +1340 -0
  287. package/dist/public-chat/knowledge.js.map +1 -0
  288. package/dist/public-chat/rate-limit.d.ts +16 -0
  289. package/dist/public-chat/rate-limit.d.ts.map +1 -0
  290. package/dist/public-chat/rate-limit.js +51 -0
  291. package/dist/public-chat/rate-limit.js.map +1 -0
  292. package/dist/public-chat/session-store.d.ts +41 -0
  293. package/dist/public-chat/session-store.d.ts.map +1 -0
  294. package/dist/public-chat/session-store.js +95 -0
  295. package/dist/public-chat/session-store.js.map +1 -0
  296. package/dist/public-chat/studio-prewarm.d.ts +61 -0
  297. package/dist/public-chat/studio-prewarm.d.ts.map +1 -0
  298. package/dist/public-chat/studio-prewarm.js +162 -0
  299. package/dist/public-chat/studio-prewarm.js.map +1 -0
  300. package/dist/public-chat/system-prompt.d.ts +22 -0
  301. package/dist/public-chat/system-prompt.d.ts.map +1 -0
  302. package/dist/public-chat/system-prompt.js +435 -0
  303. package/dist/public-chat/system-prompt.js.map +1 -0
  304. package/package.json +15 -7
  305. package/scripts/build-public-chat-knowledge.py +101 -0
  306. package/scripts/smoke-public-chat-live.ts +148 -0
  307. package/scripts/smoke-public-chat.ts +110 -0
  308. package/.claude/CLAUDE.md +0 -126
  309. package/.claude/commands/app-squad.md +0 -131
  310. package/.claude/commands/audit-squad.md +0 -158
  311. package/.claude/commands/cleanup-squad.md +0 -98
  312. package/.claude/commands/config-squad.md +0 -106
  313. package/.claude/commands/crud-squad.md +0 -87
  314. package/.claude/commands/data-squad.md +0 -97
  315. package/.claude/commands/doc-squad.md +0 -65
  316. package/.claude/commands/help.md +0 -29
  317. package/.claude/commands/help:agents.md +0 -182
  318. package/.claude/commands/help:commands.md +0 -78
  319. package/.claude/commands/help:faq.md +0 -79
  320. package/.claude/commands/help:plugins.md +0 -50
  321. package/.claude/commands/help:skills.md +0 -87
  322. package/.claude/commands/help:tools.md +0 -75
  323. package/.claude/commands/hotfix-squad.md +0 -112
  324. package/.claude/commands/integration-squad.md +0 -82
  325. package/.claude/commands/janitor-squad.md +0 -167
  326. package/.claude/commands/onboard-squad.md +0 -130
  327. package/.claude/commands/swarm.md +0 -210
  328. package/.claude/commands/tool-builder.md +0 -39
  329. package/.claude/skills/publish-hailer-app/SKILL.md +0 -280
  330. package/dist/CLAUDE.md +0 -370
  331. package/dist/agents/bot-manager.d.ts +0 -48
  332. package/dist/agents/bot-manager.d.ts.map +0 -1
  333. package/dist/agents/bot-manager.js +0 -254
  334. package/dist/agents/bot-manager.js.map +0 -1
  335. package/dist/agents/bug-fixer/ai.d.ts +0 -80
  336. package/dist/agents/bug-fixer/ai.d.ts.map +0 -1
  337. package/dist/agents/bug-fixer/ai.js +0 -466
  338. package/dist/agents/bug-fixer/ai.js.map +0 -1
  339. package/dist/agents/bug-fixer/bot.d.ts +0 -92
  340. package/dist/agents/bug-fixer/bot.d.ts.map +0 -1
  341. package/dist/agents/bug-fixer/bot.js +0 -687
  342. package/dist/agents/bug-fixer/bot.js.map +0 -1
  343. package/dist/agents/bug-fixer/config.d.ts +0 -21
  344. package/dist/agents/bug-fixer/config.d.ts.map +0 -1
  345. package/dist/agents/bug-fixer/config.js +0 -218
  346. package/dist/agents/bug-fixer/config.js.map +0 -1
  347. package/dist/agents/bug-fixer/files.d.ts +0 -67
  348. package/dist/agents/bug-fixer/files.d.ts.map +0 -1
  349. package/dist/agents/bug-fixer/files.js +0 -386
  350. package/dist/agents/bug-fixer/files.js.map +0 -1
  351. package/dist/agents/bug-fixer/git.d.ts +0 -48
  352. package/dist/agents/bug-fixer/git.d.ts.map +0 -1
  353. package/dist/agents/bug-fixer/git.js +0 -298
  354. package/dist/agents/bug-fixer/git.js.map +0 -1
  355. package/dist/agents/bug-fixer/index.d.ts +0 -103
  356. package/dist/agents/bug-fixer/index.d.ts.map +0 -1
  357. package/dist/agents/bug-fixer/index.js +0 -262
  358. package/dist/agents/bug-fixer/index.js.map +0 -1
  359. package/dist/agents/bug-fixer/lsp.d.ts +0 -113
  360. package/dist/agents/bug-fixer/lsp.d.ts.map +0 -1
  361. package/dist/agents/bug-fixer/lsp.js +0 -485
  362. package/dist/agents/bug-fixer/lsp.js.map +0 -1
  363. package/dist/agents/bug-fixer/monitor.d.ts +0 -123
  364. package/dist/agents/bug-fixer/monitor.d.ts.map +0 -1
  365. package/dist/agents/bug-fixer/monitor.js +0 -629
  366. package/dist/agents/bug-fixer/monitor.js.map +0 -1
  367. package/dist/agents/bug-fixer/prompt.d.ts +0 -5
  368. package/dist/agents/bug-fixer/prompt.d.ts.map +0 -1
  369. package/dist/agents/bug-fixer/prompt.js +0 -94
  370. package/dist/agents/bug-fixer/prompt.js.map +0 -1
  371. package/dist/agents/bug-fixer/registries/pending-classification.d.ts +0 -28
  372. package/dist/agents/bug-fixer/registries/pending-classification.d.ts.map +0 -1
  373. package/dist/agents/bug-fixer/registries/pending-classification.js +0 -50
  374. package/dist/agents/bug-fixer/registries/pending-classification.js.map +0 -1
  375. package/dist/agents/bug-fixer/registries/pending-fix.d.ts +0 -33
  376. package/dist/agents/bug-fixer/registries/pending-fix.d.ts.map +0 -1
  377. package/dist/agents/bug-fixer/registries/pending-fix.js +0 -64
  378. package/dist/agents/bug-fixer/registries/pending-fix.js.map +0 -1
  379. package/dist/agents/bug-fixer/registries/pending.d.ts +0 -27
  380. package/dist/agents/bug-fixer/registries/pending.d.ts.map +0 -1
  381. package/dist/agents/bug-fixer/registries/pending.js +0 -49
  382. package/dist/agents/bug-fixer/registries/pending.js.map +0 -1
  383. package/dist/agents/bug-fixer/specialist-daemon.d.ts +0 -88
  384. package/dist/agents/bug-fixer/specialist-daemon.d.ts.map +0 -1
  385. package/dist/agents/bug-fixer/specialist-daemon.js +0 -431
  386. package/dist/agents/bug-fixer/specialist-daemon.js.map +0 -1
  387. package/dist/agents/bug-fixer/specialist.d.ts +0 -47
  388. package/dist/agents/bug-fixer/specialist.d.ts.map +0 -1
  389. package/dist/agents/bug-fixer/specialist.js +0 -327
  390. package/dist/agents/bug-fixer/specialist.js.map +0 -1
  391. package/dist/agents/bug-fixer/types.d.ts +0 -123
  392. package/dist/agents/bug-fixer/types.d.ts.map +0 -1
  393. package/dist/agents/bug-fixer/types.js +0 -9
  394. package/dist/agents/bug-fixer/types.js.map +0 -1
  395. package/dist/agents/factory.d.ts +0 -172
  396. package/dist/agents/factory.d.ts.map +0 -1
  397. package/dist/agents/factory.js +0 -706
  398. package/dist/agents/factory.js.map +0 -1
  399. package/dist/agents/hailer-expert/index.d.ts +0 -8
  400. package/dist/agents/hailer-expert/index.d.ts.map +0 -1
  401. package/dist/agents/hailer-expert/index.js +0 -14
  402. package/dist/agents/hailer-expert/index.js.map +0 -1
  403. package/dist/agents/hal/daemon.d.ts +0 -174
  404. package/dist/agents/hal/daemon.d.ts.map +0 -1
  405. package/dist/agents/hal/daemon.js +0 -1385
  406. package/dist/agents/hal/daemon.js.map +0 -1
  407. package/dist/agents/hal/definitions.d.ts +0 -42
  408. package/dist/agents/hal/definitions.d.ts.map +0 -1
  409. package/dist/agents/hal/definitions.js +0 -300
  410. package/dist/agents/hal/definitions.js.map +0 -1
  411. package/dist/agents/hal/index.d.ts +0 -3
  412. package/dist/agents/hal/index.d.ts.map +0 -1
  413. package/dist/agents/hal/index.js +0 -8
  414. package/dist/agents/hal/index.js.map +0 -1
  415. package/dist/agents/index.d.ts +0 -18
  416. package/dist/agents/index.d.ts.map +0 -1
  417. package/dist/agents/index.js +0 -48
  418. package/dist/agents/index.js.map +0 -1
  419. package/dist/agents/shared/base.d.ts +0 -253
  420. package/dist/agents/shared/base.d.ts.map +0 -1
  421. package/dist/agents/shared/base.js +0 -1122
  422. package/dist/agents/shared/base.js.map +0 -1
  423. package/dist/agents/shared/schemas/action-schema.d.ts +0 -62
  424. package/dist/agents/shared/schemas/action-schema.d.ts.map +0 -1
  425. package/dist/agents/shared/schemas/action-schema.js +0 -483
  426. package/dist/agents/shared/schemas/action-schema.js.map +0 -1
  427. package/dist/agents/shared/services/agent-registry.d.ts +0 -108
  428. package/dist/agents/shared/services/agent-registry.d.ts.map +0 -1
  429. package/dist/agents/shared/services/agent-registry.js +0 -469
  430. package/dist/agents/shared/services/agent-registry.js.map +0 -1
  431. package/dist/agents/shared/services/conversation-manager.d.ts +0 -57
  432. package/dist/agents/shared/services/conversation-manager.d.ts.map +0 -1
  433. package/dist/agents/shared/services/conversation-manager.js +0 -168
  434. package/dist/agents/shared/services/conversation-manager.js.map +0 -1
  435. package/dist/agents/shared/services/mcp-client.d.ts +0 -56
  436. package/dist/agents/shared/services/mcp-client.d.ts.map +0 -1
  437. package/dist/agents/shared/services/mcp-client.js +0 -124
  438. package/dist/agents/shared/services/mcp-client.js.map +0 -1
  439. package/dist/agents/shared/services/message-classifier.d.ts +0 -37
  440. package/dist/agents/shared/services/message-classifier.d.ts.map +0 -1
  441. package/dist/agents/shared/services/message-classifier.js +0 -203
  442. package/dist/agents/shared/services/message-classifier.js.map +0 -1
  443. package/dist/agents/shared/services/message-formatter.d.ts +0 -89
  444. package/dist/agents/shared/services/message-formatter.d.ts.map +0 -1
  445. package/dist/agents/shared/services/message-formatter.js +0 -390
  446. package/dist/agents/shared/services/message-formatter.js.map +0 -1
  447. package/dist/agents/shared/services/session-logger.d.ts +0 -162
  448. package/dist/agents/shared/services/session-logger.d.ts.map +0 -1
  449. package/dist/agents/shared/services/session-logger.js +0 -724
  450. package/dist/agents/shared/services/session-logger.js.map +0 -1
  451. package/dist/agents/shared/services/structured-output-executor.d.ts +0 -88
  452. package/dist/agents/shared/services/structured-output-executor.d.ts.map +0 -1
  453. package/dist/agents/shared/services/structured-output-executor.js +0 -296
  454. package/dist/agents/shared/services/structured-output-executor.js.map +0 -1
  455. package/dist/agents/shared/services/token-billing.d.ts +0 -72
  456. package/dist/agents/shared/services/token-billing.d.ts.map +0 -1
  457. package/dist/agents/shared/services/token-billing.js +0 -198
  458. package/dist/agents/shared/services/token-billing.js.map +0 -1
  459. package/dist/agents/shared/services/tool-executor.d.ts +0 -43
  460. package/dist/agents/shared/services/tool-executor.d.ts.map +0 -1
  461. package/dist/agents/shared/services/tool-executor.js +0 -175
  462. package/dist/agents/shared/services/tool-executor.js.map +0 -1
  463. package/dist/agents/shared/services/typing-indicator.d.ts +0 -24
  464. package/dist/agents/shared/services/typing-indicator.d.ts.map +0 -1
  465. package/dist/agents/shared/services/typing-indicator.js +0 -54
  466. package/dist/agents/shared/services/typing-indicator.js.map +0 -1
  467. package/dist/agents/shared/services/workspace-schema-cache.d.ts +0 -122
  468. package/dist/agents/shared/services/workspace-schema-cache.d.ts.map +0 -1
  469. package/dist/agents/shared/services/workspace-schema-cache.js +0 -507
  470. package/dist/agents/shared/services/workspace-schema-cache.js.map +0 -1
  471. package/dist/agents/shared/specialist.d.ts +0 -91
  472. package/dist/agents/shared/specialist.d.ts.map +0 -1
  473. package/dist/agents/shared/specialist.js +0 -399
  474. package/dist/agents/shared/specialist.js.map +0 -1
  475. package/dist/agents/shared/tool-schema-loader.d.ts +0 -65
  476. package/dist/agents/shared/tool-schema-loader.d.ts.map +0 -1
  477. package/dist/agents/shared/tool-schema-loader.js +0 -238
  478. package/dist/agents/shared/tool-schema-loader.js.map +0 -1
  479. package/dist/agents/shared/types.d.ts +0 -190
  480. package/dist/agents/shared/types.d.ts.map +0 -1
  481. package/dist/agents/shared/types.js +0 -13
  482. package/dist/agents/shared/types.js.map +0 -1
  483. package/dist/bot/bot-config.d.ts +0 -37
  484. package/dist/bot/bot-config.d.ts.map +0 -1
  485. package/dist/bot/bot-config.js +0 -219
  486. package/dist/bot/bot-config.js.map +0 -1
  487. package/dist/bot/services/__tests__/permission-guard.test.d.ts +0 -2
  488. package/dist/bot/services/__tests__/permission-guard.test.d.ts.map +0 -1
  489. package/dist/bot/services/__tests__/permission-guard.test.js +0 -357
  490. package/dist/bot/services/__tests__/permission-guard.test.js.map +0 -1
  491. package/dist/bot/services/session-logger.d.ts +0 -162
  492. package/dist/bot/services/session-logger.d.ts.map +0 -1
  493. package/dist/bot/services/session-logger.js +0 -724
  494. package/dist/bot/services/session-logger.js.map +0 -1
  495. package/dist/bot/services/workspace-schema-cache.d.ts +0 -122
  496. package/dist/bot/services/workspace-schema-cache.d.ts.map +0 -1
  497. package/dist/bot/services/workspace-schema-cache.js +0 -506
  498. package/dist/bot/services/workspace-schema-cache.js.map +0 -1
  499. package/dist/bot-config/tools.d.ts +0 -28
  500. package/dist/bot-config/tools.d.ts.map +0 -1
  501. package/dist/bot-config/tools.js +0 -279
  502. package/dist/bot-config/tools.js.map +0 -1
  503. package/dist/client/agents/base.d.ts +0 -207
  504. package/dist/client/agents/base.d.ts.map +0 -1
  505. package/dist/client/agents/base.js +0 -744
  506. package/dist/client/agents/base.js.map +0 -1
  507. package/dist/client/agents/definitions.d.ts +0 -53
  508. package/dist/client/agents/definitions.d.ts.map +0 -1
  509. package/dist/client/agents/definitions.js +0 -263
  510. package/dist/client/agents/definitions.js.map +0 -1
  511. package/dist/client/agents/orchestrator.d.ts +0 -141
  512. package/dist/client/agents/orchestrator.d.ts.map +0 -1
  513. package/dist/client/agents/orchestrator.js +0 -1062
  514. package/dist/client/agents/orchestrator.js.map +0 -1
  515. package/dist/client/agents/specialist.d.ts +0 -86
  516. package/dist/client/agents/specialist.d.ts.map +0 -1
  517. package/dist/client/agents/specialist.js +0 -340
  518. package/dist/client/agents/specialist.js.map +0 -1
  519. package/dist/client/bot-entrypoint.d.ts +0 -7
  520. package/dist/client/bot-entrypoint.d.ts.map +0 -1
  521. package/dist/client/bot-entrypoint.js +0 -103
  522. package/dist/client/bot-entrypoint.js.map +0 -1
  523. package/dist/client/bot-manager.d.ts +0 -44
  524. package/dist/client/bot-manager.d.ts.map +0 -1
  525. package/dist/client/bot-manager.js +0 -173
  526. package/dist/client/bot-manager.js.map +0 -1
  527. package/dist/client/bot-runner.d.ts +0 -35
  528. package/dist/client/bot-runner.d.ts.map +0 -1
  529. package/dist/client/bot-runner.js +0 -188
  530. package/dist/client/bot-runner.js.map +0 -1
  531. package/dist/client/chat-agent-daemon.d.ts +0 -464
  532. package/dist/client/chat-agent-daemon.d.ts.map +0 -1
  533. package/dist/client/chat-agent-daemon.js +0 -1774
  534. package/dist/client/chat-agent-daemon.js.map +0 -1
  535. package/dist/client/daemon-factory.d.ts +0 -106
  536. package/dist/client/daemon-factory.d.ts.map +0 -1
  537. package/dist/client/daemon-factory.js +0 -301
  538. package/dist/client/daemon-factory.js.map +0 -1
  539. package/dist/client/factory.d.ts +0 -111
  540. package/dist/client/factory.d.ts.map +0 -1
  541. package/dist/client/factory.js +0 -314
  542. package/dist/client/factory.js.map +0 -1
  543. package/dist/client/index.d.ts +0 -17
  544. package/dist/client/index.d.ts.map +0 -1
  545. package/dist/client/index.js +0 -38
  546. package/dist/client/index.js.map +0 -1
  547. package/dist/client/multi-bot-manager.d.ts +0 -42
  548. package/dist/client/multi-bot-manager.d.ts.map +0 -1
  549. package/dist/client/multi-bot-manager.js +0 -161
  550. package/dist/client/multi-bot-manager.js.map +0 -1
  551. package/dist/client/orchestrator-daemon.d.ts +0 -87
  552. package/dist/client/orchestrator-daemon.d.ts.map +0 -1
  553. package/dist/client/orchestrator-daemon.js +0 -444
  554. package/dist/client/orchestrator-daemon.js.map +0 -1
  555. package/dist/client/server.d.ts +0 -8
  556. package/dist/client/server.d.ts.map +0 -1
  557. package/dist/client/server.js +0 -251
  558. package/dist/client/server.js.map +0 -1
  559. package/dist/client/services/agent-registry.d.ts +0 -108
  560. package/dist/client/services/agent-registry.d.ts.map +0 -1
  561. package/dist/client/services/agent-registry.js +0 -630
  562. package/dist/client/services/agent-registry.js.map +0 -1
  563. package/dist/client/services/conversation-manager.d.ts +0 -50
  564. package/dist/client/services/conversation-manager.d.ts.map +0 -1
  565. package/dist/client/services/conversation-manager.js +0 -136
  566. package/dist/client/services/conversation-manager.js.map +0 -1
  567. package/dist/client/services/mcp-client.d.ts +0 -48
  568. package/dist/client/services/mcp-client.d.ts.map +0 -1
  569. package/dist/client/services/mcp-client.js +0 -105
  570. package/dist/client/services/mcp-client.js.map +0 -1
  571. package/dist/client/services/message-classifier.d.ts +0 -37
  572. package/dist/client/services/message-classifier.d.ts.map +0 -1
  573. package/dist/client/services/message-classifier.js +0 -187
  574. package/dist/client/services/message-classifier.js.map +0 -1
  575. package/dist/client/services/message-formatter.d.ts +0 -84
  576. package/dist/client/services/message-formatter.d.ts.map +0 -1
  577. package/dist/client/services/message-formatter.js +0 -353
  578. package/dist/client/services/message-formatter.js.map +0 -1
  579. package/dist/client/services/session-logger.d.ts +0 -106
  580. package/dist/client/services/session-logger.d.ts.map +0 -1
  581. package/dist/client/services/session-logger.js +0 -446
  582. package/dist/client/services/session-logger.js.map +0 -1
  583. package/dist/client/services/tool-executor.d.ts +0 -41
  584. package/dist/client/services/tool-executor.d.ts.map +0 -1
  585. package/dist/client/services/tool-executor.js +0 -169
  586. package/dist/client/services/tool-executor.js.map +0 -1
  587. package/dist/client/services/workspace-schema-cache.d.ts +0 -149
  588. package/dist/client/services/workspace-schema-cache.d.ts.map +0 -1
  589. package/dist/client/services/workspace-schema-cache.js +0 -732
  590. package/dist/client/services/workspace-schema-cache.js.map +0 -1
  591. package/dist/client/specialist-daemon.d.ts +0 -77
  592. package/dist/client/specialist-daemon.d.ts.map +0 -1
  593. package/dist/client/specialist-daemon.js +0 -197
  594. package/dist/client/specialist-daemon.js.map +0 -1
  595. package/dist/client/specialists.d.ts +0 -53
  596. package/dist/client/specialists.d.ts.map +0 -1
  597. package/dist/client/specialists.js +0 -178
  598. package/dist/client/specialists.js.map +0 -1
  599. package/dist/client/tool-schema-loader.d.ts +0 -62
  600. package/dist/client/tool-schema-loader.d.ts.map +0 -1
  601. package/dist/client/tool-schema-loader.js +0 -232
  602. package/dist/client/tool-schema-loader.js.map +0 -1
  603. package/dist/client/types.d.ts +0 -327
  604. package/dist/client/types.d.ts.map +0 -1
  605. package/dist/client/types.js +0 -121
  606. package/dist/client/types.js.map +0 -1
  607. package/dist/commands/seed-config.d.ts +0 -9
  608. package/dist/commands/seed-config.d.ts.map +0 -1
  609. package/dist/commands/seed-config.js +0 -377
  610. package/dist/commands/seed-config.js.map +0 -1
  611. package/dist/commands/setup.d.ts +0 -11
  612. package/dist/commands/setup.d.ts.map +0 -1
  613. package/dist/commands/setup.js +0 -320
  614. package/dist/commands/setup.js.map +0 -1
  615. package/dist/lib/discussion-lock.d.ts +0 -42
  616. package/dist/lib/discussion-lock.d.ts.map +0 -1
  617. package/dist/lib/discussion-lock.js +0 -110
  618. package/dist/lib/discussion-lock.js.map +0 -1
  619. package/dist/mcp/signal-handler.d.ts +0 -82
  620. package/dist/mcp/signal-handler.d.ts.map +0 -1
  621. package/dist/mcp/signal-handler.js +0 -406
  622. package/dist/mcp/signal-handler.js.map +0 -1
  623. package/dist/mcp/tools/__tests__/discussion-forward.test.d.ts +0 -2
  624. package/dist/mcp/tools/__tests__/discussion-forward.test.d.ts.map +0 -1
  625. package/dist/mcp/tools/__tests__/discussion-forward.test.js +0 -218
  626. package/dist/mcp/tools/__tests__/discussion-forward.test.js.map +0 -1
  627. package/dist/mcp/tools/app-member.d.ts +0 -14
  628. package/dist/mcp/tools/app-member.d.ts.map +0 -1
  629. package/dist/mcp/tools/app-member.js +0 -195
  630. package/dist/mcp/tools/app-member.js.map +0 -1
  631. package/dist/mcp/tools/app-scaffold.d.ts +0 -14
  632. package/dist/mcp/tools/app-scaffold.d.ts.map +0 -1
  633. package/dist/mcp/tools/app-scaffold.js +0 -581
  634. package/dist/mcp/tools/app-scaffold.js.map +0 -1
  635. package/dist/mcp/tools/bot-config/constants.d.ts +0 -23
  636. package/dist/mcp/tools/bot-config/constants.d.ts.map +0 -1
  637. package/dist/mcp/tools/bot-config/constants.js +0 -94
  638. package/dist/mcp/tools/bot-config/constants.js.map +0 -1
  639. package/dist/mcp/tools/bot-config/core.d.ts +0 -253
  640. package/dist/mcp/tools/bot-config/core.d.ts.map +0 -1
  641. package/dist/mcp/tools/bot-config/core.js +0 -2456
  642. package/dist/mcp/tools/bot-config/core.js.map +0 -1
  643. package/dist/mcp/tools/bot-config/index.d.ts +0 -10
  644. package/dist/mcp/tools/bot-config/index.d.ts.map +0 -1
  645. package/dist/mcp/tools/bot-config/index.js +0 -59
  646. package/dist/mcp/tools/bot-config/index.js.map +0 -1
  647. package/dist/mcp/tools/bot-config/tools.d.ts +0 -7
  648. package/dist/mcp/tools/bot-config/tools.d.ts.map +0 -1
  649. package/dist/mcp/tools/bot-config/tools.js +0 -15
  650. package/dist/mcp/tools/bot-config/tools.js.map +0 -1
  651. package/dist/mcp/tools/bot-config/types.d.ts +0 -50
  652. package/dist/mcp/tools/bot-config/types.d.ts.map +0 -1
  653. package/dist/mcp/tools/bot-config/types.js +0 -6
  654. package/dist/mcp/tools/bot-config/types.js.map +0 -1
  655. package/dist/mcp/tools/bug-fixer-tools.d.ts +0 -45
  656. package/dist/mcp/tools/bug-fixer-tools.d.ts.map +0 -1
  657. package/dist/mcp/tools/bug-fixer-tools.js +0 -1096
  658. package/dist/mcp/tools/bug-fixer-tools.js.map +0 -1
  659. package/dist/mcp/tools/document.d.ts +0 -11
  660. package/dist/mcp/tools/document.d.ts.map +0 -1
  661. package/dist/mcp/tools/document.js +0 -741
  662. package/dist/mcp/tools/document.js.map +0 -1
  663. package/dist/mcp/tools/investigate.d.ts +0 -9
  664. package/dist/mcp/tools/investigate.d.ts.map +0 -1
  665. package/dist/mcp/tools/investigate.js +0 -254
  666. package/dist/mcp/tools/investigate.js.map +0 -1
  667. package/dist/mcp/utils/pagination.d.ts +0 -40
  668. package/dist/mcp/utils/pagination.d.ts.map +0 -1
  669. package/dist/mcp/utils/pagination.js +0 -55
  670. package/dist/mcp/utils/pagination.js.map +0 -1
  671. package/dist/modules/bug-reports/bug-config.d.ts +0 -25
  672. package/dist/modules/bug-reports/bug-config.d.ts.map +0 -1
  673. package/dist/modules/bug-reports/bug-config.js +0 -187
  674. package/dist/modules/bug-reports/bug-config.js.map +0 -1
  675. package/dist/modules/bug-reports/bug-monitor.d.ts +0 -108
  676. package/dist/modules/bug-reports/bug-monitor.d.ts.map +0 -1
  677. package/dist/modules/bug-reports/bug-monitor.js +0 -510
  678. package/dist/modules/bug-reports/bug-monitor.js.map +0 -1
  679. package/dist/modules/bug-reports/giuseppe-agent.d.ts +0 -58
  680. package/dist/modules/bug-reports/giuseppe-agent.d.ts.map +0 -1
  681. package/dist/modules/bug-reports/giuseppe-agent.js +0 -467
  682. package/dist/modules/bug-reports/giuseppe-agent.js.map +0 -1
  683. package/dist/modules/bug-reports/giuseppe-ai.d.ts +0 -83
  684. package/dist/modules/bug-reports/giuseppe-ai.d.ts.map +0 -1
  685. package/dist/modules/bug-reports/giuseppe-ai.js +0 -466
  686. package/dist/modules/bug-reports/giuseppe-ai.js.map +0 -1
  687. package/dist/modules/bug-reports/giuseppe-bot.d.ts +0 -110
  688. package/dist/modules/bug-reports/giuseppe-bot.d.ts.map +0 -1
  689. package/dist/modules/bug-reports/giuseppe-bot.js +0 -804
  690. package/dist/modules/bug-reports/giuseppe-bot.js.map +0 -1
  691. package/dist/modules/bug-reports/giuseppe-daemon.d.ts +0 -80
  692. package/dist/modules/bug-reports/giuseppe-daemon.d.ts.map +0 -1
  693. package/dist/modules/bug-reports/giuseppe-daemon.js +0 -617
  694. package/dist/modules/bug-reports/giuseppe-daemon.js.map +0 -1
  695. package/dist/modules/bug-reports/giuseppe-files.d.ts +0 -64
  696. package/dist/modules/bug-reports/giuseppe-files.d.ts.map +0 -1
  697. package/dist/modules/bug-reports/giuseppe-files.js +0 -375
  698. package/dist/modules/bug-reports/giuseppe-files.js.map +0 -1
  699. package/dist/modules/bug-reports/giuseppe-git.d.ts +0 -48
  700. package/dist/modules/bug-reports/giuseppe-git.d.ts.map +0 -1
  701. package/dist/modules/bug-reports/giuseppe-git.js +0 -298
  702. package/dist/modules/bug-reports/giuseppe-git.js.map +0 -1
  703. package/dist/modules/bug-reports/giuseppe-lsp.d.ts +0 -113
  704. package/dist/modules/bug-reports/giuseppe-lsp.d.ts.map +0 -1
  705. package/dist/modules/bug-reports/giuseppe-lsp.js +0 -485
  706. package/dist/modules/bug-reports/giuseppe-lsp.js.map +0 -1
  707. package/dist/modules/bug-reports/giuseppe-prompt.d.ts +0 -5
  708. package/dist/modules/bug-reports/giuseppe-prompt.d.ts.map +0 -1
  709. package/dist/modules/bug-reports/giuseppe-prompt.js +0 -94
  710. package/dist/modules/bug-reports/giuseppe-prompt.js.map +0 -1
  711. package/dist/modules/bug-reports/index.d.ts +0 -77
  712. package/dist/modules/bug-reports/index.d.ts.map +0 -1
  713. package/dist/modules/bug-reports/index.js +0 -215
  714. package/dist/modules/bug-reports/index.js.map +0 -1
  715. package/dist/modules/bug-reports/pending-classification-registry.d.ts +0 -28
  716. package/dist/modules/bug-reports/pending-classification-registry.d.ts.map +0 -1
  717. package/dist/modules/bug-reports/pending-classification-registry.js +0 -50
  718. package/dist/modules/bug-reports/pending-classification-registry.js.map +0 -1
  719. package/dist/modules/bug-reports/pending-fix-registry.d.ts +0 -30
  720. package/dist/modules/bug-reports/pending-fix-registry.d.ts.map +0 -1
  721. package/dist/modules/bug-reports/pending-fix-registry.js +0 -42
  722. package/dist/modules/bug-reports/pending-fix-registry.js.map +0 -1
  723. package/dist/modules/bug-reports/pending-registry.d.ts +0 -27
  724. package/dist/modules/bug-reports/pending-registry.d.ts.map +0 -1
  725. package/dist/modules/bug-reports/pending-registry.js +0 -49
  726. package/dist/modules/bug-reports/pending-registry.js.map +0 -1
  727. package/dist/modules/bug-reports/types.d.ts +0 -123
  728. package/dist/modules/bug-reports/types.d.ts.map +0 -1
  729. package/dist/modules/bug-reports/types.js +0 -9
  730. package/dist/modules/bug-reports/types.js.map +0 -1
  731. package/dist/plugins/bug-fixer/index.d.ts +0 -2
  732. package/dist/plugins/bug-fixer/index.d.ts.map +0 -1
  733. package/dist/plugins/bug-fixer/index.js +0 -18
  734. package/dist/plugins/bug-fixer/index.js.map +0 -1
  735. package/dist/plugins/bug-fixer/tools.d.ts +0 -45
  736. package/dist/plugins/bug-fixer/tools.d.ts.map +0 -1
  737. package/dist/plugins/bug-fixer/tools.js +0 -1096
  738. package/dist/plugins/bug-fixer/tools.js.map +0 -1
  739. package/dist/plugins/vipunen/__tests__/tools.test.d.ts +0 -10
  740. package/dist/plugins/vipunen/__tests__/tools.test.d.ts.map +0 -1
  741. package/dist/plugins/vipunen/__tests__/tools.test.js +0 -646
  742. package/dist/plugins/vipunen/__tests__/tools.test.js.map +0 -1
  743. package/dist/routes/agents.d.ts +0 -44
  744. package/dist/routes/agents.d.ts.map +0 -1
  745. package/dist/routes/agents.js +0 -311
  746. package/dist/routes/agents.js.map +0 -1
  747. package/dist/services/agent-credential-store.d.ts +0 -73
  748. package/dist/services/agent-credential-store.d.ts.map +0 -1
  749. package/dist/services/agent-credential-store.js +0 -212
  750. package/dist/services/agent-credential-store.js.map +0 -1
  751. package/dist/stdio-server.d.ts +0 -14
  752. package/dist/stdio-server.d.ts.map +0 -1
  753. package/dist/stdio-server.js +0 -101
  754. package/dist/stdio-server.js.map +0 -1
  755. package/dist/workspace/context.d.ts +0 -148
  756. package/dist/workspace/context.d.ts.map +0 -1
  757. package/dist/workspace/context.js +0 -339
  758. package/dist/workspace/context.js.map +0 -1
  759. package/dist/workspace/credentials.d.ts +0 -55
  760. package/dist/workspace/credentials.d.ts.map +0 -1
  761. package/dist/workspace/credentials.js +0 -239
  762. package/dist/workspace/credentials.js.map +0 -1
  763. package/dist/workspace/index.d.ts +0 -21
  764. package/dist/workspace/index.d.ts.map +0 -1
  765. package/dist/workspace/index.js +0 -45
  766. package/dist/workspace/index.js.map +0 -1
  767. package/dist/workspace/loader.d.ts +0 -27
  768. package/dist/workspace/loader.d.ts.map +0 -1
  769. package/dist/workspace/loader.js +0 -222
  770. package/dist/workspace/loader.js.map +0 -1
  771. package/dist/workspace/schema.d.ts +0 -37
  772. package/dist/workspace/schema.d.ts.map +0 -1
  773. package/dist/workspace/schema.js +0 -192
  774. package/dist/workspace/schema.js.map +0 -1
@@ -1,741 +0,0 @@
1
- "use strict";
2
- /**
3
- * Document Tools - PDF/CSV Generation
4
- *
5
- * Tools for generating documents from templates:
6
- * - List document templates (READ)
7
- * - Generate PDF documents from activities (WRITE)
8
- */
9
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- var desc = Object.getOwnPropertyDescriptor(m, k);
12
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
13
- desc = { enumerable: true, get: function() { return m[k]; } };
14
- }
15
- Object.defineProperty(o, k2, desc);
16
- }) : (function(o, m, k, k2) {
17
- if (k2 === undefined) k2 = k;
18
- o[k2] = m[k];
19
- }));
20
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
21
- Object.defineProperty(o, "default", { enumerable: true, value: v });
22
- }) : function(o, v) {
23
- o["default"] = v;
24
- });
25
- var __importStar = (this && this.__importStar) || (function () {
26
- var ownKeys = function(o) {
27
- ownKeys = Object.getOwnPropertyNames || function (o) {
28
- var ar = [];
29
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
30
- return ar;
31
- };
32
- return ownKeys(o);
33
- };
34
- return function (mod) {
35
- if (mod && mod.__esModule) return mod;
36
- var result = {};
37
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
38
- __setModuleDefault(result, mod);
39
- return result;
40
- };
41
- })();
42
- Object.defineProperty(exports, "__esModule", { value: true });
43
- exports.generateDocumentTool = exports.listDocumentTemplatesTool = void 0;
44
- const zod_1 = require("zod");
45
- const tool_registry_1 = require("../tool-registry");
46
- const index_1 = require("../utils/index");
47
- const request_logger_1 = require("../../lib/request-logger");
48
- const fs = __importStar(require("fs"));
49
- const path = __importStar(require("path"));
50
- const os = __importStar(require("os"));
51
- const logger = (0, index_1.createLogger)({ component: 'document-tools' });
52
- // Helper: extract error message from various error types
53
- function extractErrorMessage(error) {
54
- if (error instanceof Error) {
55
- return error.message;
56
- }
57
- else if (error && typeof error === 'object') {
58
- if ('message' in error)
59
- return String(error.message);
60
- if ('error' in error) {
61
- const e = error.error;
62
- return typeof e === 'string' ? e : JSON.stringify(e);
63
- }
64
- try {
65
- return JSON.stringify(error);
66
- }
67
- catch {
68
- return '[Complex error object]';
69
- }
70
- }
71
- return String(error);
72
- }
73
- function convertFiltersToApiFormat(mcpFilters) {
74
- const apiFilters = { and: [] };
75
- for (const [fieldId, filter] of Object.entries(mcpFilters)) {
76
- switch (filter.operator) {
77
- case 'text_search':
78
- if (filter.value !== undefined) {
79
- apiFilters.and.push({ [fieldId]: { textSearch: filter.value } });
80
- }
81
- break;
82
- case 'equals':
83
- if (filter.value !== undefined) {
84
- apiFilters.and.push({ [fieldId]: { equalTo: filter.value } });
85
- }
86
- break;
87
- case 'not_equals':
88
- if (filter.value !== undefined) {
89
- apiFilters.and.push({ [fieldId]: { notEqualTo: filter.value } });
90
- }
91
- break;
92
- case 'contains':
93
- if (filter.value !== undefined) {
94
- apiFilters.and.push({ [fieldId]: { contains: filter.value } });
95
- }
96
- break;
97
- case 'greater_than':
98
- if (filter.value !== undefined && typeof filter.value === 'number') {
99
- apiFilters.and.push({ [fieldId]: { greaterThan: filter.value } });
100
- }
101
- break;
102
- case 'less_than':
103
- if (filter.value !== undefined && typeof filter.value === 'number') {
104
- apiFilters.and.push({ [fieldId]: { lessThan: filter.value } });
105
- }
106
- break;
107
- case 'range':
108
- if (filter.start !== undefined && filter.end !== undefined) {
109
- apiFilters.and.push({ [fieldId]: { between: [String(filter.start), String(filter.end)] } });
110
- }
111
- break;
112
- default:
113
- // Unknown operator, try text_search as fallback
114
- if (filter.value !== undefined) {
115
- apiFilters.and.push({ [fieldId]: { textSearch: filter.value } });
116
- }
117
- }
118
- }
119
- return apiFilters;
120
- }
121
- // Helper: delay for rate limiting and retry backoff
122
- const delay = (ms) => new Promise(resolve => setTimeout(resolve, ms));
123
- // Retry configuration
124
- const RETRY_CONFIG = {
125
- maxRetries: 3,
126
- baseDelayMs: 1000, // 1 second base delay
127
- batchDelayMs: 500, // 500ms between batches
128
- retryableCodes: [502, 503, 504, 429] // Gateway errors and rate limits
129
- };
130
- // ============================================================================
131
- // TOOL 1: LIST DOCUMENT TEMPLATES
132
- // ============================================================================
133
- const listDocumentTemplatesDescription = `List available document templates for PDF/CSV generation
134
-
135
- **Returns**: Template IDs, names, types, and associated workflow IDs
136
-
137
- **Example**:
138
- \`\`\`javascript
139
- list_document_templates({ workflowId: "691ffdf84217e9e8434e5694" })
140
- \`\`\``;
141
- exports.listDocumentTemplatesTool = {
142
- name: 'list_document_templates',
143
- group: tool_registry_1.ToolGroup.READ,
144
- description: listDocumentTemplatesDescription,
145
- schema: zod_1.z.object({
146
- workflowId: zod_1.z
147
- .string()
148
- .optional()
149
- .describe("Optional workflow ID to filter templates for a specific workflow")
150
- }),
151
- async execute(args, context) {
152
- logger.debug('Listing document templates', {
153
- workflowId: args.workflowId,
154
- apiKey: context.apiKey.substring(0, 8) + '...'
155
- });
156
- try {
157
- const rawInit = context.init;
158
- let templates = [];
159
- // Method 1: Check workspace-level templates
160
- if (rawInit.templates) {
161
- const workspaceTemplates = Array.isArray(rawInit.templates)
162
- ? rawInit.templates
163
- : Object.values(rawInit.templates);
164
- templates.push(...workspaceTemplates);
165
- }
166
- if (rawInit.documentTemplates) {
167
- const docTemplates = Array.isArray(rawInit.documentTemplates)
168
- ? rawInit.documentTemplates
169
- : Object.values(rawInit.documentTemplates);
170
- templates.push(...docTemplates);
171
- }
172
- // Method 2: Check per-workflow templates (in processes)
173
- if (rawInit.processes) {
174
- const processes = Array.isArray(rawInit.processes)
175
- ? rawInit.processes
176
- : Object.values(rawInit.processes);
177
- for (const process of processes) {
178
- // Check templates in process
179
- if (process.templates) {
180
- const procTemplates = Array.isArray(process.templates)
181
- ? process.templates
182
- : Object.values(process.templates);
183
- // Add workflowId to each template
184
- for (const t of procTemplates) {
185
- templates.push({ ...t, workflowId: process._id, workflowName: process.name });
186
- }
187
- }
188
- // Check documentTemplates in process
189
- if (process.documentTemplates) {
190
- const procDocTemplates = Array.isArray(process.documentTemplates)
191
- ? process.documentTemplates
192
- : Object.values(process.documentTemplates);
193
- for (const t of procDocTemplates) {
194
- templates.push({ ...t, workflowId: process._id, workflowName: process.name });
195
- }
196
- }
197
- // Check printTemplates in process
198
- if (process.printTemplates) {
199
- const printTemplates = Array.isArray(process.printTemplates)
200
- ? process.printTemplates
201
- : Object.values(process.printTemplates);
202
- for (const t of printTemplates) {
203
- templates.push({ ...t, workflowId: process._id, workflowName: process.name });
204
- }
205
- }
206
- }
207
- }
208
- // Method 3: Try dedicated API call if no templates found
209
- if (templates.length === 0) {
210
- try {
211
- // Try v3.template.list or similar
212
- const apiTemplates = await context.hailer.request('v3.documentTemplate.list', []);
213
- if (Array.isArray(apiTemplates)) {
214
- templates.push(...apiTemplates);
215
- }
216
- else if (apiTemplates?.templates) {
217
- templates.push(...apiTemplates.templates);
218
- }
219
- }
220
- catch (apiError) {
221
- logger.debug('v3.documentTemplate.list not available', { error: apiError });
222
- }
223
- }
224
- logger.debug('Template discovery results', {
225
- initKeys: Object.keys(rawInit),
226
- processCount: rawInit.processes ? Object.keys(rawInit.processes).length : 0,
227
- templatesFound: templates.length
228
- });
229
- // Filter by workflow if provided
230
- if (args.workflowId) {
231
- templates = templates.filter((t) => t.workflowId === args.workflowId ||
232
- t.processId === args.workflowId ||
233
- t.pid === args.workflowId);
234
- }
235
- if (templates.length === 0) {
236
- // Return diagnostic info to help debug
237
- const processInfo = rawInit.processes
238
- ? Object.entries(rawInit.processes).slice(0, 3).map(([id, p]) => ({
239
- id,
240
- name: p.name,
241
- hasTemplates: !!p.templates,
242
- hasDocumentTemplates: !!p.documentTemplates,
243
- hasPrintTemplates: !!p.printTemplates,
244
- keys: Object.keys(p).filter(k => k.toLowerCase().includes('template'))
245
- }))
246
- : [];
247
- return {
248
- content: [{
249
- type: "text",
250
- text: `šŸ“„ No document templates found${args.workflowId ? ` for workflow ${args.workflowId}` : ''}.\n\n` +
251
- `**Init data keys**: ${Object.keys(rawInit).join(', ')}\n\n` +
252
- `**Process sample** (first 3):\n${JSON.stringify(processInfo, null, 2)}\n\n` +
253
- `šŸ’” Document templates may need to be created in Hailer UI first.`
254
- }]
255
- };
256
- }
257
- let responseText = `šŸ“„ **Document Templates** (${templates.length} total):\n\n`;
258
- templates.forEach((template, index) => {
259
- // Get template ID from various possible fields
260
- const templateId = template._id || template.id || template.templateId || template.key || Object.keys(template)[0];
261
- const templateName = template.name || template.label || template.title || 'Untitled';
262
- responseText += `${index + 1}. **${templateName}**\n`;
263
- responseText += ` - Template ID: \`${templateId}\`\n`;
264
- if (template.type)
265
- responseText += ` - Type: ${template.type}\n`;
266
- if (template.workflowId || template.processId) {
267
- responseText += ` - Workflow: ${template.workflowName || ''} (\`${template.workflowId || template.processId}\`)\n`;
268
- }
269
- responseText += `\n`;
270
- });
271
- responseText += `\nšŸ’” **Usage**: Use \`generate_document\` with a template ID and activity IDs to create PDF documents.`;
272
- return {
273
- content: [{
274
- type: "text",
275
- text: responseText
276
- }]
277
- };
278
- }
279
- catch (error) {
280
- if (!request_logger_1.RequestLogger.getCurrent())
281
- logger.error("Failed to list document templates", error);
282
- return {
283
- content: [{
284
- type: "text",
285
- text: `āŒ Failed to list document templates: ${error instanceof Error ? error.message : String(error)}\n\n` +
286
- `šŸ’” Document templates may not be available in this workspace.`
287
- }]
288
- };
289
- }
290
- }
291
- };
292
- // ============================================================================
293
- // TOOL 2: GENERATE DOCUMENT
294
- // ============================================================================
295
- const generateDocumentDescription = `Generate PDF document from template and activities, upload to Hailer
296
-
297
- **Two modes:**
298
- 1. **Direct IDs**: Pass \`activityIds\` array directly
299
- 2. **Filter-based**: Pass \`workflowId\` + optional filters (fetches IDs internally - saves context!)
300
-
301
- **Auto-batching**: For large activity lists (>50), automatically splits into batches to avoid timeouts.
302
-
303
- **Parameters**:
304
- - \`templateId\`: Document template ID (from list_document_templates)
305
- - \`activityIds\`: Array of activity IDs (OR use workflowId + filters)
306
- - \`workflowId\`: Workflow to fetch activities from (alternative to activityIds)
307
- - \`phaseId\`: Optional phase filter (used with workflowId)
308
- - \`filters\`: Optional field filters, same format as list_activities
309
- - \`limit\`: Max activities to process (default: 1000)
310
- - \`discussionId\`: Optional - post PDF(s) to this discussion
311
- - \`batchSize\`: Optional - activities per PDF (default: 50)
312
-
313
- **Example with filters (recommended for large datasets):**
314
- \`\`\`javascript
315
- generate_document({
316
- templateId: "abc123",
317
- workflowId: "workflow-id",
318
- phaseId: "phase-id",
319
- filters: { "fieldId": { "operator": "equals", "value": "Defender" }},
320
- discussionId: "discussion-id"
321
- })
322
- \`\`\`
323
-
324
- **Example with direct IDs:**
325
- \`\`\`javascript
326
- generate_document({
327
- templateId: "abc123",
328
- activityIds: ["id1", "id2"],
329
- discussionId: "discussion-id"
330
- })
331
- \`\`\``;
332
- exports.generateDocumentTool = {
333
- name: 'generate_document',
334
- group: tool_registry_1.ToolGroup.WRITE,
335
- description: generateDocumentDescription,
336
- schema: zod_1.z.object({
337
- templateId: zod_1.z
338
- .string()
339
- .min(1, "Template ID is required")
340
- .describe("Document template ID (use list_document_templates to find available templates)"),
341
- // Option 1: Direct activity IDs
342
- activityIds: zod_1.z
343
- .preprocess((val) => {
344
- if (typeof val === 'string') {
345
- try {
346
- return JSON.parse(val);
347
- }
348
- catch {
349
- return val.split(',').map(id => id.trim()).filter(Boolean);
350
- }
351
- }
352
- return val;
353
- }, zod_1.z.array(zod_1.z.string()))
354
- .optional()
355
- .describe("Array of activity IDs (OR use workflowId + filters instead)"),
356
- // Option 2: Filter-based (fetches IDs internally)
357
- workflowId: zod_1.z
358
- .string()
359
- .optional()
360
- .describe("Workflow ID to fetch activities from (alternative to activityIds)"),
361
- phaseId: zod_1.z
362
- .string()
363
- .optional()
364
- .describe("Optional phase ID filter (used with workflowId)"),
365
- filters: zod_1.z
366
- .any()
367
- .optional()
368
- .describe("Field filters, same format as list_activities: { fieldId: { operator, value }}"),
369
- limit: zod_1.z
370
- .number()
371
- .optional()
372
- .default(1000)
373
- .describe("Max activities to fetch when using workflowId (default: 1000)"),
374
- // Common options
375
- discussionId: zod_1.z
376
- .string()
377
- .optional()
378
- .describe("Optional discussion ID - if provided, the PDF(s) will be posted to this discussion"),
379
- timeZone: zod_1.z
380
- .string()
381
- .optional()
382
- .default("Europe/Helsinki")
383
- .describe("Timezone for date formatting in document (default: Europe/Helsinki)"),
384
- batchSize: zod_1.z
385
- .number()
386
- .optional()
387
- .default(50)
388
- .describe("Activities per PDF batch (default: 50). Large lists are auto-batched to avoid timeouts.")
389
- }),
390
- async execute(args, context) {
391
- const batchSize = args.batchSize || 50;
392
- const limit = args.limit || 1000;
393
- let activityIds = args.activityIds || [];
394
- // Validate: need either activityIds or workflowId
395
- if (activityIds.length === 0 && !args.workflowId) {
396
- return {
397
- content: [{
398
- type: "text",
399
- text: `āŒ Missing required parameter: provide either \`activityIds\` or \`workflowId\`.\n\n` +
400
- `**Option 1 - Direct IDs:**\n` +
401
- `\`\`\`json\n{ "templateId": "...", "activityIds": ["id1", "id2"] }\n\`\`\`\n\n` +
402
- `**Option 2 - Filter-based (recommended for large datasets):**\n` +
403
- `\`\`\`json\n{ "templateId": "...", "workflowId": "...", "phaseId": "...", "filters": {...} }\n\`\`\``
404
- }]
405
- };
406
- }
407
- // If workflowId provided, fetch activity IDs internally
408
- if (args.workflowId && activityIds.length === 0) {
409
- logger.debug('Fetching activities via filters', {
410
- workflowId: args.workflowId,
411
- phaseId: args.phaseId,
412
- hasFilters: !!args.filters,
413
- limit
414
- });
415
- try {
416
- // Get phases if phaseId not provided - we need at least one phase
417
- let phaseIds = [];
418
- if (args.phaseId) {
419
- phaseIds = [args.phaseId];
420
- }
421
- else {
422
- // Get all phases for this workflow
423
- const workflow = context.init.processes.find((p) => p._id === args.workflowId);
424
- if (workflow?.phases) {
425
- phaseIds = Object.keys(workflow.phases);
426
- }
427
- if (phaseIds.length === 0) {
428
- throw new Error(`No phases found for workflow ${args.workflowId}`);
429
- }
430
- }
431
- // Convert filters to API format if provided
432
- let apiFilters;
433
- if (args.filters && typeof args.filters === 'object') {
434
- apiFilters = convertFiltersToApiFormat(args.filters);
435
- logger.debug('Converted filters to API format', {
436
- original: args.filters,
437
- converted: apiFilters
438
- });
439
- }
440
- // Fetch activities from each phase with pagination
441
- const allIds = [];
442
- const PAGE_SIZE = 200; // Fetch in pages of 200
443
- for (const phaseId of phaseIds) {
444
- if (allIds.length >= limit)
445
- break;
446
- let page = 0;
447
- let hasMore = true;
448
- // Paginate through all results for this phase
449
- while (hasMore && allIds.length < limit) {
450
- const remaining = limit - allIds.length;
451
- const result = await context.hailer.fetchActivityList(args.workflowId, phaseId, Math.min(remaining, PAGE_SIZE), {
452
- page,
453
- filters: apiFilters,
454
- returnFlat: true,
455
- includeStats: true
456
- // Don't pass fields - API returns _id by default
457
- });
458
- // Extract IDs from result
459
- const activities = result?.activities || result?.list || result?.data || [];
460
- const metadata = result?.metadata || {};
461
- for (const activity of activities) {
462
- if (allIds.length >= limit)
463
- break;
464
- if (activity._id) {
465
- allIds.push(activity._id);
466
- }
467
- }
468
- logger.debug(`Fetched page ${page + 1} from phase ${phaseId}`, {
469
- phaseId,
470
- page: page + 1,
471
- fetched: activities.length,
472
- totalInPhase: metadata.totalCount,
473
- totalSoFar: allIds.length
474
- });
475
- // Check if there are more pages
476
- const totalInPhase = metadata.totalCount || 0;
477
- const fetchedSoFarInPhase = (page + 1) * PAGE_SIZE;
478
- hasMore = activities.length === PAGE_SIZE && fetchedSoFarInPhase < totalInPhase;
479
- page++;
480
- // Safety: max 50 pages (10,000 activities per phase)
481
- if (page >= 50) {
482
- logger.warn('Hit pagination safety limit', { phaseId, page });
483
- break;
484
- }
485
- }
486
- }
487
- activityIds = allIds;
488
- if (activityIds.length === 0) {
489
- return {
490
- content: [{
491
- type: "text",
492
- text: `šŸ“„ No activities found matching the filters.\n\n` +
493
- `**Workflow:** ${args.workflowId}\n` +
494
- `**Phase:** ${args.phaseId || 'all phases'}\n` +
495
- `**Filters:** ${args.filters ? JSON.stringify(args.filters) : 'none'}\n\n` +
496
- `šŸ’” Try adjusting your filters or check that activities exist in this workflow.`
497
- }]
498
- };
499
- }
500
- logger.debug('Activity IDs fetched via filters', {
501
- count: activityIds.length,
502
- limit,
503
- phaseCount: phaseIds.length
504
- });
505
- }
506
- catch (fetchError) {
507
- const errorMsg = extractErrorMessage(fetchError);
508
- logger.error('Failed to fetch activities via filters', { error: errorMsg });
509
- return {
510
- content: [{
511
- type: "text",
512
- text: `āŒ Failed to fetch activities: ${errorMsg}\n\n` +
513
- `**Workflow:** ${args.workflowId}\n` +
514
- `**Phase:** ${args.phaseId || 'all phases'}\n` +
515
- `**Filters:** ${args.filters ? JSON.stringify(args.filters) : 'none'}\n\n` +
516
- `šŸ’” Check that:\n` +
517
- `- Workflow and phase IDs are correct\n` +
518
- `- Filter field IDs exist in the workflow\n` +
519
- `- Filter format is correct: { "fieldId": { "operator": "text_search", "value": "..." }}`
520
- }]
521
- };
522
- }
523
- }
524
- const totalActivities = activityIds.length;
525
- logger.debug('Generating document', {
526
- templateId: args.templateId,
527
- activityCount: totalActivities,
528
- batchSize,
529
- batchCount: Math.ceil(totalActivities / batchSize),
530
- hasDiscussionId: !!args.discussionId,
531
- timeZone: args.timeZone,
532
- mode: args.workflowId ? 'filter-based' : 'direct-ids'
533
- });
534
- try {
535
- // Split activities into batches
536
- const batches = [];
537
- for (let i = 0; i < activityIds.length; i += batchSize) {
538
- batches.push(activityIds.slice(i, i + batchSize));
539
- }
540
- const results = [];
541
- const errors = [];
542
- // Process each batch with retry logic and delays
543
- for (let batchNum = 0; batchNum < batches.length; batchNum++) {
544
- const batch = batches[batchNum];
545
- // Add delay between batches (except first one)
546
- if (batchNum > 0) {
547
- await delay(RETRY_CONFIG.batchDelayMs);
548
- }
549
- logger.debug(`Processing batch ${batchNum + 1}/${batches.length}`, {
550
- batchNum: batchNum + 1,
551
- activityCount: batch.length
552
- });
553
- let lastError = '';
554
- let success = false;
555
- // Retry loop for this batch
556
- for (let attempt = 0; attempt < RETRY_CONFIG.maxRetries && !success; attempt++) {
557
- if (attempt > 0) {
558
- // Exponential backoff: 1s, 2s, 4s
559
- const backoffMs = RETRY_CONFIG.baseDelayMs * Math.pow(2, attempt - 1);
560
- logger.debug(`Retry attempt ${attempt + 1} for batch ${batchNum + 1} after ${backoffMs}ms`);
561
- await delay(backoffMs);
562
- }
563
- try {
564
- // Build templateMap for this batch
565
- const templateMap = { [args.templateId]: batch };
566
- const requestBody = {
567
- templateMap,
568
- timeZone: args.timeZone || "Europe/Helsinki",
569
- save: 0
570
- };
571
- // Call REST API to generate PDF (binary response)
572
- const pdfBuffer = await context.hailer.callRest({
573
- operation: 'generate_document',
574
- endpoint: '/documentgenerator',
575
- method: 'POST',
576
- body: requestBody,
577
- timeout: 120000, // 2 minutes per batch
578
- responseType: 'binary'
579
- });
580
- // Convert buffer to Buffer instance if needed
581
- let buffer;
582
- if (typeof pdfBuffer === 'string') {
583
- buffer = Buffer.from(pdfBuffer, 'base64');
584
- }
585
- else if (Buffer.isBuffer(pdfBuffer)) {
586
- buffer = pdfBuffer;
587
- }
588
- else if (pdfBuffer instanceof ArrayBuffer) {
589
- buffer = Buffer.from(pdfBuffer);
590
- }
591
- else {
592
- throw new Error('Unexpected PDF response format');
593
- }
594
- // Save to temporary file
595
- const timestamp = new Date().toISOString().replace(/[:.]/g, '-');
596
- const filename = batches.length > 1
597
- ? `document-batch${batchNum + 1}-${timestamp}.pdf`
598
- : `document-${timestamp}.pdf`;
599
- const tempDir = os.tmpdir();
600
- const tempPath = path.join(tempDir, filename);
601
- fs.writeFileSync(tempPath, buffer);
602
- // Upload PDF to Hailer (also with retry for upload failures)
603
- let uploadResult;
604
- for (let uploadAttempt = 0; uploadAttempt < RETRY_CONFIG.maxRetries; uploadAttempt++) {
605
- if (uploadAttempt > 0) {
606
- const backoffMs = RETRY_CONFIG.baseDelayMs * Math.pow(2, uploadAttempt - 1);
607
- logger.debug(`Retry upload attempt ${uploadAttempt + 1} after ${backoffMs}ms`);
608
- await delay(backoffMs);
609
- }
610
- uploadResult = await context.hailer.uploadFile({
611
- path: tempPath,
612
- filename
613
- });
614
- if (uploadResult.success)
615
- break;
616
- // Check if error is retryable
617
- const isRetryable = RETRY_CONFIG.retryableCodes.some(code => uploadResult.error?.includes(String(code)));
618
- if (!isRetryable)
619
- break;
620
- }
621
- // Clean up temp file
622
- try {
623
- fs.unlinkSync(tempPath);
624
- }
625
- catch { /* ignore */ }
626
- if (!uploadResult.success) {
627
- throw new Error(`PDF upload failed: ${uploadResult.error}`);
628
- }
629
- results.push({
630
- fileId: uploadResult.fileId || '',
631
- sizeKB: uploadResult.sizeKB || '',
632
- activityCount: batch.length,
633
- batchNum: batchNum + 1
634
- });
635
- logger.debug(`Batch ${batchNum + 1} complete`, {
636
- fileId: uploadResult.fileId,
637
- sizeKB: uploadResult.sizeKB,
638
- attempts: attempt + 1
639
- });
640
- success = true;
641
- }
642
- catch (batchError) {
643
- lastError = batchError instanceof Error ? batchError.message : String(batchError);
644
- // Check if error is retryable (502, 503, 504, 429)
645
- const isRetryable = RETRY_CONFIG.retryableCodes.some(code => lastError.includes(String(code)));
646
- if (!isRetryable) {
647
- logger.debug(`Non-retryable error for batch ${batchNum + 1}: ${lastError}`);
648
- break; // Don't retry non-retryable errors
649
- }
650
- logger.debug(`Retryable error for batch ${batchNum + 1} (attempt ${attempt + 1}): ${lastError}`);
651
- }
652
- }
653
- if (!success) {
654
- errors.push({ batchNum: batchNum + 1, error: lastError });
655
- logger.error(`Batch ${batchNum + 1} failed after ${RETRY_CONFIG.maxRetries} attempts`, { error: lastError });
656
- }
657
- }
658
- // Check if all batches failed
659
- if (results.length === 0) {
660
- throw new Error(`All ${batches.length} batches failed. First error: ${errors[0]?.error || 'Unknown'}`);
661
- }
662
- // Post to discussion if requested
663
- if (args.discussionId && results.length > 0) {
664
- const fileIds = results.map(r => r.fileId);
665
- const message = batches.length > 1
666
- ? `šŸ“„ Generated ${results.length} PDFs from ${totalActivities} activities (${batches.length} batches)`
667
- : `šŸ“„ Generated document from ${totalActivities} ${totalActivities === 1 ? 'activity' : 'activities'}`;
668
- await context.hailer.sendDiscussionMessage(args.discussionId, message, fileIds);
669
- logger.debug('Posted PDFs to discussion', {
670
- discussionId: args.discussionId,
671
- fileCount: fileIds.length
672
- });
673
- }
674
- // Build response
675
- const totalSizeKB = results.reduce((sum, r) => sum + parseFloat(r.sizeKB || '0'), 0).toFixed(2);
676
- if (batches.length === 1) {
677
- // Single batch response
678
- const r = results[0];
679
- let responseText = `āœ… **Document generated successfully!**\n\n` +
680
- `šŸ“„ **File Details:**\n` +
681
- `- File ID: \`${r.fileId}\`\n` +
682
- `- Size: ${r.sizeKB} KB\n` +
683
- `- Activities: ${totalActivities}\n`;
684
- if (args.discussionId) {
685
- responseText += `\nšŸ’¬ **Posted to discussion**: ${args.discussionId}`;
686
- }
687
- else {
688
- responseText += `\nšŸ’” **Next Steps:**\n` +
689
- `- Download: \`download_file({ fileId: "${r.fileId}" })\`\n` +
690
- `- Post to discussion: \`add_discussion_message({ discussionId: "...", fileIds: ["${r.fileId}"] })\``;
691
- }
692
- return { content: [{ type: "text", text: responseText }] };
693
- }
694
- // Multi-batch response
695
- let responseText = `āœ… **Documents generated successfully!**\n\n` +
696
- `šŸ“Š **Summary:**\n` +
697
- `- Total activities: ${totalActivities}\n` +
698
- `- Batches: ${batches.length} (${batchSize} per batch)\n` +
699
- `- PDFs generated: ${results.length}\n` +
700
- `- Total size: ${totalSizeKB} KB\n`;
701
- if (errors.length > 0) {
702
- responseText += `- Failed batches: ${errors.length}\n`;
703
- }
704
- responseText += `\nšŸ“„ **Generated Files:**\n`;
705
- results.forEach(r => {
706
- responseText += `- Batch ${r.batchNum}: \`${r.fileId}\` (${r.activityCount} activities, ${r.sizeKB} KB)\n`;
707
- });
708
- if (errors.length > 0) {
709
- responseText += `\nāš ļø **Failed Batches:**\n`;
710
- errors.forEach(e => {
711
- responseText += `- Batch ${e.batchNum}: ${e.error}\n`;
712
- });
713
- }
714
- if (args.discussionId) {
715
- responseText += `\nšŸ’¬ **Posted to discussion**: ${args.discussionId}`;
716
- }
717
- return { content: [{ type: "text", text: responseText }] };
718
- }
719
- catch (error) {
720
- if (!request_logger_1.RequestLogger.getCurrent())
721
- logger.error("Failed to generate document", error);
722
- const errorMessage = error instanceof Error
723
- ? error.message
724
- : (typeof error === 'object' && error !== null)
725
- ? JSON.stringify(error, null, 2)
726
- : String(error);
727
- return {
728
- content: [{
729
- type: "text",
730
- text: `āŒ Document generation failed: ${errorMessage}\n\n` +
731
- `šŸ’” **Troubleshooting:**\n` +
732
- `- Verify the template ID is correct (use list_document_templates)\n` +
733
- `- Ensure all activity IDs are valid and accessible\n` +
734
- `- For large batches, try reducing batchSize\n` +
735
- `- Check that the template is compatible with the provided activities`
736
- }]
737
- };
738
- }
739
- }
740
- };
741
- //# sourceMappingURL=document.js.map