@jungjaehoon/mama-os 0.28.6 → 0.29.0

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 (448) hide show
  1. package/dist/agent/agent-loop.d.ts +0 -4
  2. package/dist/agent/agent-loop.d.ts.map +1 -1
  3. package/dist/agent/agent-loop.js +33 -10
  4. package/dist/agent/agent-loop.js.map +1 -1
  5. package/dist/agent/code-act/host-bridge.d.ts.map +1 -1
  6. package/dist/agent/code-act/host-bridge.js +53 -3
  7. package/dist/agent/code-act/host-bridge.js.map +1 -1
  8. package/dist/agent/code-act/tool-policy.d.ts.map +1 -1
  9. package/dist/agent/code-act/tool-policy.js +5 -0
  10. package/dist/agent/code-act/tool-policy.js.map +1 -1
  11. package/dist/agent/codex-auth.d.ts +0 -1
  12. package/dist/agent/codex-auth.d.ts.map +1 -1
  13. package/dist/agent/codex-auth.js +0 -4
  14. package/dist/agent/codex-auth.js.map +1 -1
  15. package/dist/agent/codex-home.d.ts +0 -2
  16. package/dist/agent/codex-home.d.ts.map +1 -1
  17. package/dist/agent/codex-home.js +0 -66
  18. package/dist/agent/codex-home.js.map +1 -1
  19. package/dist/agent/context-compile-service.d.ts +9 -0
  20. package/dist/agent/context-compile-service.d.ts.map +1 -1
  21. package/dist/agent/context-compile-service.js +6 -0
  22. package/dist/agent/context-compile-service.js.map +1 -1
  23. package/dist/agent/context-prompt-builder.d.ts +0 -6
  24. package/dist/agent/context-prompt-builder.d.ts.map +1 -1
  25. package/dist/agent/context-prompt-builder.js +0 -131
  26. package/dist/agent/context-prompt-builder.js.map +1 -1
  27. package/dist/agent/contract-extractor.d.ts +0 -4
  28. package/dist/agent/contract-extractor.d.ts.map +1 -1
  29. package/dist/agent/contract-extractor.js +0 -68
  30. package/dist/agent/contract-extractor.js.map +1 -1
  31. package/dist/agent/gateway-tool-executor.d.ts +20 -15
  32. package/dist/agent/gateway-tool-executor.d.ts.map +1 -1
  33. package/dist/agent/gateway-tool-executor.js +236 -90
  34. package/dist/agent/gateway-tool-executor.js.map +1 -1
  35. package/dist/agent/gateway-tools.md +7 -4
  36. package/dist/agent/skill-loader.d.ts +0 -7
  37. package/dist/agent/skill-loader.d.ts.map +1 -1
  38. package/dist/agent/skill-loader.js +0 -86
  39. package/dist/agent/skill-loader.js.map +1 -1
  40. package/dist/agent/token-estimator.d.ts +0 -8
  41. package/dist/agent/token-estimator.d.ts.map +1 -1
  42. package/dist/agent/token-estimator.js +0 -14
  43. package/dist/agent/token-estimator.js.map +1 -1
  44. package/dist/agent/tool-registry.d.ts.map +1 -1
  45. package/dist/agent/tool-registry.js +23 -5
  46. package/dist/agent/tool-registry.js.map +1 -1
  47. package/dist/agent/types.d.ts +27 -1
  48. package/dist/agent/types.d.ts.map +1 -1
  49. package/dist/agent/types.js.map +1 -1
  50. package/dist/api/agent-graph-handler.d.ts +9 -0
  51. package/dist/api/agent-graph-handler.d.ts.map +1 -1
  52. package/dist/api/agent-graph-handler.js +27 -1
  53. package/dist/api/agent-graph-handler.js.map +1 -1
  54. package/dist/api/entity-audit-handler.d.ts +1 -2
  55. package/dist/api/entity-audit-handler.d.ts.map +1 -1
  56. package/dist/api/entity-audit-handler.js +0 -5
  57. package/dist/api/entity-audit-handler.js.map +1 -1
  58. package/dist/api/index.d.ts +1 -9
  59. package/dist/api/index.d.ts.map +1 -1
  60. package/dist/api/index.js +4 -17
  61. package/dist/api/index.js.map +1 -1
  62. package/dist/api/intelligence-handler.d.ts +0 -5
  63. package/dist/api/intelligence-handler.d.ts.map +1 -1
  64. package/dist/api/intelligence-handler.js +0 -15
  65. package/dist/api/intelligence-handler.js.map +1 -1
  66. package/dist/api/types.d.ts +1 -5
  67. package/dist/api/types.d.ts.map +1 -1
  68. package/dist/api/types.js +0 -14
  69. package/dist/api/types.js.map +1 -1
  70. package/dist/cli/commands/start.d.ts +117 -3
  71. package/dist/cli/commands/start.d.ts.map +1 -1
  72. package/dist/cli/commands/start.js +223 -62
  73. package/dist/cli/commands/start.js.map +1 -1
  74. package/dist/cli/config/config-manager.d.ts +0 -5
  75. package/dist/cli/config/config-manager.d.ts.map +1 -1
  76. package/dist/cli/config/config-manager.js +0 -29
  77. package/dist/cli/config/config-manager.js.map +1 -1
  78. package/dist/cli/config/types.d.ts.map +1 -1
  79. package/dist/cli/config/types.js +3 -0
  80. package/dist/cli/config/types.js.map +1 -1
  81. package/dist/cli/runtime/api-routes-init.d.ts.map +1 -1
  82. package/dist/cli/runtime/api-routes-init.js +32 -5
  83. package/dist/cli/runtime/api-routes-init.js.map +1 -1
  84. package/dist/cli/runtime/api-server-init.d.ts.map +1 -1
  85. package/dist/cli/runtime/api-server-init.js +2 -0
  86. package/dist/cli/runtime/api-server-init.js.map +1 -1
  87. package/dist/cli/runtime/gateway-init.d.ts +1 -1
  88. package/dist/cli/runtime/gateway-init.d.ts.map +1 -1
  89. package/dist/cli/runtime/gateway-init.js +11 -38
  90. package/dist/cli/runtime/gateway-init.js.map +1 -1
  91. package/dist/cli/runtime/gateway-wiring.d.ts.map +1 -1
  92. package/dist/cli/runtime/gateway-wiring.js +6 -120
  93. package/dist/cli/runtime/gateway-wiring.js.map +1 -1
  94. package/dist/cli/utils/pid-manager.d.ts +0 -10
  95. package/dist/cli/utils/pid-manager.d.ts.map +1 -1
  96. package/dist/cli/utils/pid-manager.js +0 -26
  97. package/dist/cli/utils/pid-manager.js.map +1 -1
  98. package/dist/connectors/framework/polling-scheduler.d.ts +33 -1
  99. package/dist/connectors/framework/polling-scheduler.d.ts.map +1 -1
  100. package/dist/connectors/framework/polling-scheduler.js +46 -40
  101. package/dist/connectors/framework/polling-scheduler.js.map +1 -1
  102. package/dist/connectors/trello/query-tools.d.ts +32 -5
  103. package/dist/connectors/trello/query-tools.d.ts.map +1 -1
  104. package/dist/connectors/trello/query-tools.js +56 -17
  105. package/dist/connectors/trello/query-tools.js.map +1 -1
  106. package/dist/db/agent-store.d.ts +0 -4
  107. package/dist/db/agent-store.d.ts.map +1 -1
  108. package/dist/db/agent-store.js +0 -65
  109. package/dist/db/agent-store.js.map +1 -1
  110. package/dist/envelope/enforcer.d.ts.map +1 -1
  111. package/dist/envelope/enforcer.js +10 -1
  112. package/dist/envelope/enforcer.js.map +1 -1
  113. package/dist/envelope/index.d.ts +0 -1
  114. package/dist/envelope/index.d.ts.map +1 -1
  115. package/dist/envelope/index.js +0 -1
  116. package/dist/envelope/index.js.map +1 -1
  117. package/dist/envelope/signature.d.ts +0 -1
  118. package/dist/envelope/signature.d.ts.map +1 -1
  119. package/dist/envelope/signature.js +0 -7
  120. package/dist/envelope/signature.js.map +1 -1
  121. package/dist/envelope/tool-connector-scope.d.ts +35 -0
  122. package/dist/envelope/tool-connector-scope.d.ts.map +1 -0
  123. package/dist/envelope/tool-connector-scope.js +57 -0
  124. package/dist/envelope/tool-connector-scope.js.map +1 -0
  125. package/dist/evidence/effects.d.ts +107 -0
  126. package/dist/evidence/effects.d.ts.map +1 -0
  127. package/dist/evidence/effects.js +281 -0
  128. package/dist/evidence/effects.js.map +1 -0
  129. package/dist/evidence/read.d.ts +75 -0
  130. package/dist/evidence/read.d.ts.map +1 -0
  131. package/dist/evidence/read.js +105 -0
  132. package/dist/evidence/read.js.map +1 -0
  133. package/dist/gateways/base-gateway.d.ts +23 -3
  134. package/dist/gateways/base-gateway.d.ts.map +1 -1
  135. package/dist/gateways/base-gateway.js +15 -2
  136. package/dist/gateways/base-gateway.js.map +1 -1
  137. package/dist/gateways/discord.d.ts +4 -16
  138. package/dist/gateways/discord.d.ts.map +1 -1
  139. package/dist/gateways/discord.js +22 -189
  140. package/dist/gateways/discord.js.map +1 -1
  141. package/dist/gateways/index.d.ts +2 -1
  142. package/dist/gateways/index.d.ts.map +1 -1
  143. package/dist/gateways/message-router.d.ts +13 -20
  144. package/dist/gateways/message-router.d.ts.map +1 -1
  145. package/dist/gateways/message-router.js +32 -3
  146. package/dist/gateways/message-router.js.map +1 -1
  147. package/dist/gateways/slack.d.ts +2 -12
  148. package/dist/gateways/slack.d.ts.map +1 -1
  149. package/dist/gateways/slack.js +6 -220
  150. package/dist/gateways/slack.js.map +1 -1
  151. package/dist/gateways/telegram.d.ts +2 -2
  152. package/dist/gateways/telegram.d.ts.map +1 -1
  153. package/dist/gateways/telegram.js +3 -2
  154. package/dist/gateways/telegram.js.map +1 -1
  155. package/dist/gateways/turn-contract.d.ts +104 -0
  156. package/dist/gateways/turn-contract.d.ts.map +1 -0
  157. package/dist/{memory/consult-contract.js → gateways/turn-contract.js} +1 -1
  158. package/dist/gateways/turn-contract.js.map +1 -0
  159. package/dist/memory/provenance-live.d.ts +111 -0
  160. package/dist/memory/provenance-live.d.ts.map +1 -0
  161. package/dist/memory/provenance-live.js +381 -0
  162. package/dist/memory/provenance-live.js.map +1 -0
  163. package/dist/memory/provenance-resolver.d.ts +184 -0
  164. package/dist/memory/provenance-resolver.d.ts.map +1 -0
  165. package/dist/memory/provenance-resolver.js +152 -0
  166. package/dist/memory/provenance-resolver.js.map +1 -0
  167. package/dist/multi-agent/agent-event-bus.d.ts +1 -0
  168. package/dist/multi-agent/agent-event-bus.d.ts.map +1 -1
  169. package/dist/multi-agent/bmad-templates.d.ts +0 -18
  170. package/dist/multi-agent/bmad-templates.d.ts.map +1 -1
  171. package/dist/multi-agent/bmad-templates.js +0 -127
  172. package/dist/multi-agent/bmad-templates.js.map +1 -1
  173. package/dist/multi-agent/dashboard-agent-persona.js +3 -3
  174. package/dist/operator/board-reconcile.d.ts +2 -3
  175. package/dist/operator/board-reconcile.d.ts.map +1 -1
  176. package/dist/operator/board-reconcile.js +18 -32
  177. package/dist/operator/board-reconcile.js.map +1 -1
  178. package/dist/operator/changes-projection.d.ts +70 -0
  179. package/dist/operator/changes-projection.d.ts.map +1 -0
  180. package/dist/operator/changes-projection.js +109 -0
  181. package/dist/operator/changes-projection.js.map +1 -0
  182. package/dist/operator/external-correlation.d.ts +94 -0
  183. package/dist/operator/external-correlation.d.ts.map +1 -0
  184. package/dist/operator/external-correlation.js +177 -0
  185. package/dist/operator/external-correlation.js.map +1 -0
  186. package/dist/operator/operator-trigger-loop.d.ts +9 -1
  187. package/dist/operator/operator-trigger-loop.d.ts.map +1 -1
  188. package/dist/operator/operator-trigger-loop.js +8 -4
  189. package/dist/operator/operator-trigger-loop.js.map +1 -1
  190. package/dist/operator/provenance-lookup.d.ts +18 -0
  191. package/dist/operator/provenance-lookup.d.ts.map +1 -0
  192. package/dist/operator/provenance-lookup.js +54 -0
  193. package/dist/operator/provenance-lookup.js.map +1 -0
  194. package/dist/operator/report-carry.d.ts +18 -1
  195. package/dist/operator/report-carry.d.ts.map +1 -1
  196. package/dist/operator/report-carry.js +22 -3
  197. package/dist/operator/report-carry.js.map +1 -1
  198. package/dist/operator/report-run.d.ts +31 -0
  199. package/dist/operator/report-run.d.ts.map +1 -1
  200. package/dist/operator/report-run.js +140 -22
  201. package/dist/operator/report-run.js.map +1 -1
  202. package/dist/operator/task-ledger.d.ts +84 -2
  203. package/dist/operator/task-ledger.d.ts.map +1 -1
  204. package/dist/operator/task-ledger.js +274 -31
  205. package/dist/operator/task-ledger.js.map +1 -1
  206. package/dist/operator/worker-run.js +1 -1
  207. package/dist/operator/worker-run.js.map +1 -1
  208. package/dist/operator/workorder-hooks.d.ts +79 -4
  209. package/dist/operator/workorder-hooks.d.ts.map +1 -1
  210. package/dist/operator/workorder-hooks.js +152 -20
  211. package/dist/operator/workorder-hooks.js.map +1 -1
  212. package/dist/operator/workorder-publishers.d.ts +2 -0
  213. package/dist/operator/workorder-publishers.d.ts.map +1 -1
  214. package/dist/operator/workorder-publishers.js +8 -1
  215. package/dist/operator/workorder-publishers.js.map +1 -1
  216. package/dist/utils/untrusted-content.d.ts +11 -0
  217. package/dist/utils/untrusted-content.d.ts.map +1 -1
  218. package/dist/utils/untrusted-content.js +20 -0
  219. package/dist/utils/untrusted-content.js.map +1 -1
  220. package/package.json +4 -3
  221. package/scripts/backfill-channel-keys.ts +451 -0
  222. package/dist/agent/auto-recall.d.ts +0 -48
  223. package/dist/agent/auto-recall.d.ts.map +0 -1
  224. package/dist/agent/auto-recall.js +0 -192
  225. package/dist/agent/auto-recall.js.map +0 -1
  226. package/dist/agent/claude-client.d.ts +0 -50
  227. package/dist/agent/claude-client.d.ts.map +0 -1
  228. package/dist/agent/claude-client.js +0 -219
  229. package/dist/agent/claude-client.js.map +0 -1
  230. package/dist/agent/delegation-executor.d.ts +0 -49
  231. package/dist/agent/delegation-executor.d.ts.map +0 -1
  232. package/dist/agent/delegation-executor.js +0 -692
  233. package/dist/agent/delegation-executor.js.map +0 -1
  234. package/dist/agent/mcp-executor.d.ts +0 -60
  235. package/dist/agent/mcp-executor.d.ts.map +0 -1
  236. package/dist/agent/mcp-executor.js +0 -190
  237. package/dist/agent/mcp-executor.js.map +0 -1
  238. package/dist/agent/process-tree.d.ts +0 -6
  239. package/dist/agent/process-tree.d.ts.map +0 -1
  240. package/dist/agent/process-tree.js +0 -21
  241. package/dist/agent/process-tree.js.map +0 -1
  242. package/dist/agent/streaming-callback-manager.d.ts +0 -85
  243. package/dist/agent/streaming-callback-manager.d.ts.map +0 -1
  244. package/dist/agent/streaming-callback-manager.js +0 -103
  245. package/dist/agent/streaming-callback-manager.js.map +0 -1
  246. package/dist/agent/token-budget.d.ts +0 -49
  247. package/dist/agent/token-budget.d.ts.map +0 -1
  248. package/dist/agent/token-budget.js +0 -92
  249. package/dist/agent/token-budget.js.map +0 -1
  250. package/dist/connectors/kagemusha/history-compiler.d.ts +0 -18
  251. package/dist/connectors/kagemusha/history-compiler.d.ts.map +0 -1
  252. package/dist/connectors/kagemusha/history-compiler.js +0 -35
  253. package/dist/connectors/kagemusha/history-compiler.js.map +0 -1
  254. package/dist/db/migrations/wiki-artifacts.d.ts +0 -3
  255. package/dist/db/migrations/wiki-artifacts.d.ts.map +0 -1
  256. package/dist/db/migrations/wiki-artifacts.js +0 -24
  257. package/dist/db/migrations/wiki-artifacts.js.map +0 -1
  258. package/dist/envelope/subset.d.ts +0 -9
  259. package/dist/envelope/subset.d.ts.map +0 -1
  260. package/dist/envelope/subset.js +0 -67
  261. package/dist/envelope/subset.js.map +0 -1
  262. package/dist/memory/consult-contract.d.ts +0 -8
  263. package/dist/memory/consult-contract.d.ts.map +0 -1
  264. package/dist/memory/consult-contract.js.map +0 -1
  265. package/dist/multi-agent/agent-message-queue.d.ts +0 -104
  266. package/dist/multi-agent/agent-message-queue.d.ts.map +0 -1
  267. package/dist/multi-agent/agent-message-queue.js +0 -227
  268. package/dist/multi-agent/agent-message-queue.js.map +0 -1
  269. package/dist/multi-agent/background-task-manager.d.ts +0 -248
  270. package/dist/multi-agent/background-task-manager.d.ts.map +0 -1
  271. package/dist/multi-agent/background-task-manager.js +0 -415
  272. package/dist/multi-agent/background-task-manager.js.map +0 -1
  273. package/dist/multi-agent/category-router.d.ts +0 -56
  274. package/dist/multi-agent/category-router.d.ts.map +0 -1
  275. package/dist/multi-agent/category-router.js +0 -99
  276. package/dist/multi-agent/category-router.js.map +0 -1
  277. package/dist/multi-agent/council-engine.d.ts +0 -60
  278. package/dist/multi-agent/council-engine.d.ts.map +0 -1
  279. package/dist/multi-agent/council-engine.js +0 -284
  280. package/dist/multi-agent/council-engine.js.map +0 -1
  281. package/dist/multi-agent/delegation-format-validator.d.ts +0 -22
  282. package/dist/multi-agent/delegation-format-validator.d.ts.map +0 -1
  283. package/dist/multi-agent/delegation-format-validator.js +0 -31
  284. package/dist/multi-agent/delegation-format-validator.js.map +0 -1
  285. package/dist/multi-agent/delegation-manager.d.ts +0 -128
  286. package/dist/multi-agent/delegation-manager.d.ts.map +0 -1
  287. package/dist/multi-agent/delegation-manager.js +0 -276
  288. package/dist/multi-agent/delegation-manager.js.map +0 -1
  289. package/dist/multi-agent/i18n-messages.d.ts +0 -35
  290. package/dist/multi-agent/i18n-messages.d.ts.map +0 -1
  291. package/dist/multi-agent/i18n-messages.js +0 -54
  292. package/dist/multi-agent/i18n-messages.js.map +0 -1
  293. package/dist/multi-agent/index.d.ts +0 -31
  294. package/dist/multi-agent/index.d.ts.map +0 -1
  295. package/dist/multi-agent/index.js +0 -46
  296. package/dist/multi-agent/index.js.map +0 -1
  297. package/dist/multi-agent/multi-agent-base.d.ts +0 -223
  298. package/dist/multi-agent/multi-agent-base.d.ts.map +0 -1
  299. package/dist/multi-agent/multi-agent-base.js +0 -592
  300. package/dist/multi-agent/multi-agent-base.js.map +0 -1
  301. package/dist/multi-agent/multi-agent-discord.d.ts +0 -142
  302. package/dist/multi-agent/multi-agent-discord.d.ts.map +0 -1
  303. package/dist/multi-agent/multi-agent-discord.js +0 -1235
  304. package/dist/multi-agent/multi-agent-discord.js.map +0 -1
  305. package/dist/multi-agent/multi-agent-slack.d.ts +0 -146
  306. package/dist/multi-agent/multi-agent-slack.d.ts.map +0 -1
  307. package/dist/multi-agent/multi-agent-slack.js +0 -953
  308. package/dist/multi-agent/multi-agent-slack.js.map +0 -1
  309. package/dist/multi-agent/multi-bot-manager.d.ts +0 -119
  310. package/dist/multi-agent/multi-bot-manager.d.ts.map +0 -1
  311. package/dist/multi-agent/multi-bot-manager.js +0 -449
  312. package/dist/multi-agent/multi-bot-manager.js.map +0 -1
  313. package/dist/multi-agent/orchestrator.d.ts +0 -110
  314. package/dist/multi-agent/orchestrator.d.ts.map +0 -1
  315. package/dist/multi-agent/orchestrator.js +0 -436
  316. package/dist/multi-agent/orchestrator.js.map +0 -1
  317. package/dist/multi-agent/rate-limiter.d.ts +0 -76
  318. package/dist/multi-agent/rate-limiter.d.ts.map +0 -1
  319. package/dist/multi-agent/rate-limiter.js +0 -128
  320. package/dist/multi-agent/rate-limiter.js.map +0 -1
  321. package/dist/multi-agent/shared-context.d.ts +0 -127
  322. package/dist/multi-agent/shared-context.d.ts.map +0 -1
  323. package/dist/multi-agent/shared-context.js +0 -239
  324. package/dist/multi-agent/shared-context.js.map +0 -1
  325. package/dist/multi-agent/slack-config-validator.d.ts +0 -42
  326. package/dist/multi-agent/slack-config-validator.d.ts.map +0 -1
  327. package/dist/multi-agent/slack-config-validator.js +0 -194
  328. package/dist/multi-agent/slack-config-validator.js.map +0 -1
  329. package/dist/multi-agent/slack-multi-bot-manager.d.ts +0 -143
  330. package/dist/multi-agent/slack-multi-bot-manager.d.ts.map +0 -1
  331. package/dist/multi-agent/slack-multi-bot-manager.js +0 -413
  332. package/dist/multi-agent/slack-multi-bot-manager.js.map +0 -1
  333. package/dist/multi-agent/swarm/swarm-anti-pattern-detector.d.ts +0 -98
  334. package/dist/multi-agent/swarm/swarm-anti-pattern-detector.d.ts.map +0 -1
  335. package/dist/multi-agent/swarm/swarm-anti-pattern-detector.js +0 -225
  336. package/dist/multi-agent/swarm/swarm-anti-pattern-detector.js.map +0 -1
  337. package/dist/multi-agent/swarm/swarm-db.d.ts +0 -175
  338. package/dist/multi-agent/swarm/swarm-db.d.ts.map +0 -1
  339. package/dist/multi-agent/swarm/swarm-db.js +0 -313
  340. package/dist/multi-agent/swarm/swarm-db.js.map +0 -1
  341. package/dist/multi-agent/swarm/swarm-event-reporter.d.ts +0 -116
  342. package/dist/multi-agent/swarm/swarm-event-reporter.d.ts.map +0 -1
  343. package/dist/multi-agent/swarm/swarm-event-reporter.js +0 -243
  344. package/dist/multi-agent/swarm/swarm-event-reporter.js.map +0 -1
  345. package/dist/multi-agent/swarm/swarm-mama-adapter.d.ts +0 -57
  346. package/dist/multi-agent/swarm/swarm-mama-adapter.d.ts.map +0 -1
  347. package/dist/multi-agent/swarm/swarm-mama-adapter.js +0 -87
  348. package/dist/multi-agent/swarm/swarm-mama-adapter.js.map +0 -1
  349. package/dist/multi-agent/swarm/swarm-manager.d.ts +0 -122
  350. package/dist/multi-agent/swarm/swarm-manager.d.ts.map +0 -1
  351. package/dist/multi-agent/swarm/swarm-manager.js +0 -199
  352. package/dist/multi-agent/swarm/swarm-manager.js.map +0 -1
  353. package/dist/multi-agent/swarm/swarm-task-learner.d.ts +0 -104
  354. package/dist/multi-agent/swarm/swarm-task-learner.d.ts.map +0 -1
  355. package/dist/multi-agent/swarm/swarm-task-learner.js +0 -211
  356. package/dist/multi-agent/swarm/swarm-task-learner.js.map +0 -1
  357. package/dist/multi-agent/swarm/swarm-task-runner.d.ts +0 -155
  358. package/dist/multi-agent/swarm/swarm-task-runner.d.ts.map +0 -1
  359. package/dist/multi-agent/swarm/swarm-task-runner.js +0 -615
  360. package/dist/multi-agent/swarm/swarm-task-runner.js.map +0 -1
  361. package/dist/multi-agent/swarm/wave-engine.d.ts +0 -96
  362. package/dist/multi-agent/swarm/wave-engine.d.ts.map +0 -1
  363. package/dist/multi-agent/swarm/wave-engine.js +0 -123
  364. package/dist/multi-agent/swarm/wave-engine.js.map +0 -1
  365. package/dist/multi-agent/system-reminder.d.ts +0 -206
  366. package/dist/multi-agent/system-reminder.d.ts.map +0 -1
  367. package/dist/multi-agent/system-reminder.js +0 -455
  368. package/dist/multi-agent/system-reminder.js.map +0 -1
  369. package/dist/multi-agent/task-continuation.d.ts +0 -74
  370. package/dist/multi-agent/task-continuation.d.ts.map +0 -1
  371. package/dist/multi-agent/task-continuation.js +0 -172
  372. package/dist/multi-agent/task-continuation.js.map +0 -1
  373. package/dist/multi-agent/ultrawork-state.d.ts +0 -57
  374. package/dist/multi-agent/ultrawork-state.d.ts.map +0 -1
  375. package/dist/multi-agent/ultrawork-state.js +0 -191
  376. package/dist/multi-agent/ultrawork-state.js.map +0 -1
  377. package/dist/multi-agent/ultrawork.d.ts +0 -152
  378. package/dist/multi-agent/ultrawork.d.ts.map +0 -1
  379. package/dist/multi-agent/ultrawork.js +0 -879
  380. package/dist/multi-agent/ultrawork.js.map +0 -1
  381. package/dist/multi-agent/work-tracker.d.ts +0 -22
  382. package/dist/multi-agent/work-tracker.d.ts.map +0 -1
  383. package/dist/multi-agent/work-tracker.js +0 -45
  384. package/dist/multi-agent/work-tracker.js.map +0 -1
  385. package/dist/multi-agent/workflow-engine.d.ts +0 -87
  386. package/dist/multi-agent/workflow-engine.d.ts.map +0 -1
  387. package/dist/multi-agent/workflow-engine.js +0 -604
  388. package/dist/multi-agent/workflow-engine.js.map +0 -1
  389. package/dist/onboarding/all-tools.d.ts +0 -18
  390. package/dist/onboarding/all-tools.d.ts.map +0 -1
  391. package/dist/onboarding/all-tools.js +0 -149
  392. package/dist/onboarding/all-tools.js.map +0 -1
  393. package/dist/onboarding/autonomous-discovery-tools.d.ts +0 -23
  394. package/dist/onboarding/autonomous-discovery-tools.d.ts.map +0 -1
  395. package/dist/onboarding/autonomous-discovery-tools.js +0 -268
  396. package/dist/onboarding/autonomous-discovery-tools.js.map +0 -1
  397. package/dist/onboarding/onboarding-state.d.ts +0 -70
  398. package/dist/onboarding/onboarding-state.d.ts.map +0 -1
  399. package/dist/onboarding/onboarding-state.js +0 -183
  400. package/dist/onboarding/onboarding-state.js.map +0 -1
  401. package/dist/onboarding/personality-quiz.d.ts +0 -35
  402. package/dist/onboarding/personality-quiz.d.ts.map +0 -1
  403. package/dist/onboarding/personality-quiz.js +0 -219
  404. package/dist/onboarding/personality-quiz.js.map +0 -1
  405. package/dist/onboarding/phase-5-summary.d.ts +0 -26
  406. package/dist/onboarding/phase-5-summary.d.ts.map +0 -1
  407. package/dist/onboarding/phase-5-summary.js +0 -153
  408. package/dist/onboarding/phase-5-summary.js.map +0 -1
  409. package/dist/onboarding/phase-6-security.d.ts +0 -33
  410. package/dist/onboarding/phase-6-security.d.ts.map +0 -1
  411. package/dist/onboarding/phase-6-security.js +0 -473
  412. package/dist/onboarding/phase-6-security.js.map +0 -1
  413. package/dist/onboarding/phase-7-integrations.d.ts +0 -91
  414. package/dist/onboarding/phase-7-integrations.d.ts.map +0 -1
  415. package/dist/onboarding/phase-7-integrations.js +0 -725
  416. package/dist/onboarding/phase-7-integrations.js.map +0 -1
  417. package/dist/onboarding/phase-8-demo.d.ts +0 -43
  418. package/dist/onboarding/phase-8-demo.d.ts.map +0 -1
  419. package/dist/onboarding/phase-8-demo.js +0 -346
  420. package/dist/onboarding/phase-8-demo.js.map +0 -1
  421. package/dist/onboarding/phase-9-finalization.d.ts +0 -27
  422. package/dist/onboarding/phase-9-finalization.d.ts.map +0 -1
  423. package/dist/onboarding/phase-9-finalization.js +0 -417
  424. package/dist/onboarding/phase-9-finalization.js.map +0 -1
  425. package/dist/onboarding/ritual-prompt.d.ts +0 -2
  426. package/dist/onboarding/ritual-prompt.d.ts.map +0 -1
  427. package/dist/onboarding/ritual-prompt.js +0 -285
  428. package/dist/onboarding/ritual-prompt.js.map +0 -1
  429. package/dist/onboarding/ritual-tools.d.ts +0 -17
  430. package/dist/onboarding/ritual-tools.d.ts.map +0 -1
  431. package/dist/onboarding/ritual-tools.js +0 -93
  432. package/dist/onboarding/ritual-tools.js.map +0 -1
  433. package/dist/setup/setup-tools.d.ts +0 -13
  434. package/dist/setup/setup-tools.d.ts.map +0 -1
  435. package/dist/setup/setup-tools.js +0 -106
  436. package/dist/setup/setup-tools.js.map +0 -1
  437. package/dist/utils/slack-input-validator.d.ts +0 -74
  438. package/dist/utils/slack-input-validator.d.ts.map +0 -1
  439. package/dist/utils/slack-input-validator.js +0 -275
  440. package/dist/utils/slack-input-validator.js.map +0 -1
  441. package/dist/utils/slack-rate-limiter.d.ts +0 -139
  442. package/dist/utils/slack-rate-limiter.d.ts.map +0 -1
  443. package/dist/utils/slack-rate-limiter.js +0 -324
  444. package/dist/utils/slack-rate-limiter.js.map +0 -1
  445. package/dist/wiki/wiki-compiler.d.ts +0 -13
  446. package/dist/wiki/wiki-compiler.d.ts.map +0 -1
  447. package/dist/wiki/wiki-compiler.js +0 -82
  448. package/dist/wiki/wiki-compiler.js.map +0 -1
@@ -1,92 +0,0 @@
1
- "use strict";
2
- /**
3
- * Token Budget Enforcement (STORY-008)
4
- *
5
- * Provides fail-closed enforcement of per-model context window limits.
6
- * When total tokens exceed the model's hard limit, a structured error
7
- * is thrown instead of silently truncating.
8
- */
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.TokenBudgetExceededError = void 0;
11
- exports.getModelLimit = getModelLimit;
12
- exports.calculateBudget = calculateBudget;
13
- exports.enforceBudget = enforceBudget;
14
- const config_manager_js_1 = require("../cli/config/config-manager.js");
15
- const token_estimator_js_1 = require("./token-estimator.js");
16
- /** Default per-model-prefix context window limits */
17
- const DEFAULT_MODEL_LIMITS = {
18
- claude: 180_000,
19
- codex: 120_000,
20
- gpt: 120_000,
21
- };
22
- /**
23
- * Structured error thrown when token budget is exceeded.
24
- */
25
- class TokenBudgetExceededError extends Error {
26
- code = 'TOKEN_BUDGET_EXCEEDED';
27
- budget;
28
- constructor(budget) {
29
- super(`Token budget exceeded for model "${budget.model}": ` +
30
- `${budget.totalTokens} tokens > ${budget.limitTokens} limit ` +
31
- `(system=${budget.systemTokens}, tools=${budget.toolsTokens}, history=${budget.historyTokens})`);
32
- this.name = 'TokenBudgetExceededError';
33
- this.budget = budget;
34
- }
35
- }
36
- exports.TokenBudgetExceededError = TokenBudgetExceededError;
37
- /**
38
- * Resolve the context window limit for a given model name.
39
- * Matches by prefix: "claude-sonnet-4-6" matches "claude" key.
40
- */
41
- function getModelLimit(model) {
42
- const configLimits = (0, config_manager_js_1.getConfig)().prompt?.model_limits;
43
- const limits = { ...DEFAULT_MODEL_LIMITS, ...configLimits };
44
- const lowerModel = model.toLowerCase();
45
- // Sort by prefix length descending so more specific prefixes match first
46
- const sorted = Object.entries(limits).sort((a, b) => b[0].length - a[0].length);
47
- for (const [prefix, limit] of sorted) {
48
- if (lowerModel.startsWith(prefix.toLowerCase())) {
49
- return limit;
50
- }
51
- }
52
- // Fail-closed: unknown model gets conservative 120K limit
53
- return 120_000;
54
- }
55
- /**
56
- * Calculate token budget breakdown for a prompt.
57
- *
58
- * @param model - Model name (e.g., "claude-sonnet-4-6")
59
- * @param systemPrompt - System prompt text
60
- * @param toolsPrompt - Gateway tools prompt text
61
- * @param historyText - Conversation history text
62
- * @returns Token budget breakdown
63
- */
64
- function calculateBudget(model, systemPrompt, toolsPrompt = '', historyText = '') {
65
- const limitTokens = getModelLimit(model);
66
- const systemTokens = (0, token_estimator_js_1.countTokens)(systemPrompt);
67
- const toolsTokens = (0, token_estimator_js_1.countTokens)(toolsPrompt);
68
- const historyTokens = (0, token_estimator_js_1.countTokens)(historyText);
69
- const totalTokens = systemTokens + toolsTokens + historyTokens;
70
- return {
71
- model,
72
- limitTokens,
73
- systemTokens,
74
- toolsTokens,
75
- historyTokens,
76
- totalTokens,
77
- withinBudget: totalTokens <= limitTokens,
78
- };
79
- }
80
- /**
81
- * Enforce token budget. Throws TokenBudgetExceededError if over limit.
82
- *
83
- * @throws {TokenBudgetExceededError} When total tokens exceed model limit
84
- */
85
- function enforceBudget(model, systemPrompt, toolsPrompt = '', historyText = '') {
86
- const budget = calculateBudget(model, systemPrompt, toolsPrompt, historyText);
87
- if (!budget.withinBudget) {
88
- throw new TokenBudgetExceededError(budget);
89
- }
90
- return budget;
91
- }
92
- //# sourceMappingURL=token-budget.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"token-budget.js","sourceRoot":"","sources":["../../src/agent/token-budget.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AA+CH,sCAeC;AAWD,0CAqBC;AAOD,sCAWC;AA9GD,uEAA4D;AAC5D,6DAAmD;AAEnD,qDAAqD;AACrD,MAAM,oBAAoB,GAA2B;IACnD,MAAM,EAAE,OAAO;IACf,KAAK,EAAE,OAAO;IACd,GAAG,EAAE,OAAO;CACb,CAAC;AAEF;;GAEG;AACH,MAAa,wBAAyB,SAAQ,KAAK;IACxC,IAAI,GAAG,uBAAgC,CAAC;IACxC,MAAM,CAAc;IAE7B,YAAY,MAAmB;QAC7B,KAAK,CACH,oCAAoC,MAAM,CAAC,KAAK,KAAK;YACnD,GAAG,MAAM,CAAC,WAAW,aAAa,MAAM,CAAC,WAAW,SAAS;YAC7D,WAAW,MAAM,CAAC,YAAY,WAAW,MAAM,CAAC,WAAW,aAAa,MAAM,CAAC,aAAa,GAAG,CAClG,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;QACvC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAbD,4DAaC;AAeD;;;GAGG;AACH,SAAgB,aAAa,CAAC,KAAa;IACzC,MAAM,YAAY,GAAG,IAAA,6BAAS,GAAE,CAAC,MAAM,EAAE,YAAY,CAAC;IACtD,MAAM,MAAM,GAAG,EAAE,GAAG,oBAAoB,EAAE,GAAG,YAAY,EAAE,CAAC;IAE5D,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IACvC,yEAAyE;IACzE,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAChF,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC;QACrC,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YAChD,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,0DAA0D;IAC1D,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,eAAe,CAC7B,KAAa,EACb,YAAoB,EACpB,cAAsB,EAAE,EACxB,cAAsB,EAAE;IAExB,MAAM,WAAW,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACzC,MAAM,YAAY,GAAG,IAAA,gCAAW,EAAC,YAAY,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAG,IAAA,gCAAW,EAAC,WAAW,CAAC,CAAC;IAC7C,MAAM,aAAa,GAAG,IAAA,gCAAW,EAAC,WAAW,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAG,YAAY,GAAG,WAAW,GAAG,aAAa,CAAC;IAE/D,OAAO;QACL,KAAK;QACL,WAAW;QACX,YAAY;QACZ,WAAW;QACX,aAAa;QACb,WAAW;QACX,YAAY,EAAE,WAAW,IAAI,WAAW;KACzC,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAgB,aAAa,CAC3B,KAAa,EACb,YAAoB,EACpB,cAAsB,EAAE,EACxB,cAAsB,EAAE;IAExB,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;IAC9E,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;QACzB,MAAM,IAAI,wBAAwB,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1,18 +0,0 @@
1
- /**
2
- * Kagemusha History Compiler
3
- * Groups messages by month for batch compilation via LLM extraction.
4
- */
5
- import type { NormalizedItem } from '../framework/types.js';
6
- /**
7
- * Group NormalizedItems by year-month (YYYY-MM).
8
- */
9
- export declare function groupByMonth(items: NormalizedItem[]): Map<string, NormalizedItem[]>;
10
- /**
11
- * Get compilation stats for a set of items grouped by month.
12
- */
13
- export declare function getCompilationStats(grouped: Map<string, NormalizedItem[]>): {
14
- months: string[];
15
- totalItems: number;
16
- perMonth: Record<string, number>;
17
- };
18
- //# sourceMappingURL=history-compiler.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"history-compiler.d.ts","sourceRoot":"","sources":["../../../src/connectors/kagemusha/history-compiler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,CAQnF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,GAAG;IAC3E,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC,CASA"}
@@ -1,35 +0,0 @@
1
- "use strict";
2
- /**
3
- * Kagemusha History Compiler
4
- * Groups messages by month for batch compilation via LLM extraction.
5
- */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.groupByMonth = groupByMonth;
8
- exports.getCompilationStats = getCompilationStats;
9
- /**
10
- * Group NormalizedItems by year-month (YYYY-MM).
11
- */
12
- function groupByMonth(items) {
13
- const map = new Map();
14
- for (const item of items) {
15
- const key = item.timestamp.toISOString().substring(0, 7);
16
- if (!map.has(key))
17
- map.set(key, []);
18
- map.get(key).push(item);
19
- }
20
- return map;
21
- }
22
- /**
23
- * Get compilation stats for a set of items grouped by month.
24
- */
25
- function getCompilationStats(grouped) {
26
- const months = Array.from(grouped.keys()).sort();
27
- const perMonth = {};
28
- let totalItems = 0;
29
- for (const [month, items] of grouped) {
30
- perMonth[month] = items.length;
31
- totalItems += items.length;
32
- }
33
- return { months, totalItems, perMonth };
34
- }
35
- //# sourceMappingURL=history-compiler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"history-compiler.js","sourceRoot":"","sources":["../../../src/connectors/kagemusha/history-compiler.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAOH,oCAQC;AAKD,kDAaC;AA7BD;;GAEG;AACH,SAAgB,YAAY,CAAC,KAAuB;IAClD,MAAM,GAAG,GAAG,IAAI,GAAG,EAA4B,CAAC;IAChD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACzD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACpC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CAAC,OAAsC;IAKxE,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACjD,MAAM,QAAQ,GAA2B,EAAE,CAAC;IAC5C,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;QACrC,QAAQ,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;QAC/B,UAAU,IAAI,KAAK,CAAC,MAAM,CAAC;IAC7B,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;AAC1C,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { SQLiteDatabase } from '../../sqlite.js';
2
- export declare function applyWikiArtifactsMigration(db: SQLiteDatabase): void;
3
- //# sourceMappingURL=wiki-artifacts.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wiki-artifacts.d.ts","sourceRoot":"","sources":["../../../src/db/migrations/wiki-artifacts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD,wBAAgB,2BAA2B,CAAC,EAAE,EAAE,cAAc,GAAG,IAAI,CAmBpE"}
@@ -1,24 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.applyWikiArtifactsMigration = applyWikiArtifactsMigration;
4
- function applyWikiArtifactsMigration(db) {
5
- db.exec(`
6
- CREATE TABLE IF NOT EXISTS wiki_artifacts (
7
- artifact_id TEXT PRIMARY KEY,
8
- path TEXT NOT NULL UNIQUE,
9
- title TEXT NOT NULL,
10
- type TEXT NOT NULL,
11
- content TEXT NOT NULL,
12
- confidence TEXT NOT NULL CHECK (confidence IN ('high', 'medium', 'low')),
13
- compiled_at TEXT NOT NULL,
14
- source_refs_json TEXT NOT NULL CHECK (json_valid(source_refs_json)),
15
- source_ids_json TEXT NOT NULL CHECK (json_valid(source_ids_json)),
16
- created_at_ms INTEGER NOT NULL CHECK (created_at_ms >= 0),
17
- updated_at_ms INTEGER NOT NULL CHECK (updated_at_ms >= 0)
18
- );
19
-
20
- CREATE INDEX IF NOT EXISTS idx_wiki_artifacts_updated_at
21
- ON wiki_artifacts(updated_at_ms DESC);
22
- `);
23
- }
24
- //# sourceMappingURL=wiki-artifacts.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wiki-artifacts.js","sourceRoot":"","sources":["../../../src/db/migrations/wiki-artifacts.ts"],"names":[],"mappings":";;AAEA,kEAmBC;AAnBD,SAAgB,2BAA2B,CAAC,EAAkB;IAC5D,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;GAiBP,CAAC,CAAC;AACL,CAAC"}
@@ -1,9 +0,0 @@
1
- import type { Envelope } from './types.js';
2
- export type EnvelopeSubsetResult = {
3
- ok: true;
4
- } | {
5
- ok: false;
6
- reason: 'raw_connectors_not_subset' | 'project_refs_not_subset' | 'memory_scopes_not_subset' | 'destinations_not_subset' | 'destination_id_empty' | 'tier_widened' | 'expiry_extended' | 'eval_privileged_escalation' | 'as_of_exceeds_parent' | 'budget_exceeds_parent' | 'token_budget_undefined_but_parent_bounded' | 'token_budget_exceeds_parent' | 'cost_cap_undefined_but_parent_bounded' | 'cost_cap_exceeds_parent';
7
- };
8
- export declare function isEnvelopeSubset(child: Envelope, parent: Envelope): EnvelopeSubsetResult;
9
- //# sourceMappingURL=subset.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"subset.d.ts","sourceRoot":"","sources":["../../src/envelope/subset.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,MAAM,oBAAoB,GAC5B;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GACZ;IACE,EAAE,EAAE,KAAK,CAAC;IACV,MAAM,EACF,2BAA2B,GAC3B,yBAAyB,GACzB,0BAA0B,GAC1B,yBAAyB,GACzB,sBAAsB,GACtB,cAAc,GACd,iBAAiB,GACjB,4BAA4B,GAC5B,sBAAsB,GACtB,uBAAuB,GACvB,2CAA2C,GAC3C,6BAA6B,GAC7B,uCAAuC,GACvC,yBAAyB,CAAC;CAC/B,CAAC;AAEN,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAG,oBAAoB,CAwExF"}
@@ -1,67 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isEnvelopeSubset = isEnvelopeSubset;
4
- function isEnvelopeSubset(child, parent) {
5
- const childScope = child.scope;
6
- const parentScope = parent.scope;
7
- if (childScope.allowed_destinations.some((destination) => destination.id.trim() === '')) {
8
- return { ok: false, reason: 'destination_id_empty' };
9
- }
10
- if (!allIn(childScope.raw_connectors, new Set(parentScope.raw_connectors))) {
11
- return { ok: false, reason: 'raw_connectors_not_subset' };
12
- }
13
- if (!allIn(childScope.project_refs.map((ref) => ref.id), new Set(parentScope.project_refs.map((ref) => ref.id)))) {
14
- return { ok: false, reason: 'project_refs_not_subset' };
15
- }
16
- if (!allIn(childScope.memory_scopes.map((scope) => `${scope.kind}:${scope.id}`), new Set(parentScope.memory_scopes.map((scope) => `${scope.kind}:${scope.id}`)))) {
17
- return { ok: false, reason: 'memory_scopes_not_subset' };
18
- }
19
- if (!allIn(childScope.allowed_destinations.map(destinationKey), new Set(parentScope.allowed_destinations.map(destinationKey)))) {
20
- return { ok: false, reason: 'destinations_not_subset' };
21
- }
22
- if (child.tier < parent.tier) {
23
- return { ok: false, reason: 'tier_widened' };
24
- }
25
- if (!isNoLaterThan(child.expires_at, parent.expires_at)) {
26
- return { ok: false, reason: 'expiry_extended' };
27
- }
28
- if (childScope.eval_privileged === true && parentScope.eval_privileged !== true) {
29
- return { ok: false, reason: 'eval_privileged_escalation' };
30
- }
31
- if (parentScope.as_of !== undefined &&
32
- (childScope.as_of === undefined || !isNoLaterThan(childScope.as_of, parentScope.as_of))) {
33
- return { ok: false, reason: 'as_of_exceeds_parent' };
34
- }
35
- if (child.budget.wall_seconds > parent.budget.wall_seconds) {
36
- return { ok: false, reason: 'budget_exceeds_parent' };
37
- }
38
- if (parent.budget.token_limit !== undefined) {
39
- if (child.budget.token_limit === undefined) {
40
- return { ok: false, reason: 'token_budget_undefined_but_parent_bounded' };
41
- }
42
- if (child.budget.token_limit > parent.budget.token_limit) {
43
- return { ok: false, reason: 'token_budget_exceeds_parent' };
44
- }
45
- }
46
- if (parent.budget.cost_cap !== undefined) {
47
- if (child.budget.cost_cap === undefined) {
48
- return { ok: false, reason: 'cost_cap_undefined_but_parent_bounded' };
49
- }
50
- if (child.budget.cost_cap > parent.budget.cost_cap) {
51
- return { ok: false, reason: 'cost_cap_exceeds_parent' };
52
- }
53
- }
54
- return { ok: true };
55
- }
56
- function allIn(childValues, parentValues) {
57
- return childValues.every((value) => parentValues.has(value));
58
- }
59
- function destinationKey(destination) {
60
- return `${destination.kind}:${destination.id}`;
61
- }
62
- function isNoLaterThan(childIso, parentIso) {
63
- const childTime = Date.parse(childIso);
64
- const parentTime = Date.parse(parentIso);
65
- return Number.isFinite(childTime) && Number.isFinite(parentTime) && childTime <= parentTime;
66
- }
67
- //# sourceMappingURL=subset.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"subset.js","sourceRoot":"","sources":["../../src/envelope/subset.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- import type { MemoryConsultIntent } from '@jungjaehoon/mama-core/memory/types';
2
- import type { MemoryScopeRef } from './scope-context.js';
3
- export interface MemoryConsultRequest {
4
- intent: MemoryConsultIntent;
5
- query?: string;
6
- scopeIds?: MemoryScopeRef[];
7
- }
8
- //# sourceMappingURL=consult-contract.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"consult-contract.d.ts","sourceRoot":"","sources":["../../src/memory/consult-contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,mBAAmB,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAC;CAC7B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"consult-contract.js","sourceRoot":"","sources":["../../src/memory/consult-contract.ts"],"names":[],"mappings":""}
@@ -1,104 +0,0 @@
1
- /**
2
- * Agent Message Queue - Handles message queuing for busy agents
3
- *
4
- * Problem: When an agent process is busy, incoming @mentions are silently dropped.
5
- * Solution: Queue messages per agent, automatically drain when agent becomes idle.
6
- *
7
- * Features:
8
- * - Per-agent FIFO queue
9
- * - Max 5 messages per agent (oldest dropped when full)
10
- * - 20-minute TTL (expired messages skipped)
11
- * - Auto-drain on agent 'idle' event
12
- *
13
- * Sprint 3 F7
14
- */
15
- import type { AgentRuntimeProcess } from './runtime-process.js';
16
- /**
17
- * Message context (from multi-agent-slack.ts or multi-agent-discord.ts)
18
- */
19
- export interface MessageContext {
20
- channelId: string;
21
- channelName?: string;
22
- userId?: string;
23
- userName?: string;
24
- messageId?: string;
25
- threadId?: string;
26
- files?: Array<{
27
- url: string;
28
- name: string;
29
- type: string;
30
- }>;
31
- }
32
- /**
33
- * Queued message waiting for agent availability
34
- */
35
- export interface QueuedMessage {
36
- /** Full prompt to send to agent */
37
- prompt: string;
38
- /** Channel ID for response */
39
- channelId: string;
40
- /** Thread timestamp (Slack) or message ID (Discord) */
41
- threadTs?: string;
42
- /** Message source platform */
43
- source: 'slack' | 'discord';
44
- /** When message was enqueued (timestamp) */
45
- enqueuedAt: number;
46
- /** Full message context */
47
- context?: MessageContext;
48
- /** Discord message ID for emoji queue tracking (⏳→✅) */
49
- discordMessageId?: string;
50
- /** Retry count for busy-agent re-queue */
51
- retryCount?: number;
52
- }
53
- /**
54
- * Agent Message Queue Manager
55
- *
56
- * Manages per-agent message queues and automatic draining.
57
- */
58
- export declare class AgentMessageQueue {
59
- private queues;
60
- /** Per-agent drain lock to prevent concurrent drain() calls (idle event + tryDrainNow race) */
61
- private draining;
62
- /**
63
- * Enqueue a message for a busy agent
64
- *
65
- * @param agentId - Agent identifier
66
- * @param message - Message to queue
67
- */
68
- enqueue(agentId: string, message: QueuedMessage): void;
69
- /**
70
- * Drain queued messages for an agent
71
- *
72
- * Called when agent becomes idle. Processes next message in queue.
73
- *
74
- * @param agentId - Agent identifier
75
- * @param process - Agent process to send message to
76
- * @param sendCallback - Callback to handle sending response to platform
77
- */
78
- drain(agentId: string, process: AgentRuntimeProcess, sendCallback: (agentId: string, message: QueuedMessage, response: string) => Promise<void>): Promise<void>;
79
- private _drainInternal;
80
- /**
81
- * Get current queue size for an agent
82
- *
83
- * @param agentId - Agent identifier
84
- * @returns Number of queued messages
85
- */
86
- getQueueSize(agentId: string): number;
87
- /**
88
- * Clear expired messages from all queues
89
- *
90
- * Should be called periodically (e.g., every minute).
91
- */
92
- clearExpired(): void;
93
- /**
94
- * Get all agent IDs with queued messages
95
- *
96
- * @returns Array of agent IDs
97
- */
98
- getAgentIds(): string[];
99
- /**
100
- * Clear all queues (for testing)
101
- */
102
- clearAll(): void;
103
- }
104
- //# sourceMappingURL=agent-message-queue.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-message-queue.d.ts","sourceRoot":"","sources":["../../src/multi-agent/agent-message-queue.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAchE;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC5D;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,mCAAmC;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,8BAA8B;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,uDAAuD;IACvD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8BAA8B;IAC9B,MAAM,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B,4CAA4C;IAC5C,UAAU,EAAE,MAAM,CAAC;IACnB,2BAA2B;IAC3B,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,wDAAwD;IACxD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,0CAA0C;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAKD;;;;GAIG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAA2C;IACzD,+FAA+F;IAC/F,OAAO,CAAC,QAAQ,CAAqB;IAErC;;;;;OAKG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,IAAI;IAwBtD;;;;;;;;OAQG;IACG,KAAK,CACT,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,mBAAmB,EAC5B,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GACzF,OAAO,CAAC,IAAI,CAAC;YAeF,cAAc;IAgF5B;;;;;OAKG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAKrC;;;;OAIG;IACH,YAAY,IAAI,IAAI;IA0BpB;;;;OAIG;IACH,WAAW,IAAI,MAAM,EAAE;IAIvB;;OAEG;IACH,QAAQ,IAAI,IAAI;CAGjB"}
@@ -1,227 +0,0 @@
1
- "use strict";
2
- /**
3
- * Agent Message Queue - Handles message queuing for busy agents
4
- *
5
- * Problem: When an agent process is busy, incoming @mentions are silently dropped.
6
- * Solution: Queue messages per agent, automatically drain when agent becomes idle.
7
- *
8
- * Features:
9
- * - Per-agent FIFO queue
10
- * - Max 5 messages per agent (oldest dropped when full)
11
- * - 20-minute TTL (expired messages skipped)
12
- * - Auto-drain on agent 'idle' event
13
- *
14
- * Sprint 3 F7
15
- */
16
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
17
- if (k2 === undefined) k2 = k;
18
- var desc = Object.getOwnPropertyDescriptor(m, k);
19
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
20
- desc = { enumerable: true, get: function() { return m[k]; } };
21
- }
22
- Object.defineProperty(o, k2, desc);
23
- }) : (function(o, m, k, k2) {
24
- if (k2 === undefined) k2 = k;
25
- o[k2] = m[k];
26
- }));
27
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
28
- Object.defineProperty(o, "default", { enumerable: true, value: v });
29
- }) : function(o, v) {
30
- o["default"] = v;
31
- });
32
- var __importStar = (this && this.__importStar) || (function () {
33
- var ownKeys = function(o) {
34
- ownKeys = Object.getOwnPropertyNames || function (o) {
35
- var ar = [];
36
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
37
- return ar;
38
- };
39
- return ownKeys(o);
40
- };
41
- return function (mod) {
42
- if (mod && mod.__esModule) return mod;
43
- var result = {};
44
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
45
- __setModuleDefault(result, mod);
46
- return result;
47
- };
48
- })();
49
- Object.defineProperty(exports, "__esModule", { value: true });
50
- exports.AgentMessageQueue = void 0;
51
- const config_manager_js_1 = require("../cli/config/config-manager.js");
52
- const debugLoggerModule = __importStar(require("@jungjaehoon/mama-core/debug-logger"));
53
- const { DebugLogger } = debugLoggerModule;
54
- const queueLogger = new DebugLogger('MessageQueue');
55
- const MAX_QUEUE_SIZE = 5;
56
- const MESSAGE_TTL_MS = () => (0, config_manager_js_1.getConfig)().gateway_tuning?.message_ttl_ms ?? 1_200_000;
57
- /**
58
- * Agent Message Queue Manager
59
- *
60
- * Manages per-agent message queues and automatic draining.
61
- */
62
- class AgentMessageQueue {
63
- queues = new Map();
64
- /** Per-agent drain lock to prevent concurrent drain() calls (idle event + tryDrainNow race) */
65
- draining = new Set();
66
- /**
67
- * Enqueue a message for a busy agent
68
- *
69
- * @param agentId - Agent identifier
70
- * @param message - Message to queue
71
- */
72
- enqueue(agentId, message) {
73
- let queue = this.queues.get(agentId);
74
- if (!queue) {
75
- queue = [];
76
- this.queues.set(agentId, queue);
77
- }
78
- // Add message to queue
79
- queue.push(message);
80
- // Enforce size limit
81
- if (queue.length > MAX_QUEUE_SIZE) {
82
- const dropped = queue.shift();
83
- queueLogger.warn(`Queue full for ${agentId}, dropped oldest message (waited ${Math.floor((Date.now() - dropped.enqueuedAt) / 1000)}s)`);
84
- }
85
- queueLogger.info(`Enqueued message for ${agentId} (queue size: ${queue.length}/${MAX_QUEUE_SIZE})`);
86
- }
87
- /**
88
- * Drain queued messages for an agent
89
- *
90
- * Called when agent becomes idle. Processes next message in queue.
91
- *
92
- * @param agentId - Agent identifier
93
- * @param process - Agent process to send message to
94
- * @param sendCallback - Callback to handle sending response to platform
95
- */
96
- async drain(agentId, process, sendCallback) {
97
- // Per-agent drain lock: prevent concurrent drain() from idle event + tryDrainNow
98
- if (this.draining.has(agentId)) {
99
- queueLogger.debug(`Drain already in progress for ${agentId}, skipping`);
100
- return;
101
- }
102
- this.draining.add(agentId);
103
- try {
104
- await this._drainInternal(agentId, process, sendCallback, 0);
105
- }
106
- finally {
107
- this.draining.delete(agentId);
108
- }
109
- }
110
- async _drainInternal(agentId, process, sendCallback, depth) {
111
- // Safety: prevent infinite recursion
112
- if (depth >= MAX_QUEUE_SIZE) {
113
- queueLogger.warn(`Drain depth limit reached for ${agentId}, stopping`);
114
- return;
115
- }
116
- const queue = this.queues.get(agentId);
117
- if (!queue || queue.length === 0) {
118
- return;
119
- }
120
- // Get next message
121
- const message = queue.shift();
122
- if (!message) {
123
- return;
124
- }
125
- // Check TTL
126
- const age = Date.now() - message.enqueuedAt;
127
- if (age > MESSAGE_TTL_MS()) {
128
- queueLogger.warn(`Skipping expired message for ${agentId} (age: ${Math.floor(age / 1000)}s, TTL: ${MESSAGE_TTL_MS() / 1000}s)`);
129
- // Try next message if any
130
- if (queue.length > 0) {
131
- await this._drainInternal(agentId, process, sendCallback, depth + 1);
132
- }
133
- return;
134
- }
135
- // Log drain
136
- const waitedSec = Math.floor(age / 1000);
137
- const remaining = queue.length;
138
- queueLogger.info(`Delivering queued message to ${agentId} (waited ${waitedSec}s, queue: ${remaining} remaining)`);
139
- try {
140
- // Send message to agent process
141
- const result = await process.sendMessage(message.prompt);
142
- // Call platform-specific send callback
143
- await sendCallback(agentId, message, result.response);
144
- }
145
- catch (err) {
146
- if (err instanceof Error && err.message.includes('Process is busy')) {
147
- // Agent busy - re-queue this message and wait for next idle event to drain
148
- const retries = (message.retryCount ?? 0) + 1;
149
- if (retries <= 3) {
150
- message.retryCount = retries;
151
- let q = this.queues.get(agentId);
152
- if (!q) {
153
- q = [];
154
- this.queues.set(agentId, q);
155
- }
156
- q.unshift(message);
157
- queueLogger.warn(`Agent ${agentId} still busy, re-queued (retry ${retries}/3)`);
158
- }
159
- else {
160
- queueLogger.warn(`Agent ${agentId} still busy after 3 retries, dropping message`);
161
- }
162
- // Don't drain more when agent is busy — wait for next idle event
163
- return;
164
- }
165
- else {
166
- // Other error - log and continue to next message
167
- queueLogger.error(`Failed to deliver message to ${agentId}:`, err);
168
- }
169
- }
170
- // Try draining next message if any
171
- if (queue.length > 0) {
172
- await this._drainInternal(agentId, process, sendCallback, depth + 1);
173
- }
174
- }
175
- /**
176
- * Get current queue size for an agent
177
- *
178
- * @param agentId - Agent identifier
179
- * @returns Number of queued messages
180
- */
181
- getQueueSize(agentId) {
182
- const queue = this.queues.get(agentId);
183
- return queue ? queue.length : 0;
184
- }
185
- /**
186
- * Clear expired messages from all queues
187
- *
188
- * Should be called periodically (e.g., every minute).
189
- */
190
- clearExpired() {
191
- const now = Date.now();
192
- let totalCleared = 0;
193
- for (const [agentId, queue] of this.queues.entries()) {
194
- const before = queue.length;
195
- const filtered = queue.filter((msg) => now - msg.enqueuedAt < MESSAGE_TTL_MS());
196
- if (filtered.length !== before) {
197
- this.queues.set(agentId, filtered);
198
- const cleared = before - filtered.length;
199
- totalCleared += cleared;
200
- queueLogger.info(`Cleared ${cleared} expired messages for ${agentId}`);
201
- }
202
- // Remove empty queues
203
- if (filtered.length === 0) {
204
- this.queues.delete(agentId);
205
- }
206
- }
207
- if (totalCleared > 0) {
208
- queueLogger.info(`Total expired messages cleared: ${totalCleared}`);
209
- }
210
- }
211
- /**
212
- * Get all agent IDs with queued messages
213
- *
214
- * @returns Array of agent IDs
215
- */
216
- getAgentIds() {
217
- return Array.from(this.queues.keys());
218
- }
219
- /**
220
- * Clear all queues (for testing)
221
- */
222
- clearAll() {
223
- this.queues.clear();
224
- }
225
- }
226
- exports.AgentMessageQueue = AgentMessageQueue;
227
- //# sourceMappingURL=agent-message-queue.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-message-queue.js","sourceRoot":"","sources":["../../src/multi-agent/agent-message-queue.ts"],"names":[],"mappings":"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"}