@hailer/mcp 1.1.15 → 1.1.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (544) hide show
  1. package/dist/agents/bot-manager.d.ts +48 -0
  2. package/dist/agents/bot-manager.d.ts.map +1 -0
  3. package/dist/agents/bot-manager.js +254 -0
  4. package/dist/agents/bot-manager.js.map +1 -0
  5. package/dist/agents/bug-fixer/ai.d.ts +80 -0
  6. package/dist/agents/bug-fixer/ai.d.ts.map +1 -0
  7. package/dist/agents/bug-fixer/ai.js +466 -0
  8. package/dist/agents/bug-fixer/ai.js.map +1 -0
  9. package/dist/agents/bug-fixer/bot.d.ts +92 -0
  10. package/dist/agents/bug-fixer/bot.d.ts.map +1 -0
  11. package/dist/agents/bug-fixer/bot.js +687 -0
  12. package/dist/agents/bug-fixer/bot.js.map +1 -0
  13. package/dist/agents/bug-fixer/config.d.ts +21 -0
  14. package/dist/agents/bug-fixer/config.d.ts.map +1 -0
  15. package/dist/agents/bug-fixer/config.js +218 -0
  16. package/dist/agents/bug-fixer/config.js.map +1 -0
  17. package/dist/agents/bug-fixer/files.d.ts +67 -0
  18. package/dist/agents/bug-fixer/files.d.ts.map +1 -0
  19. package/dist/agents/bug-fixer/files.js +386 -0
  20. package/dist/agents/bug-fixer/files.js.map +1 -0
  21. package/dist/agents/bug-fixer/git.d.ts +48 -0
  22. package/dist/agents/bug-fixer/git.d.ts.map +1 -0
  23. package/dist/agents/bug-fixer/git.js +298 -0
  24. package/dist/agents/bug-fixer/git.js.map +1 -0
  25. package/dist/agents/bug-fixer/index.d.ts +103 -0
  26. package/dist/agents/bug-fixer/index.d.ts.map +1 -0
  27. package/dist/agents/bug-fixer/index.js +262 -0
  28. package/dist/agents/bug-fixer/index.js.map +1 -0
  29. package/dist/agents/bug-fixer/lsp.d.ts +113 -0
  30. package/dist/agents/bug-fixer/lsp.d.ts.map +1 -0
  31. package/dist/agents/bug-fixer/lsp.js +485 -0
  32. package/dist/agents/bug-fixer/lsp.js.map +1 -0
  33. package/dist/agents/bug-fixer/monitor.d.ts +123 -0
  34. package/dist/agents/bug-fixer/monitor.d.ts.map +1 -0
  35. package/dist/agents/bug-fixer/monitor.js +629 -0
  36. package/dist/agents/bug-fixer/monitor.js.map +1 -0
  37. package/dist/agents/bug-fixer/prompt.d.ts +5 -0
  38. package/dist/agents/bug-fixer/prompt.d.ts.map +1 -0
  39. package/dist/agents/bug-fixer/prompt.js +94 -0
  40. package/dist/agents/bug-fixer/prompt.js.map +1 -0
  41. package/dist/agents/bug-fixer/registries/pending-classification.d.ts +28 -0
  42. package/dist/agents/bug-fixer/registries/pending-classification.d.ts.map +1 -0
  43. package/dist/agents/bug-fixer/registries/pending-classification.js +50 -0
  44. package/dist/agents/bug-fixer/registries/pending-classification.js.map +1 -0
  45. package/dist/agents/bug-fixer/registries/pending-fix.d.ts +33 -0
  46. package/dist/agents/bug-fixer/registries/pending-fix.d.ts.map +1 -0
  47. package/dist/agents/bug-fixer/registries/pending-fix.js +64 -0
  48. package/dist/agents/bug-fixer/registries/pending-fix.js.map +1 -0
  49. package/dist/agents/bug-fixer/registries/pending.d.ts +27 -0
  50. package/dist/agents/bug-fixer/registries/pending.d.ts.map +1 -0
  51. package/dist/agents/bug-fixer/registries/pending.js +49 -0
  52. package/dist/agents/bug-fixer/registries/pending.js.map +1 -0
  53. package/dist/agents/bug-fixer/specialist-daemon.d.ts +88 -0
  54. package/dist/agents/bug-fixer/specialist-daemon.d.ts.map +1 -0
  55. package/dist/agents/bug-fixer/specialist-daemon.js +431 -0
  56. package/dist/agents/bug-fixer/specialist-daemon.js.map +1 -0
  57. package/dist/agents/bug-fixer/specialist.d.ts +47 -0
  58. package/dist/agents/bug-fixer/specialist.d.ts.map +1 -0
  59. package/dist/agents/bug-fixer/specialist.js +327 -0
  60. package/dist/agents/bug-fixer/specialist.js.map +1 -0
  61. package/dist/agents/bug-fixer/types.d.ts +123 -0
  62. package/dist/agents/bug-fixer/types.d.ts.map +1 -0
  63. package/dist/agents/bug-fixer/types.js +9 -0
  64. package/dist/agents/bug-fixer/types.js.map +1 -0
  65. package/dist/agents/factory.d.ts +172 -0
  66. package/dist/agents/factory.d.ts.map +1 -0
  67. package/dist/agents/factory.js +706 -0
  68. package/dist/agents/factory.js.map +1 -0
  69. package/dist/agents/hailer-expert/index.d.ts +8 -0
  70. package/dist/agents/hailer-expert/index.d.ts.map +1 -0
  71. package/dist/agents/hailer-expert/index.js +14 -0
  72. package/dist/agents/hailer-expert/index.js.map +1 -0
  73. package/dist/agents/hal/daemon.d.ts +174 -0
  74. package/dist/agents/hal/daemon.d.ts.map +1 -0
  75. package/dist/agents/hal/daemon.js +1385 -0
  76. package/dist/agents/hal/daemon.js.map +1 -0
  77. package/dist/agents/hal/definitions.d.ts +42 -0
  78. package/dist/agents/hal/definitions.d.ts.map +1 -0
  79. package/dist/agents/hal/definitions.js +300 -0
  80. package/dist/agents/hal/definitions.js.map +1 -0
  81. package/dist/agents/hal/index.d.ts +3 -0
  82. package/dist/agents/hal/index.d.ts.map +1 -0
  83. package/dist/agents/hal/index.js +8 -0
  84. package/dist/agents/hal/index.js.map +1 -0
  85. package/dist/agents/index.d.ts +18 -0
  86. package/dist/agents/index.d.ts.map +1 -0
  87. package/dist/agents/index.js +48 -0
  88. package/dist/agents/index.js.map +1 -0
  89. package/dist/agents/shared/base.d.ts +253 -0
  90. package/dist/agents/shared/base.d.ts.map +1 -0
  91. package/dist/agents/shared/base.js +1122 -0
  92. package/dist/agents/shared/base.js.map +1 -0
  93. package/dist/agents/shared/schemas/action-schema.d.ts +62 -0
  94. package/dist/agents/shared/schemas/action-schema.d.ts.map +1 -0
  95. package/dist/agents/shared/schemas/action-schema.js +483 -0
  96. package/dist/agents/shared/schemas/action-schema.js.map +1 -0
  97. package/dist/agents/shared/services/agent-registry.d.ts +108 -0
  98. package/dist/agents/shared/services/agent-registry.d.ts.map +1 -0
  99. package/dist/agents/shared/services/agent-registry.js +469 -0
  100. package/dist/agents/shared/services/agent-registry.js.map +1 -0
  101. package/dist/agents/shared/services/conversation-manager.d.ts +57 -0
  102. package/dist/agents/shared/services/conversation-manager.d.ts.map +1 -0
  103. package/dist/agents/shared/services/conversation-manager.js +168 -0
  104. package/dist/agents/shared/services/conversation-manager.js.map +1 -0
  105. package/dist/agents/shared/services/mcp-client.d.ts +56 -0
  106. package/dist/agents/shared/services/mcp-client.d.ts.map +1 -0
  107. package/dist/agents/shared/services/mcp-client.js +124 -0
  108. package/dist/agents/shared/services/mcp-client.js.map +1 -0
  109. package/dist/agents/shared/services/message-classifier.d.ts +37 -0
  110. package/dist/agents/shared/services/message-classifier.d.ts.map +1 -0
  111. package/dist/agents/shared/services/message-classifier.js +203 -0
  112. package/dist/agents/shared/services/message-classifier.js.map +1 -0
  113. package/dist/agents/shared/services/message-formatter.d.ts +89 -0
  114. package/dist/agents/shared/services/message-formatter.d.ts.map +1 -0
  115. package/dist/agents/shared/services/message-formatter.js +390 -0
  116. package/dist/agents/shared/services/message-formatter.js.map +1 -0
  117. package/dist/agents/shared/services/session-logger.d.ts +162 -0
  118. package/dist/agents/shared/services/session-logger.d.ts.map +1 -0
  119. package/dist/agents/shared/services/session-logger.js +724 -0
  120. package/dist/agents/shared/services/session-logger.js.map +1 -0
  121. package/dist/agents/shared/services/structured-output-executor.d.ts +88 -0
  122. package/dist/agents/shared/services/structured-output-executor.d.ts.map +1 -0
  123. package/dist/agents/shared/services/structured-output-executor.js +296 -0
  124. package/dist/agents/shared/services/structured-output-executor.js.map +1 -0
  125. package/dist/agents/shared/services/token-billing.d.ts +72 -0
  126. package/dist/agents/shared/services/token-billing.d.ts.map +1 -0
  127. package/dist/agents/shared/services/token-billing.js +198 -0
  128. package/dist/agents/shared/services/token-billing.js.map +1 -0
  129. package/dist/agents/shared/services/tool-executor.d.ts +43 -0
  130. package/dist/agents/shared/services/tool-executor.d.ts.map +1 -0
  131. package/dist/agents/shared/services/tool-executor.js +175 -0
  132. package/dist/agents/shared/services/tool-executor.js.map +1 -0
  133. package/dist/agents/shared/services/typing-indicator.d.ts +24 -0
  134. package/dist/agents/shared/services/typing-indicator.d.ts.map +1 -0
  135. package/dist/agents/shared/services/typing-indicator.js +54 -0
  136. package/dist/agents/shared/services/typing-indicator.js.map +1 -0
  137. package/dist/agents/shared/services/workspace-schema-cache.d.ts +122 -0
  138. package/dist/agents/shared/services/workspace-schema-cache.d.ts.map +1 -0
  139. package/dist/agents/shared/services/workspace-schema-cache.js +507 -0
  140. package/dist/agents/shared/services/workspace-schema-cache.js.map +1 -0
  141. package/dist/agents/shared/specialist.d.ts +91 -0
  142. package/dist/agents/shared/specialist.d.ts.map +1 -0
  143. package/dist/agents/shared/specialist.js +399 -0
  144. package/dist/agents/shared/specialist.js.map +1 -0
  145. package/dist/agents/shared/tool-schema-loader.d.ts +65 -0
  146. package/dist/agents/shared/tool-schema-loader.d.ts.map +1 -0
  147. package/dist/agents/shared/tool-schema-loader.js +238 -0
  148. package/dist/agents/shared/tool-schema-loader.js.map +1 -0
  149. package/dist/agents/shared/types.d.ts +190 -0
  150. package/dist/agents/shared/types.d.ts.map +1 -0
  151. package/dist/agents/shared/types.js +13 -0
  152. package/dist/agents/shared/types.js.map +1 -0
  153. package/dist/app.d.ts.map +1 -0
  154. package/dist/app.js.map +1 -0
  155. package/dist/bot/bot-config.d.ts.map +1 -0
  156. package/dist/bot/bot-config.js.map +1 -0
  157. package/dist/bot/bot-manager.d.ts.map +1 -0
  158. package/dist/bot/bot-manager.js.map +1 -0
  159. package/dist/bot/bot.d.ts.map +1 -0
  160. package/dist/bot/bot.js.map +1 -0
  161. package/dist/bot/operation-logger.d.ts.map +1 -0
  162. package/dist/bot/operation-logger.js.map +1 -0
  163. package/dist/bot/services/__tests__/permission-guard.test.d.ts +2 -0
  164. package/dist/bot/services/__tests__/permission-guard.test.d.ts.map +1 -0
  165. package/dist/bot/services/__tests__/permission-guard.test.js +357 -0
  166. package/dist/bot/services/__tests__/permission-guard.test.js.map +1 -0
  167. package/dist/bot/services/conversation-manager.d.ts.map +1 -0
  168. package/dist/bot/services/conversation-manager.js.map +1 -0
  169. package/dist/bot/services/index.d.ts.map +1 -0
  170. package/dist/bot/services/index.js.map +1 -0
  171. package/dist/bot/services/message-classifier.d.ts.map +1 -0
  172. package/dist/bot/services/message-classifier.js.map +1 -0
  173. package/dist/bot/services/message-formatter.d.ts.map +1 -0
  174. package/dist/bot/services/message-formatter.js.map +1 -0
  175. package/dist/bot/services/permission-guard.d.ts.map +1 -0
  176. package/dist/bot/services/permission-guard.js.map +1 -0
  177. package/dist/bot/services/session-logger.d.ts.map +1 -0
  178. package/dist/bot/services/session-logger.js.map +1 -0
  179. package/dist/bot/services/token-billing.d.ts.map +1 -0
  180. package/dist/bot/services/token-billing.js.map +1 -0
  181. package/dist/bot/services/types.d.ts.map +1 -0
  182. package/dist/bot/services/types.js.map +1 -0
  183. package/dist/bot/services/typing-indicator.d.ts.map +1 -0
  184. package/dist/bot/services/typing-indicator.js.map +1 -0
  185. package/dist/bot/services/workspace-schema-cache.d.ts.map +1 -0
  186. package/dist/bot/services/workspace-schema-cache.js.map +1 -0
  187. package/dist/bot/tool-executor.d.ts.map +1 -0
  188. package/dist/bot/tool-executor.js.map +1 -0
  189. package/dist/bot/workspace-overview.d.ts.map +1 -0
  190. package/dist/bot/workspace-overview.js.map +1 -0
  191. package/dist/bot-config/constants.d.ts +42 -0
  192. package/dist/bot-config/constants.d.ts.map +1 -0
  193. package/dist/bot-config/constants.js +118 -0
  194. package/dist/bot-config/constants.js.map +1 -0
  195. package/dist/bot-config/context.d.ts +157 -0
  196. package/dist/bot-config/context.d.ts.map +1 -0
  197. package/dist/bot-config/context.js +475 -0
  198. package/dist/bot-config/context.js.map +1 -0
  199. package/dist/bot-config/index.d.ts +21 -0
  200. package/dist/bot-config/index.d.ts.map +1 -0
  201. package/dist/bot-config/index.js +104 -0
  202. package/dist/bot-config/index.js.map +1 -0
  203. package/dist/bot-config/loader.d.ts +28 -0
  204. package/dist/bot-config/loader.d.ts.map +1 -0
  205. package/dist/bot-config/loader.js +194 -0
  206. package/dist/bot-config/loader.js.map +1 -0
  207. package/dist/bot-config/persistence.d.ts +68 -0
  208. package/dist/bot-config/persistence.d.ts.map +1 -0
  209. package/dist/bot-config/persistence.js +261 -0
  210. package/dist/bot-config/persistence.js.map +1 -0
  211. package/dist/bot-config/state.d.ts +56 -0
  212. package/dist/bot-config/state.d.ts.map +1 -0
  213. package/dist/bot-config/state.js +197 -0
  214. package/dist/bot-config/state.js.map +1 -0
  215. package/dist/bot-config/tools.d.ts +28 -0
  216. package/dist/bot-config/tools.d.ts.map +1 -0
  217. package/dist/bot-config/tools.js +279 -0
  218. package/dist/bot-config/tools.js.map +1 -0
  219. package/dist/bot-config/types.d.ts +45 -0
  220. package/dist/bot-config/types.d.ts.map +1 -0
  221. package/dist/bot-config/types.js +9 -0
  222. package/dist/bot-config/types.js.map +1 -0
  223. package/dist/bot-config/webhooks.d.ts +27 -0
  224. package/dist/bot-config/webhooks.d.ts.map +1 -0
  225. package/dist/bot-config/webhooks.js +212 -0
  226. package/dist/bot-config/webhooks.js.map +1 -0
  227. package/dist/cli.d.ts.map +1 -0
  228. package/dist/cli.js.map +1 -0
  229. package/dist/client/agents/base.d.ts +207 -0
  230. package/dist/client/agents/base.d.ts.map +1 -0
  231. package/dist/client/agents/base.js +744 -0
  232. package/dist/client/agents/base.js.map +1 -0
  233. package/dist/client/agents/definitions.d.ts +53 -0
  234. package/dist/client/agents/definitions.d.ts.map +1 -0
  235. package/dist/client/agents/definitions.js +263 -0
  236. package/dist/client/agents/definitions.js.map +1 -0
  237. package/dist/client/agents/orchestrator.d.ts +141 -0
  238. package/dist/client/agents/orchestrator.d.ts.map +1 -0
  239. package/dist/client/agents/orchestrator.js +1062 -0
  240. package/dist/client/agents/orchestrator.js.map +1 -0
  241. package/dist/client/agents/specialist.d.ts +86 -0
  242. package/dist/client/agents/specialist.d.ts.map +1 -0
  243. package/dist/client/agents/specialist.js +340 -0
  244. package/dist/client/agents/specialist.js.map +1 -0
  245. package/dist/client/bot-entrypoint.d.ts +7 -0
  246. package/dist/client/bot-entrypoint.d.ts.map +1 -0
  247. package/dist/client/bot-entrypoint.js +103 -0
  248. package/dist/client/bot-entrypoint.js.map +1 -0
  249. package/dist/client/bot-manager.d.ts +44 -0
  250. package/dist/client/bot-manager.d.ts.map +1 -0
  251. package/dist/client/bot-manager.js +173 -0
  252. package/dist/client/bot-manager.js.map +1 -0
  253. package/dist/client/bot-runner.d.ts +35 -0
  254. package/dist/client/bot-runner.d.ts.map +1 -0
  255. package/dist/client/bot-runner.js +188 -0
  256. package/dist/client/bot-runner.js.map +1 -0
  257. package/dist/client/chat-agent-daemon.d.ts +464 -0
  258. package/dist/client/chat-agent-daemon.d.ts.map +1 -0
  259. package/dist/client/chat-agent-daemon.js +1774 -0
  260. package/dist/client/chat-agent-daemon.js.map +1 -0
  261. package/dist/client/daemon-factory.d.ts +106 -0
  262. package/dist/client/daemon-factory.d.ts.map +1 -0
  263. package/dist/client/daemon-factory.js +301 -0
  264. package/dist/client/daemon-factory.js.map +1 -0
  265. package/dist/client/factory.d.ts +111 -0
  266. package/dist/client/factory.d.ts.map +1 -0
  267. package/dist/client/factory.js +314 -0
  268. package/dist/client/factory.js.map +1 -0
  269. package/dist/client/index.d.ts +17 -0
  270. package/dist/client/index.d.ts.map +1 -0
  271. package/dist/client/index.js +38 -0
  272. package/dist/client/index.js.map +1 -0
  273. package/dist/client/multi-bot-manager.d.ts +42 -0
  274. package/dist/client/multi-bot-manager.d.ts.map +1 -0
  275. package/dist/client/multi-bot-manager.js +161 -0
  276. package/dist/client/multi-bot-manager.js.map +1 -0
  277. package/dist/client/orchestrator-daemon.d.ts +87 -0
  278. package/dist/client/orchestrator-daemon.d.ts.map +1 -0
  279. package/dist/client/orchestrator-daemon.js +444 -0
  280. package/dist/client/orchestrator-daemon.js.map +1 -0
  281. package/dist/client/server.d.ts +8 -0
  282. package/dist/client/server.d.ts.map +1 -0
  283. package/dist/client/server.js +251 -0
  284. package/dist/client/server.js.map +1 -0
  285. package/dist/client/services/agent-registry.d.ts +108 -0
  286. package/dist/client/services/agent-registry.d.ts.map +1 -0
  287. package/dist/client/services/agent-registry.js +630 -0
  288. package/dist/client/services/agent-registry.js.map +1 -0
  289. package/dist/client/services/conversation-manager.d.ts +50 -0
  290. package/dist/client/services/conversation-manager.d.ts.map +1 -0
  291. package/dist/client/services/conversation-manager.js +136 -0
  292. package/dist/client/services/conversation-manager.js.map +1 -0
  293. package/dist/client/services/mcp-client.d.ts +48 -0
  294. package/dist/client/services/mcp-client.d.ts.map +1 -0
  295. package/dist/client/services/mcp-client.js +105 -0
  296. package/dist/client/services/mcp-client.js.map +1 -0
  297. package/dist/client/services/message-classifier.d.ts +37 -0
  298. package/dist/client/services/message-classifier.d.ts.map +1 -0
  299. package/dist/client/services/message-classifier.js +187 -0
  300. package/dist/client/services/message-classifier.js.map +1 -0
  301. package/dist/client/services/message-formatter.d.ts +84 -0
  302. package/dist/client/services/message-formatter.d.ts.map +1 -0
  303. package/dist/client/services/message-formatter.js +353 -0
  304. package/dist/client/services/message-formatter.js.map +1 -0
  305. package/dist/client/services/session-logger.d.ts +106 -0
  306. package/dist/client/services/session-logger.d.ts.map +1 -0
  307. package/dist/client/services/session-logger.js +446 -0
  308. package/dist/client/services/session-logger.js.map +1 -0
  309. package/dist/client/services/tool-executor.d.ts +41 -0
  310. package/dist/client/services/tool-executor.d.ts.map +1 -0
  311. package/dist/client/services/tool-executor.js +169 -0
  312. package/dist/client/services/tool-executor.js.map +1 -0
  313. package/dist/client/services/workspace-schema-cache.d.ts +149 -0
  314. package/dist/client/services/workspace-schema-cache.d.ts.map +1 -0
  315. package/dist/client/services/workspace-schema-cache.js +732 -0
  316. package/dist/client/services/workspace-schema-cache.js.map +1 -0
  317. package/dist/client/specialist-daemon.d.ts +77 -0
  318. package/dist/client/specialist-daemon.d.ts.map +1 -0
  319. package/dist/client/specialist-daemon.js +197 -0
  320. package/dist/client/specialist-daemon.js.map +1 -0
  321. package/dist/client/specialists.d.ts +53 -0
  322. package/dist/client/specialists.d.ts.map +1 -0
  323. package/dist/client/specialists.js +178 -0
  324. package/dist/client/specialists.js.map +1 -0
  325. package/dist/client/tool-schema-loader.d.ts +62 -0
  326. package/dist/client/tool-schema-loader.d.ts.map +1 -0
  327. package/dist/client/tool-schema-loader.js +232 -0
  328. package/dist/client/tool-schema-loader.js.map +1 -0
  329. package/dist/client/types.d.ts +327 -0
  330. package/dist/client/types.d.ts.map +1 -0
  331. package/dist/client/types.js +121 -0
  332. package/dist/client/types.js.map +1 -0
  333. package/dist/commands/seed-config.d.ts +9 -0
  334. package/dist/commands/seed-config.d.ts.map +1 -0
  335. package/dist/commands/seed-config.js +392 -0
  336. package/dist/commands/seed-config.js.map +1 -0
  337. package/dist/commands/setup.d.ts +11 -0
  338. package/dist/commands/setup.d.ts.map +1 -0
  339. package/dist/commands/setup.js +320 -0
  340. package/dist/commands/setup.js.map +1 -0
  341. package/dist/config.d.ts.map +1 -0
  342. package/dist/config.js.map +1 -0
  343. package/dist/core.d.ts.map +1 -0
  344. package/dist/core.js.map +1 -0
  345. package/dist/lib/discussion-lock.d.ts.map +1 -0
  346. package/dist/lib/discussion-lock.js.map +1 -0
  347. package/dist/lib/logger.d.ts.map +1 -0
  348. package/dist/lib/logger.js.map +1 -0
  349. package/dist/lib/request-logger.d.ts.map +1 -0
  350. package/dist/lib/request-logger.js.map +1 -0
  351. package/dist/mcp/UserContextCache.d.ts.map +1 -0
  352. package/dist/mcp/UserContextCache.js.map +1 -0
  353. package/dist/mcp/auth.d.ts.map +1 -0
  354. package/dist/mcp/auth.js.map +1 -0
  355. package/dist/mcp/hailer-clients.d.ts.map +1 -0
  356. package/dist/mcp/hailer-clients.js.map +1 -0
  357. package/dist/mcp/session-store.d.ts.map +1 -0
  358. package/dist/mcp/session-store.js.map +1 -0
  359. package/dist/mcp/signal-handler.d.ts.map +1 -0
  360. package/dist/mcp/signal-handler.js.map +1 -0
  361. package/dist/mcp/tool-registry.d.ts.map +1 -0
  362. package/dist/mcp/tool-registry.js.map +1 -0
  363. package/dist/mcp/tools/__tests__/discussion-forward.test.d.ts +2 -0
  364. package/dist/mcp/tools/__tests__/discussion-forward.test.d.ts.map +1 -0
  365. package/dist/mcp/tools/__tests__/discussion-forward.test.js +218 -0
  366. package/dist/mcp/tools/__tests__/discussion-forward.test.js.map +1 -0
  367. package/dist/mcp/tools/activity.d.ts.map +1 -0
  368. package/dist/mcp/tools/activity.js.map +1 -0
  369. package/dist/mcp/tools/app-core.d.ts.map +1 -0
  370. package/dist/mcp/tools/app-core.js.map +1 -0
  371. package/dist/mcp/tools/app-marketplace.d.ts.map +1 -0
  372. package/dist/mcp/tools/app-marketplace.js.map +1 -0
  373. package/dist/mcp/tools/app-member.d.ts.map +1 -0
  374. package/dist/mcp/tools/app-member.js.map +1 -0
  375. package/dist/mcp/tools/app-scaffold.d.ts.map +1 -0
  376. package/dist/mcp/tools/app-scaffold.js.map +1 -0
  377. package/dist/mcp/tools/app.d.ts.map +1 -0
  378. package/dist/mcp/tools/app.js.map +1 -0
  379. package/dist/mcp/tools/bot-config/constants.d.ts.map +1 -0
  380. package/dist/mcp/tools/bot-config/constants.js.map +1 -0
  381. package/dist/mcp/tools/bot-config/core.d.ts.map +1 -0
  382. package/dist/mcp/tools/bot-config/core.js.map +1 -0
  383. package/dist/mcp/tools/bot-config/index.d.ts.map +1 -0
  384. package/dist/mcp/tools/bot-config/index.js.map +1 -0
  385. package/dist/mcp/tools/bot-config/tools.d.ts.map +1 -0
  386. package/dist/mcp/tools/bot-config/tools.js.map +1 -0
  387. package/dist/mcp/tools/bot-config/types.d.ts.map +1 -0
  388. package/dist/mcp/tools/bot-config/types.js.map +1 -0
  389. package/dist/mcp/tools/bug-fixer-tools.d.ts.map +1 -0
  390. package/dist/mcp/tools/bug-fixer-tools.js.map +1 -0
  391. package/dist/mcp/tools/company.d.ts.map +1 -0
  392. package/dist/mcp/tools/company.js.map +1 -0
  393. package/dist/mcp/tools/discussion.d.ts.map +1 -0
  394. package/dist/mcp/tools/discussion.js.map +1 -0
  395. package/dist/mcp/tools/document.d.ts.map +1 -0
  396. package/dist/mcp/tools/document.js.map +1 -0
  397. package/dist/mcp/tools/file.d.ts.map +1 -0
  398. package/dist/mcp/tools/file.js.map +1 -0
  399. package/dist/mcp/tools/insight.d.ts.map +1 -0
  400. package/dist/mcp/tools/insight.js.map +1 -0
  401. package/dist/mcp/tools/investigate.d.ts.map +1 -0
  402. package/dist/mcp/tools/investigate.js.map +1 -0
  403. package/dist/mcp/tools/user.d.ts.map +1 -0
  404. package/dist/mcp/tools/user.js.map +1 -0
  405. package/dist/mcp/tools/workflow-permissions.d.ts.map +1 -0
  406. package/dist/mcp/tools/workflow-permissions.js.map +1 -0
  407. package/dist/mcp/tools/workflow.d.ts.map +1 -0
  408. package/dist/mcp/tools/workflow.js.map +1 -0
  409. package/dist/mcp/utils/api-errors.d.ts.map +1 -0
  410. package/dist/mcp/utils/api-errors.js.map +1 -0
  411. package/dist/mcp/utils/data-transformers.d.ts.map +1 -0
  412. package/dist/mcp/utils/data-transformers.js.map +1 -0
  413. package/dist/mcp/utils/file-upload.d.ts.map +1 -0
  414. package/dist/mcp/utils/file-upload.js.map +1 -0
  415. package/dist/mcp/utils/hailer-api-client.d.ts.map +1 -0
  416. package/dist/mcp/utils/hailer-api-client.js.map +1 -0
  417. package/dist/mcp/utils/index.d.ts.map +1 -0
  418. package/dist/mcp/utils/index.js.map +1 -0
  419. package/dist/mcp/utils/logger.d.ts.map +1 -0
  420. package/dist/mcp/utils/logger.js.map +1 -0
  421. package/dist/mcp/utils/pagination.d.ts.map +1 -0
  422. package/dist/mcp/utils/pagination.js.map +1 -0
  423. package/dist/mcp/utils/response-builder.d.ts.map +1 -0
  424. package/dist/mcp/utils/response-builder.js.map +1 -0
  425. package/dist/mcp/utils/role-utils.d.ts.map +1 -0
  426. package/dist/mcp/utils/role-utils.js.map +1 -0
  427. package/dist/mcp/utils/tool-helpers.d.ts.map +1 -0
  428. package/dist/mcp/utils/tool-helpers.js.map +1 -0
  429. package/dist/mcp/utils/types.d.ts.map +1 -0
  430. package/dist/mcp/utils/types.js.map +1 -0
  431. package/dist/mcp/webhook-handler.d.ts.map +1 -0
  432. package/dist/mcp/webhook-handler.js.map +1 -0
  433. package/dist/mcp/workspace-cache.d.ts.map +1 -0
  434. package/dist/mcp/workspace-cache.js.map +1 -0
  435. package/dist/mcp-server.d.ts.map +1 -0
  436. package/dist/mcp-server.js.map +1 -0
  437. package/dist/modules/bug-reports/bug-config.d.ts +25 -0
  438. package/dist/modules/bug-reports/bug-config.d.ts.map +1 -0
  439. package/dist/modules/bug-reports/bug-config.js +187 -0
  440. package/dist/modules/bug-reports/bug-config.js.map +1 -0
  441. package/dist/modules/bug-reports/bug-monitor.d.ts +108 -0
  442. package/dist/modules/bug-reports/bug-monitor.d.ts.map +1 -0
  443. package/dist/modules/bug-reports/bug-monitor.js +510 -0
  444. package/dist/modules/bug-reports/bug-monitor.js.map +1 -0
  445. package/dist/modules/bug-reports/giuseppe-agent.d.ts +58 -0
  446. package/dist/modules/bug-reports/giuseppe-agent.d.ts.map +1 -0
  447. package/dist/modules/bug-reports/giuseppe-agent.js +467 -0
  448. package/dist/modules/bug-reports/giuseppe-agent.js.map +1 -0
  449. package/dist/modules/bug-reports/giuseppe-ai.d.ts +83 -0
  450. package/dist/modules/bug-reports/giuseppe-ai.d.ts.map +1 -0
  451. package/dist/modules/bug-reports/giuseppe-ai.js +466 -0
  452. package/dist/modules/bug-reports/giuseppe-ai.js.map +1 -0
  453. package/dist/modules/bug-reports/giuseppe-bot.d.ts +110 -0
  454. package/dist/modules/bug-reports/giuseppe-bot.d.ts.map +1 -0
  455. package/dist/modules/bug-reports/giuseppe-bot.js +804 -0
  456. package/dist/modules/bug-reports/giuseppe-bot.js.map +1 -0
  457. package/dist/modules/bug-reports/giuseppe-daemon.d.ts +80 -0
  458. package/dist/modules/bug-reports/giuseppe-daemon.d.ts.map +1 -0
  459. package/dist/modules/bug-reports/giuseppe-daemon.js +617 -0
  460. package/dist/modules/bug-reports/giuseppe-daemon.js.map +1 -0
  461. package/dist/modules/bug-reports/giuseppe-files.d.ts +64 -0
  462. package/dist/modules/bug-reports/giuseppe-files.d.ts.map +1 -0
  463. package/dist/modules/bug-reports/giuseppe-files.js +375 -0
  464. package/dist/modules/bug-reports/giuseppe-files.js.map +1 -0
  465. package/dist/modules/bug-reports/giuseppe-git.d.ts +48 -0
  466. package/dist/modules/bug-reports/giuseppe-git.d.ts.map +1 -0
  467. package/dist/modules/bug-reports/giuseppe-git.js +298 -0
  468. package/dist/modules/bug-reports/giuseppe-git.js.map +1 -0
  469. package/dist/modules/bug-reports/giuseppe-lsp.d.ts +113 -0
  470. package/dist/modules/bug-reports/giuseppe-lsp.d.ts.map +1 -0
  471. package/dist/modules/bug-reports/giuseppe-lsp.js +485 -0
  472. package/dist/modules/bug-reports/giuseppe-lsp.js.map +1 -0
  473. package/dist/modules/bug-reports/giuseppe-prompt.d.ts +5 -0
  474. package/dist/modules/bug-reports/giuseppe-prompt.d.ts.map +1 -0
  475. package/dist/modules/bug-reports/giuseppe-prompt.js +94 -0
  476. package/dist/modules/bug-reports/giuseppe-prompt.js.map +1 -0
  477. package/dist/modules/bug-reports/index.d.ts +77 -0
  478. package/dist/modules/bug-reports/index.d.ts.map +1 -0
  479. package/dist/modules/bug-reports/index.js +215 -0
  480. package/dist/modules/bug-reports/index.js.map +1 -0
  481. package/dist/modules/bug-reports/pending-classification-registry.d.ts +28 -0
  482. package/dist/modules/bug-reports/pending-classification-registry.d.ts.map +1 -0
  483. package/dist/modules/bug-reports/pending-classification-registry.js +50 -0
  484. package/dist/modules/bug-reports/pending-classification-registry.js.map +1 -0
  485. package/dist/modules/bug-reports/pending-fix-registry.d.ts +30 -0
  486. package/dist/modules/bug-reports/pending-fix-registry.d.ts.map +1 -0
  487. package/dist/modules/bug-reports/pending-fix-registry.js +42 -0
  488. package/dist/modules/bug-reports/pending-fix-registry.js.map +1 -0
  489. package/dist/modules/bug-reports/pending-registry.d.ts +27 -0
  490. package/dist/modules/bug-reports/pending-registry.d.ts.map +1 -0
  491. package/dist/modules/bug-reports/pending-registry.js +49 -0
  492. package/dist/modules/bug-reports/pending-registry.js.map +1 -0
  493. package/dist/modules/bug-reports/types.d.ts +123 -0
  494. package/dist/modules/bug-reports/types.d.ts.map +1 -0
  495. package/dist/modules/bug-reports/types.js +9 -0
  496. package/dist/modules/bug-reports/types.js.map +1 -0
  497. package/dist/plugins/bug-fixer/index.d.ts.map +1 -0
  498. package/dist/plugins/bug-fixer/index.js.map +1 -0
  499. package/dist/plugins/bug-fixer/tools.d.ts.map +1 -0
  500. package/dist/plugins/bug-fixer/tools.js.map +1 -0
  501. package/dist/plugins/vipunen/__tests__/tools.test.d.ts +10 -0
  502. package/dist/plugins/vipunen/__tests__/tools.test.d.ts.map +1 -0
  503. package/dist/plugins/vipunen/__tests__/tools.test.js +646 -0
  504. package/dist/plugins/vipunen/__tests__/tools.test.js.map +1 -0
  505. package/dist/plugins/vipunen/client.d.ts.map +1 -0
  506. package/dist/plugins/vipunen/client.js.map +1 -0
  507. package/dist/plugins/vipunen/index.d.ts.map +1 -0
  508. package/dist/plugins/vipunen/index.js.map +1 -0
  509. package/dist/plugins/vipunen/tools.d.ts.map +1 -0
  510. package/dist/plugins/vipunen/tools.js.map +1 -0
  511. package/dist/routes/agents.d.ts +44 -0
  512. package/dist/routes/agents.d.ts.map +1 -0
  513. package/dist/routes/agents.js +311 -0
  514. package/dist/routes/agents.js.map +1 -0
  515. package/dist/services/agent-credential-store.d.ts +73 -0
  516. package/dist/services/agent-credential-store.d.ts.map +1 -0
  517. package/dist/services/agent-credential-store.js +212 -0
  518. package/dist/services/agent-credential-store.js.map +1 -0
  519. package/dist/stdio-server.d.ts.map +1 -0
  520. package/dist/stdio-server.js.map +1 -0
  521. package/dist/workspace/context.d.ts +148 -0
  522. package/dist/workspace/context.d.ts.map +1 -0
  523. package/dist/workspace/context.js +339 -0
  524. package/dist/workspace/context.js.map +1 -0
  525. package/dist/workspace/credentials.d.ts +55 -0
  526. package/dist/workspace/credentials.d.ts.map +1 -0
  527. package/dist/workspace/credentials.js +239 -0
  528. package/dist/workspace/credentials.js.map +1 -0
  529. package/dist/workspace/index.d.ts +21 -0
  530. package/dist/workspace/index.d.ts.map +1 -0
  531. package/dist/workspace/index.js +45 -0
  532. package/dist/workspace/index.js.map +1 -0
  533. package/dist/workspace/loader.d.ts +27 -0
  534. package/dist/workspace/loader.d.ts.map +1 -0
  535. package/dist/workspace/loader.js +222 -0
  536. package/dist/workspace/loader.js.map +1 -0
  537. package/dist/workspace/schema.d.ts +37 -0
  538. package/dist/workspace/schema.d.ts.map +1 -0
  539. package/dist/workspace/schema.js +192 -0
  540. package/dist/workspace/schema.js.map +1 -0
  541. package/package.json +13 -1
  542. package/.claude/.context-watchdog.json +0 -1
  543. package/.claude/.session-checked +0 -1
  544. package/test-billing-server.js +0 -136
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/workspace/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,YAAY,EACZ,oBAAoB,EACpB,cAAc,EACd,YAAY,EACZ,eAAe,EACf,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,WAAW,CAAC;AAGnB,OAAO,EACL,eAAe,EACf,cAAc,EACd,gBAAgB,GACjB,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,cAAc,EACd,eAAe,EACf,kCAAkC,EAClC,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,wBAAwB,EACxB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,UAAU,CAAC"}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ /**
3
+ * Workspace Isolation Layer
4
+ *
5
+ * Provides complete tenant isolation for client bots.
6
+ * Each workspace gets its own:
7
+ * - Schema (workflow/field IDs)
8
+ * - Credentials (bot email/password)
9
+ * - Bot state (enabled/disabled)
10
+ *
11
+ * Usage:
12
+ * import { getWorkspace, WorkspaceContext } from './workspace';
13
+ *
14
+ * const ctx = getWorkspace(workspaceId);
15
+ * await ctx.initialize(client);
16
+ * const creds = ctx.getOrchestratorCredentials();
17
+ */
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ exports.saveWorkspaceToConfig = exports.getOrLoadWorkspace = exports.loadWorkspacesFromConfig = exports.extractBotTypeFromActivity = exports.extractUserIdFromActivity = exports.extractCredentialsFromActivityData = exports.loadCredentials = exports.discoverFieldIds = exports.discoverSchema = exports.getWorkspaceByWorkflowId = exports.clearAllWorkspaces = exports.removeWorkspace = exports.hasWorkspace = exports.listWorkspaces = exports.getExistingWorkspace = exports.getWorkspace = exports.WorkspaceContext = void 0;
20
+ // Context (main entry point)
21
+ var context_1 = require("./context");
22
+ Object.defineProperty(exports, "WorkspaceContext", { enumerable: true, get: function () { return context_1.WorkspaceContext; } });
23
+ Object.defineProperty(exports, "getWorkspace", { enumerable: true, get: function () { return context_1.getWorkspace; } });
24
+ Object.defineProperty(exports, "getExistingWorkspace", { enumerable: true, get: function () { return context_1.getExistingWorkspace; } });
25
+ Object.defineProperty(exports, "listWorkspaces", { enumerable: true, get: function () { return context_1.listWorkspaces; } });
26
+ Object.defineProperty(exports, "hasWorkspace", { enumerable: true, get: function () { return context_1.hasWorkspace; } });
27
+ Object.defineProperty(exports, "removeWorkspace", { enumerable: true, get: function () { return context_1.removeWorkspace; } });
28
+ Object.defineProperty(exports, "clearAllWorkspaces", { enumerable: true, get: function () { return context_1.clearAllWorkspaces; } });
29
+ Object.defineProperty(exports, "getWorkspaceByWorkflowId", { enumerable: true, get: function () { return context_1.getWorkspaceByWorkflowId; } });
30
+ // Schema
31
+ var schema_1 = require("./schema");
32
+ Object.defineProperty(exports, "discoverSchema", { enumerable: true, get: function () { return schema_1.discoverSchema; } });
33
+ Object.defineProperty(exports, "discoverFieldIds", { enumerable: true, get: function () { return schema_1.discoverFieldIds; } });
34
+ // Credentials
35
+ var credentials_1 = require("./credentials");
36
+ Object.defineProperty(exports, "loadCredentials", { enumerable: true, get: function () { return credentials_1.loadCredentials; } });
37
+ Object.defineProperty(exports, "extractCredentialsFromActivityData", { enumerable: true, get: function () { return credentials_1.extractCredentialsFromActivityData; } });
38
+ Object.defineProperty(exports, "extractUserIdFromActivity", { enumerable: true, get: function () { return credentials_1.extractUserIdFromActivity; } });
39
+ Object.defineProperty(exports, "extractBotTypeFromActivity", { enumerable: true, get: function () { return credentials_1.extractBotTypeFromActivity; } });
40
+ // Loader (bridges old .bot-config files with new workspace module)
41
+ var loader_1 = require("./loader");
42
+ Object.defineProperty(exports, "loadWorkspacesFromConfig", { enumerable: true, get: function () { return loader_1.loadWorkspacesFromConfig; } });
43
+ Object.defineProperty(exports, "getOrLoadWorkspace", { enumerable: true, get: function () { return loader_1.getOrLoadWorkspace; } });
44
+ Object.defineProperty(exports, "saveWorkspaceToConfig", { enumerable: true, get: function () { return loader_1.saveWorkspaceToConfig; } });
45
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/workspace/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAEH,6BAA6B;AAC7B,qCAWmB;AAVjB,2GAAA,gBAAgB,OAAA;AAGhB,uGAAA,YAAY,OAAA;AACZ,+GAAA,oBAAoB,OAAA;AACpB,yGAAA,cAAc,OAAA;AACd,uGAAA,YAAY,OAAA;AACZ,0GAAA,eAAe,OAAA;AACf,6GAAA,kBAAkB,OAAA;AAClB,mHAAA,wBAAwB,OAAA;AAG1B,SAAS;AACT,mCAIkB;AAFhB,wGAAA,cAAc,OAAA;AACd,0GAAA,gBAAgB,OAAA;AAGlB,cAAc;AACd,6CAMuB;AAJrB,8GAAA,eAAe,OAAA;AACf,iIAAA,kCAAkC,OAAA;AAClC,wHAAA,yBAAyB,OAAA;AACzB,yHAAA,0BAA0B,OAAA;AAG5B,mEAAmE;AACnE,mCAIkB;AAHhB,kHAAA,wBAAwB,OAAA;AACxB,4GAAA,kBAAkB,OAAA;AAClB,+GAAA,qBAAqB,OAAA"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Workspace Loader
3
+ *
4
+ * Bridges the old .bot-config/*.json files with the new WorkspaceContext.
5
+ * Loads workspace configurations from files and initializes WorkspaceContext.
6
+ *
7
+ * This allows gradual migration from file-based to memory-based storage.
8
+ */
9
+ import { WorkspaceContext } from './index';
10
+ /**
11
+ * Load all workspaces from .bot-config files
12
+ *
13
+ * Returns array of initialized WorkspaceContext objects.
14
+ * This is the main entry point for bridging old configs with new workspace module.
15
+ */
16
+ export declare function loadWorkspacesFromConfig(): WorkspaceContext[];
17
+ /**
18
+ * Get workspace context for a specific workspace, loading from config if needed
19
+ */
20
+ export declare function getOrLoadWorkspace(workspaceId: string): WorkspaceContext | null;
21
+ /**
22
+ * Save WorkspaceContext state back to .bot-config file
23
+ *
24
+ * This maintains backward compatibility with the webhook-based config system.
25
+ */
26
+ export declare function saveWorkspaceToConfig(ctx: WorkspaceContext): boolean;
27
+ //# sourceMappingURL=loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/workspace/loader.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,EAAgB,gBAAgB,EAAkB,MAAM,SAAS,CAAC;AA6GzE;;;;;GAKG;AACH,wBAAgB,wBAAwB,IAAI,gBAAgB,EAAE,CAe7D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAyB/E;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAmDpE"}
@@ -0,0 +1,222 @@
1
+ "use strict";
2
+ /**
3
+ * Workspace Loader
4
+ *
5
+ * Bridges the old .bot-config/*.json files with the new WorkspaceContext.
6
+ * Loads workspace configurations from files and initializes WorkspaceContext.
7
+ *
8
+ * This allows gradual migration from file-based to memory-based storage.
9
+ */
10
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ var desc = Object.getOwnPropertyDescriptor(m, k);
13
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
14
+ desc = { enumerable: true, get: function() { return m[k]; } };
15
+ }
16
+ Object.defineProperty(o, k2, desc);
17
+ }) : (function(o, m, k, k2) {
18
+ if (k2 === undefined) k2 = k;
19
+ o[k2] = m[k];
20
+ }));
21
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
22
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
23
+ }) : function(o, v) {
24
+ o["default"] = v;
25
+ });
26
+ var __importStar = (this && this.__importStar) || (function () {
27
+ var ownKeys = function(o) {
28
+ ownKeys = Object.getOwnPropertyNames || function (o) {
29
+ var ar = [];
30
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
31
+ return ar;
32
+ };
33
+ return ownKeys(o);
34
+ };
35
+ return function (mod) {
36
+ if (mod && mod.__esModule) return mod;
37
+ var result = {};
38
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
39
+ __setModuleDefault(result, mod);
40
+ return result;
41
+ };
42
+ })();
43
+ Object.defineProperty(exports, "__esModule", { value: true });
44
+ exports.loadWorkspacesFromConfig = loadWorkspacesFromConfig;
45
+ exports.getOrLoadWorkspace = getOrLoadWorkspace;
46
+ exports.saveWorkspaceToConfig = saveWorkspaceToConfig;
47
+ const fs = __importStar(require("fs"));
48
+ const path = __importStar(require("path"));
49
+ const logger_1 = require("../lib/logger");
50
+ const index_1 = require("./index");
51
+ const logger = (0, logger_1.createLogger)({ component: 'WorkspaceLoader' });
52
+ /**
53
+ * Load all workspace configs from .bot-config/*.json files
54
+ */
55
+ function loadBotConfigFiles() {
56
+ const configDir = path.join(process.cwd(), '.bot-config');
57
+ if (!fs.existsSync(configDir)) {
58
+ logger.debug('No .bot-config directory found');
59
+ return [];
60
+ }
61
+ const files = fs.readdirSync(configDir).filter(f => f.endsWith('.json'));
62
+ const configs = [];
63
+ for (const file of files) {
64
+ try {
65
+ const content = fs.readFileSync(path.join(configDir, file), 'utf-8');
66
+ configs.push(JSON.parse(content));
67
+ }
68
+ catch (error) {
69
+ logger.warn('Failed to load bot config file', {
70
+ file,
71
+ error: error instanceof Error ? error.message : String(error)
72
+ });
73
+ }
74
+ }
75
+ return configs;
76
+ }
77
+ /**
78
+ * Initialize WorkspaceContext from a bot config file
79
+ */
80
+ function initializeContextFromConfig(config) {
81
+ const ctx = (0, index_1.getWorkspace)(config.workspaceId, config.workspaceName);
82
+ // Load orchestrator credentials
83
+ if (config.orchestrator && config.orchestrator.userId) {
84
+ const orchCreds = {
85
+ userId: config.orchestrator.userId,
86
+ email: config.orchestrator.email,
87
+ password: config.orchestrator.password,
88
+ displayName: config.orchestrator.displayName,
89
+ botType: 'orchestrator',
90
+ enabled: true,
91
+ workspaceId: config.workspaceId
92
+ };
93
+ ctx.updateCredentials(config.orchestrator.userId, orchCreds);
94
+ ctx.setBotEnabled(config.orchestrator.userId, true);
95
+ ctx.setBotType(config.orchestrator.userId, 'orchestrator');
96
+ }
97
+ // Load specialist credentials
98
+ for (const spec of config.specialists) {
99
+ if (!spec.userId)
100
+ continue;
101
+ const specCreds = {
102
+ userId: spec.userId,
103
+ email: spec.email,
104
+ password: spec.password,
105
+ displayName: spec.displayName,
106
+ botType: spec.botType,
107
+ enabled: spec.enabled,
108
+ workspaceId: config.workspaceId
109
+ };
110
+ ctx.updateCredentials(spec.userId, specCreds);
111
+ ctx.setBotEnabled(spec.userId, spec.enabled);
112
+ if (spec.botType) {
113
+ ctx.setBotType(spec.userId, spec.botType);
114
+ }
115
+ }
116
+ logger.info('WorkspaceContext initialized from config file', {
117
+ workspaceId: config.workspaceId,
118
+ workspaceName: config.workspaceName,
119
+ orchestrator: config.orchestrator?.userId,
120
+ specialists: config.specialists.filter(s => s.enabled).length
121
+ });
122
+ return ctx;
123
+ }
124
+ /**
125
+ * Load all workspaces from .bot-config files
126
+ *
127
+ * Returns array of initialized WorkspaceContext objects.
128
+ * This is the main entry point for bridging old configs with new workspace module.
129
+ */
130
+ function loadWorkspacesFromConfig() {
131
+ const configs = loadBotConfigFiles();
132
+ const contexts = [];
133
+ for (const config of configs) {
134
+ const ctx = initializeContextFromConfig(config);
135
+ contexts.push(ctx);
136
+ }
137
+ logger.info('Loaded workspaces from config files', {
138
+ count: contexts.length,
139
+ workspaces: contexts.map(c => c.workspaceId)
140
+ });
141
+ return contexts;
142
+ }
143
+ /**
144
+ * Get workspace context for a specific workspace, loading from config if needed
145
+ */
146
+ function getOrLoadWorkspace(workspaceId) {
147
+ // Check if already loaded
148
+ const existing = (0, index_1.getWorkspace)(workspaceId);
149
+ if (existing.isInitialized()) {
150
+ return existing;
151
+ }
152
+ // Try to load from config file
153
+ const configFile = path.join(process.cwd(), '.bot-config', `${workspaceId}.json`);
154
+ if (!fs.existsSync(configFile)) {
155
+ logger.debug('No config file for workspace', { workspaceId });
156
+ return null;
157
+ }
158
+ try {
159
+ const content = fs.readFileSync(configFile, 'utf-8');
160
+ const config = JSON.parse(content);
161
+ return initializeContextFromConfig(config);
162
+ }
163
+ catch (error) {
164
+ logger.warn('Failed to load workspace from config', {
165
+ workspaceId,
166
+ error: error instanceof Error ? error.message : String(error)
167
+ });
168
+ return null;
169
+ }
170
+ }
171
+ /**
172
+ * Save WorkspaceContext state back to .bot-config file
173
+ *
174
+ * This maintains backward compatibility with the webhook-based config system.
175
+ */
176
+ function saveWorkspaceToConfig(ctx) {
177
+ const configDir = path.join(process.cwd(), '.bot-config');
178
+ // Ensure directory exists
179
+ if (!fs.existsSync(configDir)) {
180
+ fs.mkdirSync(configDir, { recursive: true });
181
+ }
182
+ const credentials = ctx.getAllCredentials();
183
+ // Find orchestrator
184
+ const orchestrator = credentials.find(c => c.botType === 'orchestrator' && c.enabled);
185
+ // Find specialists
186
+ const specialists = credentials.filter(c => c.botType !== 'orchestrator');
187
+ const config = {
188
+ workspaceId: ctx.workspaceId,
189
+ workspaceName: ctx.workspaceName,
190
+ orchestrator: orchestrator ? {
191
+ activityId: '', // Not tracked in WorkspaceContext
192
+ userId: orchestrator.userId,
193
+ email: orchestrator.email,
194
+ password: orchestrator.password,
195
+ displayName: orchestrator.displayName
196
+ } : null,
197
+ specialists: specialists.map(s => ({
198
+ activityId: '', // Not tracked in WorkspaceContext
199
+ userId: s.userId,
200
+ email: s.email,
201
+ password: s.password,
202
+ botType: s.botType,
203
+ enabled: s.enabled,
204
+ displayName: s.displayName
205
+ })),
206
+ lastSynced: new Date().toISOString()
207
+ };
208
+ const configFile = path.join(configDir, `${ctx.workspaceId}.json`);
209
+ try {
210
+ fs.writeFileSync(configFile, JSON.stringify(config, null, 2));
211
+ logger.info('Saved workspace to config file', { workspaceId: ctx.workspaceId });
212
+ return true;
213
+ }
214
+ catch (error) {
215
+ logger.error('Failed to save workspace to config', {
216
+ workspaceId: ctx.workspaceId,
217
+ error: error instanceof Error ? error.message : String(error)
218
+ });
219
+ return false;
220
+ }
221
+ }
222
+ //# sourceMappingURL=loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/workspace/loader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Schema Discovery
3
+ *
4
+ * Discovers Agent Directory workflow schema for a workspace.
5
+ * Simplified 2-step discovery (not 5 fallbacks):
6
+ * 1. Find workflow by name pattern ("Agent Directory" | "AI Agents")
7
+ * 2. Extract field IDs from schema
8
+ */
9
+ import { HailerApiClient } from '../mcp/utils';
10
+ /**
11
+ * Workspace schema structure
12
+ */
13
+ export interface WorkspaceSchema {
14
+ agentDirectoryWorkflowId: string;
15
+ deployedPhaseId: string | null;
16
+ retiredPhaseId: string | null;
17
+ fields: {
18
+ hailerProfile: string | null;
19
+ email: string | null;
20
+ password: string | null;
21
+ botType: string | null;
22
+ };
23
+ }
24
+ /**
25
+ * Discover Agent Directory workflow schema for a workspace
26
+ *
27
+ * @param client - Hailer client (connected to the workspace)
28
+ * @param workspaceId - The workspace ID to discover schema for
29
+ * @param hintWorkflowId - Optional workflow ID hint (from signal)
30
+ */
31
+ export declare function discoverSchema(client: HailerApiClient, workspaceId: string, hintWorkflowId?: string): Promise<WorkspaceSchema | null>;
32
+ /**
33
+ * Discover field IDs from a workflow
34
+ * Used when schema has workflow ID but missing field IDs
35
+ */
36
+ export declare function discoverFieldIds(client: HailerApiClient, workspaceId: string, workflowId: string): Promise<Partial<WorkspaceSchema['fields']>>;
37
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/workspace/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAiB/C;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,wBAAwB,EAAE,MAAM,CAAC;IACjC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,MAAM,EAAE;QACN,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;QAC7B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;KACxB,CAAC;CACH;AA4BD;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,eAAe,EACvB,WAAW,EAAE,MAAM,EACnB,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAsGjC;AA4BD;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,eAAe,EACvB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAoC7C"}
@@ -0,0 +1,192 @@
1
+ "use strict";
2
+ /**
3
+ * Schema Discovery
4
+ *
5
+ * Discovers Agent Directory workflow schema for a workspace.
6
+ * Simplified 2-step discovery (not 5 fallbacks):
7
+ * 1. Find workflow by name pattern ("Agent Directory" | "AI Agents")
8
+ * 2. Extract field IDs from schema
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.discoverSchema = discoverSchema;
12
+ exports.discoverFieldIds = discoverFieldIds;
13
+ const logger_1 = require("../lib/logger");
14
+ const logger = (0, logger_1.createLogger)({ component: 'SchemaDiscovery' });
15
+ // Workflow/phase name patterns for discovery
16
+ const AGENT_DIRECTORY_PATTERNS = ['Agent Directory', 'AI Agents'];
17
+ const DEPLOYED_PHASE_PATTERNS = ['deployed', 'active', 'enabled'];
18
+ const RETIRED_PHASE_PATTERNS = ['retired', 'disabled', 'inactive'];
19
+ // Field key patterns for discovery
20
+ const FIELD_KEY_PATTERNS = {
21
+ hailerProfile: ['hailerProfile', 'Agent Hailer profile'],
22
+ email: ['agentEmailInHailer', 'email', 'Email of Hailer profile'],
23
+ password: ['password'],
24
+ botType: ['botType', 'bot_type', 'type'],
25
+ };
26
+ /**
27
+ * Find field ID by trying multiple key patterns
28
+ */
29
+ function findFieldId(fieldMap, patterns) {
30
+ for (const pattern of patterns) {
31
+ if (fieldMap[pattern])
32
+ return fieldMap[pattern];
33
+ }
34
+ return null;
35
+ }
36
+ /**
37
+ * Find phase by name pattern (case-insensitive partial match)
38
+ */
39
+ function findPhaseByPattern(phases, patterns) {
40
+ for (const pattern of patterns) {
41
+ const match = phases.find(p => p.name.toLowerCase().includes(pattern.toLowerCase()));
42
+ if (match)
43
+ return match.id;
44
+ }
45
+ return null;
46
+ }
47
+ /**
48
+ * Discover Agent Directory workflow schema for a workspace
49
+ *
50
+ * @param client - Hailer client (connected to the workspace)
51
+ * @param workspaceId - The workspace ID to discover schema for
52
+ * @param hintWorkflowId - Optional workflow ID hint (from signal)
53
+ */
54
+ async function discoverSchema(client, workspaceId, hintWorkflowId) {
55
+ try {
56
+ // Step 1: Get list of workflows
57
+ const workflows = await client.listWorkflows(workspaceId);
58
+ logger.debug('Available workflows', {
59
+ workspaceId,
60
+ count: workflows.length,
61
+ names: workflows.slice(0, 10).map((w) => w.name)
62
+ });
63
+ // Step 2: Find Agent Directory workflow
64
+ let agentDir = null;
65
+ // If we have a hint, try to use it first
66
+ if (hintWorkflowId) {
67
+ const hintWorkflow = workflows.find((w) => w._id === hintWorkflowId);
68
+ if (hintWorkflow && isAgentDirectoryStructure(hintWorkflow)) {
69
+ agentDir = hintWorkflow;
70
+ logger.info('Using hinted workflow', { workspaceId, workflowId: hintWorkflowId });
71
+ }
72
+ }
73
+ // Try name-based matching
74
+ if (!agentDir) {
75
+ const matches = workflows.filter((w) => AGENT_DIRECTORY_PATTERNS.some(p => w.name?.includes(p)));
76
+ if (matches.length > 0) {
77
+ const firstMatch = matches[0];
78
+ agentDir = firstMatch;
79
+ logger.info('Found Agent Directory by name', {
80
+ workspaceId,
81
+ workflowId: firstMatch._id,
82
+ name: firstMatch.name
83
+ });
84
+ }
85
+ }
86
+ if (!agentDir) {
87
+ logger.debug('Agent Directory not found', { workspaceId });
88
+ return null;
89
+ }
90
+ // At this point agentDir is guaranteed to be non-null (we returned early above)
91
+ const agentDirWorkflow = agentDir;
92
+ // Step 3: Extract phases
93
+ const phases = [];
94
+ const workflowPhases = agentDirWorkflow.phases || {};
95
+ for (const [phaseId, phase] of Object.entries(workflowPhases)) {
96
+ phases.push({ id: phaseId, name: phase.name || phaseId });
97
+ }
98
+ const deployedPhaseId = findPhaseByPattern(phases, DEPLOYED_PHASE_PATTERNS);
99
+ const retiredPhaseId = findPhaseByPattern(phases, RETIRED_PHASE_PATTERNS);
100
+ logger.debug('Discovered phases', {
101
+ workspaceId,
102
+ deployed: deployedPhaseId,
103
+ retired: retiredPhaseId,
104
+ allPhases: phases.map(p => p.name)
105
+ });
106
+ // Step 4: Extract field IDs by key
107
+ const fieldMap = {};
108
+ const workflowFields = agentDirWorkflow.fields || {};
109
+ for (const [fieldId, field] of Object.entries(workflowFields)) {
110
+ const key = field.key;
111
+ if (key)
112
+ fieldMap[key] = fieldId;
113
+ }
114
+ const schema = {
115
+ agentDirectoryWorkflowId: agentDirWorkflow._id,
116
+ deployedPhaseId,
117
+ retiredPhaseId,
118
+ fields: {
119
+ hailerProfile: findFieldId(fieldMap, FIELD_KEY_PATTERNS.hailerProfile),
120
+ email: findFieldId(fieldMap, FIELD_KEY_PATTERNS.email),
121
+ password: findFieldId(fieldMap, FIELD_KEY_PATTERNS.password),
122
+ botType: findFieldId(fieldMap, FIELD_KEY_PATTERNS.botType),
123
+ }
124
+ };
125
+ logger.info('Schema discovered', {
126
+ workspaceId,
127
+ workflowId: schema.agentDirectoryWorkflowId,
128
+ deployedPhaseId: schema.deployedPhaseId,
129
+ fields: Object.fromEntries(Object.entries(schema.fields).filter(([, v]) => v !== null))
130
+ });
131
+ return schema;
132
+ }
133
+ catch (error) {
134
+ logger.error('Schema discovery failed', {
135
+ workspaceId,
136
+ error: error instanceof Error ? error.message : String(error)
137
+ });
138
+ return null;
139
+ }
140
+ }
141
+ /**
142
+ * Check if a workflow has Agent Directory structure
143
+ * (has deployed/retired phases and hailerProfile field)
144
+ */
145
+ function isAgentDirectoryStructure(workflow) {
146
+ // Check phases
147
+ const phases = Object.values(workflow.phases || {});
148
+ const hasDeployedPhase = phases.some(p => DEPLOYED_PHASE_PATTERNS.some(pat => p.name?.toLowerCase().includes(pat)));
149
+ const hasRetiredPhase = phases.some(p => RETIRED_PHASE_PATTERNS.some(pat => p.name?.toLowerCase().includes(pat)));
150
+ // Check fields
151
+ const fieldKeys = Object.values(workflow.fields || {}).map(f => f.key?.toLowerCase() || '');
152
+ const hasProfileField = fieldKeys.some(k => k.includes('hailerprofile') || k.includes('profile'));
153
+ return hasDeployedPhase && hasRetiredPhase && hasProfileField;
154
+ }
155
+ /**
156
+ * Discover field IDs from a workflow
157
+ * Used when schema has workflow ID but missing field IDs
158
+ */
159
+ async function discoverFieldIds(client, workspaceId, workflowId) {
160
+ try {
161
+ // Fetch workflow details
162
+ const workflow = await client.getClient().socket.request('process.get', [workflowId]);
163
+ if (!workflow?.fields) {
164
+ logger.debug('No fields found in workflow', { workspaceId, workflowId });
165
+ return {};
166
+ }
167
+ // Build field map by key
168
+ const fieldMap = {};
169
+ for (const [fieldId, field] of Object.entries(workflow.fields)) {
170
+ const key = field.key;
171
+ if (key)
172
+ fieldMap[key] = fieldId;
173
+ }
174
+ const fields = {
175
+ hailerProfile: findFieldId(fieldMap, FIELD_KEY_PATTERNS.hailerProfile),
176
+ email: findFieldId(fieldMap, FIELD_KEY_PATTERNS.email),
177
+ password: findFieldId(fieldMap, FIELD_KEY_PATTERNS.password),
178
+ botType: findFieldId(fieldMap, FIELD_KEY_PATTERNS.botType),
179
+ };
180
+ logger.debug('Field IDs discovered', { workspaceId, workflowId, fields });
181
+ return fields;
182
+ }
183
+ catch (error) {
184
+ logger.warn('Field discovery failed', {
185
+ workspaceId,
186
+ workflowId,
187
+ error: error instanceof Error ? error.message : String(error)
188
+ });
189
+ return {};
190
+ }
191
+ }
192
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/workspace/schema.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;AAoEH,wCA0GC;AAgCD,4CAwCC;AApPD,0CAA6C;AAG7C,MAAM,MAAM,GAAG,IAAA,qBAAY,EAAC,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC,CAAC;AAE9D,6CAA6C;AAC7C,MAAM,wBAAwB,GAAG,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC;AAClE,MAAM,uBAAuB,GAAG,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;AAClE,MAAM,sBAAsB,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;AAEnE,mCAAmC;AACnC,MAAM,kBAAkB,GAAG;IACzB,aAAa,EAAE,CAAC,eAAe,EAAE,sBAAsB,CAAC;IACxD,KAAK,EAAE,CAAC,oBAAoB,EAAE,OAAO,EAAE,yBAAyB,CAAC;IACjE,QAAQ,EAAE,CAAC,UAAU,CAAC;IACtB,OAAO,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC;CACzC,CAAC;AAiBF;;GAEG;AACH,SAAS,WAAW,CAAC,QAAgC,EAAE,QAAkB;IACvE,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,QAAQ,CAAC,OAAO,CAAC;YAAE,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CACzB,MAA2C,EAC3C,QAAkB;IAElB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAC5B,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CACrD,CAAC;QACF,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC,EAAE,CAAC;IAC7B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,cAAc,CAClC,MAAuB,EACvB,WAAmB,EACnB,cAAuB;IAEvB,IAAI,CAAC;QACH,gCAAgC;QAChC,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QAE1D,MAAM,CAAC,KAAK,CAAC,qBAAqB,EAAE;YAClC,WAAW;YACX,KAAK,EAAE,SAAS,CAAC,MAAM;YACvB,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAoB,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;SACpE,CAAC,CAAC;QAEH,wCAAwC;QACxC,IAAI,QAAQ,GAAgI,IAAI,CAAC;QAEjJ,yCAAyC;QACzC,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,YAAY,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAkB,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,cAAc,CAAC,CAAC;YACtF,IAAI,YAAY,IAAI,yBAAyB,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC5D,QAAQ,GAAG,YAAY,CAAC;gBACxB,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC,CAAC;YACpF,CAAC;QACH,CAAC;QAED,0BAA0B;QAC1B,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAoB,EAAE,EAAE,CACxD,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CACxD,CAAC;YAEF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC9B,QAAQ,GAAG,UAAU,CAAC;gBACtB,MAAM,CAAC,IAAI,CAAC,+BAA+B,EAAE;oBAC3C,WAAW;oBACX,UAAU,EAAE,UAAU,CAAC,GAAG;oBAC1B,IAAI,EAAE,UAAU,CAAC,IAAI;iBACtB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;YAC3D,OAAO,IAAI,CAAC;QACd,CAAC;QAED,gFAAgF;QAChF,MAAM,gBAAgB,GAAG,QAAS,CAAC;QAEnC,yBAAyB;QACzB,MAAM,MAAM,GAAwC,EAAE,CAAC;QACvD,MAAM,cAAc,GAAG,gBAAgB,CAAC,MAAM,IAAI,EAAE,CAAC;QACrD,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;YAC9D,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC,CAAC;QAC5D,CAAC;QAED,MAAM,eAAe,GAAG,kBAAkB,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;QAC5E,MAAM,cAAc,GAAG,kBAAkB,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;QAE1E,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE;YAChC,WAAW;YACX,QAAQ,EAAE,eAAe;YACzB,OAAO,EAAE,cAAc;YACvB,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;SACnC,CAAC,CAAC;QAEH,mCAAmC;QACnC,MAAM,QAAQ,GAA2B,EAAE,CAAC;QAC5C,MAAM,cAAc,GAAG,gBAAgB,CAAC,MAAM,IAAI,EAAE,CAAC;QACrD,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;YAC9D,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;YACtB,IAAI,GAAG;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;QACnC,CAAC;QAED,MAAM,MAAM,GAAoB;YAC9B,wBAAwB,EAAE,gBAAgB,CAAC,GAAG;YAC9C,eAAe;YACf,cAAc;YACd,MAAM,EAAE;gBACN,aAAa,EAAE,WAAW,CAAC,QAAQ,EAAE,kBAAkB,CAAC,aAAa,CAAC;gBACtE,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE,kBAAkB,CAAC,KAAK,CAAC;gBACtD,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,kBAAkB,CAAC,QAAQ,CAAC;gBAC5D,OAAO,EAAE,WAAW,CAAC,QAAQ,EAAE,kBAAkB,CAAC,OAAO,CAAC;aAC3D;SACF,CAAC;QAEF,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE;YAC/B,WAAW;YACX,UAAU,EAAE,MAAM,CAAC,wBAAwB;YAC3C,eAAe,EAAE,MAAM,CAAC,eAAe;YACvC,MAAM,EAAE,MAAM,CAAC,WAAW,CACxB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAC5D;SACF,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE;YACtC,WAAW;YACX,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,yBAAyB,CAAC,QAGlC;IACC,eAAe;IACf,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;IACpD,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CACvC,uBAAuB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CACzE,CAAC;IACF,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CACtC,sBAAsB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CACxE,CAAC;IAEF,eAAe;IACf,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5F,MAAM,eAAe,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CACzC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CACrD,CAAC;IAEF,OAAO,gBAAgB,IAAI,eAAe,IAAI,eAAe,CAAC;AAChE,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,gBAAgB,CACpC,MAAuB,EACvB,WAAmB,EACnB,UAAkB;IAElB,IAAI,CAAC;QACH,yBAAyB;QACzB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,UAAU,CAAC,CAEnF,CAAC;QAEF,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;YACtB,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC;YACzE,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,yBAAyB;QACzB,MAAM,QAAQ,GAA2B,EAAE,CAAC;QAC5C,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;YACtB,IAAI,GAAG;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;QACnC,CAAC;QAED,MAAM,MAAM,GAAuC;YACjD,aAAa,EAAE,WAAW,CAAC,QAAQ,EAAE,kBAAkB,CAAC,aAAa,CAAC;YACtE,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE,kBAAkB,CAAC,KAAK,CAAC;YACtD,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,kBAAkB,CAAC,QAAQ,CAAC;YAC5D,OAAO,EAAE,WAAW,CAAC,QAAQ,EAAE,kBAAkB,CAAC,OAAO,CAAC;SAC3D,CAAC;QAEF,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;QAC1E,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE;YACpC,WAAW;YACX,UAAU;YACV,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC,CAAC;QACH,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hailer/mcp",
3
- "version": "1.1.15",
3
+ "version": "1.1.16",
4
4
  "config": {
5
5
  "docker": {
6
6
  "registry": "registry.gitlab.com/hailer-repos/hailer-mcp"
@@ -28,6 +28,18 @@
28
28
  "seed-config": "tsx src/commands/seed-config.ts",
29
29
  "postinstall": "node scripts/postinstall.cjs"
30
30
  },
31
+ "files": [
32
+ "dist/",
33
+ "scripts/",
34
+ ".claude/agents/",
35
+ ".claude/skills/",
36
+ ".claude/commands/",
37
+ ".opencode/",
38
+ "CLAUDE.md",
39
+ ".env.example",
40
+ "CHANGELOG.md",
41
+ "README.md"
42
+ ],
31
43
  "dependencies": {
32
44
  "@anthropic-ai/sdk": "^0.54.0",
33
45
  "@hailer/cli": "^1.1.10",
@@ -1 +0,0 @@
1
- {"sessionId":"d38f8c93-d02a-4f3d-af35-e5a673120ce1","toolCalls":0,"compactCount":1,"lastWarning":"compact","stopBlocks":0}
@@ -1 +0,0 @@
1
- 2026-02-24T10:50:17.248Z