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
@@ -1,5 +1,9 @@
1
1
  export declare const FAILURE_NOTICE_SOURCE = "pool.failure_notice";
2
2
  export type FailureDisclosurePolicy = 'legacy' | 'project-safe';
3
+ export declare const MESSAGE_DELIVERY_MODES: readonly ["default", "immediate", "on_idle"];
4
+ export type MessageDeliveryMode = (typeof MESSAGE_DELIVERY_MODES)[number];
5
+ export declare function isMessageDeliveryMode(value: unknown): value is MessageDeliveryMode;
6
+ export declare function deliveryModeFromLegacyImmediate(value: unknown): MessageDeliveryMode;
3
7
  export interface MessagePoolConfig {
4
8
  enabled: boolean;
5
9
  delayMs: number;
@@ -23,6 +27,7 @@ export interface EnqueueOptions {
23
27
  preKeys?: string[];
24
28
  preDelayMs?: number;
25
29
  senderAgentId?: string;
30
+ deliveryMode?: MessageDeliveryMode;
26
31
  immediate?: boolean;
27
32
  projectId?: string;
28
33
  agentName?: string;
@@ -42,7 +47,7 @@ export interface FlushResult {
42
47
  reason?: string;
43
48
  outcome?: 'delivered' | 'unconfirmed';
44
49
  }
45
- export type DeliveryFailureCode = 'paste_not_confirmed' | 'no_active_session' | 'project_delivery_failed' | 'send_keys_failed' | 'tmux_error';
50
+ export type DeliveryFailureCode = 'paste_not_confirmed' | 'no_active_session' | 'pool_capacity_exceeded' | 'project_delivery_failed' | 'send_keys_failed' | 'tmux_error';
46
51
  export interface MessageLogEntry {
47
52
  id: string;
48
53
  timestamp: number;
@@ -1,5 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FAILURE_NOTICE_SOURCE = void 0;
3
+ exports.MESSAGE_DELIVERY_MODES = exports.FAILURE_NOTICE_SOURCE = void 0;
4
+ exports.isMessageDeliveryMode = isMessageDeliveryMode;
5
+ exports.deliveryModeFromLegacyImmediate = deliveryModeFromLegacyImmediate;
4
6
  exports.FAILURE_NOTICE_SOURCE = 'pool.failure_notice';
7
+ exports.MESSAGE_DELIVERY_MODES = ['default', 'immediate', 'on_idle'];
8
+ function isMessageDeliveryMode(value) {
9
+ return exports.MESSAGE_DELIVERY_MODES.some((mode) => mode === value);
10
+ }
11
+ function deliveryModeFromLegacyImmediate(value) {
12
+ return value === true || value === 'true' ? 'immediate' : 'default';
13
+ }
5
14
  //# sourceMappingURL=message-pool.types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"message-pool.types.js","sourceRoot":"","sources":["../../../../src/modules/sessions/services/message-pool.types.ts"],"names":[],"mappings":";;;AAAa,QAAA,qBAAqB,GAAG,qBAAqB,CAAC"}
1
+ {"version":3,"file":"message-pool.types.js","sourceRoot":"","sources":["../../../../src/modules/sessions/services/message-pool.types.ts"],"names":[],"mappings":";;;AAQA,sDAEC;AAED,0EAEC;AAdY,QAAA,qBAAqB,GAAG,qBAAqB,CAAC;AAI9C,QAAA,sBAAsB,GAAG,CAAC,SAAS,EAAE,WAAW,EAAE,SAAS,CAAU,CAAC;AAInF,SAAgB,qBAAqB,CAAC,KAAc;IAClD,OAAO,8BAAsB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC;AAC/D,CAAC;AAED,SAAgB,+BAA+B,CAAC,KAAc;IAC5D,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;AACtE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { ProviderRuntimePreparationService } from './provider-runtime-preparation.service';
2
+ export type { NewProviderRuntimePlanInput, PreparedProviderRuntime, ProviderRuntimePlan, ProviderRuntimePlanInput, RestoreProviderRuntimePlanInput, } from './provider-runtime-preparation.types';
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ProviderRuntimePreparationService = void 0;
4
+ var provider_runtime_preparation_service_1 = require("./provider-runtime-preparation.service");
5
+ Object.defineProperty(exports, "ProviderRuntimePreparationService", { enumerable: true, get: function () { return provider_runtime_preparation_service_1.ProviderRuntimePreparationService; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/sessions/services/provider-runtime-preparation/index.ts"],"names":[],"mappings":";;;AAAA,+FAA2F;AAAlF,yJAAA,iCAAiC,OAAA"}
@@ -0,0 +1,24 @@
1
+ import { ProviderPluginPolicyService } from '../../../providers/services/provider-plugin-policy.service';
2
+ import { ClaudeLaunchSettingsMaterializerService } from '../../../runtime-context-capture/claude-launch-settings-materializer.service';
3
+ import { CodexPluginProfileMaterializerService } from '../../../runtime-context-capture/codex-plugin-profile-materializer.service';
4
+ import { RuntimeContextCaptureService } from '../../../runtime-context-capture/runtime-context-capture.service';
5
+ import { type StorageService } from '../../../storage/interfaces/storage.interface';
6
+ import type { PreparedProviderRuntime, ProviderRuntimePlanInput } from './provider-runtime-preparation.types';
7
+ import { ProviderRuntimePlan } from './provider-runtime-preparation.types';
8
+ export declare class ProviderRuntimePreparationService {
9
+ private readonly storage;
10
+ private readonly providerPluginPolicy;
11
+ private readonly runtimeContextCapture;
12
+ private readonly claudeLaunchSettings;
13
+ private readonly codexPluginProfiles;
14
+ constructor(storage: StorageService, providerPluginPolicy: ProviderPluginPolicyService, runtimeContextCapture: RuntimeContextCaptureService, claudeLaunchSettings: ClaudeLaunchSettingsMaterializerService, codexPluginProfiles: CodexPluginProfileMaterializerService);
15
+ createPlan(input: ProviderRuntimePlanInput): Promise<ProviderRuntimePlan>;
16
+ materialize(plan: ProviderRuntimePlan): Promise<PreparedProviderRuntime>;
17
+ private assertNoPolicyConflict;
18
+ private assertRestoreIdentity;
19
+ private applyManagedOverlay;
20
+ private wrapCodexCommand;
21
+ private rollbackPrepared;
22
+ private restoreProviderSessionId;
23
+ private freezeConfig;
24
+ }
@@ -0,0 +1,297 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.ProviderRuntimePreparationService = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const crypto_1 = require("crypto");
18
+ const shared_1 = require("@devchain/shared");
19
+ const env_config_1 = require("../../../../common/config/env.config");
20
+ const error_types_1 = require("../../../../common/errors/error-types");
21
+ const capabilities_1 = require("../../../providers/adapters/capabilities");
22
+ const provider_plugin_policy_service_1 = require("../../../providers/services/provider-plugin-policy.service");
23
+ const claude_launch_settings_materializer_service_1 = require("../../../runtime-context-capture/claude-launch-settings-materializer.service");
24
+ const context_window_policy_1 = require("../../../runtime-context-capture/context-window-policy");
25
+ const codex_plugin_profile_materializer_service_1 = require("../../../runtime-context-capture/codex-plugin-profile-materializer.service");
26
+ const runtime_context_capture_service_1 = require("../../../runtime-context-capture/runtime-context-capture.service");
27
+ const storage_interface_1 = require("../../../storage/interfaces/storage.interface");
28
+ const env_builder_1 = require("../../utils/env-builder");
29
+ const profile_options_1 = require("../../utils/profile-options");
30
+ const provider_launch_config_1 = require("../provider-launch-config");
31
+ const provider_runtime_preparation_types_1 = require("./provider-runtime-preparation.types");
32
+ const NOOP_AFTER_COMMAND = async () => undefined;
33
+ class ProviderRuntimePlanValue extends provider_runtime_preparation_types_1.ProviderRuntimePlan {
34
+ state;
35
+ constructor(state) {
36
+ super();
37
+ this.state = state;
38
+ Object.freeze(this);
39
+ }
40
+ }
41
+ let ProviderRuntimePreparationService = class ProviderRuntimePreparationService {
42
+ storage;
43
+ providerPluginPolicy;
44
+ runtimeContextCapture;
45
+ claudeLaunchSettings;
46
+ codexPluginProfiles;
47
+ constructor(storage, providerPluginPolicy, runtimeContextCapture, claudeLaunchSettings, codexPluginProfiles) {
48
+ this.storage = storage;
49
+ this.providerPluginPolicy = providerPluginPolicy;
50
+ this.runtimeContextCapture = runtimeContextCapture;
51
+ this.claudeLaunchSettings = claudeLaunchSettings;
52
+ this.codexPluginProfiles = codexPluginProfiles;
53
+ }
54
+ async createPlan(input) {
55
+ const profileOptionArgs = Object.freeze((0, profile_options_1.parseProfileOptions)(input.profileOptions));
56
+ const effectiveModel = input.agentModelOverride ?? input.configModel ?? (0, profile_options_1.extractModelFromArgs)([...profileOptionArgs]);
57
+ const effectiveEffort = input.agentEffortOverride ?? input.configEffort ?? null;
58
+ const providerEnv = this.storage.getProviderEnvForProject(input.provider.id, input.projectId);
59
+ const pluginPolicy = await this.providerPluginPolicy.resolveAll(input.projectId, input.provider.id);
60
+ const providerName = input.provider.name.toLowerCase();
61
+ const frozenProvider = Object.freeze({
62
+ ...input.provider,
63
+ env: input.provider.env ? Object.freeze({ ...input.provider.env }) : null,
64
+ });
65
+ this.assertNoPolicyConflict(providerName, [...profileOptionArgs], pluginPolicy.length > 0);
66
+ const environment = (0, env_config_1.getEnvConfig)();
67
+ const baseInput = Object.freeze({
68
+ mode: input.mode,
69
+ ...(input.mode === 'new'
70
+ ? { sessionId: input.sessionId, initialPrompt: input.initialPrompt }
71
+ : { providerSessionId: input.providerSessionId }),
72
+ adapter: input.adapter,
73
+ profileOptions: input.profileOptions,
74
+ modelOverride: effectiveModel,
75
+ effortOverride: effectiveEffort,
76
+ providerBinPath: input.providerBinPath,
77
+ providerEnv: providerEnv ? Object.freeze({ ...providerEnv }) : null,
78
+ configEnv: input.configEnv ? Object.freeze({ ...input.configEnv }) : null,
79
+ provider: frozenProvider,
80
+ hookContext: (0, capabilities_1.isHookCapable)(input.adapter)
81
+ ? Object.freeze({
82
+ apiUrl: shared_1.HostResolver.buildInternalBaseUrl({
83
+ host: environment.HOST,
84
+ port: environment.PORT,
85
+ }),
86
+ projectId: input.projectId,
87
+ agentId: input.agentId,
88
+ sessionId: input.sessionId,
89
+ tmuxSessionName: input.tmuxSessionName,
90
+ })
91
+ : undefined,
92
+ });
93
+ const baseConfig = this.freezeConfig((0, provider_launch_config_1.resolve)(baseInput));
94
+ if (input.mode === 'restore') {
95
+ this.assertRestoreIdentity(baseConfig, input.provider.name, input.providerSessionId);
96
+ }
97
+ return new ProviderRuntimePlanValue(Object.freeze({
98
+ mode: input.mode,
99
+ provider: frozenProvider,
100
+ providerName,
101
+ projectId: input.projectId,
102
+ projectName: input.projectName,
103
+ projectRootPath: input.projectRootPath,
104
+ sessionId: input.sessionId,
105
+ providerSessionId: input.mode === 'restore' ? input.providerSessionId : null,
106
+ profileOptionArgs,
107
+ pluginPolicy: Object.freeze(pluginPolicy.map(({ pluginId, enabled }) => Object.freeze({ pluginId, enabled }))),
108
+ baseInput,
109
+ baseConfig,
110
+ }));
111
+ }
112
+ async materialize(plan) {
113
+ if (!(plan instanceof ProviderRuntimePlanValue)) {
114
+ throw new error_types_1.ValidationError('Provider runtime plan was not created by this service.');
115
+ }
116
+ const state = plan.state;
117
+ const priorCapture = state.mode === 'restore' ? this.runtimeContextCapture.snapshot(state.sessionId) : null;
118
+ let captureStarted = false;
119
+ let claudePrepared = false;
120
+ let preparedCodex = null;
121
+ try {
122
+ const epoch = this.runtimeContextCapture.rotateEpoch(state.sessionId, state.baseConfig.contextWindowOverride ?? null);
123
+ captureStarted = true;
124
+ const preparedSettings = await this.claudeLaunchSettings.prepare({
125
+ providerName: state.providerName,
126
+ settingsJson: state.provider.claudeLaunchSettingsJson,
127
+ profileOptionArgs: [...state.profileOptionArgs],
128
+ providerEnv: state.baseInput.providerEnv,
129
+ configEnv: state.baseInput.configEnv,
130
+ sessionId: state.sessionId,
131
+ epoch,
132
+ projectRootPath: state.projectRootPath,
133
+ pluginPolicy: state.providerName === 'claude' ? state.pluginPolicy : [],
134
+ policyRequired: state.providerName === 'claude' && state.pluginPolicy.length > 0,
135
+ });
136
+ claudePrepared = true;
137
+ preparedCodex =
138
+ state.providerName === 'codex'
139
+ ? await this.codexPluginProfiles.prepare({
140
+ projectId: state.projectId,
141
+ projectName: state.projectName,
142
+ sessionId: state.sessionId,
143
+ pluginPolicy: state.pluginPolicy,
144
+ attemptNonce: (0, crypto_1.randomUUID)(),
145
+ })
146
+ : null;
147
+ const config = this.applyManagedOverlay(state, preparedSettings, preparedCodex);
148
+ if (state.mode === 'restore' &&
149
+ preparedSettings.optionArgs.length + (preparedCodex?.providerOptionArgs.length ?? 0) > 0) {
150
+ this.assertRestoreIdentity(config, state.providerName, this.restoreProviderSessionId(state));
151
+ }
152
+ const finalConfig = this.freezeConfig(preparedCodex ? this.wrapCodexCommand(state, config, preparedCodex) : config);
153
+ const acknowledgement = preparedCodex;
154
+ const rollbackState = () => ({
155
+ mode: state.mode,
156
+ sessionId: state.sessionId,
157
+ priorCapture,
158
+ captureStarted,
159
+ claudePrepared,
160
+ preparedCodex,
161
+ });
162
+ return Object.freeze({
163
+ config: finalConfig,
164
+ afterCommand: acknowledgement
165
+ ? async () => {
166
+ await this.codexPluginProfiles.awaitAcknowledgement(acknowledgement, {
167
+ projectId: state.projectId,
168
+ attemptNonce: acknowledgement.attemptNonce,
169
+ });
170
+ }
171
+ : NOOP_AFTER_COMMAND,
172
+ rollback: async () => this.rollbackPrepared(rollbackState(), false),
173
+ });
174
+ }
175
+ catch (error) {
176
+ await this.rollbackPrepared({
177
+ mode: state.mode,
178
+ sessionId: state.sessionId,
179
+ priorCapture,
180
+ captureStarted,
181
+ claudePrepared,
182
+ preparedCodex,
183
+ }, true);
184
+ throw error;
185
+ }
186
+ }
187
+ assertNoPolicyConflict(providerName, profileOptionArgs, policyActive) {
188
+ if (policyActive &&
189
+ providerName === 'claude' &&
190
+ (0, profile_options_1.hasFlagOccurrence)([...profileOptionArgs], '--settings')) {
191
+ throw new error_types_1.ConflictError('Profile-supplied --settings conflicts with required DevChain Claude plugin policy.', { field: 'profileOptions', flag: '--settings' });
192
+ }
193
+ if (policyActive &&
194
+ providerName === 'codex' &&
195
+ (0, profile_options_1.hasCodexProfileSelector)([...profileOptionArgs])) {
196
+ throw new error_types_1.ConflictError('Profile-supplied Codex profile selector conflicts with required DevChain plugin policy.', { field: 'profileOptions', flag: '--profile' });
197
+ }
198
+ }
199
+ assertRestoreIdentity(config, providerName, providerSessionId) {
200
+ if (!config.argv.includes(providerSessionId)) {
201
+ throw new error_types_1.ValidationError('Restore argv does not include provider session ID — adapter contract violation', { providerName, providerSessionId });
202
+ }
203
+ }
204
+ applyManagedOverlay(state, preparedSettings, preparedCodex) {
205
+ const providerOptionArgs = [
206
+ ...preparedSettings.optionArgs,
207
+ ...(preparedCodex?.providerOptionArgs ?? []),
208
+ ];
209
+ if (providerOptionArgs.length === 0)
210
+ return state.baseConfig;
211
+ return this.freezeConfig((0, provider_launch_config_1.resolve)({
212
+ ...state.baseInput,
213
+ providerOptionArgs,
214
+ runtimeEnv: preparedSettings.runtimeEnv,
215
+ }));
216
+ }
217
+ wrapCodexCommand(state, config, preparedCodex) {
218
+ const helperArgv = this.codexPluginProfiles.buildHelperArgv(preparedCodex, state.baseInput.providerBinPath, config.argv, { projectId: state.projectId, attemptNonce: preparedCodex.attemptNonce });
219
+ return {
220
+ ...config,
221
+ commandArgs: (0, env_builder_1.buildSessionCommand)(config.env, helperArgv[0], helperArgv.slice(1), [
222
+ ...new Set([...(state.baseInput.adapter.launchUnsetEnv ?? []), context_window_policy_1.CONTEXT_WINDOW_ENV_KEY]),
223
+ ]),
224
+ };
225
+ }
226
+ async rollbackPrepared(state, suppressError) {
227
+ let firstError;
228
+ const attempt = async (action) => {
229
+ try {
230
+ await action();
231
+ }
232
+ catch (error) {
233
+ firstError ??= error;
234
+ }
235
+ };
236
+ if (state.preparedCodex) {
237
+ const preparedCodex = state.preparedCodex;
238
+ await attempt(() => this.codexPluginProfiles.cleanupPrepared(preparedCodex));
239
+ }
240
+ if (state.claudePrepared) {
241
+ await attempt(() => this.claudeLaunchSettings.cleanupSession(state.sessionId));
242
+ }
243
+ if (state.captureStarted) {
244
+ await attempt(() => {
245
+ if (state.mode === 'restore') {
246
+ this.runtimeContextCapture.restoreSnapshot(state.sessionId, state.priorCapture);
247
+ }
248
+ else {
249
+ this.runtimeContextCapture.clear(state.sessionId);
250
+ }
251
+ });
252
+ }
253
+ if (!suppressError && firstError !== undefined)
254
+ throw firstError;
255
+ }
256
+ restoreProviderSessionId(state) {
257
+ if (state.providerSessionId === null) {
258
+ throw new error_types_1.ValidationError('Restore provider session ID is missing from the runtime plan.');
259
+ }
260
+ return state.providerSessionId;
261
+ }
262
+ freezeConfig(config) {
263
+ const frozenConfig = {
264
+ ...config,
265
+ argv: [...config.argv],
266
+ commandArgs: [...config.commandArgs],
267
+ env: config.env ? { ...config.env } : null,
268
+ promptHandshake: config.promptHandshake
269
+ ? {
270
+ ...config.promptHandshake,
271
+ preKeys: config.promptHandshake.preKeys
272
+ ? [...config.promptHandshake.preKeys]
273
+ : undefined,
274
+ }
275
+ : undefined,
276
+ };
277
+ Object.freeze(frozenConfig.argv);
278
+ Object.freeze(frozenConfig.commandArgs);
279
+ if (frozenConfig.env)
280
+ Object.freeze(frozenConfig.env);
281
+ if (frozenConfig.promptHandshake?.preKeys)
282
+ Object.freeze(frozenConfig.promptHandshake.preKeys);
283
+ if (frozenConfig.promptHandshake)
284
+ Object.freeze(frozenConfig.promptHandshake);
285
+ return Object.freeze(frozenConfig);
286
+ }
287
+ };
288
+ exports.ProviderRuntimePreparationService = ProviderRuntimePreparationService;
289
+ exports.ProviderRuntimePreparationService = ProviderRuntimePreparationService = __decorate([
290
+ (0, common_1.Injectable)(),
291
+ __param(0, (0, common_1.Inject)(storage_interface_1.STORAGE_SERVICE)),
292
+ __metadata("design:paramtypes", [Object, provider_plugin_policy_service_1.ProviderPluginPolicyService,
293
+ runtime_context_capture_service_1.RuntimeContextCaptureService,
294
+ claude_launch_settings_materializer_service_1.ClaudeLaunchSettingsMaterializerService,
295
+ codex_plugin_profile_materializer_service_1.CodexPluginProfileMaterializerService])
296
+ ], ProviderRuntimePreparationService);
297
+ //# sourceMappingURL=provider-runtime-preparation.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-runtime-preparation.service.js","sourceRoot":"","sources":["../../../../../src/modules/sessions/services/provider-runtime-preparation/provider-runtime-preparation.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import type { ProviderAdapter } from '../../../providers/adapters/provider-adapter.interface';
2
+ import type { Provider } from '../../../storage/models/domain.models';
3
+ import type { LaunchConfig } from '../provider-launch-config';
4
+ interface SharedProviderRuntimePlanInput {
5
+ readonly adapter: ProviderAdapter;
6
+ readonly provider: Provider;
7
+ readonly providerBinPath: string;
8
+ readonly projectId: string;
9
+ readonly projectName: string;
10
+ readonly projectRootPath: string;
11
+ readonly agentId: string;
12
+ readonly agentModelOverride: string | null | undefined;
13
+ readonly agentEffortOverride: string | null | undefined;
14
+ readonly configModel: string | null | undefined;
15
+ readonly configEffort: string | null | undefined;
16
+ readonly profileOptions: string | null | undefined;
17
+ readonly configEnv: Record<string, string> | null;
18
+ readonly sessionId: string;
19
+ readonly tmuxSessionName: string;
20
+ }
21
+ export interface NewProviderRuntimePlanInput extends SharedProviderRuntimePlanInput {
22
+ readonly mode: 'new';
23
+ readonly initialPrompt?: string;
24
+ readonly providerSessionId?: never;
25
+ }
26
+ export interface RestoreProviderRuntimePlanInput extends SharedProviderRuntimePlanInput {
27
+ readonly mode: 'restore';
28
+ readonly providerSessionId: string;
29
+ readonly initialPrompt?: never;
30
+ }
31
+ export type ProviderRuntimePlanInput = NewProviderRuntimePlanInput | RestoreProviderRuntimePlanInput;
32
+ export declare abstract class ProviderRuntimePlan {
33
+ private readonly providerRuntimePlanBrand;
34
+ protected constructor();
35
+ }
36
+ export interface PreparedProviderRuntime {
37
+ readonly config: LaunchConfig;
38
+ readonly afterCommand: () => Promise<void>;
39
+ readonly rollback: () => Promise<void>;
40
+ }
41
+ export {};
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ProviderRuntimePlan = void 0;
4
+ class ProviderRuntimePlan {
5
+ constructor() { }
6
+ }
7
+ exports.ProviderRuntimePlan = ProviderRuntimePlan;
8
+ //# sourceMappingURL=provider-runtime-preparation.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-runtime-preparation.types.js","sourceRoot":"","sources":["../../../../../src/modules/sessions/services/provider-runtime-preparation/provider-runtime-preparation.types.ts"],"names":[],"mappings":";;;AAsCA,MAAsB,mBAAmB;IAGvC,gBAAyB,CAAC;CAC3B;AAJD,kDAIC"}
@@ -124,7 +124,6 @@ export declare function createLaunchPipelineHarness(): {
124
124
  getEpic: jest.Mock<any, any, any>;
125
125
  getAgentProfile: jest.Mock<any, any, any>;
126
126
  getProvider: jest.Mock<any, any, any>;
127
- getProviderEnvForProject: jest.Mock<any, any, any>;
128
127
  getInitialSessionPrompt: jest.Mock<any, any, any>;
129
128
  listProfileProviderConfigsByProfile: jest.Mock<any, any, any>;
130
129
  };
@@ -176,26 +175,28 @@ export declare function createLaunchPipelineHarness(): {
176
175
  listTeamsByAgent: jest.Mock<any, any, any>;
177
176
  };
178
177
  runtimeContextCapture: {
179
- rotateEpoch: jest.Mock<any, any, any>;
180
178
  clear: jest.Mock<any, any, any>;
181
- snapshot: jest.Mock<any, any, any>;
182
- restoreSnapshot: jest.Mock<any, any, any>;
183
- get: jest.Mock<any, any, any>;
184
- getEpoch: jest.Mock<any, any, any>;
185
179
  };
186
- claudeLaunchSettings: {
187
- prepare: jest.Mock<any, any, any>;
180
+ codexPluginProfiles: {
188
181
  cleanupSession: jest.Mock<any, any, any>;
189
- cleanupSessionSync: jest.Mock<any, any, any>;
190
182
  };
191
- codexPluginProfiles: {
192
- prepare: jest.Mock<any, any, any>;
193
- buildHelperArgv: jest.Mock<any, any, any>;
194
- awaitAcknowledgement: jest.Mock<any, any, any>;
195
- cleanupPrepared: jest.Mock<any, any, any>;
183
+ providerRuntimePlan: Readonly<{
184
+ mode: "new";
185
+ }>;
186
+ preparedProviderRuntime: {
187
+ config: {
188
+ argv: string[];
189
+ commandArgs: string[];
190
+ env: null;
191
+ contextWindowOverride: null;
192
+ promptHandshake: undefined;
193
+ };
194
+ afterCommand: jest.Mock<any, any, any>;
195
+ rollback: jest.Mock<any, any, any>;
196
196
  };
197
- providerPluginPolicy: {
198
- resolveAll: jest.Mock<any, any, any>;
197
+ providerRuntimePreparation: {
198
+ createPlan: jest.Mock<any, any, any>;
199
+ materialize: jest.Mock<any, any, any>;
199
200
  };
200
201
  };
201
202
  };
@@ -265,7 +266,6 @@ export declare function createRestorePipelineHarness(opts?: {
265
266
  getEpic: jest.Mock<any, any, any>;
266
267
  getAgentProfile: jest.Mock<any, any, any>;
267
268
  getProvider: jest.Mock<any, any, any>;
268
- getProviderEnvForProject: jest.Mock<any, any, any>;
269
269
  getInitialSessionPrompt: jest.Mock<any, any, any>;
270
270
  listProfileProviderConfigsByProfile: jest.Mock<any, any, any>;
271
271
  };
@@ -298,27 +298,23 @@ export declare function createRestorePipelineHarness(opts?: {
298
298
  publish: jest.Mock<any, any, any>;
299
299
  };
300
300
  streamService: {};
301
- runtimeContextCapture: {
302
- rotateEpoch: jest.Mock<any, any, any>;
303
- clear: jest.Mock<any, any, any>;
304
- snapshot: jest.Mock<any, any, any>;
305
- restoreSnapshot: jest.Mock<any, any, any>;
306
- get: jest.Mock<any, any, any>;
307
- getEpoch: jest.Mock<any, any, any>;
308
- };
309
- claudeLaunchSettings: {
310
- prepare: jest.Mock<any, any, any>;
311
- cleanupSession: jest.Mock<any, any, any>;
312
- cleanupSessionSync: jest.Mock<any, any, any>;
313
- };
314
- codexPluginProfiles: {
315
- prepare: jest.Mock<any, any, any>;
316
- buildHelperArgv: jest.Mock<any, any, any>;
317
- awaitAcknowledgement: jest.Mock<any, any, any>;
318
- cleanupPrepared: jest.Mock<any, any, any>;
301
+ providerRuntimePlan: Readonly<{
302
+ mode: "restore";
303
+ }>;
304
+ preparedProviderRuntime: {
305
+ config: {
306
+ argv: string[];
307
+ commandArgs: string[];
308
+ env: null;
309
+ contextWindowOverride: null;
310
+ promptHandshake: undefined;
311
+ };
312
+ afterCommand: jest.Mock<any, any, any>;
313
+ rollback: jest.Mock<any, any, any>;
319
314
  };
320
- providerPluginPolicy: {
321
- resolveAll: jest.Mock<any, any, any>;
315
+ providerRuntimePreparation: {
316
+ createPlan: jest.Mock<any, any, any>;
317
+ materialize: jest.Mock<any, any, any>;
322
318
  };
323
319
  };
324
320
  };