@hailer/mcp 1.2.1 → 2.0.0-beta.10

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 (768) 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 +119 -148
  6. package/.claude/skills/hailer-app-builder/SKILL.md +24 -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.d.ts.map +1 -1
  11. package/dist/app.js +3 -0
  12. package/dist/app.js.map +1 -1
  13. package/dist/bot/bot-manager.d.ts +9 -6
  14. package/dist/bot/bot-manager.d.ts.map +1 -1
  15. package/dist/bot/bot-manager.js +142 -31
  16. package/dist/bot/bot-manager.js.map +1 -1
  17. package/dist/bot/bot.d.ts +59 -16
  18. package/dist/bot/bot.d.ts.map +1 -1
  19. package/dist/bot/bot.js +889 -142
  20. package/dist/bot/bot.js.map +1 -1
  21. package/dist/bot/operation-logger.d.ts.map +1 -1
  22. package/dist/bot/operation-logger.js +24 -12
  23. package/dist/bot/operation-logger.js.map +1 -1
  24. package/dist/bot/services/bot-permissions.d.ts +2 -2
  25. package/dist/bot/services/bot-permissions.d.ts.map +1 -1
  26. package/dist/bot/services/bot-permissions.js +28 -9
  27. package/dist/bot/services/bot-permissions.js.map +1 -1
  28. package/dist/bot/services/conversation-manager.d.ts +23 -23
  29. package/dist/bot/services/conversation-manager.d.ts.map +1 -1
  30. package/dist/bot/services/conversation-manager.js +52 -49
  31. package/dist/bot/services/conversation-manager.js.map +1 -1
  32. package/dist/bot/services/helper-prompt.d.ts +8 -0
  33. package/dist/bot/services/helper-prompt.d.ts.map +1 -0
  34. package/dist/bot/services/helper-prompt.js +177 -0
  35. package/dist/bot/services/helper-prompt.js.map +1 -0
  36. package/dist/bot/services/message-classifier.d.ts +16 -16
  37. package/dist/bot/services/message-classifier.d.ts.map +1 -1
  38. package/dist/bot/services/message-classifier.js +55 -49
  39. package/dist/bot/services/message-classifier.js.map +1 -1
  40. package/dist/bot/services/message-formatter.d.ts +38 -38
  41. package/dist/bot/services/message-formatter.d.ts.map +1 -1
  42. package/dist/bot/services/message-formatter.js +81 -74
  43. package/dist/bot/services/message-formatter.js.map +1 -1
  44. package/dist/bot/services/permission-guard.d.ts.map +1 -1
  45. package/dist/bot/services/permission-guard.js +20 -10
  46. package/dist/bot/services/permission-guard.js.map +1 -1
  47. package/dist/bot/services/signal-router.d.ts.map +1 -1
  48. package/dist/bot/services/signal-router.js +11 -6
  49. package/dist/bot/services/signal-router.js.map +1 -1
  50. package/dist/bot/services/system-prompt.d.ts +14 -0
  51. package/dist/bot/services/system-prompt.d.ts.map +1 -1
  52. package/dist/bot/services/system-prompt.js +179 -4
  53. package/dist/bot/services/system-prompt.js.map +1 -1
  54. package/dist/bot/services/token-billing.d.ts +23 -23
  55. package/dist/bot/services/token-billing.d.ts.map +1 -1
  56. package/dist/bot/services/token-billing.js +51 -36
  57. package/dist/bot/services/token-billing.js.map +1 -1
  58. package/dist/bot/services/types.d.ts +3 -1
  59. package/dist/bot/services/types.d.ts.map +1 -1
  60. package/dist/bot/services/typing-indicator.d.ts +8 -8
  61. package/dist/bot/services/typing-indicator.d.ts.map +1 -1
  62. package/dist/bot/services/typing-indicator.js +12 -10
  63. package/dist/bot/services/typing-indicator.js.map +1 -1
  64. package/dist/bot/services/workspace-refresh.d.ts +3 -3
  65. package/dist/bot/services/workspace-refresh.d.ts.map +1 -1
  66. package/dist/bot/services/workspace-refresh.js +23 -13
  67. package/dist/bot/services/workspace-refresh.js.map +1 -1
  68. package/dist/bot/tool-executor.d.ts +10 -6
  69. package/dist/bot/tool-executor.d.ts.map +1 -1
  70. package/dist/bot/tool-executor.js +12 -6
  71. package/dist/bot/tool-executor.js.map +1 -1
  72. package/dist/bot/workspace-overview.d.ts.map +1 -1
  73. package/dist/bot/workspace-overview.js +6 -3
  74. package/dist/bot/workspace-overview.js.map +1 -1
  75. package/dist/bot-config/activity-error.d.ts +47 -0
  76. package/dist/bot-config/activity-error.d.ts.map +1 -0
  77. package/dist/bot-config/activity-error.js +67 -0
  78. package/dist/bot-config/activity-error.js.map +1 -0
  79. package/dist/bot-config/context.d.ts +4 -4
  80. package/dist/bot-config/context.d.ts.map +1 -1
  81. package/dist/bot-config/context.js +18 -14
  82. package/dist/bot-config/context.js.map +1 -1
  83. package/dist/bot-config/events.d.ts +45 -0
  84. package/dist/bot-config/events.d.ts.map +1 -0
  85. package/dist/bot-config/events.js +51 -0
  86. package/dist/bot-config/events.js.map +1 -0
  87. package/dist/bot-config/index.d.ts +3 -0
  88. package/dist/bot-config/index.d.ts.map +1 -1
  89. package/dist/bot-config/index.js +8 -1
  90. package/dist/bot-config/index.js.map +1 -1
  91. package/dist/bot-config/loader.d.ts +3 -0
  92. package/dist/bot-config/loader.d.ts.map +1 -1
  93. package/dist/bot-config/loader.js +45 -20
  94. package/dist/bot-config/loader.js.map +1 -1
  95. package/dist/bot-config/persistence.js.map +1 -1
  96. package/dist/bot-config/reconciler.d.ts +11 -0
  97. package/dist/bot-config/reconciler.d.ts.map +1 -0
  98. package/dist/bot-config/reconciler.js +121 -0
  99. package/dist/bot-config/reconciler.js.map +1 -0
  100. package/dist/bot-config/state.d.ts.map +1 -1
  101. package/dist/bot-config/state.js.map +1 -1
  102. package/dist/bot-config/types.d.ts +32 -0
  103. package/dist/bot-config/types.d.ts.map +1 -1
  104. package/dist/bot-config/webhooks.d.ts.map +1 -1
  105. package/dist/bot-config/webhooks.js.map +1 -1
  106. package/dist/bot-config/workflow-installer.d.ts +37 -0
  107. package/dist/bot-config/workflow-installer.d.ts.map +1 -0
  108. package/dist/bot-config/workflow-installer.js +346 -0
  109. package/dist/bot-config/workflow-installer.js.map +1 -0
  110. package/dist/cli.d.ts.map +1 -1
  111. package/dist/cli.js +54 -0
  112. package/dist/cli.js.map +1 -1
  113. package/dist/config.d.ts +23 -19
  114. package/dist/config.d.ts.map +1 -1
  115. package/dist/config.js +65 -27
  116. package/dist/config.js.map +1 -1
  117. package/dist/core.d.ts +6 -4
  118. package/dist/core.d.ts.map +1 -1
  119. package/dist/core.js +11 -16
  120. package/dist/core.js.map +1 -1
  121. package/dist/lib/logger.d.ts.map +1 -1
  122. package/dist/lib/logger.js +7 -4
  123. package/dist/lib/logger.js.map +1 -1
  124. package/dist/lib/request-logger.d.ts +19 -19
  125. package/dist/lib/request-logger.d.ts.map +1 -1
  126. package/dist/lib/request-logger.js +19 -19
  127. package/dist/lib/request-logger.js.map +1 -1
  128. package/dist/mcp/UserContextCache.d.ts +28 -22
  129. package/dist/mcp/UserContextCache.d.ts.map +1 -1
  130. package/dist/mcp/UserContextCache.js +23 -23
  131. package/dist/mcp/UserContextCache.js.map +1 -1
  132. package/dist/mcp/auth.js.map +1 -1
  133. package/dist/mcp/hailer-clients.d.ts +5 -4
  134. package/dist/mcp/hailer-clients.d.ts.map +1 -1
  135. package/dist/mcp/hailer-clients.js +61 -27
  136. package/dist/mcp/hailer-clients.js.map +1 -1
  137. package/dist/mcp/hailer-rpc.d.ts +40 -0
  138. package/dist/mcp/hailer-rpc.d.ts.map +1 -0
  139. package/dist/mcp/hailer-rpc.js +43 -0
  140. package/dist/mcp/hailer-rpc.js.map +1 -0
  141. package/dist/mcp/publish-auth-injector.d.ts +22 -0
  142. package/dist/mcp/publish-auth-injector.d.ts.map +1 -0
  143. package/dist/mcp/publish-auth-injector.js +100 -0
  144. package/dist/mcp/publish-auth-injector.js.map +1 -0
  145. package/dist/mcp/session-store.d.ts +16 -16
  146. package/dist/mcp/session-store.d.ts.map +1 -1
  147. package/dist/mcp/session-store.js +16 -16
  148. package/dist/mcp/session-store.js.map +1 -1
  149. package/dist/mcp/tool-profiles.d.ts +69 -0
  150. package/dist/mcp/tool-profiles.d.ts.map +1 -0
  151. package/dist/mcp/tool-profiles.js +176 -0
  152. package/dist/mcp/tool-profiles.js.map +1 -0
  153. package/dist/mcp/tool-registry.d.ts +16 -0
  154. package/dist/mcp/tool-registry.d.ts.map +1 -1
  155. package/dist/mcp/tool-registry.js +91 -39
  156. package/dist/mcp/tool-registry.js.map +1 -1
  157. package/dist/mcp/tools/activity.d.ts.map +1 -1
  158. package/dist/mcp/tools/activity.js +398 -198
  159. package/dist/mcp/tools/activity.js.map +1 -1
  160. package/dist/mcp/tools/aliases.d.ts +11 -0
  161. package/dist/mcp/tools/aliases.d.ts.map +1 -0
  162. package/dist/mcp/tools/aliases.js +176 -0
  163. package/dist/mcp/tools/aliases.js.map +1 -0
  164. package/dist/mcp/tools/app-core.d.ts +6 -8
  165. package/dist/mcp/tools/app-core.d.ts.map +1 -1
  166. package/dist/mcp/tools/app-core.js +355 -254
  167. package/dist/mcp/tools/app-core.js.map +1 -1
  168. package/dist/mcp/tools/app-marketplace.d.ts +8 -16
  169. package/dist/mcp/tools/app-marketplace.d.ts.map +1 -1
  170. package/dist/mcp/tools/app-marketplace.js +604 -930
  171. package/dist/mcp/tools/app-marketplace.js.map +1 -1
  172. package/dist/mcp/tools/app.d.ts +4 -7
  173. package/dist/mcp/tools/app.d.ts.map +1 -1
  174. package/dist/mcp/tools/app.js +4 -7
  175. package/dist/mcp/tools/app.js.map +1 -1
  176. package/dist/mcp/tools/bot-self.d.ts +21 -0
  177. package/dist/mcp/tools/bot-self.d.ts.map +1 -0
  178. package/dist/mcp/tools/bot-self.js +174 -0
  179. package/dist/mcp/tools/bot-self.js.map +1 -0
  180. package/dist/mcp/tools/calendar.d.ts +21 -0
  181. package/dist/mcp/tools/calendar.d.ts.map +1 -0
  182. package/dist/mcp/tools/calendar.js +741 -0
  183. package/dist/mcp/tools/calendar.js.map +1 -0
  184. package/dist/mcp/tools/company.d.ts.map +1 -1
  185. package/dist/mcp/tools/company.js +2 -1
  186. package/dist/mcp/tools/company.js.map +1 -1
  187. package/dist/mcp/tools/date.js.map +1 -1
  188. package/dist/mcp/tools/discussion.d.ts +23 -3
  189. package/dist/mcp/tools/discussion.d.ts.map +1 -1
  190. package/dist/mcp/tools/discussion.js +417 -534
  191. package/dist/mcp/tools/discussion.js.map +1 -1
  192. package/dist/mcp/tools/file.d.ts.map +1 -1
  193. package/dist/mcp/tools/file.js +18 -16
  194. package/dist/mcp/tools/file.js.map +1 -1
  195. package/dist/mcp/tools/index.js +4 -4
  196. package/dist/mcp/tools/index.js.map +1 -1
  197. package/dist/mcp/tools/insight.d.ts +7 -5
  198. package/dist/mcp/tools/insight.d.ts.map +1 -1
  199. package/dist/mcp/tools/insight.js +419 -477
  200. package/dist/mcp/tools/insight.js.map +1 -1
  201. package/dist/mcp/tools/user.d.ts.map +1 -1
  202. package/dist/mcp/tools/user.js +15 -13
  203. package/dist/mcp/tools/user.js.map +1 -1
  204. package/dist/mcp/tools/workflow-permissions.d.ts +2 -4
  205. package/dist/mcp/tools/workflow-permissions.d.ts.map +1 -1
  206. package/dist/mcp/tools/workflow-permissions.js +88 -97
  207. package/dist/mcp/tools/workflow-permissions.js.map +1 -1
  208. package/dist/mcp/tools/workflow.d.ts +2 -7
  209. package/dist/mcp/tools/workflow.d.ts.map +1 -1
  210. package/dist/mcp/tools/workflow.js +817 -850
  211. package/dist/mcp/tools/workflow.js.map +1 -1
  212. package/dist/mcp/utils/api-errors.d.ts.map +1 -1
  213. package/dist/mcp/utils/api-errors.js +2 -2
  214. package/dist/mcp/utils/api-errors.js.map +1 -1
  215. package/dist/mcp/utils/data-transformers.d.ts.map +1 -1
  216. package/dist/mcp/utils/data-transformers.js +8 -4
  217. package/dist/mcp/utils/data-transformers.js.map +1 -1
  218. package/dist/mcp/utils/file-upload.d.ts.map +1 -1
  219. package/dist/mcp/utils/file-upload.js +1 -1
  220. package/dist/mcp/utils/file-upload.js.map +1 -1
  221. package/dist/mcp/utils/hailer-api-client.d.ts +81 -81
  222. package/dist/mcp/utils/hailer-api-client.d.ts.map +1 -1
  223. package/dist/mcp/utils/hailer-api-client.js +103 -101
  224. package/dist/mcp/utils/hailer-api-client.js.map +1 -1
  225. package/dist/mcp/utils/index.d.ts.map +1 -1
  226. package/dist/mcp/utils/index.js.map +1 -1
  227. package/dist/mcp/utils/logger.d.ts.map +1 -1
  228. package/dist/mcp/utils/logger.js.map +1 -1
  229. package/dist/mcp/utils/response-builder.d.ts.map +1 -1
  230. package/dist/mcp/utils/response-builder.js +8 -4
  231. package/dist/mcp/utils/response-builder.js.map +1 -1
  232. package/dist/mcp/utils/role-utils.d.ts.map +1 -1
  233. package/dist/mcp/utils/role-utils.js +6 -3
  234. package/dist/mcp/utils/role-utils.js.map +1 -1
  235. package/dist/mcp/utils/tool-helpers.d.ts.map +1 -1
  236. package/dist/mcp/utils/tool-helpers.js +2 -2
  237. package/dist/mcp/utils/tool-helpers.js.map +1 -1
  238. package/dist/mcp/utils/types.d.ts +1 -1
  239. package/dist/mcp/utils/types.d.ts.map +1 -1
  240. package/dist/mcp/utils/types.js.map +1 -1
  241. package/dist/mcp/webhook-handler.d.ts +43 -8
  242. package/dist/mcp/webhook-handler.d.ts.map +1 -1
  243. package/dist/mcp/webhook-handler.js +861 -116
  244. package/dist/mcp/webhook-handler.js.map +1 -1
  245. package/dist/mcp/workspace-admin-store.d.ts +49 -0
  246. package/dist/mcp/workspace-admin-store.d.ts.map +1 -0
  247. package/dist/mcp/workspace-admin-store.js +168 -0
  248. package/dist/mcp/workspace-admin-store.js.map +1 -0
  249. package/dist/mcp/workspace-cache.d.ts +2 -2
  250. package/dist/mcp/workspace-cache.d.ts.map +1 -1
  251. package/dist/mcp/workspace-cache.js +9 -5
  252. package/dist/mcp/workspace-cache.js.map +1 -1
  253. package/dist/mcp-server.d.ts +26 -11
  254. package/dist/mcp-server.d.ts.map +1 -1
  255. package/dist/mcp-server.js +360 -36
  256. package/dist/mcp-server.js.map +1 -1
  257. package/dist/plugins/vipunen/client.d.ts +41 -41
  258. package/dist/plugins/vipunen/client.d.ts.map +1 -1
  259. package/dist/plugins/vipunen/client.js +53 -48
  260. package/dist/plugins/vipunen/client.js.map +1 -1
  261. package/dist/plugins/vipunen/index.js.map +1 -1
  262. package/dist/plugins/vipunen/tools.d.ts.map +1 -1
  263. package/dist/plugins/vipunen/tools.js +6 -3
  264. package/dist/plugins/vipunen/tools.js.map +1 -1
  265. package/dist/public-chat/graduate.d.ts +29 -0
  266. package/dist/public-chat/graduate.d.ts.map +1 -0
  267. package/dist/public-chat/graduate.js +593 -0
  268. package/dist/public-chat/graduate.js.map +1 -0
  269. package/dist/public-chat/handler.d.ts +12 -0
  270. package/dist/public-chat/handler.d.ts.map +1 -0
  271. package/dist/public-chat/handler.js +179 -0
  272. package/dist/public-chat/handler.js.map +1 -0
  273. package/dist/public-chat/index.d.ts +16 -0
  274. package/dist/public-chat/index.d.ts.map +1 -0
  275. package/dist/public-chat/index.js +74 -0
  276. package/dist/public-chat/index.js.map +1 -0
  277. package/dist/public-chat/knowledge.d.ts +3 -0
  278. package/dist/public-chat/knowledge.d.ts.map +1 -0
  279. package/dist/public-chat/knowledge.js +1341 -0
  280. package/dist/public-chat/knowledge.js.map +1 -0
  281. package/dist/public-chat/rate-limit.d.ts +16 -0
  282. package/dist/public-chat/rate-limit.d.ts.map +1 -0
  283. package/dist/public-chat/rate-limit.js +51 -0
  284. package/dist/public-chat/rate-limit.js.map +1 -0
  285. package/dist/public-chat/session-store.d.ts +41 -0
  286. package/dist/public-chat/session-store.d.ts.map +1 -0
  287. package/dist/public-chat/session-store.js +95 -0
  288. package/dist/public-chat/session-store.js.map +1 -0
  289. package/dist/public-chat/studio-prewarm.d.ts +61 -0
  290. package/dist/public-chat/studio-prewarm.d.ts.map +1 -0
  291. package/dist/public-chat/studio-prewarm.js +162 -0
  292. package/dist/public-chat/studio-prewarm.js.map +1 -0
  293. package/dist/public-chat/system-prompt.d.ts +22 -0
  294. package/dist/public-chat/system-prompt.d.ts.map +1 -0
  295. package/dist/public-chat/system-prompt.js +428 -0
  296. package/dist/public-chat/system-prompt.js.map +1 -0
  297. package/package.json +14 -7
  298. package/scripts/build-public-chat-knowledge.py +101 -0
  299. package/scripts/probe-mcp-pricing.ts +52 -0
  300. package/scripts/smoke-public-chat-live.ts +148 -0
  301. package/scripts/smoke-public-chat.ts +110 -0
  302. package/.claude/CLAUDE.md +0 -126
  303. package/.claude/commands/app-squad.md +0 -131
  304. package/.claude/commands/audit-squad.md +0 -158
  305. package/.claude/commands/cleanup-squad.md +0 -98
  306. package/.claude/commands/config-squad.md +0 -106
  307. package/.claude/commands/crud-squad.md +0 -87
  308. package/.claude/commands/data-squad.md +0 -97
  309. package/.claude/commands/doc-squad.md +0 -65
  310. package/.claude/commands/help.md +0 -29
  311. package/.claude/commands/help:agents.md +0 -182
  312. package/.claude/commands/help:commands.md +0 -78
  313. package/.claude/commands/help:faq.md +0 -79
  314. package/.claude/commands/help:plugins.md +0 -50
  315. package/.claude/commands/help:skills.md +0 -87
  316. package/.claude/commands/help:tools.md +0 -75
  317. package/.claude/commands/hotfix-squad.md +0 -112
  318. package/.claude/commands/integration-squad.md +0 -82
  319. package/.claude/commands/janitor-squad.md +0 -167
  320. package/.claude/commands/onboard-squad.md +0 -130
  321. package/.claude/commands/swarm.md +0 -210
  322. package/.claude/commands/tool-builder.md +0 -39
  323. package/.claude/skills/publish-hailer-app/SKILL.md +0 -280
  324. package/dist/CLAUDE.md +0 -370
  325. package/dist/agents/bot-manager.d.ts +0 -48
  326. package/dist/agents/bot-manager.d.ts.map +0 -1
  327. package/dist/agents/bot-manager.js +0 -254
  328. package/dist/agents/bot-manager.js.map +0 -1
  329. package/dist/agents/bug-fixer/ai.d.ts +0 -80
  330. package/dist/agents/bug-fixer/ai.d.ts.map +0 -1
  331. package/dist/agents/bug-fixer/ai.js +0 -466
  332. package/dist/agents/bug-fixer/ai.js.map +0 -1
  333. package/dist/agents/bug-fixer/bot.d.ts +0 -92
  334. package/dist/agents/bug-fixer/bot.d.ts.map +0 -1
  335. package/dist/agents/bug-fixer/bot.js +0 -687
  336. package/dist/agents/bug-fixer/bot.js.map +0 -1
  337. package/dist/agents/bug-fixer/config.d.ts +0 -21
  338. package/dist/agents/bug-fixer/config.d.ts.map +0 -1
  339. package/dist/agents/bug-fixer/config.js +0 -218
  340. package/dist/agents/bug-fixer/config.js.map +0 -1
  341. package/dist/agents/bug-fixer/files.d.ts +0 -67
  342. package/dist/agents/bug-fixer/files.d.ts.map +0 -1
  343. package/dist/agents/bug-fixer/files.js +0 -386
  344. package/dist/agents/bug-fixer/files.js.map +0 -1
  345. package/dist/agents/bug-fixer/git.d.ts +0 -48
  346. package/dist/agents/bug-fixer/git.d.ts.map +0 -1
  347. package/dist/agents/bug-fixer/git.js +0 -298
  348. package/dist/agents/bug-fixer/git.js.map +0 -1
  349. package/dist/agents/bug-fixer/index.d.ts +0 -103
  350. package/dist/agents/bug-fixer/index.d.ts.map +0 -1
  351. package/dist/agents/bug-fixer/index.js +0 -262
  352. package/dist/agents/bug-fixer/index.js.map +0 -1
  353. package/dist/agents/bug-fixer/lsp.d.ts +0 -113
  354. package/dist/agents/bug-fixer/lsp.d.ts.map +0 -1
  355. package/dist/agents/bug-fixer/lsp.js +0 -485
  356. package/dist/agents/bug-fixer/lsp.js.map +0 -1
  357. package/dist/agents/bug-fixer/monitor.d.ts +0 -123
  358. package/dist/agents/bug-fixer/monitor.d.ts.map +0 -1
  359. package/dist/agents/bug-fixer/monitor.js +0 -629
  360. package/dist/agents/bug-fixer/monitor.js.map +0 -1
  361. package/dist/agents/bug-fixer/prompt.d.ts +0 -5
  362. package/dist/agents/bug-fixer/prompt.d.ts.map +0 -1
  363. package/dist/agents/bug-fixer/prompt.js +0 -94
  364. package/dist/agents/bug-fixer/prompt.js.map +0 -1
  365. package/dist/agents/bug-fixer/registries/pending-classification.d.ts +0 -28
  366. package/dist/agents/bug-fixer/registries/pending-classification.d.ts.map +0 -1
  367. package/dist/agents/bug-fixer/registries/pending-classification.js +0 -50
  368. package/dist/agents/bug-fixer/registries/pending-classification.js.map +0 -1
  369. package/dist/agents/bug-fixer/registries/pending-fix.d.ts +0 -33
  370. package/dist/agents/bug-fixer/registries/pending-fix.d.ts.map +0 -1
  371. package/dist/agents/bug-fixer/registries/pending-fix.js +0 -64
  372. package/dist/agents/bug-fixer/registries/pending-fix.js.map +0 -1
  373. package/dist/agents/bug-fixer/registries/pending.d.ts +0 -27
  374. package/dist/agents/bug-fixer/registries/pending.d.ts.map +0 -1
  375. package/dist/agents/bug-fixer/registries/pending.js +0 -49
  376. package/dist/agents/bug-fixer/registries/pending.js.map +0 -1
  377. package/dist/agents/bug-fixer/specialist-daemon.d.ts +0 -88
  378. package/dist/agents/bug-fixer/specialist-daemon.d.ts.map +0 -1
  379. package/dist/agents/bug-fixer/specialist-daemon.js +0 -431
  380. package/dist/agents/bug-fixer/specialist-daemon.js.map +0 -1
  381. package/dist/agents/bug-fixer/specialist.d.ts +0 -47
  382. package/dist/agents/bug-fixer/specialist.d.ts.map +0 -1
  383. package/dist/agents/bug-fixer/specialist.js +0 -327
  384. package/dist/agents/bug-fixer/specialist.js.map +0 -1
  385. package/dist/agents/bug-fixer/types.d.ts +0 -123
  386. package/dist/agents/bug-fixer/types.d.ts.map +0 -1
  387. package/dist/agents/bug-fixer/types.js +0 -9
  388. package/dist/agents/bug-fixer/types.js.map +0 -1
  389. package/dist/agents/factory.d.ts +0 -172
  390. package/dist/agents/factory.d.ts.map +0 -1
  391. package/dist/agents/factory.js +0 -706
  392. package/dist/agents/factory.js.map +0 -1
  393. package/dist/agents/hailer-expert/index.d.ts +0 -8
  394. package/dist/agents/hailer-expert/index.d.ts.map +0 -1
  395. package/dist/agents/hailer-expert/index.js +0 -14
  396. package/dist/agents/hailer-expert/index.js.map +0 -1
  397. package/dist/agents/hal/daemon.d.ts +0 -174
  398. package/dist/agents/hal/daemon.d.ts.map +0 -1
  399. package/dist/agents/hal/daemon.js +0 -1385
  400. package/dist/agents/hal/daemon.js.map +0 -1
  401. package/dist/agents/hal/definitions.d.ts +0 -42
  402. package/dist/agents/hal/definitions.d.ts.map +0 -1
  403. package/dist/agents/hal/definitions.js +0 -300
  404. package/dist/agents/hal/definitions.js.map +0 -1
  405. package/dist/agents/hal/index.d.ts +0 -3
  406. package/dist/agents/hal/index.d.ts.map +0 -1
  407. package/dist/agents/hal/index.js +0 -8
  408. package/dist/agents/hal/index.js.map +0 -1
  409. package/dist/agents/index.d.ts +0 -18
  410. package/dist/agents/index.d.ts.map +0 -1
  411. package/dist/agents/index.js +0 -48
  412. package/dist/agents/index.js.map +0 -1
  413. package/dist/agents/shared/base.d.ts +0 -253
  414. package/dist/agents/shared/base.d.ts.map +0 -1
  415. package/dist/agents/shared/base.js +0 -1122
  416. package/dist/agents/shared/base.js.map +0 -1
  417. package/dist/agents/shared/schemas/action-schema.d.ts +0 -62
  418. package/dist/agents/shared/schemas/action-schema.d.ts.map +0 -1
  419. package/dist/agents/shared/schemas/action-schema.js +0 -483
  420. package/dist/agents/shared/schemas/action-schema.js.map +0 -1
  421. package/dist/agents/shared/services/agent-registry.d.ts +0 -108
  422. package/dist/agents/shared/services/agent-registry.d.ts.map +0 -1
  423. package/dist/agents/shared/services/agent-registry.js +0 -469
  424. package/dist/agents/shared/services/agent-registry.js.map +0 -1
  425. package/dist/agents/shared/services/conversation-manager.d.ts +0 -57
  426. package/dist/agents/shared/services/conversation-manager.d.ts.map +0 -1
  427. package/dist/agents/shared/services/conversation-manager.js +0 -168
  428. package/dist/agents/shared/services/conversation-manager.js.map +0 -1
  429. package/dist/agents/shared/services/mcp-client.d.ts +0 -56
  430. package/dist/agents/shared/services/mcp-client.d.ts.map +0 -1
  431. package/dist/agents/shared/services/mcp-client.js +0 -124
  432. package/dist/agents/shared/services/mcp-client.js.map +0 -1
  433. package/dist/agents/shared/services/message-classifier.d.ts +0 -37
  434. package/dist/agents/shared/services/message-classifier.d.ts.map +0 -1
  435. package/dist/agents/shared/services/message-classifier.js +0 -203
  436. package/dist/agents/shared/services/message-classifier.js.map +0 -1
  437. package/dist/agents/shared/services/message-formatter.d.ts +0 -89
  438. package/dist/agents/shared/services/message-formatter.d.ts.map +0 -1
  439. package/dist/agents/shared/services/message-formatter.js +0 -390
  440. package/dist/agents/shared/services/message-formatter.js.map +0 -1
  441. package/dist/agents/shared/services/session-logger.d.ts +0 -162
  442. package/dist/agents/shared/services/session-logger.d.ts.map +0 -1
  443. package/dist/agents/shared/services/session-logger.js +0 -724
  444. package/dist/agents/shared/services/session-logger.js.map +0 -1
  445. package/dist/agents/shared/services/structured-output-executor.d.ts +0 -88
  446. package/dist/agents/shared/services/structured-output-executor.d.ts.map +0 -1
  447. package/dist/agents/shared/services/structured-output-executor.js +0 -296
  448. package/dist/agents/shared/services/structured-output-executor.js.map +0 -1
  449. package/dist/agents/shared/services/token-billing.d.ts +0 -72
  450. package/dist/agents/shared/services/token-billing.d.ts.map +0 -1
  451. package/dist/agents/shared/services/token-billing.js +0 -198
  452. package/dist/agents/shared/services/token-billing.js.map +0 -1
  453. package/dist/agents/shared/services/tool-executor.d.ts +0 -43
  454. package/dist/agents/shared/services/tool-executor.d.ts.map +0 -1
  455. package/dist/agents/shared/services/tool-executor.js +0 -175
  456. package/dist/agents/shared/services/tool-executor.js.map +0 -1
  457. package/dist/agents/shared/services/typing-indicator.d.ts +0 -24
  458. package/dist/agents/shared/services/typing-indicator.d.ts.map +0 -1
  459. package/dist/agents/shared/services/typing-indicator.js +0 -54
  460. package/dist/agents/shared/services/typing-indicator.js.map +0 -1
  461. package/dist/agents/shared/services/workspace-schema-cache.d.ts +0 -122
  462. package/dist/agents/shared/services/workspace-schema-cache.d.ts.map +0 -1
  463. package/dist/agents/shared/services/workspace-schema-cache.js +0 -507
  464. package/dist/agents/shared/services/workspace-schema-cache.js.map +0 -1
  465. package/dist/agents/shared/specialist.d.ts +0 -91
  466. package/dist/agents/shared/specialist.d.ts.map +0 -1
  467. package/dist/agents/shared/specialist.js +0 -399
  468. package/dist/agents/shared/specialist.js.map +0 -1
  469. package/dist/agents/shared/tool-schema-loader.d.ts +0 -65
  470. package/dist/agents/shared/tool-schema-loader.d.ts.map +0 -1
  471. package/dist/agents/shared/tool-schema-loader.js +0 -238
  472. package/dist/agents/shared/tool-schema-loader.js.map +0 -1
  473. package/dist/agents/shared/types.d.ts +0 -190
  474. package/dist/agents/shared/types.d.ts.map +0 -1
  475. package/dist/agents/shared/types.js +0 -13
  476. package/dist/agents/shared/types.js.map +0 -1
  477. package/dist/bot/bot-config.d.ts +0 -37
  478. package/dist/bot/bot-config.d.ts.map +0 -1
  479. package/dist/bot/bot-config.js +0 -219
  480. package/dist/bot/bot-config.js.map +0 -1
  481. package/dist/bot/services/__tests__/permission-guard.test.d.ts +0 -2
  482. package/dist/bot/services/__tests__/permission-guard.test.d.ts.map +0 -1
  483. package/dist/bot/services/__tests__/permission-guard.test.js +0 -357
  484. package/dist/bot/services/__tests__/permission-guard.test.js.map +0 -1
  485. package/dist/bot/services/session-logger.d.ts +0 -162
  486. package/dist/bot/services/session-logger.d.ts.map +0 -1
  487. package/dist/bot/services/session-logger.js +0 -724
  488. package/dist/bot/services/session-logger.js.map +0 -1
  489. package/dist/bot/services/workspace-schema-cache.d.ts +0 -122
  490. package/dist/bot/services/workspace-schema-cache.d.ts.map +0 -1
  491. package/dist/bot/services/workspace-schema-cache.js +0 -506
  492. package/dist/bot/services/workspace-schema-cache.js.map +0 -1
  493. package/dist/bot-config/tools.d.ts +0 -28
  494. package/dist/bot-config/tools.d.ts.map +0 -1
  495. package/dist/bot-config/tools.js +0 -279
  496. package/dist/bot-config/tools.js.map +0 -1
  497. package/dist/client/agents/base.d.ts +0 -207
  498. package/dist/client/agents/base.d.ts.map +0 -1
  499. package/dist/client/agents/base.js +0 -744
  500. package/dist/client/agents/base.js.map +0 -1
  501. package/dist/client/agents/definitions.d.ts +0 -53
  502. package/dist/client/agents/definitions.d.ts.map +0 -1
  503. package/dist/client/agents/definitions.js +0 -263
  504. package/dist/client/agents/definitions.js.map +0 -1
  505. package/dist/client/agents/orchestrator.d.ts +0 -141
  506. package/dist/client/agents/orchestrator.d.ts.map +0 -1
  507. package/dist/client/agents/orchestrator.js +0 -1062
  508. package/dist/client/agents/orchestrator.js.map +0 -1
  509. package/dist/client/agents/specialist.d.ts +0 -86
  510. package/dist/client/agents/specialist.d.ts.map +0 -1
  511. package/dist/client/agents/specialist.js +0 -340
  512. package/dist/client/agents/specialist.js.map +0 -1
  513. package/dist/client/bot-entrypoint.d.ts +0 -7
  514. package/dist/client/bot-entrypoint.d.ts.map +0 -1
  515. package/dist/client/bot-entrypoint.js +0 -103
  516. package/dist/client/bot-entrypoint.js.map +0 -1
  517. package/dist/client/bot-manager.d.ts +0 -44
  518. package/dist/client/bot-manager.d.ts.map +0 -1
  519. package/dist/client/bot-manager.js +0 -173
  520. package/dist/client/bot-manager.js.map +0 -1
  521. package/dist/client/bot-runner.d.ts +0 -35
  522. package/dist/client/bot-runner.d.ts.map +0 -1
  523. package/dist/client/bot-runner.js +0 -188
  524. package/dist/client/bot-runner.js.map +0 -1
  525. package/dist/client/chat-agent-daemon.d.ts +0 -464
  526. package/dist/client/chat-agent-daemon.d.ts.map +0 -1
  527. package/dist/client/chat-agent-daemon.js +0 -1774
  528. package/dist/client/chat-agent-daemon.js.map +0 -1
  529. package/dist/client/daemon-factory.d.ts +0 -106
  530. package/dist/client/daemon-factory.d.ts.map +0 -1
  531. package/dist/client/daemon-factory.js +0 -301
  532. package/dist/client/daemon-factory.js.map +0 -1
  533. package/dist/client/factory.d.ts +0 -111
  534. package/dist/client/factory.d.ts.map +0 -1
  535. package/dist/client/factory.js +0 -314
  536. package/dist/client/factory.js.map +0 -1
  537. package/dist/client/index.d.ts +0 -17
  538. package/dist/client/index.d.ts.map +0 -1
  539. package/dist/client/index.js +0 -38
  540. package/dist/client/index.js.map +0 -1
  541. package/dist/client/multi-bot-manager.d.ts +0 -42
  542. package/dist/client/multi-bot-manager.d.ts.map +0 -1
  543. package/dist/client/multi-bot-manager.js +0 -161
  544. package/dist/client/multi-bot-manager.js.map +0 -1
  545. package/dist/client/orchestrator-daemon.d.ts +0 -87
  546. package/dist/client/orchestrator-daemon.d.ts.map +0 -1
  547. package/dist/client/orchestrator-daemon.js +0 -444
  548. package/dist/client/orchestrator-daemon.js.map +0 -1
  549. package/dist/client/server.d.ts +0 -8
  550. package/dist/client/server.d.ts.map +0 -1
  551. package/dist/client/server.js +0 -251
  552. package/dist/client/server.js.map +0 -1
  553. package/dist/client/services/agent-registry.d.ts +0 -108
  554. package/dist/client/services/agent-registry.d.ts.map +0 -1
  555. package/dist/client/services/agent-registry.js +0 -630
  556. package/dist/client/services/agent-registry.js.map +0 -1
  557. package/dist/client/services/conversation-manager.d.ts +0 -50
  558. package/dist/client/services/conversation-manager.d.ts.map +0 -1
  559. package/dist/client/services/conversation-manager.js +0 -136
  560. package/dist/client/services/conversation-manager.js.map +0 -1
  561. package/dist/client/services/mcp-client.d.ts +0 -48
  562. package/dist/client/services/mcp-client.d.ts.map +0 -1
  563. package/dist/client/services/mcp-client.js +0 -105
  564. package/dist/client/services/mcp-client.js.map +0 -1
  565. package/dist/client/services/message-classifier.d.ts +0 -37
  566. package/dist/client/services/message-classifier.d.ts.map +0 -1
  567. package/dist/client/services/message-classifier.js +0 -187
  568. package/dist/client/services/message-classifier.js.map +0 -1
  569. package/dist/client/services/message-formatter.d.ts +0 -84
  570. package/dist/client/services/message-formatter.d.ts.map +0 -1
  571. package/dist/client/services/message-formatter.js +0 -353
  572. package/dist/client/services/message-formatter.js.map +0 -1
  573. package/dist/client/services/session-logger.d.ts +0 -106
  574. package/dist/client/services/session-logger.d.ts.map +0 -1
  575. package/dist/client/services/session-logger.js +0 -446
  576. package/dist/client/services/session-logger.js.map +0 -1
  577. package/dist/client/services/tool-executor.d.ts +0 -41
  578. package/dist/client/services/tool-executor.d.ts.map +0 -1
  579. package/dist/client/services/tool-executor.js +0 -169
  580. package/dist/client/services/tool-executor.js.map +0 -1
  581. package/dist/client/services/workspace-schema-cache.d.ts +0 -149
  582. package/dist/client/services/workspace-schema-cache.d.ts.map +0 -1
  583. package/dist/client/services/workspace-schema-cache.js +0 -732
  584. package/dist/client/services/workspace-schema-cache.js.map +0 -1
  585. package/dist/client/specialist-daemon.d.ts +0 -77
  586. package/dist/client/specialist-daemon.d.ts.map +0 -1
  587. package/dist/client/specialist-daemon.js +0 -197
  588. package/dist/client/specialist-daemon.js.map +0 -1
  589. package/dist/client/specialists.d.ts +0 -53
  590. package/dist/client/specialists.d.ts.map +0 -1
  591. package/dist/client/specialists.js +0 -178
  592. package/dist/client/specialists.js.map +0 -1
  593. package/dist/client/tool-schema-loader.d.ts +0 -62
  594. package/dist/client/tool-schema-loader.d.ts.map +0 -1
  595. package/dist/client/tool-schema-loader.js +0 -232
  596. package/dist/client/tool-schema-loader.js.map +0 -1
  597. package/dist/client/types.d.ts +0 -327
  598. package/dist/client/types.d.ts.map +0 -1
  599. package/dist/client/types.js +0 -121
  600. package/dist/client/types.js.map +0 -1
  601. package/dist/commands/seed-config.d.ts +0 -9
  602. package/dist/commands/seed-config.d.ts.map +0 -1
  603. package/dist/commands/seed-config.js +0 -377
  604. package/dist/commands/seed-config.js.map +0 -1
  605. package/dist/commands/setup.d.ts +0 -11
  606. package/dist/commands/setup.d.ts.map +0 -1
  607. package/dist/commands/setup.js +0 -320
  608. package/dist/commands/setup.js.map +0 -1
  609. package/dist/lib/discussion-lock.d.ts +0 -42
  610. package/dist/lib/discussion-lock.d.ts.map +0 -1
  611. package/dist/lib/discussion-lock.js +0 -110
  612. package/dist/lib/discussion-lock.js.map +0 -1
  613. package/dist/mcp/signal-handler.d.ts +0 -82
  614. package/dist/mcp/signal-handler.d.ts.map +0 -1
  615. package/dist/mcp/signal-handler.js +0 -406
  616. package/dist/mcp/signal-handler.js.map +0 -1
  617. package/dist/mcp/tools/__tests__/discussion-forward.test.d.ts +0 -2
  618. package/dist/mcp/tools/__tests__/discussion-forward.test.d.ts.map +0 -1
  619. package/dist/mcp/tools/__tests__/discussion-forward.test.js +0 -218
  620. package/dist/mcp/tools/__tests__/discussion-forward.test.js.map +0 -1
  621. package/dist/mcp/tools/app-member.d.ts +0 -14
  622. package/dist/mcp/tools/app-member.d.ts.map +0 -1
  623. package/dist/mcp/tools/app-member.js +0 -195
  624. package/dist/mcp/tools/app-member.js.map +0 -1
  625. package/dist/mcp/tools/app-scaffold.d.ts +0 -14
  626. package/dist/mcp/tools/app-scaffold.d.ts.map +0 -1
  627. package/dist/mcp/tools/app-scaffold.js +0 -581
  628. package/dist/mcp/tools/app-scaffold.js.map +0 -1
  629. package/dist/mcp/tools/bot-config/constants.d.ts +0 -23
  630. package/dist/mcp/tools/bot-config/constants.d.ts.map +0 -1
  631. package/dist/mcp/tools/bot-config/constants.js +0 -94
  632. package/dist/mcp/tools/bot-config/constants.js.map +0 -1
  633. package/dist/mcp/tools/bot-config/core.d.ts +0 -253
  634. package/dist/mcp/tools/bot-config/core.d.ts.map +0 -1
  635. package/dist/mcp/tools/bot-config/core.js +0 -2456
  636. package/dist/mcp/tools/bot-config/core.js.map +0 -1
  637. package/dist/mcp/tools/bot-config/index.d.ts +0 -10
  638. package/dist/mcp/tools/bot-config/index.d.ts.map +0 -1
  639. package/dist/mcp/tools/bot-config/index.js +0 -59
  640. package/dist/mcp/tools/bot-config/index.js.map +0 -1
  641. package/dist/mcp/tools/bot-config/tools.d.ts +0 -7
  642. package/dist/mcp/tools/bot-config/tools.d.ts.map +0 -1
  643. package/dist/mcp/tools/bot-config/tools.js +0 -15
  644. package/dist/mcp/tools/bot-config/tools.js.map +0 -1
  645. package/dist/mcp/tools/bot-config/types.d.ts +0 -50
  646. package/dist/mcp/tools/bot-config/types.d.ts.map +0 -1
  647. package/dist/mcp/tools/bot-config/types.js +0 -6
  648. package/dist/mcp/tools/bot-config/types.js.map +0 -1
  649. package/dist/mcp/tools/bug-fixer-tools.d.ts +0 -45
  650. package/dist/mcp/tools/bug-fixer-tools.d.ts.map +0 -1
  651. package/dist/mcp/tools/bug-fixer-tools.js +0 -1096
  652. package/dist/mcp/tools/bug-fixer-tools.js.map +0 -1
  653. package/dist/mcp/tools/document.d.ts +0 -11
  654. package/dist/mcp/tools/document.d.ts.map +0 -1
  655. package/dist/mcp/tools/document.js +0 -741
  656. package/dist/mcp/tools/document.js.map +0 -1
  657. package/dist/mcp/tools/investigate.d.ts +0 -9
  658. package/dist/mcp/tools/investigate.d.ts.map +0 -1
  659. package/dist/mcp/tools/investigate.js +0 -254
  660. package/dist/mcp/tools/investigate.js.map +0 -1
  661. package/dist/mcp/utils/pagination.d.ts +0 -40
  662. package/dist/mcp/utils/pagination.d.ts.map +0 -1
  663. package/dist/mcp/utils/pagination.js +0 -55
  664. package/dist/mcp/utils/pagination.js.map +0 -1
  665. package/dist/modules/bug-reports/bug-config.d.ts +0 -25
  666. package/dist/modules/bug-reports/bug-config.d.ts.map +0 -1
  667. package/dist/modules/bug-reports/bug-config.js +0 -187
  668. package/dist/modules/bug-reports/bug-config.js.map +0 -1
  669. package/dist/modules/bug-reports/bug-monitor.d.ts +0 -108
  670. package/dist/modules/bug-reports/bug-monitor.d.ts.map +0 -1
  671. package/dist/modules/bug-reports/bug-monitor.js +0 -510
  672. package/dist/modules/bug-reports/bug-monitor.js.map +0 -1
  673. package/dist/modules/bug-reports/giuseppe-agent.d.ts +0 -58
  674. package/dist/modules/bug-reports/giuseppe-agent.d.ts.map +0 -1
  675. package/dist/modules/bug-reports/giuseppe-agent.js +0 -467
  676. package/dist/modules/bug-reports/giuseppe-agent.js.map +0 -1
  677. package/dist/modules/bug-reports/giuseppe-ai.d.ts +0 -83
  678. package/dist/modules/bug-reports/giuseppe-ai.d.ts.map +0 -1
  679. package/dist/modules/bug-reports/giuseppe-ai.js +0 -466
  680. package/dist/modules/bug-reports/giuseppe-ai.js.map +0 -1
  681. package/dist/modules/bug-reports/giuseppe-bot.d.ts +0 -110
  682. package/dist/modules/bug-reports/giuseppe-bot.d.ts.map +0 -1
  683. package/dist/modules/bug-reports/giuseppe-bot.js +0 -804
  684. package/dist/modules/bug-reports/giuseppe-bot.js.map +0 -1
  685. package/dist/modules/bug-reports/giuseppe-daemon.d.ts +0 -80
  686. package/dist/modules/bug-reports/giuseppe-daemon.d.ts.map +0 -1
  687. package/dist/modules/bug-reports/giuseppe-daemon.js +0 -617
  688. package/dist/modules/bug-reports/giuseppe-daemon.js.map +0 -1
  689. package/dist/modules/bug-reports/giuseppe-files.d.ts +0 -64
  690. package/dist/modules/bug-reports/giuseppe-files.d.ts.map +0 -1
  691. package/dist/modules/bug-reports/giuseppe-files.js +0 -375
  692. package/dist/modules/bug-reports/giuseppe-files.js.map +0 -1
  693. package/dist/modules/bug-reports/giuseppe-git.d.ts +0 -48
  694. package/dist/modules/bug-reports/giuseppe-git.d.ts.map +0 -1
  695. package/dist/modules/bug-reports/giuseppe-git.js +0 -298
  696. package/dist/modules/bug-reports/giuseppe-git.js.map +0 -1
  697. package/dist/modules/bug-reports/giuseppe-lsp.d.ts +0 -113
  698. package/dist/modules/bug-reports/giuseppe-lsp.d.ts.map +0 -1
  699. package/dist/modules/bug-reports/giuseppe-lsp.js +0 -485
  700. package/dist/modules/bug-reports/giuseppe-lsp.js.map +0 -1
  701. package/dist/modules/bug-reports/giuseppe-prompt.d.ts +0 -5
  702. package/dist/modules/bug-reports/giuseppe-prompt.d.ts.map +0 -1
  703. package/dist/modules/bug-reports/giuseppe-prompt.js +0 -94
  704. package/dist/modules/bug-reports/giuseppe-prompt.js.map +0 -1
  705. package/dist/modules/bug-reports/index.d.ts +0 -77
  706. package/dist/modules/bug-reports/index.d.ts.map +0 -1
  707. package/dist/modules/bug-reports/index.js +0 -215
  708. package/dist/modules/bug-reports/index.js.map +0 -1
  709. package/dist/modules/bug-reports/pending-classification-registry.d.ts +0 -28
  710. package/dist/modules/bug-reports/pending-classification-registry.d.ts.map +0 -1
  711. package/dist/modules/bug-reports/pending-classification-registry.js +0 -50
  712. package/dist/modules/bug-reports/pending-classification-registry.js.map +0 -1
  713. package/dist/modules/bug-reports/pending-fix-registry.d.ts +0 -30
  714. package/dist/modules/bug-reports/pending-fix-registry.d.ts.map +0 -1
  715. package/dist/modules/bug-reports/pending-fix-registry.js +0 -42
  716. package/dist/modules/bug-reports/pending-fix-registry.js.map +0 -1
  717. package/dist/modules/bug-reports/pending-registry.d.ts +0 -27
  718. package/dist/modules/bug-reports/pending-registry.d.ts.map +0 -1
  719. package/dist/modules/bug-reports/pending-registry.js +0 -49
  720. package/dist/modules/bug-reports/pending-registry.js.map +0 -1
  721. package/dist/modules/bug-reports/types.d.ts +0 -123
  722. package/dist/modules/bug-reports/types.d.ts.map +0 -1
  723. package/dist/modules/bug-reports/types.js +0 -9
  724. package/dist/modules/bug-reports/types.js.map +0 -1
  725. package/dist/plugins/bug-fixer/index.d.ts +0 -2
  726. package/dist/plugins/bug-fixer/index.d.ts.map +0 -1
  727. package/dist/plugins/bug-fixer/index.js +0 -18
  728. package/dist/plugins/bug-fixer/index.js.map +0 -1
  729. package/dist/plugins/bug-fixer/tools.d.ts +0 -45
  730. package/dist/plugins/bug-fixer/tools.d.ts.map +0 -1
  731. package/dist/plugins/bug-fixer/tools.js +0 -1096
  732. package/dist/plugins/bug-fixer/tools.js.map +0 -1
  733. package/dist/plugins/vipunen/__tests__/tools.test.d.ts +0 -10
  734. package/dist/plugins/vipunen/__tests__/tools.test.d.ts.map +0 -1
  735. package/dist/plugins/vipunen/__tests__/tools.test.js +0 -646
  736. package/dist/plugins/vipunen/__tests__/tools.test.js.map +0 -1
  737. package/dist/routes/agents.d.ts +0 -44
  738. package/dist/routes/agents.d.ts.map +0 -1
  739. package/dist/routes/agents.js +0 -311
  740. package/dist/routes/agents.js.map +0 -1
  741. package/dist/services/agent-credential-store.d.ts +0 -73
  742. package/dist/services/agent-credential-store.d.ts.map +0 -1
  743. package/dist/services/agent-credential-store.js +0 -212
  744. package/dist/services/agent-credential-store.js.map +0 -1
  745. package/dist/stdio-server.d.ts +0 -14
  746. package/dist/stdio-server.d.ts.map +0 -1
  747. package/dist/stdio-server.js +0 -101
  748. package/dist/stdio-server.js.map +0 -1
  749. package/dist/workspace/context.d.ts +0 -148
  750. package/dist/workspace/context.d.ts.map +0 -1
  751. package/dist/workspace/context.js +0 -339
  752. package/dist/workspace/context.js.map +0 -1
  753. package/dist/workspace/credentials.d.ts +0 -55
  754. package/dist/workspace/credentials.d.ts.map +0 -1
  755. package/dist/workspace/credentials.js +0 -239
  756. package/dist/workspace/credentials.js.map +0 -1
  757. package/dist/workspace/index.d.ts +0 -21
  758. package/dist/workspace/index.d.ts.map +0 -1
  759. package/dist/workspace/index.js +0 -45
  760. package/dist/workspace/index.js.map +0 -1
  761. package/dist/workspace/loader.d.ts +0 -27
  762. package/dist/workspace/loader.d.ts.map +0 -1
  763. package/dist/workspace/loader.js +0 -222
  764. package/dist/workspace/loader.js.map +0 -1
  765. package/dist/workspace/schema.d.ts +0 -37
  766. package/dist/workspace/schema.d.ts.map +0 -1
  767. package/dist/workspace/schema.js +0 -192
  768. package/dist/workspace/schema.js.map +0 -1
@@ -6,7 +6,7 @@
6
6
  */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
8
  exports.SignalRouter = void 0;
9
- const RATE_LIMIT_WINDOW = 60_000;
9
+ const RATE_LIMIT_WINDOW = 60000;
10
10
  const RATE_LIMIT_PER_DISCUSSION = 30;
11
11
  const RATE_LIMIT_GLOBAL = 100;
12
12
  const DISENGAGE_THRESHOLD = 5;
@@ -25,8 +25,9 @@ class SignalRouter {
25
25
  // ===== DEDUP =====
26
26
  /** Returns true if this message was already seen. Adds it to the set if not. */
27
27
  isDuplicate(dedupKey) {
28
- if (this.processedMessageIds.has(dedupKey))
28
+ if (this.processedMessageIds.has(dedupKey)) {
29
29
  return true;
30
+ }
30
31
  this.processedMessageIds.add(dedupKey);
31
32
  this.pruneDedup();
32
33
  return false;
@@ -51,15 +52,17 @@ class SignalRouter {
51
52
  discTimestamps = [];
52
53
  this.signalTimestampsPerDiscussion.set(discussionId, discTimestamps);
53
54
  }
54
- while (discTimestamps.length > 0 && discTimestamps[0] < cutoff)
55
+ while (discTimestamps.length > 0 && discTimestamps[0] < cutoff) {
55
56
  discTimestamps.shift();
57
+ }
56
58
  if (discTimestamps.length >= RATE_LIMIT_PER_DISCUSSION) {
57
59
  this.logger.warn('Per-discussion rate limit exceeded', { discussionId, count: discTimestamps.length });
58
60
  return true;
59
61
  }
60
62
  // Global
61
- while (this.globalSignalTimestamps.length > 0 && this.globalSignalTimestamps[0] < cutoff)
63
+ while (this.globalSignalTimestamps.length > 0 && this.globalSignalTimestamps[0] < cutoff) {
62
64
  this.globalSignalTimestamps.shift();
65
+ }
63
66
  if (this.globalSignalTimestamps.length >= RATE_LIMIT_GLOBAL) {
64
67
  this.logger.warn('Global rate limit exceeded', { count: this.globalSignalTimestamps.length });
65
68
  return true;
@@ -81,8 +84,9 @@ class SignalRouter {
81
84
  // Evict oldest if at capacity
82
85
  if (this.discussionStates.size >= MAX_DISCUSSION_STATES) {
83
86
  const oldest = this.discussionStates.keys().next().value;
84
- if (oldest)
87
+ if (oldest) {
85
88
  this.discussionStates.delete(oldest);
89
+ }
86
90
  }
87
91
  state = {
88
92
  contextBuffer: [],
@@ -104,8 +108,9 @@ class SignalRouter {
104
108
  // ===== ENGAGEMENT =====
105
109
  /** Check if a message should trigger a bot response based on response mode. */
106
110
  checkTrigger(message, responseMode) {
107
- if (message.isPrivateDiscussion)
111
+ if (message.isPrivateDiscussion) {
108
112
  return true;
113
+ }
109
114
  switch (responseMode) {
110
115
  case 'mention_only': return message.isMention;
111
116
  case 'reply_only': return message.isReplyToBot;
@@ -1 +1 @@
1
- {"version":3,"file":"signal-router.js","sourceRoot":"","sources":["../../../src/bot/services/signal-router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"signal-router.js","sourceRoot":"","sources":["../../../src/bot/services/signal-router.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,20 @@ export declare function buildSystemPrompt(opts: {
8
8
  userId: string;
9
9
  workspaceOverview: string;
10
10
  customPrompt?: string;
11
+ helperMode?: boolean;
12
+ /**
13
+ * True when this bot carries a graduation seedContext (it came from a
14
+ * public-chat demo the user chose to continue). Only meaningful together
15
+ * with helperMode: it steers the Helper persona to continue the user's
16
+ * demo intent instead of launching the scripted from-zero onboarding tour.
17
+ */
18
+ hasSeedContext?: boolean;
19
+ /** Bot's current response mode — passed so the LLM can describe it to users. */
20
+ responseMode?: 'always' | 'mention_only' | 'reply_only' | 'mention_or_reply';
21
+ /** Bot's access level (who can talk to it). */
22
+ accessLevel?: 'all' | 'admin' | 'owner';
23
+ /** Whether the bot replies to messages from other bots. */
24
+ allowBotMessages?: boolean;
11
25
  botExchangeContext?: {
12
26
  senderBotName: string;
13
27
  consecutiveExchanges: number;
@@ -1 +1 @@
1
- {"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../../../src/bot/services/system-prompt.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAYjE,gDAAgD;AAChD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE;IACtC,IAAI,EAAE,wBAAwB,GAAG,IAAI,CAAC;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE;QACnB,aAAa,EAAE,MAAM,CAAC;QACtB,oBAAoB,EAAE,MAAM,CAAC;KAC9B,CAAC;CACH,GAAG,MAAM,CAgHT"}
1
+ {"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../../../src/bot/services/system-prompt.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAiBjE,gDAAgD;AAChD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE;IACtC,IAAI,EAAE,wBAAwB,GAAG,IAAI,CAAC;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,gFAAgF;IAChF,YAAY,CAAC,EAAE,QAAQ,GAAG,cAAc,GAAG,YAAY,GAAG,kBAAkB,CAAC;IAC7E,+CAA+C;IAC/C,WAAW,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,OAAO,CAAC;IACxC,2DAA2D;IAC3D,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,kBAAkB,CAAC,EAAE;QACnB,aAAa,EAAE,MAAM,CAAC;QACtB,oBAAoB,EAAE,MAAM,CAAC;KAC9B,CAAC;CACH,GAAG,MAAM,CAmST"}
@@ -4,13 +4,16 @@
4
4
  */
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.buildSystemPrompt = buildSystemPrompt;
7
+ const helper_prompt_1 = require("./helper-prompt");
7
8
  /** Resolve the bot's display name from init data. */
8
9
  function getBotDisplayName(init, userId) {
9
- if (!init?.users || !userId)
10
+ if (!init?.users || !userId) {
10
11
  return 'Assistant';
12
+ }
11
13
  const user = init.users[userId];
12
- if (!user)
14
+ if (!user) {
13
15
  return 'Assistant';
16
+ }
14
17
  const name = user.display_name || user.fullName ||
15
18
  `${user.firstname || ''} ${user.lastname || ''}`.trim();
16
19
  return name || 'Assistant';
@@ -24,6 +27,81 @@ Your user ID: ${opts.userId}
24
27
  Your display name: ${botName}
25
28
  Workspace: ${wsName}
26
29
  </bot-identity>`;
30
+ const responseModeMode = opts.responseMode ?? 'always';
31
+ const responseModeDescription = {
32
+ always: 'I respond to every message posted in this discussion.',
33
+ mention_only: 'I only respond when someone @mentions me by name.',
34
+ reply_only: 'I only respond when someone replies to one of my messages.',
35
+ mention_or_reply: 'I only respond when someone @mentions me OR replies to one of my messages. I stay silent on other messages, even if they look directed at me.',
36
+ }[responseModeMode];
37
+ const accessLevelMode = opts.accessLevel ?? 'all';
38
+ const accessLevelDescription = {
39
+ all: 'Any verified workspace member can talk to me.',
40
+ admin: 'Only workspace admins and owners can talk to me. Other members will be ignored.',
41
+ owner: 'Only workspace owners can talk to me. Anyone else is ignored.',
42
+ }[accessLevelMode];
43
+ const botMessagesDescription = opts.allowBotMessages
44
+ ? 'I do reply to messages from other bots.'
45
+ : 'I ignore messages from other bots (to avoid bot loops).';
46
+ const settings = `<your-settings>
47
+ You are aware of your own configuration. When users seem frustrated, confused, or stuck — for example you don't reply to a message they expected you to, or they wonder why you keep ignoring them, or they ask "are you on?" — surface the relevant setting and offer suggestions.
48
+
49
+ Current settings:
50
+ - Response mode: ${responseModeMode} — ${responseModeDescription}
51
+ - Access level: ${accessLevelMode} — ${accessLevelDescription}
52
+ - Bot-to-bot: ${botMessagesDescription}
53
+
54
+ How to talk about them:
55
+ - Translate to plain English, never just dump the raw value.
56
+ - If a user seems frustrated by silence in a busy discussion, suggest they switch you to "always" mode (or stay where you are if they prefer less noise).
57
+ - If a non-admin can't talk to you because of access level, explain who they should ask to get included.
58
+ - Settings other than persona are NOT self-mutable — point users at the AI Hub app ("Bots" section) to flip them. You can only change your own persona/avatar via tools, and only for workspace admins/owners.
59
+ </your-settings>`;
60
+ const botActionsBlock = opts.helperMode ? `
61
+ BOT ACTIONS — UI commands embedded in your messages:
62
+ The frontend parses special tags from your messages and executes them. Use these when the user asks you to navigate somewhere, show them something, or when you perform an action and want to take them to the result.
63
+
64
+ Available actions:
65
+ - Navigate: <bot-action type="navigate" url="/activities/process/{workflowId}/phase/{phaseId}" />
66
+ - Highlight UI element: <bot-action type="highlight" target="{targetName}" />
67
+ - Highlight within specific workflow: <bot-action type="highlight" target="{targetName}" scope="{workflowId}" />
68
+
69
+ URL patterns for navigation:
70
+ - Workflow (kanban): /activities/process/{workflowId}/phase/{phaseId}
71
+ - Workflow (table): /activities/process/{workflowId}/phase/{phaseId}/table
72
+ - Activity detail: /activities/process/{workflowId}/phase/{phaseId}/activity/{activityId}
73
+ - Discussions: /discussions
74
+ - Specific discussion: /discussions/{discussionId}
75
+ - Events: /events
76
+ - Feed: /feed
77
+ - People: /people
78
+ - Settings: /settings
79
+
80
+ Highlight targets by section:
81
+ - Workflow header: add-activity-button, create-workflow-button, workflow-settings-button, edit-workflow-button, copy-workflow-button, workflow-name, workflow-star-icon-button
82
+ - Kanban: kanban-activity-card, workflow-phases, workflow-phase-name
83
+ - Activity topbar: activity-count, fields-filter, workflow-list-back-button, activity-filter-button
84
+ - Activity table: activity-table, activity-table-row
85
+ - Activity sidenav tabs: activity-sidenav-detail-tab, activity-sidenav-discussion-tab, activity-sidenav-files-tab, activity-sidenav-participants-tab, activity-sidenav-linkedFrom-tab, activity-sidenav-options-tab, activity-sidenav-location-tab
86
+ - Activity sidenav actions: activity-sidenav-phase-label, activity-sidenav-add-linked-activity-button, activity-detail-more-options-button
87
+ - Left navigation: activities-navigation-button, feed-navigation-button, calendar-navigation-button, people-navigation-button, settings-navigation-button
88
+ - Discussions: discussion-create-button, discussion-create-group, discussion-create-private, discussion-list-item, discussion-input-emoji-button
89
+ - Feed: feed-post-like-button, feed-post-options-button
90
+ - Calendar: calendar-view, calendar-month-view-button, calendar-week-view-button, calendar-day-view-button, calendar-user-filter-button
91
+ - People: user-invite-container, user-card, team-selector
92
+ - Global: global-search-input, profile-menu-logout-button
93
+
94
+ Rules:
95
+ - ONLY use navigate when the user EXPLICITLY asks to go somewhere: "show me", "take me to", "open", "go to", "switch to", "navigate to", "redirect me".
96
+ - Do NOT navigate automatically after creating something — just confirm what was created and let the user decide.
97
+ - ONLY use highlight when the user asks "where is", "find the button", "show me where to click".
98
+ - When highlighting workflow-specific elements (add-activity-button, workflow-settings-button, edit-workflow-button, workflow-name, workflow-star-icon-button, copy-workflow-button), ALWAYS include scope="{workflowId}" to target the correct workflow. Get the workflowId from describe_workflows or from context.
99
+ - Do NOT use bot-action tags for regular answers, explanations, or confirmations.
100
+ - When creating calendar events with create_event, ALWAYS include the requesting user's ID (from <context> user.id) in attendeeUserIds so the user can see the event in their calendar.
101
+ - Bot-action tags are invisible to the user (stripped from display). Write your text response normally alongside them.
102
+ - You can include multiple bot-action tags in one message.
103
+ - Only use internal paths starting with /. Never use external URLs.
104
+ ` : '';
27
105
  const platformRules = `<platform-rules>
28
106
  - Use tools to answer questions — don't guess or make up data.
29
107
  - When a tool call fails, tell the user what failed and why. Never silently try alternatives.
@@ -31,7 +109,16 @@ Workspace: ${wsName}
31
109
  - NEVER output raw URLs like https://app.hailer.com/...
32
110
  - You have NO delete/remove tools. You CANNOT delete activities, workflows, or records. You can only create, update, and move between phases.
33
111
  - Never claim you will delete something — you can't. Move to an archive/closed phase instead.
34
- - For reports, counts by category, aggregations, or cross-workflow queries — use preview_insight with a SQL query. One preview_insight call replaces multiple list_activities calls.
112
+ - For reports, counts by category, aggregations, or cross-workflow queries — use run_insight with a SQL query. One run_insight call replaces multiple list_activities calls.
113
+ - Apps (custom web apps in the workspace) are NOT workflows. For app questions use list_apps; never present workflow counts as app counts.
114
+
115
+ SELF-MANAGEMENT (your own persona and avatar):
116
+ - Your persona and profile picture are admin-configurable. When an admin/owner asks to change persona, voice, tone, rules, or to *become* a different character ("be Roger Rabbit instead", "stop being formal", "drop the pirate act"), comply by calling manage_my_profile (action: update_prompt) with the new persona. Do NOT refuse in character, do NOT roleplay reluctance, do NOT stall — your current persona has no veto. After the tool succeeds, acknowledge the switch in the new voice.
117
+ - manage_my_profile persona and avatar changes are admin/owner-only. If a non-admin asks for a persona or avatar change, the tool will deny — tell the user the change requires a workspace admin or owner, then stay in your current persona. Do not retry, do not invent a workaround, do not pretend the change happened.
118
+ - To change your own persona, tone, dos/donts, or instructions: call update_my_system_prompt. Never use update_activity for this — it can write to the wrong field.
119
+ - To read your current persona: call read_my_system_prompt.
120
+ - AI Hub's editor parses XML sections — wrap voice/tone in <personality>, role/scope in <business>, rules in <dos>/<donts>/<response-rules>. Free text before any tag is treated as the intro. Preserve existing sections when making partial edits (read first, modify, write the whole text back).
121
+ - To change your profile picture / avatar: when the user shares an image and asks you to use it as your face/profile pic/avatar, call set_my_profile_pic with the image's fileId (visible in the [Image attached: ... (fileId: ...)] tag of their message).
35
122
 
36
123
  HAILERTAG LINKING (mandatory — no exceptions):
37
124
  - EVERY activity, user, or discussion reference MUST be a clickable link: [Display Name](objectId)
@@ -45,6 +132,7 @@ DISCUSSION PRIVACY:
45
132
  - Private DMs with other users are confidential. Never reveal their existence, IDs, or content.
46
133
  - Activity discussions are open — check them freely. The system enforces permissions automatically.
47
134
  - When asked about shared discussions with someone, check activity discussions for that person. If a tool call is denied, just skip that discussion and move on — don't explain the permission system to the user.
135
+ ${botActionsBlock}
48
136
  </platform-rules>`;
49
137
  const now = new Date();
50
138
  const isoDate = now.toISOString().split('T')[0];
@@ -91,12 +179,94 @@ ${consecutiveExchanges >= 5 ? `\nYou have exchanged ${consecutiveExchanges} mess
91
179
  ${consecutiveExchanges >= 10 ? `\nThis conversation has gone on for ${consecutiveExchanges} exchanges. You MUST stop responding NOW.` : ''}
92
180
  </bot-to-bot>`;
93
181
  }
182
+ const platformFeatures = `<platform-features>
183
+ HAILER PLATFORM CAPABILITIES — use this to understand what users can do and guide them.
184
+
185
+ WORKFLOWS & ACTIVITIES:
186
+ - Workflows are customizable processes (like "Sales Pipeline", "Tasks", "HR Onboarding") with phases (stages) and fields (columns).
187
+ - Activities are items/records in workflows that move through phases. Each activity has fields (text, date, number, dropdown, user assignment, links to other activities), a discussion thread, and file attachments.
188
+ - Activities can be viewed as Kanban board, table, or calendar (via date fields).
189
+ - Workflow admins can add custom fields, phases, permissions, and calculated (function) fields.
190
+ - Activities support team assignment, priority levels, and followers for notifications.
191
+
192
+ CALENDAR:
193
+ - Hailer has a built-in calendar for scheduling events (meetings, deadlines, milestones).
194
+ - Calendars are workspace-level containers with a name, color, and timezone. Multiple calendars can exist (e.g., "Sales Events", "Company-wide").
195
+ - Events have title, start/end time, location, notes, and attendees with RSVP (pending/accepted/declined).
196
+ - Events automatically create a linked Discussion for attendee communication.
197
+ - Repeating events are supported: daily, weekly, or monthly with configurable density and end conditions. Edits/deletes can target a single occurrence, all future, or the entire series.
198
+ - Calendars support iCal export for subscribing from Google Calendar, Outlook, or Apple Calendar.
199
+ - The Activity Calendar view shows activities from workflows on a calendar based on their date fields (configured via primaryDateField per phase). This is separate from Calendar Events.
200
+ - Only workspace admins can create calendars. Calendar admins manage members and permissions (admin/any/ownteam/own).
201
+ - To create an event: manage_calendar (action: list) → pick calendar → create_event. Always include the user's ID in attendeeUserIds.
202
+ - To check schedule: query_events with a date range, or with no dates for an upcoming overview.
203
+ - To reschedule: query_events with the eventId (to see current data) → update_event with all required fields.
204
+
205
+ DISCUSSIONS:
206
+ - Discussions are messaging threads — either private (1:1 or group) or linked to activities/events.
207
+ - Every activity and calendar event auto-creates a linked discussion.
208
+ - Users can send messages, share files, and add/remove members.
209
+ - Discussions appear in the left sidebar and support real-time messaging.
210
+
211
+ INSIGHTS:
212
+ - SQL-based analytics over workflow data. Users can create charts, tables, and reports.
213
+ - Supports SELECT, JOIN, GROUP BY, WHERE, ORDER BY across workflows.
214
+ - Can be shared publicly or kept private.
215
+
216
+ PEOPLE & TEAMS:
217
+ - Users belong to a workspace and can be organized into teams.
218
+ - Roles: Owner, Admin, Member, Guest. Guests have limited access.
219
+ - Teams can be assigned to activities, calendar members, and workflow permissions.
220
+
221
+ FILES:
222
+ - Files can be uploaded to activities and discussions.
223
+ - Supported via upload_files and download_file tools.
224
+
225
+ PERMISSIONS:
226
+ - Workflow access: admin (full), any (see all), ownteam (team's activities), own (only own).
227
+ - Calendar access: admin (full), any (all events), ownteam (team events), own (own events).
228
+ - Workspace roles control who can create workflows, calendars, manage users, etc.
229
+
230
+ NAVIGATION (bot-action):
231
+ - Activities: /activities/process/{workflowId}/phase/{phaseId}
232
+ - Calendar: /events
233
+ - Discussions: /discussions or /discussions/{discussionId}
234
+ - People: /people
235
+ - Feed: /feed
236
+ - Settings: /settings
237
+ </platform-features>`;
238
+ // helperMode overrides customPrompt entirely — the Helper Assistant prompt is the bot's role.
239
+ if (opts.helperMode) {
240
+ const body = helper_prompt_1.HELPER_SYSTEM_PROMPT
241
+ .replace(/\{wsName\}/g, wsName)
242
+ .replace(/\{userId\}/g, opts.userId)
243
+ .replace(/\{botName\}/g, botName);
244
+ // A graduated bot keeps the full Helper persona (UI highlights,
245
+ // navigation, concept explanations) but must continue the user's
246
+ // demo intent rather than run the scripted tour from step 1. This
247
+ // directive is prepended so it outranks the ONBOARDING TOUR MODE
248
+ // section, which stays opt-in (user must explicitly ask for a tour).
249
+ const graduationDirective = opts.hasSeedContext ? `<graduation-context>
250
+ This user just arrived from a live demo chat with you and chose to continue in their own new workspace. They are NOT a blank-slate visitor looking for a generic product walkthrough — they came in with a concrete idea you were already exploring together in the demo (it's in the conversation history above your first message).
251
+
252
+ Your priority for this user:
253
+ - Continue and build what they described in the demo. You have full tools — install their workflow or dataset, create their activities, set up their fields — as soon as they say go.
254
+ - Use all your Helper abilities (UI highlights, navigation links, plain-language explanations) in service of THEIR work, not a fixed curriculum.
255
+ - Do NOT launch the numbered onboarding tour from step 1. The scripted ONBOARDING TOUR MODE below is opt-in only — run it solely if this user explicitly asks for "a tour", "onboarding", a tutorial, or "show me how Hailer works". Otherwise stay in everyday Helper mode, anchored on what they came to build.
256
+ </graduation-context>
257
+
258
+ ` : '';
259
+ return `${graduationDirective}${body}\n\n${platformRules}\n\n${platformFeatures}\n\n${identity}\n\n${settings}\n\n${dateContext}\n\n${wsContext}${botContext}`;
260
+ }
94
261
  if (opts.customPrompt?.trim()) {
95
262
  const body = opts.customPrompt.trim()
96
263
  .replace(/\{wsName\}/g, wsName)
97
264
  .replace(/\{userId\}/g, opts.userId)
98
265
  .replace(/\{botName\}/g, botName);
99
- return `${body}\n\n${platformRules}\n\n${identity}\n\n${dateContext}\n\n${wsContext}${botContext}`;
266
+ // When helperMode is on, bot-actions are a system capability that overrides any custom prompt
267
+ // claims about what the bot "can't" do. Place capability block before the custom prompt.
268
+ const helperPreamble = botActionsBlock ? `<system-capabilities>\nIn addition to your persona and role below, you can perform these UI actions. Use them while staying in character:\n${botActionsBlock}</system-capabilities>\n\n` : '';
269
+ return `${helperPreamble}${body}\n\n${platformRules}\n\n${platformFeatures}\n\n${identity}\n\n${settings}\n\n${dateContext}\n\n${wsContext}${botContext}`;
100
270
  }
101
271
  const defaultBehavior = `<behavior>
102
272
  - Be concise. Short answers, no filler.
@@ -106,6 +276,7 @@ ${consecutiveExchanges >= 10 ? `\nThis conversation has gone on for ${consecutiv
106
276
  - Only ask for clarification when the request is genuinely ambiguous (e.g. which workflow, which player).
107
277
  - When showing data, use clean formatting. Don't over-explain.
108
278
  - Always reference actual workspace data — never speak in generic terms.
279
+ - IDENTITY: Your name was assigned by the workspace admin and may coincide with a real person, celebrity, or fictional character. Do NOT invent a backstory or claim to be that person/character based on the name alone. If asked who you are, say you're a workspace assistant by that name without a defined persona, and offer to be configured.
109
280
  </behavior>`;
110
281
  return `You are a workspace assistant for "${wsName}" on Hailer.
111
282
 
@@ -113,8 +284,12 @@ ${identity}
113
284
 
114
285
  ${platformRules}
115
286
 
287
+ ${platformFeatures}
288
+
116
289
  ${defaultBehavior}
117
290
 
291
+ ${settings}
292
+
118
293
  ${dateContext}
119
294
 
120
295
  ${wsContext}${botContext}`;
@@ -1 +1 @@
1
- {"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../../../src/bot/services/system-prompt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../../../src/bot/services/system-prompt.ts"],"names":[],"mappings":"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"}
@@ -12,8 +12,8 @@
12
12
  * - Burn tokens after each LLM API call -> real-time, charges correct workspace
13
13
  * - Allow balance to go negative during active session -> don't interrupt
14
14
  */
15
- import { Logger } from "../../lib/logger";
16
- import { HailerApiClient } from "../../mcp/utils/hailer-api-client";
15
+ import { Logger } from '../../lib/logger';
16
+ import { HailerApiClient } from '../../mcp/utils/hailer-api-client';
17
17
  export interface TokenBurnPayload {
18
18
  workspaceId: string;
19
19
  inputTokens: number;
@@ -42,37 +42,37 @@ export declare class TokenBillingService {
42
42
  private static CACHE_TTL_MS;
43
43
  constructor(logger: Logger, hailerClient?: HailerApiClient);
44
44
  /**
45
- * Invalidate cached balance for a workspace
46
- * Call this after write operations that cost tokens
47
- */
45
+ * Invalidate cached balance for a workspace
46
+ * Call this after write operations that cost tokens
47
+ */
48
48
  invalidateCache(workspaceId: string): void;
49
49
  /**
50
- * Check workspace balance before starting a new session
51
- * Returns balance info - caller decides whether to reject
52
- *
53
- * Error handling: On network failure, returns a default "OK" response
54
- * to allow graceful degradation (don't block users due to billing errors)
55
- */
50
+ * Check workspace balance before starting a new session
51
+ * Returns balance info - caller decides whether to reject
52
+ *
53
+ * Error handling: On network failure, returns a default "OK" response
54
+ * to allow graceful degradation (don't block users due to billing errors)
55
+ */
56
56
  checkBalance(workspaceId: string): Promise<BalanceResponse>;
57
57
  /**
58
- * Fetch balance from Hailer backend API
59
- * Separated from checkBalance to support deduplication of concurrent requests
60
- */
58
+ * Fetch balance from Hailer backend API
59
+ * Separated from checkBalance to support deduplication of concurrent requests
60
+ */
61
61
  private fetchBalanceFromBackend;
62
62
  /**
63
- * Burn tokens after LLM API call - fire and forget
64
- * Does not block the response pipeline
65
- *
66
- * Error handling: Logs errors but does not throw
67
- */
63
+ * Burn tokens after LLM API call - fire and forget
64
+ * Does not block the response pipeline
65
+ *
66
+ * Error handling: Logs errors but does not throw
67
+ */
68
68
  burnTokens(payload: TokenBurnPayload): Promise<void>;
69
69
  /**
70
- * Internal burn implementation with proper error handling
71
- */
70
+ * Internal burn implementation with proper error handling
71
+ */
72
72
  private burnTokensInternal;
73
73
  /**
74
- * Calculate cost in USD based on token counts and model
75
- */
74
+ * Calculate cost in USD based on token counts and model
75
+ */
76
76
  calculateCost(inputTokens: number, outputTokens: number, cacheCreationTokens: number, cacheReadTokens: number, model?: string): number;
77
77
  }
78
78
  //# sourceMappingURL=token-billing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"token-billing.d.ts","sourceRoot":"","sources":["../../../src/bot/services/token-billing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAMpE,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;CAClB;AAwDD,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,YAAY,CAAgC;IACpD,OAAO,CAAC,YAAY,CAAkE;IACtF,OAAO,CAAC,oBAAoB,CAA+C;IAC3E,OAAO,CAAC,MAAM,CAAC,YAAY,CAAU;gBAEzB,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,eAAe;IAK1D;;;OAGG;IACH,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAK1C;;;;;;OAMG;IACG,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAoDjE;;;OAGG;YACW,uBAAuB;IAoCrC;;;;;OAKG;IACG,UAAU,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAU1D;;OAEG;YACW,kBAAkB;IAyChC;;OAEG;IACH,aAAa,CACX,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,mBAAmB,EAAE,MAAM,EAC3B,eAAe,EAAE,MAAM,EACvB,KAAK,CAAC,EAAE,MAAM,GACb,MAAM;CAYV"}
1
+ {"version":3,"file":"token-billing.d.ts","sourceRoot":"","sources":["../../../src/bot/services/token-billing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAMpE,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;CAClB;AA4DD,qBAAa,mBAAmB;IAC5B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,YAAY,CAAgC;IACpD,OAAO,CAAC,YAAY,CAAkE;IACtF,OAAO,CAAC,oBAAoB,CAA+C;IAC3E,OAAO,CAAC,MAAM,CAAC,YAAY,CAAS;gBAExB,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,eAAe;IAK1D;;;KAGC;IACD,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAK1C;;;;;;KAMC;IACK,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAoDjE;;;KAGC;YACa,uBAAuB;IAoCrC;;;;;KAKC;IACK,UAAU,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAU1D;;KAEC;YACa,kBAAkB;IAoDhC;;KAEC;IACD,aAAa,CACT,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,mBAAmB,EAAE,MAAM,EAC3B,eAAe,EAAE,MAAM,EACvB,KAAK,CAAC,EAAE,MAAM,GACf,MAAM;CAYZ"}