devchain-cli 0.20.3 → 0.21.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 (397) hide show
  1. package/dist/cli.js +11 -1
  2. package/dist/drizzle/0072_fat_vulcan.sql +21 -0
  3. package/dist/drizzle/meta/0072_snapshot.json +6062 -0
  4. package/dist/drizzle/meta/_journal.json +7 -0
  5. package/dist/node_modules/@devchain/shared/e2ee/index.d.ts +1 -1
  6. package/dist/node_modules/@devchain/shared/e2ee/index.d.ts.map +1 -1
  7. package/dist/node_modules/@devchain/shared/e2ee/index.js +1 -1
  8. package/dist/node_modules/@devchain/shared/e2ee/index.js.map +1 -1
  9. package/dist/node_modules/@devchain/shared/e2ee/negotiation.d.ts +6 -0
  10. package/dist/node_modules/@devchain/shared/e2ee/negotiation.d.ts.map +1 -1
  11. package/dist/node_modules/@devchain/shared/e2ee/negotiation.js +13 -0
  12. package/dist/node_modules/@devchain/shared/e2ee/negotiation.js.map +1 -1
  13. package/dist/node_modules/@devchain/shared/index.d.ts +2 -2
  14. package/dist/node_modules/@devchain/shared/index.d.ts.map +1 -1
  15. package/dist/node_modules/@devchain/shared/index.js +2 -2
  16. package/dist/node_modules/@devchain/shared/index.js.map +1 -1
  17. package/dist/node_modules/@devchain/shared/mobile-rpc-contract/index.d.ts +11816 -0
  18. package/dist/node_modules/@devchain/shared/mobile-rpc-contract/index.d.ts.map +1 -0
  19. package/dist/node_modules/@devchain/shared/mobile-rpc-contract/index.js +1069 -0
  20. package/dist/node_modules/@devchain/shared/mobile-rpc-contract/index.js.map +1 -0
  21. package/dist/node_modules/@devchain/shared/tsconfig.tsbuildinfo +1 -1
  22. package/dist/node_modules/@devchain/shared/tunnel-protocol.d.ts +23 -2
  23. package/dist/node_modules/@devchain/shared/tunnel-protocol.d.ts.map +1 -1
  24. package/dist/node_modules/@devchain/shared/tunnel-protocol.js +24 -2
  25. package/dist/node_modules/@devchain/shared/tunnel-protocol.js.map +1 -1
  26. package/dist/server/app.main.module.js +2 -0
  27. package/dist/server/app.main.module.js.map +1 -1
  28. package/dist/server/app.normal.module.js +2 -0
  29. package/dist/server/app.normal.module.js.map +1 -1
  30. package/dist/server/common/test/app-bootstrap.helper.js +0 -1
  31. package/dist/server/common/test/app-bootstrap.helper.js.map +1 -1
  32. package/dist/server/modules/agent-message-delivery/adapters/legacy-delivery-formatter.adapter.js +10 -4
  33. package/dist/server/modules/agent-message-delivery/adapters/legacy-delivery-formatter.adapter.js.map +1 -1
  34. package/dist/server/modules/agent-message-delivery/agent-message-delivery.service.js +2 -0
  35. package/dist/server/modules/agent-message-delivery/agent-message-delivery.service.js.map +1 -1
  36. package/dist/server/modules/agent-message-delivery/dtos/delivery.types.d.ts +4 -1
  37. package/dist/server/modules/cloud/cloud.module.js +2 -1
  38. package/dist/server/modules/cloud/cloud.module.js.map +1 -1
  39. package/dist/server/modules/cloud/services/cloud-egress-bridge.service.d.ts +3 -1
  40. package/dist/server/modules/cloud/services/cloud-egress-bridge.service.js +16 -9
  41. package/dist/server/modules/cloud/services/cloud-egress-bridge.service.js.map +1 -1
  42. package/dist/server/modules/cloud/services/event-mapper.service.d.ts +1 -0
  43. package/dist/server/modules/cloud/services/event-mapper.service.js +14 -0
  44. package/dist/server/modules/cloud/services/event-mapper.service.js.map +1 -1
  45. package/dist/server/modules/cloud-tunnel/cloud-tunnel.module.js +4 -0
  46. package/dist/server/modules/cloud-tunnel/cloud-tunnel.module.js.map +1 -1
  47. package/dist/server/modules/cloud-tunnel/services/ask-user-question-push-gate.service.d.ts +5 -1
  48. package/dist/server/modules/cloud-tunnel/services/ask-user-question-push-gate.service.js +27 -7
  49. package/dist/server/modules/cloud-tunnel/services/ask-user-question-push-gate.service.js.map +1 -1
  50. package/dist/server/modules/cloud-tunnel/services/mobile-chat-rpc.service.d.ts +5 -2
  51. package/dist/server/modules/cloud-tunnel/services/mobile-chat-rpc.service.js +12 -5
  52. package/dist/server/modules/cloud-tunnel/services/mobile-chat-rpc.service.js.map +1 -1
  53. package/dist/server/modules/cloud-tunnel/services/mobile-rpc-contract.generated.d.ts +11815 -0
  54. package/dist/server/modules/cloud-tunnel/services/mobile-rpc-contract.generated.js +1076 -0
  55. package/dist/server/modules/cloud-tunnel/services/mobile-rpc-contract.generated.js.map +1 -0
  56. package/dist/server/modules/cloud-tunnel/services/mobile-rpc-workspace-access.service.d.ts +67 -0
  57. package/dist/server/modules/cloud-tunnel/services/mobile-rpc-workspace-access.service.js +181 -0
  58. package/dist/server/modules/cloud-tunnel/services/mobile-rpc-workspace-access.service.js.map +1 -0
  59. package/dist/server/modules/cloud-tunnel/services/tunnel-client.service.d.ts +15 -2
  60. package/dist/server/modules/cloud-tunnel/services/tunnel-client.service.js +145 -6
  61. package/dist/server/modules/cloud-tunnel/services/tunnel-client.service.js.map +1 -1
  62. package/dist/server/modules/cloud-tunnel/services/tunnel-event-forwarder.service.d.ts +4 -1
  63. package/dist/server/modules/cloud-tunnel/services/tunnel-event-forwarder.service.js +16 -2
  64. package/dist/server/modules/cloud-tunnel/services/tunnel-event-forwarder.service.js.map +1 -1
  65. package/dist/server/modules/cloud-tunnel/services/tunnel-handler.service.d.ts +4 -1
  66. package/dist/server/modules/cloud-tunnel/services/tunnel-handler.service.js +64 -250
  67. package/dist/server/modules/cloud-tunnel/services/tunnel-handler.service.js.map +1 -1
  68. package/dist/server/modules/cloud-tunnel/services/tunnel-rpc-crypto.service.d.ts +0 -2
  69. package/dist/server/modules/cloud-tunnel/services/tunnel-rpc-crypto.service.js +7 -5
  70. package/dist/server/modules/cloud-tunnel/services/tunnel-rpc-crypto.service.js.map +1 -1
  71. package/dist/server/modules/cloud-tunnel/services/tunnel-viewport-crypto.service.d.ts +1 -2
  72. package/dist/server/modules/cloud-tunnel/services/tunnel-viewport-crypto.service.js +14 -16
  73. package/dist/server/modules/cloud-tunnel/services/tunnel-viewport-crypto.service.js.map +1 -1
  74. package/dist/server/modules/cloud-tunnel/services/viewport-streamer.service.d.ts +20 -3
  75. package/dist/server/modules/cloud-tunnel/services/viewport-streamer.service.js +139 -9
  76. package/dist/server/modules/cloud-tunnel/services/viewport-streamer.service.js.map +1 -1
  77. package/dist/server/modules/e2ee/controllers/e2ee-pairing.controller.js +3 -1
  78. package/dist/server/modules/e2ee/controllers/e2ee-pairing.controller.js.map +1 -1
  79. package/dist/server/modules/e2ee/controllers/e2ee-trust.controller.d.ts +6 -1
  80. package/dist/server/modules/e2ee/controllers/e2ee-trust.controller.js +56 -2
  81. package/dist/server/modules/e2ee/controllers/e2ee-trust.controller.js.map +1 -1
  82. package/dist/server/modules/e2ee/e2ee.module.js +17 -2
  83. package/dist/server/modules/e2ee/e2ee.module.js.map +1 -1
  84. package/dist/server/modules/e2ee/events/paired-device-workspace-access.events.d.ts +6 -0
  85. package/dist/server/modules/e2ee/events/paired-device-workspace-access.events.js +5 -0
  86. package/dist/server/modules/e2ee/events/paired-device-workspace-access.events.js.map +1 -0
  87. package/dist/server/modules/e2ee/services/e2ee-device-label.d.ts +1 -0
  88. package/dist/server/modules/e2ee/services/e2ee-device-label.js +17 -0
  89. package/dist/server/modules/e2ee/services/e2ee-device-label.js.map +1 -0
  90. package/dist/server/modules/e2ee/services/e2ee-device-store.service.d.ts +9 -2
  91. package/dist/server/modules/e2ee/services/e2ee-device-store.service.js +94 -28
  92. package/dist/server/modules/e2ee/services/e2ee-device-store.service.js.map +1 -1
  93. package/dist/server/modules/e2ee/services/e2ee-pairing.service.js +3 -1
  94. package/dist/server/modules/e2ee/services/e2ee-pairing.service.js.map +1 -1
  95. package/dist/server/modules/e2ee/services/e2ee-trust.service.d.ts +4 -0
  96. package/dist/server/modules/e2ee/services/e2ee-trust.service.js +33 -10
  97. package/dist/server/modules/e2ee/services/e2ee-trust.service.js.map +1 -1
  98. package/dist/server/modules/e2ee/services/paired-device-workspace-access.service.d.ts +19 -0
  99. package/dist/server/modules/e2ee/services/paired-device-workspace-access.service.js +103 -0
  100. package/dist/server/modules/e2ee/services/paired-device-workspace-access.service.js.map +1 -0
  101. package/dist/server/modules/epics/services/epics.service.d.ts +1 -0
  102. package/dist/server/modules/epics/services/epics.service.js +7 -1
  103. package/dist/server/modules/epics/services/epics.service.js.map +1 -1
  104. package/dist/server/modules/events/catalog/epic.updated.d.ts +26 -26
  105. package/dist/server/modules/events/catalog/index.d.ts +48 -48
  106. package/dist/server/modules/events/catalog/review.updated.d.ts +18 -18
  107. package/dist/server/modules/events/catalog/team.config.updated.d.ts +4 -4
  108. package/dist/server/modules/mcp/mcp-full.module.js +2 -3
  109. package/dist/server/modules/mcp/mcp-full.module.js.map +1 -1
  110. package/dist/server/modules/mcp/services/handlers/epic-tools.js +1 -1
  111. package/dist/server/modules/mcp/services/handlers/epic-tools.js.map +1 -1
  112. package/dist/server/modules/mcp/services/mcp-tool-binding.registry.d.ts +23 -0
  113. package/dist/server/modules/mcp/services/mcp-tool-binding.registry.js +120 -0
  114. package/dist/server/modules/mcp/services/mcp-tool-binding.registry.js.map +1 -0
  115. package/dist/server/modules/mcp/services/mcp.service.d.ts +4 -45
  116. package/dist/server/modules/mcp/services/mcp.service.js +15 -265
  117. package/dist/server/modules/mcp/services/mcp.service.js.map +1 -1
  118. package/dist/server/modules/mcp/services/testing/mcp-tool-binding-registry.fixture.d.ts +5 -0
  119. package/dist/server/modules/mcp/services/testing/mcp-tool-binding-registry.fixture.js +8 -0
  120. package/dist/server/modules/mcp/services/testing/mcp-tool-binding-registry.fixture.js.map +1 -0
  121. package/dist/server/modules/mcp/standalone-mcp.module.js +3 -10
  122. package/dist/server/modules/mcp/standalone-mcp.module.js.map +1 -1
  123. package/dist/server/modules/mcp/tool-descriptors/agent.bindings.d.ts +1 -2
  124. package/dist/server/modules/mcp/tool-descriptors/agent.bindings.js +15 -2
  125. package/dist/server/modules/mcp/tool-descriptors/agent.bindings.js.map +1 -1
  126. package/dist/server/modules/mcp/tool-descriptors/binding-types.d.ts +38 -0
  127. package/dist/server/modules/mcp/tool-descriptors/binding-types.js +10 -0
  128. package/dist/server/modules/mcp/tool-descriptors/binding-types.js.map +1 -0
  129. package/dist/server/modules/mcp/tool-descriptors/chat.bindings.d.ts +1 -2
  130. package/dist/server/modules/mcp/tool-descriptors/chat.bindings.js +16 -2
  131. package/dist/server/modules/mcp/tool-descriptors/chat.bindings.js.map +1 -1
  132. package/dist/server/modules/mcp/tool-descriptors/document.bindings.d.ts +1 -2
  133. package/dist/server/modules/mcp/tool-descriptors/document.bindings.js +10 -2
  134. package/dist/server/modules/mcp/tool-descriptors/document.bindings.js.map +1 -1
  135. package/dist/server/modules/mcp/tool-descriptors/epic.bindings.d.ts +1 -2
  136. package/dist/server/modules/mcp/tool-descriptors/epic.bindings.js +12 -6
  137. package/dist/server/modules/mcp/tool-descriptors/epic.bindings.js.map +1 -1
  138. package/dist/server/modules/mcp/tool-descriptors/index.d.ts +2 -3
  139. package/dist/server/modules/mcp/tool-descriptors/index.js +1 -25
  140. package/dist/server/modules/mcp/tool-descriptors/index.js.map +1 -1
  141. package/dist/server/modules/mcp/tool-descriptors/project.bindings.d.ts +1 -2
  142. package/dist/server/modules/mcp/tool-descriptors/project.bindings.js +11 -2
  143. package/dist/server/modules/mcp/tool-descriptors/project.bindings.js.map +1 -1
  144. package/dist/server/modules/mcp/tool-descriptors/prompt.bindings.d.ts +1 -2
  145. package/dist/server/modules/mcp/tool-descriptors/prompt.bindings.js +11 -2
  146. package/dist/server/modules/mcp/tool-descriptors/prompt.bindings.js.map +1 -1
  147. package/dist/server/modules/mcp/tool-descriptors/record.bindings.d.ts +1 -2
  148. package/dist/server/modules/mcp/tool-descriptors/record.bindings.js +6 -2
  149. package/dist/server/modules/mcp/tool-descriptors/record.bindings.js.map +1 -1
  150. package/dist/server/modules/mcp/tool-descriptors/review.bindings.d.ts +1 -2
  151. package/dist/server/modules/mcp/tool-descriptors/review.bindings.js +13 -2
  152. package/dist/server/modules/mcp/tool-descriptors/review.bindings.js.map +1 -1
  153. package/dist/server/modules/mcp/tool-descriptors/runtime-bindings.d.ts +2 -0
  154. package/dist/server/modules/mcp/tool-descriptors/runtime-bindings.js +29 -0
  155. package/dist/server/modules/mcp/tool-descriptors/runtime-bindings.js.map +1 -0
  156. package/dist/server/modules/mcp/tool-descriptors/session.bindings.d.ts +1 -2
  157. package/dist/server/modules/mcp/tool-descriptors/session.bindings.js +11 -2
  158. package/dist/server/modules/mcp/tool-descriptors/session.bindings.js.map +1 -1
  159. package/dist/server/modules/mcp/tool-descriptors/skill.bindings.d.ts +1 -2
  160. package/dist/server/modules/mcp/tool-descriptors/skill.bindings.js +10 -2
  161. package/dist/server/modules/mcp/tool-descriptors/skill.bindings.js.map +1 -1
  162. package/dist/server/modules/mcp/tool-descriptors/team.bindings.d.ts +1 -2
  163. package/dist/server/modules/mcp/tool-descriptors/team.bindings.js +11 -2
  164. package/dist/server/modules/mcp/tool-descriptors/team.bindings.js.map +1 -1
  165. package/dist/server/modules/mcp/tool-descriptors/types.d.ts +0 -2
  166. package/dist/server/modules/project-communication/project-communication.service.d.ts +2 -0
  167. package/dist/server/modules/project-communication/project-communication.service.js +72 -20
  168. package/dist/server/modules/project-communication/project-communication.service.js.map +1 -1
  169. package/dist/server/modules/projects/controllers/projects.controller.d.ts +2 -1
  170. package/dist/server/modules/projects/controllers/projects.controller.js +16 -3
  171. package/dist/server/modules/projects/controllers/projects.controller.js.map +1 -1
  172. package/dist/server/modules/projects/dtos/template-upgrade.dto.d.ts +1 -0
  173. package/dist/server/modules/projects/dtos/template-upgrade.dto.js +9 -0
  174. package/dist/server/modules/projects/dtos/template-upgrade.dto.js.map +1 -1
  175. package/dist/server/modules/projects/events/project-workspace-changed.events.d.ts +6 -0
  176. package/dist/server/modules/projects/events/project-workspace-changed.events.js +5 -0
  177. package/dist/server/modules/projects/events/project-workspace-changed.events.js.map +1 -0
  178. package/dist/server/modules/projects/helpers/template-loader.d.ts +1 -0
  179. package/dist/server/modules/projects/helpers/template-loader.js +1 -0
  180. package/dist/server/modules/projects/helpers/template-loader.js.map +1 -1
  181. package/dist/server/modules/projects/services/project-registry-import.service.d.ts +2 -0
  182. package/dist/server/modules/projects/services/project-registry-import.service.js +3 -1
  183. package/dist/server/modules/projects/services/project-registry-import.service.js.map +1 -1
  184. package/dist/server/modules/projects/services/projects.service.d.ts +4 -1
  185. package/dist/server/modules/projects/services/projects.service.js +17 -3
  186. package/dist/server/modules/projects/services/projects.service.js.map +1 -1
  187. package/dist/server/modules/scheduled-epics/services/scheduled-epics.service.js +14 -16
  188. package/dist/server/modules/scheduled-epics/services/scheduled-epics.service.js.map +1 -1
  189. package/dist/server/modules/seeders/seeders/0003_seed_preseed_jeffallan_claude_skills.js +45 -15
  190. package/dist/server/modules/seeders/seeders/0003_seed_preseed_jeffallan_claude_skills.js.map +1 -1
  191. package/dist/server/modules/seeders/seeders/0005_seed_renew_instructions_subscriber.js +2 -2
  192. package/dist/server/modules/seeders/seeders/0005_seed_renew_instructions_subscriber.js.map +1 -1
  193. package/dist/server/modules/session-reader/data/pricing.json +51 -4
  194. package/dist/server/modules/session-reader/services/transcript-serialization.d.ts +13 -0
  195. package/dist/server/modules/session-reader/services/transcript-serialization.js +41 -0
  196. package/dist/server/modules/session-reader/services/transcript-serialization.js.map +1 -1
  197. package/dist/server/modules/session-terminal-runtime/session-terminal-runtime.module.d.ts +2 -0
  198. package/dist/server/modules/session-terminal-runtime/session-terminal-runtime.module.js +25 -0
  199. package/dist/server/modules/session-terminal-runtime/session-terminal-runtime.module.js.map +1 -0
  200. package/dist/server/modules/session-terminal-runtime/session-terminal-runtime.service.d.ts +19 -0
  201. package/dist/server/modules/session-terminal-runtime/session-terminal-runtime.service.js +118 -0
  202. package/dist/server/modules/session-terminal-runtime/session-terminal-runtime.service.js.map +1 -0
  203. package/dist/server/modules/session-terminal-runtime/session-terminal-runtime.types.d.ts +10 -0
  204. package/dist/server/modules/session-terminal-runtime/session-terminal-runtime.types.js +3 -0
  205. package/dist/server/modules/session-terminal-runtime/session-terminal-runtime.types.js.map +1 -0
  206. package/dist/server/modules/sessions/services/message-enqueue.service.d.ts +2 -1
  207. package/dist/server/modules/sessions/services/message-enqueue.service.js +1 -0
  208. package/dist/server/modules/sessions/services/message-enqueue.service.js.map +1 -1
  209. package/dist/server/modules/sessions/services/message-pool.types.d.ts +6 -1
  210. package/dist/server/modules/sessions/services/message-pool.types.js +10 -1
  211. package/dist/server/modules/sessions/services/message-pool.types.js.map +1 -1
  212. package/dist/server/modules/sessions/services/provider-runtime-preparation/index.d.ts +2 -0
  213. package/dist/server/modules/sessions/services/provider-runtime-preparation/index.js +6 -0
  214. package/dist/server/modules/sessions/services/provider-runtime-preparation/index.js.map +1 -0
  215. package/dist/server/modules/sessions/services/provider-runtime-preparation/provider-runtime-preparation.service.d.ts +24 -0
  216. package/dist/server/modules/sessions/services/provider-runtime-preparation/provider-runtime-preparation.service.js +297 -0
  217. package/dist/server/modules/sessions/services/provider-runtime-preparation/provider-runtime-preparation.service.js.map +1 -0
  218. package/dist/server/modules/sessions/services/provider-runtime-preparation/provider-runtime-preparation.types.d.ts +41 -0
  219. package/dist/server/modules/sessions/services/provider-runtime-preparation/provider-runtime-preparation.types.js +8 -0
  220. package/dist/server/modules/sessions/services/provider-runtime-preparation/provider-runtime-preparation.types.js.map +1 -0
  221. package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.d.ts +33 -37
  222. package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.js +37 -56
  223. package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.js.map +1 -1
  224. package/dist/server/modules/sessions/services/session-runtime/session-launch-pipeline.service.d.ts +3 -5
  225. package/dist/server/modules/sessions/services/session-runtime/session-launch-pipeline.service.js +23 -112
  226. package/dist/server/modules/sessions/services/session-runtime/session-launch-pipeline.service.js.map +1 -1
  227. package/dist/server/modules/sessions/services/session-runtime/session-restore-pipeline.service.d.ts +3 -9
  228. package/dist/server/modules/sessions/services/session-runtime/session-restore-pipeline.service.js +23 -125
  229. package/dist/server/modules/sessions/services/session-runtime/session-restore-pipeline.service.js.map +1 -1
  230. package/dist/server/modules/sessions/services/sessions-message-pool.service.d.ts +13 -1
  231. package/dist/server/modules/sessions/services/sessions-message-pool.service.js +253 -20
  232. package/dist/server/modules/sessions/services/sessions-message-pool.service.js.map +1 -1
  233. package/dist/server/modules/sessions/services/sessions.service.d.ts +0 -13
  234. package/dist/server/modules/sessions/services/sessions.service.js +0 -66
  235. package/dist/server/modules/sessions/services/sessions.service.js.map +1 -1
  236. package/dist/server/modules/sessions/sessions-lifecycle.module.js.map +1 -1
  237. package/dist/server/modules/sessions/sessions.module.js +3 -1
  238. package/dist/server/modules/sessions/sessions.module.js.map +1 -1
  239. package/dist/server/modules/settings/dtos/settings.dto.d.ts +2 -2
  240. package/dist/server/modules/skills/controllers/community-sources.controller.d.ts +3 -3
  241. package/dist/server/modules/skills/controllers/community-sources.controller.js +8 -8
  242. package/dist/server/modules/skills/controllers/community-sources.controller.js.map +1 -1
  243. package/dist/server/modules/skills/controllers/local-sources.controller.d.ts +3 -3
  244. package/dist/server/modules/skills/controllers/local-sources.controller.js +8 -8
  245. package/dist/server/modules/skills/controllers/local-sources.controller.js.map +1 -1
  246. package/dist/server/modules/skills/controllers/skills.controller.d.ts +4 -3
  247. package/dist/server/modules/skills/controllers/skills.controller.js +7 -7
  248. package/dist/server/modules/skills/controllers/skills.controller.js.map +1 -1
  249. package/dist/server/modules/skills/services/skill-source-lifecycle.service.d.ts +42 -0
  250. package/dist/server/modules/skills/services/{local-sources.service.js → skill-source-lifecycle.service.js} +187 -62
  251. package/dist/server/modules/skills/services/skill-source-lifecycle.service.js.map +1 -0
  252. package/dist/server/modules/skills/services/skill-sync.service.d.ts +2 -20
  253. package/dist/server/modules/skills/services/skill-sync.service.js +30 -68
  254. package/dist/server/modules/skills/services/skill-sync.service.js.map +1 -1
  255. package/dist/server/modules/skills/services/skill-sync.types.d.ts +14 -0
  256. package/dist/server/modules/{mcp/services/handlers/types.js → skills/services/skill-sync.types.js} +1 -1
  257. package/dist/server/modules/skills/services/skill-sync.types.js.map +1 -0
  258. package/dist/server/modules/skills/services/skills.service.d.ts +0 -1
  259. package/dist/server/modules/skills/services/skills.service.js +0 -3
  260. package/dist/server/modules/skills/services/skills.service.js.map +1 -1
  261. package/dist/server/modules/skills/skills.module.js +2 -5
  262. package/dist/server/modules/skills/skills.module.js.map +1 -1
  263. package/dist/server/modules/storage/db/db.provider.d.ts +4 -0
  264. package/dist/server/modules/storage/db/db.provider.js +13 -1
  265. package/dist/server/modules/storage/db/db.provider.js.map +1 -1
  266. package/dist/server/modules/storage/db/schema.d.ts +182 -0
  267. package/dist/server/modules/storage/db/schema.js +23 -2
  268. package/dist/server/modules/storage/db/schema.js.map +1 -1
  269. package/dist/server/modules/storage/db/transaction-runner.d.ts +9 -0
  270. package/dist/server/modules/storage/db/transaction-runner.js +142 -4
  271. package/dist/server/modules/storage/db/transaction-runner.js.map +1 -1
  272. package/dist/server/modules/storage/interfaces/storage.interface.d.ts +31 -9
  273. package/dist/server/modules/storage/interfaces/storage.interface.js.map +1 -1
  274. package/dist/server/modules/storage/local/delegates/agent.delegate.d.ts +3 -2
  275. package/dist/server/modules/storage/local/delegates/agent.delegate.js +45 -6
  276. package/dist/server/modules/storage/local/delegates/agent.delegate.js.map +1 -1
  277. package/dist/server/modules/storage/local/delegates/base-storage.delegate.d.ts +2 -0
  278. package/dist/server/modules/storage/local/delegates/base-storage.delegate.js +3 -0
  279. package/dist/server/modules/storage/local/delegates/base-storage.delegate.js.map +1 -1
  280. package/dist/server/modules/storage/local/delegates/document.delegate.d.ts +4 -6
  281. package/dist/server/modules/storage/local/delegates/document.delegate.js +86 -79
  282. package/dist/server/modules/storage/local/delegates/document.delegate.js.map +1 -1
  283. package/dist/server/modules/storage/local/delegates/epic.delegate.d.ts +6 -4
  284. package/dist/server/modules/storage/local/delegates/epic.delegate.js +94 -60
  285. package/dist/server/modules/storage/local/delegates/epic.delegate.js.map +1 -1
  286. package/dist/server/modules/storage/local/delegates/project-workspace.delegate.d.ts +16 -0
  287. package/dist/server/modules/storage/local/delegates/project-workspace.delegate.js +191 -0
  288. package/dist/server/modules/storage/local/delegates/project-workspace.delegate.js.map +1 -0
  289. package/dist/server/modules/storage/local/delegates/project.delegate.d.ts +7 -2
  290. package/dist/server/modules/storage/local/delegates/project.delegate.js +126 -140
  291. package/dist/server/modules/storage/local/delegates/project.delegate.js.map +1 -1
  292. package/dist/server/modules/storage/local/delegates/prompt.delegate.d.ts +3 -2
  293. package/dist/server/modules/storage/local/delegates/prompt.delegate.js +65 -66
  294. package/dist/server/modules/storage/local/delegates/prompt.delegate.js.map +1 -1
  295. package/dist/server/modules/storage/local/delegates/record.delegate.d.ts +3 -2
  296. package/dist/server/modules/storage/local/delegates/record.delegate.js +76 -62
  297. package/dist/server/modules/storage/local/delegates/record.delegate.js.map +1 -1
  298. package/dist/server/modules/storage/local/delegates/review.delegate.d.ts +3 -6
  299. package/dist/server/modules/storage/local/delegates/review.delegate.js +93 -72
  300. package/dist/server/modules/storage/local/delegates/review.delegate.js.map +1 -1
  301. package/dist/server/modules/storage/local/delegates/scheduled-epic.delegate.d.ts +4 -2
  302. package/dist/server/modules/storage/local/delegates/scheduled-epic.delegate.js +53 -20
  303. package/dist/server/modules/storage/local/delegates/scheduled-epic.delegate.js.map +1 -1
  304. package/dist/server/modules/storage/local/delegates/skill-source.delegate.d.ts +7 -11
  305. package/dist/server/modules/storage/local/delegates/skill-source.delegate.js +135 -160
  306. package/dist/server/modules/storage/local/delegates/skill-source.delegate.js.map +1 -1
  307. package/dist/server/modules/storage/local/delegates/tag.delegate.d.ts +1 -0
  308. package/dist/server/modules/storage/local/delegates/tag.delegate.js +11 -5
  309. package/dist/server/modules/storage/local/delegates/tag.delegate.js.map +1 -1
  310. package/dist/server/modules/storage/local/helpers/storage-helpers.d.ts +0 -2
  311. package/dist/server/modules/storage/local/helpers/storage-helpers.js +1 -24
  312. package/dist/server/modules/storage/local/helpers/storage-helpers.js.map +1 -1
  313. package/dist/server/modules/storage/local/local-storage.service.d.ts +15 -12
  314. package/dist/server/modules/storage/local/local-storage.service.js +40 -95
  315. package/dist/server/modules/storage/local/local-storage.service.js.map +1 -1
  316. package/dist/server/modules/storage/local/versioned-mutation.executor.d.ts +31 -0
  317. package/dist/server/modules/storage/local/versioned-mutation.executor.js +50 -0
  318. package/dist/server/modules/storage/local/versioned-mutation.executor.js.map +1 -0
  319. package/dist/server/modules/storage/models/domain.models.d.ts +18 -1
  320. package/dist/server/modules/subscribers/actions/action.interface.d.ts +4 -0
  321. package/dist/server/modules/subscribers/actions/actions.registry.js +4 -0
  322. package/dist/server/modules/subscribers/actions/actions.registry.js.map +1 -1
  323. package/dist/server/modules/subscribers/actions/delete-agent.action.d.ts +16 -0
  324. package/dist/server/modules/subscribers/actions/delete-agent.action.js +200 -0
  325. package/dist/server/modules/subscribers/actions/delete-agent.action.js.map +1 -0
  326. package/dist/server/modules/subscribers/actions/family-agent-targets.d.ts +4 -0
  327. package/dist/server/modules/subscribers/actions/family-agent-targets.js +35 -0
  328. package/dist/server/modules/subscribers/actions/family-agent-targets.js.map +1 -0
  329. package/dist/server/modules/subscribers/actions/send-message.action.js +22 -9
  330. package/dist/server/modules/subscribers/actions/send-message.action.js.map +1 -1
  331. package/dist/server/modules/subscribers/actions/terminate-session.action.d.ts +27 -0
  332. package/dist/server/modules/subscribers/actions/terminate-session.action.js +204 -0
  333. package/dist/server/modules/subscribers/actions/terminate-session.action.js.map +1 -0
  334. package/dist/server/modules/subscribers/dtos/subscriber.dto.js +3 -2
  335. package/dist/server/modules/subscribers/dtos/subscriber.dto.js.map +1 -1
  336. package/dist/server/modules/subscribers/events/event-fields-catalog.js +1 -1
  337. package/dist/server/modules/subscribers/events/event-fields-catalog.js.map +1 -1
  338. package/dist/server/modules/subscribers/services/subscriber-executor.service.d.ts +3 -3
  339. package/dist/server/modules/subscribers/services/subscriber-executor.service.js +7 -13
  340. package/dist/server/modules/subscribers/services/subscriber-executor.service.js.map +1 -1
  341. package/dist/server/modules/subscribers/subscribers.module.js +2 -0
  342. package/dist/server/modules/subscribers/subscribers.module.js.map +1 -1
  343. package/dist/server/modules/teams/services/teams.service.d.ts +9 -0
  344. package/dist/server/modules/teams/services/teams.service.js +24 -6
  345. package/dist/server/modules/teams/services/teams.service.js.map +1 -1
  346. package/dist/server/modules/terminal/gateways/terminal.gateway.d.ts +6 -4
  347. package/dist/server/modules/terminal/gateways/terminal.gateway.js +13 -12
  348. package/dist/server/modules/terminal/gateways/terminal.gateway.js.map +1 -1
  349. package/dist/server/modules/terminal/services/pty.service.d.ts +7 -7
  350. package/dist/server/modules/terminal/services/pty.service.js +21 -24
  351. package/dist/server/modules/terminal/services/pty.service.js.map +1 -1
  352. package/dist/server/modules/terminal/services/terminal-key-input/terminal-key-input.facade.js.map +1 -1
  353. package/dist/server/modules/terminal/services/terminal-registry-rehydrator.service.d.ts +3 -3
  354. package/dist/server/modules/terminal/services/terminal-registry-rehydrator.service.js +8 -12
  355. package/dist/server/modules/terminal/services/terminal-registry-rehydrator.service.js.map +1 -1
  356. package/dist/server/modules/terminal/services/terminal-seed.service.d.ts +3 -3
  357. package/dist/server/modules/terminal/services/terminal-seed.service.js +11 -18
  358. package/dist/server/modules/terminal/services/terminal-seed.service.js.map +1 -1
  359. package/dist/server/modules/terminal/services/terminal-viewport/terminal-viewport.facade.js.map +1 -1
  360. package/dist/server/modules/terminal/terminal-key-input.module.js.map +1 -1
  361. package/dist/server/modules/terminal/terminal-viewport.module.js.map +1 -1
  362. package/dist/server/modules/terminal/terminal.module.js +2 -2
  363. package/dist/server/modules/terminal/terminal.module.js.map +1 -1
  364. package/dist/server/modules/workspaces/controllers/workspaces.controller.d.ts +11 -0
  365. package/dist/server/modules/workspaces/controllers/workspaces.controller.js +101 -0
  366. package/dist/server/modules/workspaces/controllers/workspaces.controller.js.map +1 -0
  367. package/dist/server/modules/workspaces/services/workspace-mode-control.d.ts +6 -0
  368. package/dist/server/modules/workspaces/services/workspace-mode-control.js +5 -0
  369. package/dist/server/modules/workspaces/services/workspace-mode-control.js.map +1 -0
  370. package/dist/server/modules/workspaces/services/workspace-mode-coordinator.service.d.ts +23 -0
  371. package/dist/server/modules/workspaces/services/workspace-mode-coordinator.service.js +137 -0
  372. package/dist/server/modules/workspaces/services/workspace-mode-coordinator.service.js.map +1 -0
  373. package/dist/server/modules/workspaces/services/workspaces.service.d.ts +11 -0
  374. package/dist/server/modules/workspaces/services/workspaces.service.js +41 -0
  375. package/dist/server/modules/workspaces/services/workspaces.service.js.map +1 -0
  376. package/dist/server/modules/workspaces/workspaces.module.d.ts +2 -0
  377. package/dist/server/modules/workspaces/workspaces.module.js +26 -0
  378. package/dist/server/modules/workspaces/workspaces.module.js.map +1 -0
  379. package/dist/server/templates/teams-dev.json +214 -15
  380. package/dist/server/tsconfig.tsbuildinfo +1 -1
  381. package/dist/server/ui/assets/{ReviewDetailPage-BXLlZvPO.js → ReviewDetailPage-CNffXKv8.js} +1 -1
  382. package/dist/server/ui/assets/{ReviewsPage-CmFUc6IP.js → ReviewsPage-DAcufZ3r.js} +1 -1
  383. package/dist/server/ui/assets/index-7iCs8Dxj.js +1153 -0
  384. package/dist/server/ui/assets/index-CLXZjL_B.css +32 -0
  385. package/dist/server/ui/assets/{useReviewSubscription-Ch8K_5xz.js → useReviewSubscription-DD29I7uU.js} +1 -1
  386. package/dist/server/ui/index.html +2 -2
  387. package/dist/templates/teams-dev.json +214 -15
  388. package/package.json +13 -2
  389. package/dist/server/modules/mcp/services/handlers/types.d.ts +0 -2
  390. package/dist/server/modules/mcp/services/handlers/types.js.map +0 -1
  391. package/dist/server/modules/skills/services/community-sources.service.d.ts +0 -18
  392. package/dist/server/modules/skills/services/community-sources.service.js +0 -161
  393. package/dist/server/modules/skills/services/community-sources.service.js.map +0 -1
  394. package/dist/server/modules/skills/services/local-sources.service.d.ts +0 -20
  395. package/dist/server/modules/skills/services/local-sources.service.js.map +0 -1
  396. package/dist/server/ui/assets/index-LNBfBNWF.js +0 -1148
  397. package/dist/server/ui/assets/index-NypjSmlZ.css +0 -32
@@ -14,6 +14,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.SessionsMessagePoolService = exports.FAILURE_NOTICE_SOURCE = void 0;
16
16
  const common_1 = require("@nestjs/common");
17
+ const event_emitter_1 = require("@nestjs/event-emitter");
17
18
  const crypto_1 = require("crypto");
18
19
  const sessions_service_1 = require("./sessions.service");
19
20
  const session_coordinator_service_1 = require("./session-coordinator.service");
@@ -25,9 +26,10 @@ const storage_interface_1 = require("../../storage/interfaces/storage.interface"
25
26
  const logger_1 = require("../../../common/logging/logger");
26
27
  const terminal_io_service_1 = require("../../terminal/services/terminal-io/terminal-io.service");
27
28
  const provider_adapter_factory_1 = require("../../providers/adapters/provider-adapter.factory");
29
+ const message_pool_types_1 = require("./message-pool.types");
28
30
  const delivery_failure_disclosure_1 = require("./delivery-failure-disclosure");
29
- var message_pool_types_1 = require("./message-pool.types");
30
- Object.defineProperty(exports, "FAILURE_NOTICE_SOURCE", { enumerable: true, get: function () { return message_pool_types_1.FAILURE_NOTICE_SOURCE; } });
31
+ var message_pool_types_2 = require("./message-pool.types");
32
+ Object.defineProperty(exports, "FAILURE_NOTICE_SOURCE", { enumerable: true, get: function () { return message_pool_types_2.FAILURE_NOTICE_SOURCE; } });
31
33
  const logger = (0, logger_1.createLogger)('SessionsMessagePoolService');
32
34
  const DEFAULT_CONFIG = {
33
35
  enabled: true,
@@ -47,6 +49,7 @@ let SessionsMessagePoolService = class SessionsMessagePoolService {
47
49
  messageLog;
48
50
  failureNotifier;
49
51
  pools = new Map();
52
+ idleLanes = new Map();
50
53
  config;
51
54
  constructor(sessions, coordinator, terminalIO, settings, storage, activityStream, providerAdapterFactory, messageLog, failureNotifier) {
52
55
  this.sessions = sessions;
@@ -108,6 +111,12 @@ let SessionsMessagePoolService = class SessionsMessagePoolService {
108
111
  a.maxMessages === b.maxMessages &&
109
112
  a.separator === b.separator);
110
113
  }
114
+ resolveDeliveryMode(options) {
115
+ if ((0, message_pool_types_1.isMessageDeliveryMode)(options.deliveryMode)) {
116
+ return options.deliveryMode;
117
+ }
118
+ return (0, message_pool_types_1.deliveryModeFromLegacyImmediate)(options.immediate);
119
+ }
111
120
  resetPoolTimers(agentId, pool, newConfig) {
112
121
  if (pool.timer) {
113
122
  clearTimeout(pool.timer);
@@ -142,13 +151,30 @@ let SessionsMessagePoolService = class SessionsMessagePoolService {
142
151
  }, remaining);
143
152
  }
144
153
  async enqueue(agentId, text, options = {}) {
145
- const { source = 'unknown', submitKeys = ['Enter'], preKeys, preDelayMs, senderAgentId, immediate = false, clientMessageId, failureDisclosure = 'legacy', } = options;
154
+ const { source = 'unknown', submitKeys = ['Enter'], preKeys, preDelayMs, senderAgentId, clientMessageId, failureDisclosure = 'legacy', } = options;
146
155
  const { projectId, agentName } = await this.resolveProjectInfo(agentId, options);
147
- const projectConfig = this.getConfigForProject(projectId, failureDisclosure);
148
156
  const logEntryId = (0, crypto_1.randomUUID)();
149
157
  const timestamp = Date.now();
150
- if (immediate || !projectConfig.enabled) {
151
- const reason = immediate ? 'immediate flag' : 'pooling disabled';
158
+ const deliveryMode = this.resolveDeliveryMode(options);
159
+ if (deliveryMode === 'on_idle') {
160
+ return this.enqueueOnIdle({
161
+ agentId,
162
+ text,
163
+ source,
164
+ submitKeys,
165
+ senderAgentId,
166
+ clientMessageId,
167
+ failureDisclosure,
168
+ projectId,
169
+ agentName,
170
+ logEntryId,
171
+ timestamp,
172
+ });
173
+ }
174
+ const projectConfig = this.getConfigForProject(projectId, failureDisclosure);
175
+ const immediateDelivery = deliveryMode === 'immediate';
176
+ if (immediateDelivery || !projectConfig.enabled) {
177
+ const reason = immediateDelivery ? 'delivery mode' : 'pooling disabled';
152
178
  logger.debug({ agentId, projectId, source, reason }, 'Bypassing pool, delivering immediately');
153
179
  const logEntry = {
154
180
  id: logEntryId,
@@ -175,7 +201,7 @@ let SessionsMessagePoolService = class SessionsMessagePoolService {
175
201
  this.broadcastPoolsUpdate();
176
202
  try {
177
203
  const { nonce: deliveredNonce, unconfirmed, skipped, retryCount, } = await this.deliverMessage(agentId, text, submitKeys, {
178
- skipConfirmation: immediate,
204
+ skipConfirmation: immediateDelivery,
179
205
  preKeys,
180
206
  preDelayMs,
181
207
  });
@@ -316,6 +342,101 @@ let SessionsMessagePoolService = class SessionsMessagePoolService {
316
342
  }, pool.config.delayMs);
317
343
  return { status: 'queued', poolSize: pool.messages.length, logEntryId };
318
344
  }
345
+ async enqueueOnIdle(input) {
346
+ const activeSession = this.sessions.getActiveSessionForAgent(input.agentId);
347
+ if (input.clientMessageId) {
348
+ const existing = this.messageLog.findByClientMessageId(input.clientMessageId, input.agentId, input.source);
349
+ if (existing) {
350
+ return { status: existing.status, logEntryId: existing.id };
351
+ }
352
+ }
353
+ let detachedLane;
354
+ const currentLane = this.idleLanes.get(input.agentId);
355
+ if (currentLane && currentLane.sessionId !== activeSession?.id) {
356
+ this.idleLanes.delete(input.agentId);
357
+ detachedLane = currentLane;
358
+ }
359
+ if (!activeSession) {
360
+ const failure = (0, delivery_failure_disclosure_1.classifyDeliveryFailure)(input.failureDisclosure, 'No active session', 'no_active_session');
361
+ if (detachedLane) {
362
+ await this.failIdleLane(detachedLane, 'Target session is no longer active');
363
+ }
364
+ return { status: 'failed', error: failure.error };
365
+ }
366
+ const projectConfig = this.getConfigForProject(input.projectId, input.failureDisclosure);
367
+ let lane = this.idleLanes.get(input.agentId);
368
+ if (lane) {
369
+ lane.separator = projectConfig.separator;
370
+ }
371
+ if ((lane?.messages.length ?? 0) >= projectConfig.maxMessages) {
372
+ const failure = (0, delivery_failure_disclosure_1.classifyDeliveryFailure)(input.failureDisclosure, 'Message pool capacity reached', 'pool_capacity_exceeded');
373
+ return { status: 'failed', error: failure.error };
374
+ }
375
+ if (!lane) {
376
+ lane = {
377
+ sessionId: activeSession.id,
378
+ agentId: input.agentId,
379
+ projectId: input.projectId,
380
+ messages: [],
381
+ firstEnqueueTime: input.timestamp,
382
+ separator: projectConfig.separator,
383
+ };
384
+ this.idleLanes.set(input.agentId, lane);
385
+ }
386
+ const logEntry = {
387
+ id: input.logEntryId,
388
+ timestamp: input.timestamp,
389
+ projectId: input.projectId,
390
+ agentId: input.agentId,
391
+ agentName: input.agentName,
392
+ text: input.text,
393
+ source: input.source,
394
+ senderAgentId: input.senderAgentId,
395
+ clientMessageId: input.clientMessageId,
396
+ status: 'queued',
397
+ immediate: false,
398
+ };
399
+ this.messageLog.addEntry(logEntry);
400
+ lane.messages.push({
401
+ text: input.text,
402
+ source: input.source,
403
+ timestamp: input.timestamp,
404
+ submitKeys: input.submitKeys,
405
+ senderAgentId: input.senderAgentId,
406
+ logEntryId: input.logEntryId,
407
+ clientMessageId: input.clientMessageId,
408
+ failureDisclosure: input.failureDisclosure,
409
+ });
410
+ this.activityStream.broadcastEnqueued(logEntry);
411
+ this.broadcastPoolsUpdate();
412
+ const exactSessionIsIdle = activeSession.activityState === 'idle';
413
+ const detachedFailure = detachedLane
414
+ ? this.failIdleLane(detachedLane, 'Target session was replaced before idle delivery')
415
+ : Promise.resolve();
416
+ if (exactSessionIsIdle) {
417
+ const [, flushResult] = await Promise.all([
418
+ detachedFailure,
419
+ this.flushIdleLane(input.agentId, activeSession.id),
420
+ ]);
421
+ if (!flushResult.success) {
422
+ return { status: 'failed', error: flushResult.reason, logEntryId: input.logEntryId };
423
+ }
424
+ if (flushResult.deliveredCount === 0) {
425
+ const logEntry = this.messageLog.getById(input.logEntryId);
426
+ return {
427
+ status: logEntry?.status ?? 'queued',
428
+ ...(logEntry?.error ? { error: logEntry.error } : {}),
429
+ logEntryId: input.logEntryId,
430
+ };
431
+ }
432
+ return {
433
+ status: flushResult.outcome === 'unconfirmed' ? 'unconfirmed' : 'delivered',
434
+ logEntryId: input.logEntryId,
435
+ };
436
+ }
437
+ await detachedFailure;
438
+ return { status: 'queued', poolSize: lane.messages.length, logEntryId: input.logEntryId };
439
+ }
319
440
  async flushNow(agentId) {
320
441
  const pool = this.pools.get(agentId);
321
442
  if (!pool || pool.messages.length === 0) {
@@ -352,26 +473,36 @@ let SessionsMessagePoolService = class SessionsMessagePoolService {
352
473
  }
353
474
  getPoolStats() {
354
475
  const now = Date.now();
355
- return Array.from(this.pools.entries()).map(([agentId, pool]) => ({
356
- agentId,
357
- messageCount: pool.messages.length,
358
- waitingMs: now - pool.firstEnqueueTime,
359
- }));
476
+ const agentIds = new Set([...this.pools.keys(), ...this.idleLanes.keys()]);
477
+ return Array.from(agentIds).map((agentId) => {
478
+ const pool = this.pools.get(agentId);
479
+ const idleLane = this.idleLanes.get(agentId);
480
+ const oldestMessageTime = Math.min(pool?.messages[0]?.timestamp ?? Number.POSITIVE_INFINITY, idleLane?.firstEnqueueTime ?? Number.POSITIVE_INFINITY);
481
+ return {
482
+ agentId,
483
+ messageCount: (pool?.messages.length ?? 0) + (idleLane?.messages.length ?? 0),
484
+ waitingMs: now - oldestMessageTime,
485
+ };
486
+ });
360
487
  }
361
488
  getPoolDetails(projectId) {
362
489
  const now = Date.now();
363
490
  const PREVIEW_LENGTH = 100;
364
491
  const details = [];
365
- for (const [agentId, pool] of this.pools.entries()) {
366
- if (pool.messages.length === 0)
492
+ const agentIds = new Set([...this.pools.keys(), ...this.idleLanes.keys()]);
493
+ for (const agentId of agentIds) {
494
+ const pool = this.pools.get(agentId);
495
+ const idleLane = this.idleLanes.get(agentId);
496
+ const pooledMessages = [...(pool?.messages ?? []), ...(idleLane?.messages ?? [])].sort((a, b) => a.timestamp - b.timestamp);
497
+ if (pooledMessages.length === 0)
367
498
  continue;
368
- const firstMessage = pool.messages[0];
499
+ const firstMessage = pooledMessages[0];
369
500
  const logEntry = this.messageLog.getById(firstMessage.logEntryId);
370
- const poolProjectId = logEntry?.projectId ?? 'unknown';
501
+ const poolProjectId = logEntry?.projectId ?? pool?.projectId ?? idleLane?.projectId ?? 'unknown';
371
502
  const agentName = logEntry?.agentName ?? 'unknown';
372
503
  if (projectId && poolProjectId !== projectId)
373
504
  continue;
374
- const messages = pool.messages.map((msg) => {
505
+ const messages = pooledMessages.map((msg) => {
375
506
  const preview = msg.text.length > PREVIEW_LENGTH ? msg.text.slice(0, PREVIEW_LENGTH) + '...' : msg.text;
376
507
  return {
377
508
  id: msg.logEntryId,
@@ -384,8 +515,8 @@ let SessionsMessagePoolService = class SessionsMessagePoolService {
384
515
  agentId,
385
516
  agentName,
386
517
  projectId: poolProjectId,
387
- messageCount: pool.messages.length,
388
- waitingMs: now - pool.firstEnqueueTime,
518
+ messageCount: pooledMessages.length,
519
+ waitingMs: now - firstMessage.timestamp,
389
520
  messages,
390
521
  });
391
522
  }
@@ -395,7 +526,7 @@ let SessionsMessagePoolService = class SessionsMessagePoolService {
395
526
  async onModuleDestroy() {
396
527
  const poolStats = this.getPoolStats();
397
528
  const totalMessages = poolStats.reduce((sum, p) => sum + p.messageCount, 0);
398
- logger.info({ agentCount: poolStats.length, totalMessages }, 'Shutting down message pool, flushing pending messages...');
529
+ logger.info({ agentCount: poolStats.length, totalMessages }, 'Shutting down message pool, flushing default lanes and clearing idle lanes...');
399
530
  for (const [agentId, pool] of this.pools.entries()) {
400
531
  if (pool.timer) {
401
532
  clearTimeout(pool.timer);
@@ -407,6 +538,15 @@ let SessionsMessagePoolService = class SessionsMessagePoolService {
407
538
  }
408
539
  logger.debug({ agentId }, 'Cleared timers for agent pool');
409
540
  }
541
+ const idleLanes = Array.from(this.idleLanes.values());
542
+ this.idleLanes.clear();
543
+ if (idleLanes.length > 0) {
544
+ logger.info({
545
+ agentCount: idleLanes.length,
546
+ totalMessages: idleLanes.reduce((sum, lane) => sum + lane.messages.length, 0),
547
+ }, 'Clearing idle delivery lanes without terminal delivery');
548
+ await Promise.all(idleLanes.map((lane) => this.failIdleLane(lane, 'Service stopped before idle delivery', false)));
549
+ }
410
550
  const SHUTDOWN_TIMEOUT_MS = 5000;
411
551
  const flushPromise = this.flushAll();
412
552
  const timeoutPromise = new Promise((resolve) => setTimeout(() => {
@@ -429,6 +569,81 @@ let SessionsMessagePoolService = class SessionsMessagePoolService {
429
569
  getMessageById(messageId) {
430
570
  return this.messageLog.getMessageById(messageId);
431
571
  }
572
+ async handleSessionActivityChanged(event) {
573
+ const session = this.sessions.getSession(event.sessionId);
574
+ if (!session?.agentId || event.state !== 'idle')
575
+ return;
576
+ await this.flushIdleLane(session.agentId, event.sessionId);
577
+ }
578
+ async handleSessionStopped(event) {
579
+ const session = this.sessions.getSession(event.sessionId);
580
+ if (!session?.agentId)
581
+ return;
582
+ await this.failMatchingIdleLane(session.agentId, event.sessionId, 'Target session stopped before idle delivery');
583
+ }
584
+ async handleSessionCrashed(event) {
585
+ const session = this.sessions.getSession(event.sessionId);
586
+ if (!session?.agentId)
587
+ return;
588
+ await this.failMatchingIdleLane(session.agentId, event.sessionId, 'Target session crashed before idle delivery');
589
+ }
590
+ async flushIdleLane(agentId, expectedSessionId) {
591
+ let result = { success: true, deliveredCount: 0 };
592
+ await this.coordinator.withAgentLock(agentId, async () => {
593
+ const expectedSession = this.sessions.getSession(expectedSessionId);
594
+ const activeSession = this.sessions.getActiveSessionForAgent(agentId);
595
+ const lane = this.idleLanes.get(agentId);
596
+ if (!lane ||
597
+ lane.sessionId !== expectedSessionId ||
598
+ expectedSession?.status !== 'running' ||
599
+ expectedSession.activityState !== 'idle' ||
600
+ activeSession?.id !== expectedSessionId) {
601
+ return;
602
+ }
603
+ this.idleLanes.delete(agentId);
604
+ result = await this.deliverBatch(agentId, [...lane.messages], lane.separator);
605
+ });
606
+ return result;
607
+ }
608
+ async failMatchingIdleLane(agentId, sessionId, reason) {
609
+ const lane = this.idleLanes.get(agentId);
610
+ if (!lane || lane.sessionId !== sessionId)
611
+ return;
612
+ this.idleLanes.delete(agentId);
613
+ await this.failIdleLane(lane, reason);
614
+ }
615
+ async failIdleLane(lane, reason, notifySenders = true) {
616
+ const batchId = (0, crypto_1.randomUUID)();
617
+ const failureDisclosure = (0, delivery_failure_disclosure_1.getStrictestFailureDisclosure)(lane.messages);
618
+ const batchFailure = (0, delivery_failure_disclosure_1.classifyDeliveryFailure)(failureDisclosure, reason, 'no_active_session');
619
+ for (const message of lane.messages) {
620
+ const failure = (0, delivery_failure_disclosure_1.classifyDeliveryFailure)(message.failureDisclosure, reason, 'no_active_session');
621
+ this.messageLog.update(message.logEntryId, {
622
+ status: 'failed',
623
+ batchId,
624
+ error: failure.error,
625
+ failureCode: failure.failureCode,
626
+ });
627
+ const entry = this.messageLog.getById(message.logEntryId);
628
+ if (entry)
629
+ this.activityStream.broadcastFailed(entry);
630
+ }
631
+ this.broadcastPoolsUpdate();
632
+ logger.warn({
633
+ agentId: lane.agentId,
634
+ sessionId: lane.sessionId,
635
+ messageCount: lane.messages.length,
636
+ error: batchFailure.error,
637
+ }, 'Idle delivery lane discarded');
638
+ if (!notifySenders)
639
+ return;
640
+ await this.failureNotifier
641
+ .notifySendersOfFailure(lane.messages, lane.agentId, batchFailure.error)
642
+ .catch((error) => logger.warn({
643
+ agentId: lane.agentId,
644
+ error: this.disclosedLogError(failureDisclosure, error),
645
+ }, 'Failure notification error (best-effort)'));
646
+ }
432
647
  async deliverBatch(agentId, messages, separator = this.config.separator) {
433
648
  const batchId = (0, crypto_1.randomUUID)();
434
649
  const failureDisclosure = (0, delivery_failure_disclosure_1.getStrictestFailureDisclosure)(messages);
@@ -602,6 +817,24 @@ let SessionsMessagePoolService = class SessionsMessagePoolService {
602
817
  }
603
818
  };
604
819
  exports.SessionsMessagePoolService = SessionsMessagePoolService;
820
+ __decorate([
821
+ (0, event_emitter_1.OnEvent)('session.activity.changed', { async: true }),
822
+ __metadata("design:type", Function),
823
+ __metadata("design:paramtypes", [Object]),
824
+ __metadata("design:returntype", Promise)
825
+ ], SessionsMessagePoolService.prototype, "handleSessionActivityChanged", null);
826
+ __decorate([
827
+ (0, event_emitter_1.OnEvent)('session.stopped', { async: true }),
828
+ __metadata("design:type", Function),
829
+ __metadata("design:paramtypes", [Object]),
830
+ __metadata("design:returntype", Promise)
831
+ ], SessionsMessagePoolService.prototype, "handleSessionStopped", null);
832
+ __decorate([
833
+ (0, event_emitter_1.OnEvent)('session.crashed', { async: true }),
834
+ __metadata("design:type", Function),
835
+ __metadata("design:paramtypes", [Object]),
836
+ __metadata("design:returntype", Promise)
837
+ ], SessionsMessagePoolService.prototype, "handleSessionCrashed", null);
605
838
  exports.SessionsMessagePoolService = SessionsMessagePoolService = __decorate([
606
839
  (0, common_1.Injectable)(),
607
840
  __param(4, (0, common_1.Inject)(storage_interface_1.STORAGE_SERVICE)),
@@ -1 +1 @@
1
- {"version":3,"file":"sessions-message-pool.service.js","sourceRoot":"","sources":["../../../../src/modules/sessions/services/sessions-message-pool.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sessions-message-pool.service.js","sourceRoot":"","sources":["../../../../src/modules/sessions/services/sessions-message-pool.service.ts"],"names":[],"mappings":"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"}
@@ -34,17 +34,6 @@ export declare class SessionsService {
34
34
  constructor(db: BetterSQLite3Database, storage: StorageService, terminalIO: TerminalIOService, ptyService: PtyService, preflightService: PreflightService, mcpEnsureService: ProviderMcpEnsureService, sessionCoordinator: SessionCoordinatorService, hooksConfigService: HooksConfigService, providerAdapterFactory: ProviderAdapterFactory, eventsService: EventsService, terminalSessionRegistry: TerminalSessionRegistry, runtimeContextCapture: RuntimeContextCaptureService, claudeLaunchSettings: ClaudeLaunchSettingsMaterializerService, codexPluginProfiles: CodexPluginProfileMaterializerService);
35
35
  terminateSession(sessionId: string, termination: SessionTerminationContext): Promise<void>;
36
36
  getAgentSessionHistory(agentId: string, projectId: string, cursor: string | undefined, limit: number): Promise<SessionHistoryResponseDto>;
37
- lookupRunningSessionMeta(sessionId: string): {
38
- tmuxSessionName: string;
39
- providerName: string;
40
- } | null;
41
- shouldNormalizeLfFor(sessionId: string): boolean;
42
- usesAlternateScreenFor(sessionId: string): boolean;
43
- listRunningSessionMetas(): Array<{
44
- sessionId: string;
45
- tmuxSessionName: string;
46
- providerName: string;
47
- }>;
48
37
  listRunningTranscriptSessions(): Array<{
49
38
  sessionId: string;
50
39
  transcriptPath: string;
@@ -55,8 +44,6 @@ export declare class SessionsService {
55
44
  listActiveSessions(projectId?: string, allowedAgentIds?: Set<string>): Promise<SessionDto[]>;
56
45
  getActiveSessionForAgent(agentId: string): SessionDto | null;
57
46
  getActiveSessionsForProject(projectId: string): SessionDto[];
58
- markSessionFailed(sessionId: string, reason: string): void;
59
- reconcileCodexPluginProfiles(nonLiveSessionIds: ReadonlySet<string>): Promise<void>;
60
47
  getAgentPresence(projectId?: string): Promise<Map<string, {
61
48
  online: boolean;
62
49
  sessionId?: string;
@@ -227,57 +227,6 @@ let SessionsService = class SessionsService {
227
227
  }));
228
228
  return { items, nextCursor, hasMore, total };
229
229
  }
230
- lookupRunningSessionMeta(sessionId) {
231
- const row = this.sqlite
232
- .prepare(`SELECT tmux_session_id, provider_name_at_launch
233
- FROM sessions
234
- WHERE id = ? AND status = 'running'`)
235
- .get(sessionId);
236
- if (!row || !row.tmux_session_id || !row.provider_name_at_launch)
237
- return null;
238
- return {
239
- tmuxSessionName: row.tmux_session_id,
240
- providerName: row.provider_name_at_launch,
241
- };
242
- }
243
- shouldNormalizeLfFor(sessionId) {
244
- const meta = this.lookupRunningSessionMeta(sessionId);
245
- if (!meta)
246
- return true;
247
- try {
248
- const adapter = this.providerAdapterFactory.getAdapter(meta.providerName);
249
- return !adapter.terminalOutputBehavior?.rawLineEndings;
250
- }
251
- catch {
252
- return true;
253
- }
254
- }
255
- usesAlternateScreenFor(sessionId) {
256
- const meta = this.lookupRunningSessionMeta(sessionId);
257
- if (!meta)
258
- return false;
259
- try {
260
- const adapter = this.providerAdapterFactory.getAdapter(meta.providerName);
261
- return adapter.terminalOutputBehavior?.usesAlternateScreen ?? false;
262
- }
263
- catch {
264
- return false;
265
- }
266
- }
267
- listRunningSessionMetas() {
268
- const rows = this.sqlite
269
- .prepare(`SELECT id, tmux_session_id, provider_name_at_launch
270
- FROM sessions
271
- WHERE status = 'running'`)
272
- .all();
273
- return rows
274
- .filter((r) => r.tmux_session_id && r.provider_name_at_launch)
275
- .map((r) => ({
276
- sessionId: r.id,
277
- tmuxSessionName: r.tmux_session_id,
278
- providerName: r.provider_name_at_launch,
279
- }));
280
- }
281
230
  listRunningTranscriptSessions() {
282
231
  const rows = this.sqlite
283
232
  .prepare(`SELECT id, transcript_path, provider_name_at_launch, provider_session_id
@@ -424,21 +373,6 @@ let SessionsService = class SessionsService {
424
373
  updatedAt: row.updated_at,
425
374
  }));
426
375
  }
427
- markSessionFailed(sessionId, reason) {
428
- logger.warn({ sessionId, reason }, 'Marking session as failed due to dead tmux');
429
- this.runtimeContextCapture.clear(sessionId);
430
- this.claudeLaunchSettings.cleanupSessionSync(sessionId);
431
- void this.codexPluginProfiles.cleanupSession(sessionId).catch((error) => {
432
- logger.warn({ sessionId, error }, 'Failed to clean Codex profile lifecycle after tmux death');
433
- });
434
- const now = new Date().toISOString();
435
- this.sqlite
436
- .prepare(`UPDATE sessions SET status = 'failed', ended_at = ?, updated_at = ? WHERE id = ? AND status = 'running'`)
437
- .run(now, now, sessionId);
438
- }
439
- async reconcileCodexPluginProfiles(nonLiveSessionIds) {
440
- await this.codexPluginProfiles.reconcileStartup(nonLiveSessionIds);
441
- }
442
376
  async getAgentPresence(projectId) {
443
377
  let allowedAgentIds;
444
378
  if (projectId) {