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
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VersionedMutationExecutor = void 0;
4
+ const error_types_1 = require("../../../common/errors/error-types");
5
+ class VersionedMutationExecutor {
6
+ transactionRunner;
7
+ constructor(transactionRunner) {
8
+ this.transactionRunner = transactionRunner;
9
+ }
10
+ execute(spec) {
11
+ return this.transactionRunner.runImmediateQueuedOrJoin(() => {
12
+ const current = spec.loadCurrent();
13
+ const actualVersion = spec.versionOf(current);
14
+ if (spec.expectedVersion !== undefined && spec.expectedVersion !== actualVersion) {
15
+ throw this.optimisticLockError(spec.resource, spec.id, spec.expectedVersion, actualVersion);
16
+ }
17
+ const context = {
18
+ current,
19
+ actualVersion,
20
+ nextVersion: actualVersion + 1,
21
+ };
22
+ const preparation = spec.prepare(context);
23
+ if (preparation.kind === 'no_change') {
24
+ return preparation.result;
25
+ }
26
+ const changes = spec.write(context, preparation.state);
27
+ if (changes === 0) {
28
+ const reloaded = spec.loadCurrent();
29
+ throw this.optimisticLockError(spec.resource, spec.id, actualVersion, spec.versionOf(reloaded));
30
+ }
31
+ if (changes !== 1) {
32
+ throw new error_types_1.StorageError('Versioned mutation changed an unexpected number of rows.', {
33
+ resource: spec.resource,
34
+ id: spec.id,
35
+ changes,
36
+ });
37
+ }
38
+ spec.afterWrite?.(context, preparation.state);
39
+ return spec.loadResult();
40
+ });
41
+ }
42
+ optimisticLockError(resource, id, expectedVersion, actualVersion) {
43
+ return new error_types_1.OptimisticLockError(resource, id, {
44
+ expectedVersion,
45
+ actualVersion,
46
+ });
47
+ }
48
+ }
49
+ exports.VersionedMutationExecutor = VersionedMutationExecutor;
50
+ //# sourceMappingURL=versioned-mutation.executor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"versioned-mutation.executor.js","sourceRoot":"","sources":["../../../../src/modules/storage/local/versioned-mutation.executor.ts"],"names":[],"mappings":";;;AAAA,oEAAuF;AAyBvF,MAAa,yBAAyB;IACP;IAA7B,YAA6B,iBAAoC;QAApC,sBAAiB,GAAjB,iBAAiB,CAAmB;IAAG,CAAC;IAErE,OAAO,CACL,IAAsD;QAEtD,OAAO,IAAI,CAAC,iBAAiB,CAAC,wBAAwB,CAAC,GAAG,EAAE;YAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YACnC,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAE9C,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS,IAAI,IAAI,CAAC,eAAe,KAAK,aAAa,EAAE,CAAC;gBACjF,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;YAC9F,CAAC;YAED,MAAM,OAAO,GAA8B;gBACzC,OAAO;gBACP,aAAa;gBACb,WAAW,EAAE,aAAa,GAAG,CAAC;aAC/B,CAAC;YACF,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC1C,IAAI,WAAW,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBACrC,OAAO,WAAW,CAAC,MAAM,CAAC;YAC5B,CAAC;YAED,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;YACvD,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;gBAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;gBACpC,MAAM,IAAI,CAAC,mBAAmB,CAC5B,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,EAAE,EACP,aAAa,EACb,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CACzB,CAAC;YACJ,CAAC;YACD,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;gBAClB,MAAM,IAAI,0BAAY,CAAC,0DAA0D,EAAE;oBACjF,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,EAAE,EAAE,IAAI,CAAC,EAAE;oBACX,OAAO;iBACR,CAAC,CAAC;YACL,CAAC;YAED,IAAI,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;YAC9C,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,mBAAmB,CACzB,QAAgB,EAChB,EAAU,EACV,eAAuB,EACvB,aAAqB;QAErB,OAAO,IAAI,iCAAmB,CAAC,QAAQ,EAAE,EAAE,EAAE;YAC3C,eAAe;YACf,aAAa;SACd,CAAC,CAAC;IACL,CAAC;CACF;AA1DD,8DA0DC"}
@@ -1,5 +1,6 @@
1
1
  export interface Project {
2
2
  id: string;
3
+ workspaceId: string;
3
4
  name: string;
4
5
  description: string | null;
5
6
  rootPath: string;
@@ -7,6 +8,20 @@ export interface Project {
7
8
  createdAt: string;
8
9
  updatedAt: string;
9
10
  }
11
+ export interface ProjectWorkspace {
12
+ id: string;
13
+ name: string;
14
+ isDefault: boolean;
15
+ position: number;
16
+ projectCount: number;
17
+ deviceGrantCount: number;
18
+ createdAt: string;
19
+ updatedAt: string;
20
+ }
21
+ export interface DeleteProjectWorkspaceResult {
22
+ movedProjectCount: number;
23
+ remappedDeviceGrantCount: number;
24
+ }
10
25
  export interface Status {
11
26
  id: string;
12
27
  projectId: string;
@@ -220,7 +235,9 @@ export interface EpicComment {
220
235
  createdAt: string;
221
236
  updatedAt: string;
222
237
  }
223
- export type CreateProject = Omit<Project, 'id' | 'createdAt' | 'updatedAt'>;
238
+ export type CreateProject = Omit<Project, 'id' | 'workspaceId' | 'createdAt' | 'updatedAt'> & {
239
+ workspaceId?: string;
240
+ };
224
241
  export type UpdateProject = Partial<Omit<Project, 'id' | 'createdAt' | 'updatedAt'>>;
225
242
  export type CreateStatus = Omit<Status, 'id' | 'mcpHidden' | 'createdAt' | 'updatedAt'> & {
226
243
  mcpHidden?: boolean;
@@ -5,6 +5,7 @@ import type { SessionRuntime } from '../../sessions/services/session-runtime';
5
5
  import type { SessionCoordinatorService } from '../../sessions/services/session-coordinator.service';
6
6
  import type { AgentMessageDeliveryService } from '../../agent-message-delivery/agent-message-delivery.service';
7
7
  import type { StorageService } from '../../storage/interfaces/storage.interface';
8
+ import type { TeamsService } from '../../teams/services/teams.service';
8
9
  export interface EventEnvelope {
9
10
  eventName: string;
10
11
  projectId: string;
@@ -40,6 +41,7 @@ export interface ActionContext {
40
41
  sessionCoordinator: SessionCoordinatorService;
41
42
  amd: AgentMessageDeliveryService;
42
43
  storage: StorageService;
44
+ teamsService: TeamsService;
43
45
  sessionId: string;
44
46
  agentId: string | null;
45
47
  projectId: string;
@@ -52,6 +54,7 @@ export interface ActionResult {
52
54
  message?: string;
53
55
  error?: string;
54
56
  data?: unknown;
57
+ retryable?: boolean;
55
58
  }
56
59
  export type ActionCategory = 'terminal' | 'session' | 'notification' | 'external';
57
60
  export interface ActionDefinition {
@@ -59,6 +62,7 @@ export interface ActionDefinition {
59
62
  name: string;
60
63
  description: string;
61
64
  category: ActionCategory;
65
+ supportsRetry?: boolean;
62
66
  inputs: ActionInputDefinition[];
63
67
  execute: (context: ActionContext, inputs: Record<string, unknown>) => Promise<ActionResult>;
64
68
  }
@@ -8,9 +8,13 @@ exports.hasAction = hasAction;
8
8
  exports.getActionTypes = getActionTypes;
9
9
  const send_message_action_1 = require("./send-message.action");
10
10
  const restart_agent_action_1 = require("./restart-agent.action");
11
+ const delete_agent_action_1 = require("./delete-agent.action");
12
+ const terminate_session_action_1 = require("./terminate-session.action");
11
13
  exports.ACTIONS_REGISTRY = [
12
14
  send_message_action_1.sendMessageAction,
13
15
  restart_agent_action_1.restartAgentAction,
16
+ delete_agent_action_1.deleteAgentAction,
17
+ terminate_session_action_1.terminateSessionAction,
14
18
  ];
15
19
  function getAction(type) {
16
20
  return exports.ACTIONS_REGISTRY.find((action) => action.type === type);
@@ -1 +1 @@
1
- {"version":3,"file":"actions.registry.js","sourceRoot":"","sources":["../../../../src/modules/subscribers/actions/actions.registry.ts"],"names":[],"mappings":";;;AA+BA,8BAEC;AAQD,sCAOC;AAQD,8CAOC;AAQD,8BAEC;AAOD,wCAEC;AAjFD,+DAA0D;AAC1D,iEAA4D;AAgB/C,QAAA,gBAAgB,GAAuB;IAClD,uCAAiB;IACjB,yCAAkB;CAGnB,CAAC;AAQF,SAAgB,SAAS,CAAC,IAAY;IACpC,OAAO,wBAAgB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AACjE,CAAC;AAQD,SAAgB,aAAa;IAC3B,OAAO,wBAAgB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QAGrC,MAAM,EAAE,OAAO,EAAE,GAAG,oBAAoB,EAAE,GAAG,MAAM,CAAC;QACpD,OAAO,oBAAoB,CAAC;IAC9B,CAAC,CAAC,CAAC;AACL,CAAC;AAQD,SAAgB,iBAAiB,CAAC,IAAY;IAC5C,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAG9B,MAAM,EAAE,OAAO,EAAE,GAAG,oBAAoB,EAAE,GAAG,MAAM,CAAC;IACpD,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AAQD,SAAgB,SAAS,CAAC,IAAY;IACpC,OAAO,wBAAgB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AACjE,CAAC;AAOD,SAAgB,cAAc;IAC5B,OAAO,wBAAgB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACvD,CAAC"}
1
+ {"version":3,"file":"actions.registry.js","sourceRoot":"","sources":["../../../../src/modules/subscribers/actions/actions.registry.ts"],"names":[],"mappings":";;;AAmCA,8BAEC;AAQD,sCAOC;AAQD,8CAOC;AAQD,8BAEC;AAOD,wCAEC;AArFD,+DAA0D;AAC1D,iEAA4D;AAC5D,+DAA0D;AAC1D,yEAAoE;AAgBvD,QAAA,gBAAgB,GAAuB;IAClD,uCAAiB;IACjB,yCAAkB;IAClB,uCAAiB;IACjB,iDAAsB;CAGvB,CAAC;AAQF,SAAgB,SAAS,CAAC,IAAY;IACpC,OAAO,wBAAgB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AACjE,CAAC;AAQD,SAAgB,aAAa;IAC3B,OAAO,wBAAgB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QAGrC,MAAM,EAAE,OAAO,EAAE,GAAG,oBAAoB,EAAE,GAAG,MAAM,CAAC;QACpD,OAAO,oBAAoB,CAAC;IAC9B,CAAC,CAAC,CAAC;AACL,CAAC;AAQD,SAAgB,iBAAiB,CAAC,IAAY;IAC5C,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAG9B,MAAM,EAAE,OAAO,EAAE,GAAG,oBAAoB,EAAE,GAAG,MAAM,CAAC;IACpD,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AAQD,SAAgB,SAAS,CAAC,IAAY;IACpC,OAAO,wBAAgB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AACjE,CAAC;AAOD,SAAgB,cAAc;IAC5B,OAAO,wBAAgB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACvD,CAAC"}
@@ -0,0 +1,16 @@
1
+ import type { ActionDefinition } from './action.interface';
2
+ export interface DeleteAgentTargetResult {
3
+ id: string;
4
+ name: string;
5
+ }
6
+ export interface DeleteAgentFailure extends DeleteAgentTargetResult {
7
+ stage: 'preflight' | 'session_termination' | 'deletion' | 'preset_cleanup';
8
+ error: string;
9
+ }
10
+ export interface DeleteAgentResultData {
11
+ resolvedBy: 'agentName' | 'familySlug' | 'event';
12
+ matched: DeleteAgentTargetResult[];
13
+ deleted: DeleteAgentTargetResult[];
14
+ failed: DeleteAgentFailure[];
15
+ }
16
+ export declare const deleteAgentAction: ActionDefinition;
@@ -0,0 +1,200 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deleteAgentAction = void 0;
4
+ const family_agent_targets_1 = require("./family-agent-targets");
5
+ function getErrorMessage(error) {
6
+ return error instanceof Error ? error.message : String(error);
7
+ }
8
+ function compareText(left, right) {
9
+ if (left < right)
10
+ return -1;
11
+ if (left > right)
12
+ return 1;
13
+ return 0;
14
+ }
15
+ function describeTarget(target) {
16
+ return `"${target.name}" [${target.id}]`;
17
+ }
18
+ function describeTargets(targets) {
19
+ return targets.length > 0 ? targets.map(describeTarget).join(', ') : 'none';
20
+ }
21
+ function summarize(data) {
22
+ const failed = data.failed.length > 0
23
+ ? data.failed.map((target) => `${describeTarget(target)} — ${target.error}`).join(', ')
24
+ : 'none';
25
+ return `Matched (${data.matched.length}): ${describeTargets(data.matched)}; Deleted (${data.deleted.length}): ${describeTargets(data.deleted)}; Failed (${data.failed.length}): ${failed}`;
26
+ }
27
+ function failedResult(data, reason) {
28
+ const summary = summarize(data);
29
+ return {
30
+ success: false,
31
+ error: reason ? `${summary}. ${reason}` : summary,
32
+ data,
33
+ retryable: false,
34
+ };
35
+ }
36
+ function toTargetResult(agent) {
37
+ return { id: agent.id, name: agent.name };
38
+ }
39
+ exports.deleteAgentAction = {
40
+ type: 'delete_agent',
41
+ name: 'Delete Agent',
42
+ description: 'Permanently delete an agent or profile-family batch. Project Owners and Team Leads are protected.',
43
+ category: 'session',
44
+ supportsRetry: false,
45
+ inputs: [
46
+ {
47
+ name: 'agentName',
48
+ label: 'Agent Name',
49
+ type: 'string',
50
+ required: false,
51
+ description: 'Optional: delete one named agent in the current project. This takes priority over Family Slug. Leave both selectors empty to use the agent that caused the event.',
52
+ placeholder: 'e.g., Coder',
53
+ },
54
+ {
55
+ name: 'familySlug',
56
+ label: 'Profile Family Slug',
57
+ type: 'string',
58
+ required: false,
59
+ description: 'Optional: delete every agent in matching profile families in the current project. Matching is case-insensitive; Agent Name takes priority. Leave both selectors empty to use the agent that caused the event.',
60
+ placeholder: 'e.g., engineering',
61
+ },
62
+ ],
63
+ execute: async (context, inputs) => {
64
+ const { storage, teamsService, sessionsService, projectId, agentId, logger } = context;
65
+ const agentName = typeof inputs.agentName === 'string' ? inputs.agentName.trim() : '';
66
+ const familySlug = typeof inputs.familySlug === 'string' ? inputs.familySlug.trim() : '';
67
+ let resolvedBy = 'event';
68
+ let targets = [];
69
+ try {
70
+ if (agentName) {
71
+ resolvedBy = 'agentName';
72
+ const target = await storage.getAgentByName(projectId, agentName);
73
+ if (target.projectId !== projectId) {
74
+ return failedResult({ resolvedBy, matched: [], deleted: [], failed: [] }, `Refusing to delete agent from a different project (agentProjectId=${target.projectId}, contextProjectId=${projectId})`);
75
+ }
76
+ targets = [target];
77
+ }
78
+ else if (familySlug) {
79
+ resolvedBy = 'familySlug';
80
+ targets = await (0, family_agent_targets_1.resolveFamilyAgentTargets)(storage, projectId, familySlug);
81
+ }
82
+ else if (agentId) {
83
+ const target = await storage.getAgent(agentId);
84
+ if (target.projectId !== projectId) {
85
+ return failedResult({ resolvedBy, matched: [], deleted: [], failed: [] }, `Refusing to delete event agent from a different project (agentProjectId=${target.projectId}, contextProjectId=${projectId})`);
86
+ }
87
+ targets = [target];
88
+ }
89
+ else {
90
+ return failedResult({ resolvedBy, matched: [], deleted: [], failed: [] }, 'No agent matched: provide Agent Name or Family Slug, or trigger from an event with agentId');
91
+ }
92
+ const matched = targets.map(toTargetResult);
93
+ const baseData = { resolvedBy, matched, deleted: [], failed: [] };
94
+ if (targets.length === 0) {
95
+ const selector = resolvedBy === 'familySlug' ? `family slug "${familySlug}"` : 'selector';
96
+ return failedResult(baseData, `No agents matched ${selector} in project ${projectId}`);
97
+ }
98
+ const ledTeamsByAgent = await Promise.all(targets.map(async (target) => ({
99
+ target,
100
+ ledTeams: await teamsService.listTeamsLedByAgent(target.id),
101
+ })));
102
+ const protectedFailures = [];
103
+ for (const { target, ledTeams } of ledTeamsByAgent) {
104
+ const reasons = [];
105
+ if (target.isProjectOwner) {
106
+ reasons.push('protected Project Owner');
107
+ }
108
+ const sortedLedTeams = [...ledTeams].sort((left, right) => compareText(left.id, right.id));
109
+ if (sortedLedTeams.length > 0) {
110
+ reasons.push(`protected Team Lead of "${sortedLedTeams[0].name}" [${sortedLedTeams[0].id}]`);
111
+ }
112
+ if (reasons.length > 0) {
113
+ protectedFailures.push({
114
+ ...toTargetResult(target),
115
+ stage: 'preflight',
116
+ error: reasons.join('; '),
117
+ });
118
+ }
119
+ }
120
+ if (protectedFailures.length > 0) {
121
+ return failedResult({ ...baseData, failed: protectedFailures });
122
+ }
123
+ const targetIds = new Set(targets.map((target) => target.id));
124
+ const activeSessions = await sessionsService.listActiveSessions(projectId, targetIds);
125
+ const deleted = [];
126
+ const failed = [];
127
+ for (const target of targets) {
128
+ const targetResult = toTargetResult(target);
129
+ const targetSessions = activeSessions
130
+ .filter((session) => session.agentId === target.id)
131
+ .sort((left, right) => compareText(left.id, right.id));
132
+ const terminationErrors = [];
133
+ for (const session of targetSessions) {
134
+ try {
135
+ await sessionsService.terminateSession(session.id, {
136
+ source: 'subscriber',
137
+ reason: 'agent-deletion',
138
+ });
139
+ }
140
+ catch (error) {
141
+ terminationErrors.push(`session ${session.id}: ${getErrorMessage(error)}`);
142
+ }
143
+ }
144
+ if (terminationErrors.length > 0) {
145
+ failed.push({
146
+ ...targetResult,
147
+ stage: 'session_termination',
148
+ error: `session termination failed (${terminationErrors.join('; ')})`,
149
+ });
150
+ continue;
151
+ }
152
+ try {
153
+ const deletionResult = await teamsService.deleteAgentForAutomation({
154
+ projectId,
155
+ agentId: target.id,
156
+ });
157
+ deleted.push(targetResult);
158
+ if (deletionResult?.presetCleanupError) {
159
+ failed.push({
160
+ ...targetResult,
161
+ stage: 'preset_cleanup',
162
+ error: `agent deleted, but project preset cleanup failed (${deletionResult.presetCleanupError})`,
163
+ });
164
+ }
165
+ }
166
+ catch (error) {
167
+ failed.push({
168
+ ...targetResult,
169
+ stage: 'deletion',
170
+ error: `deletion failed (${getErrorMessage(error)})`,
171
+ });
172
+ }
173
+ }
174
+ const data = { resolvedBy, matched, deleted, failed };
175
+ if (failed.length > 0) {
176
+ logger.error({ projectId, data }, 'Delete Agent action completed with failures');
177
+ return failedResult(data);
178
+ }
179
+ logger.info({ projectId, data }, 'Delete Agent action completed');
180
+ return {
181
+ success: true,
182
+ message: summarize(data),
183
+ data,
184
+ retryable: false,
185
+ };
186
+ }
187
+ catch (error) {
188
+ const data = {
189
+ resolvedBy,
190
+ matched: targets.map(toTargetResult),
191
+ deleted: [],
192
+ failed: [],
193
+ };
194
+ const errorMessage = getErrorMessage(error);
195
+ logger.error({ projectId, error: errorMessage }, 'Delete Agent action failed');
196
+ return failedResult(data, `Delete Agent failed: ${errorMessage}`);
197
+ }
198
+ },
199
+ };
200
+ //# sourceMappingURL=delete-agent.action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-agent.action.js","sourceRoot":"","sources":["../../../../src/modules/subscribers/actions/delete-agent.action.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { Agent } from '../../storage/models/domain.models';
2
+ import type { StorageService } from '../../storage/interfaces/storage.interface';
3
+ export type FamilyAgentTargetsStorage = Pick<StorageService, 'listAgentProfiles' | 'listAgents'>;
4
+ export declare function resolveFamilyAgentTargets(storage: FamilyAgentTargetsStorage, projectId: string, familySlug: string): Promise<Agent[]>;
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveFamilyAgentTargets = resolveFamilyAgentTargets;
4
+ function normalize(value) {
5
+ return value.trim().toLowerCase();
6
+ }
7
+ function compareText(left, right) {
8
+ if (left < right)
9
+ return -1;
10
+ if (left > right)
11
+ return 1;
12
+ return 0;
13
+ }
14
+ async function resolveFamilyAgentTargets(storage, projectId, familySlug) {
15
+ const normalizedSlug = normalize(familySlug);
16
+ const [profilesResult, agentsResult] = await Promise.all([
17
+ storage.listAgentProfiles({ projectId, limit: 10_000, offset: 0 }),
18
+ storage.listAgents(projectId, { limit: 10_000, offset: 0 }),
19
+ ]);
20
+ const matchingProfileIds = new Set(profilesResult.items
21
+ .filter((profile) => typeof profile.familySlug === 'string' &&
22
+ normalize(profile.familySlug) === normalizedSlug)
23
+ .map((profile) => profile.id));
24
+ const targetsById = new Map();
25
+ for (const agent of agentsResult.items) {
26
+ if (matchingProfileIds.has(agent.profileId)) {
27
+ targetsById.set(agent.id, agent);
28
+ }
29
+ }
30
+ return [...targetsById.values()].sort((left, right) => {
31
+ const nameOrder = compareText(normalize(left.name), normalize(right.name));
32
+ return nameOrder === 0 ? compareText(left.id, right.id) : nameOrder;
33
+ });
34
+ }
35
+ //# sourceMappingURL=family-agent-targets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"family-agent-targets.js","sourceRoot":"","sources":["../../../../src/modules/subscribers/actions/family-agent-targets.ts"],"names":[],"mappings":";;AAsBA,8DA6BC;AA9CD,SAAS,SAAS,CAAC,KAAa;IAC9B,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AACpC,CAAC;AAED,SAAS,WAAW,CAAC,IAAY,EAAE,KAAa;IAC9C,IAAI,IAAI,GAAG,KAAK;QAAE,OAAO,CAAC,CAAC,CAAC;IAC5B,IAAI,IAAI,GAAG,KAAK;QAAE,OAAO,CAAC,CAAC;IAC3B,OAAO,CAAC,CAAC;AACX,CAAC;AASM,KAAK,UAAU,yBAAyB,CAC7C,OAAkC,EAClC,SAAiB,EACjB,UAAkB;IAElB,MAAM,cAAc,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;IAC7C,MAAM,CAAC,cAAc,EAAE,YAAY,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACvD,OAAO,CAAC,iBAAiB,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;QAClE,OAAO,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;KAC5D,CAAC,CAAC;IACH,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAChC,cAAc,CAAC,KAAK;SACjB,MAAM,CACL,CAAC,OAAO,EAAE,EAAE,CACV,OAAO,OAAO,CAAC,UAAU,KAAK,QAAQ;QACtC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,cAAc,CACnD;SACA,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAChC,CAAC;IACF,MAAM,WAAW,GAAG,IAAI,GAAG,EAAiB,CAAC;IAC7C,KAAK,MAAM,KAAK,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC;QACvC,IAAI,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;YAC5C,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACpD,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3E,OAAO,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACtE,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.sendMessageAction = void 0;
4
+ const message_pool_types_1 = require("../../sessions/services/message-pool.types");
4
5
  exports.sendMessageAction = {
5
6
  type: 'send_agent_message',
6
7
  name: 'Send Message to Agent',
@@ -38,12 +39,17 @@ exports.sendMessageAction = {
38
39
  allowedSources: ['custom'],
39
40
  },
40
41
  {
41
- name: 'immediate',
42
- label: 'Deliver Immediately',
43
- type: 'boolean',
42
+ name: 'deliveryMode',
43
+ label: 'Delivery Mode',
44
+ type: 'select',
44
45
  required: false,
45
- defaultValue: false,
46
- description: 'Bypass message pooling and deliver instantly (use for commands like /compact)',
46
+ defaultValue: 'default',
47
+ description: 'Choose when this message is delivered to the agent session',
48
+ options: [
49
+ { value: 'default', label: 'Default (queue)' },
50
+ { value: 'immediate', label: 'Deliver Immediately' },
51
+ { value: 'on_idle', label: 'Delivery on Idle' },
52
+ ],
47
53
  allowedSources: ['custom'],
48
54
  },
49
55
  ],
@@ -52,7 +58,14 @@ exports.sendMessageAction = {
52
58
  const text = inputs.text;
53
59
  const inputAgentName = typeof inputs.agentName === 'string' ? inputs.agentName.trim() : '';
54
60
  const submitKey = inputs.submitKey || 'Enter';
55
- const immediate = inputs.immediate ?? false;
61
+ const requestedDeliveryMode = inputs.deliveryMode;
62
+ if (requestedDeliveryMode !== undefined && !(0, message_pool_types_1.isMessageDeliveryMode)(requestedDeliveryMode)) {
63
+ return {
64
+ success: false,
65
+ error: `Unsupported delivery mode: ${String(requestedDeliveryMode)}`,
66
+ };
67
+ }
68
+ const deliveryMode = requestedDeliveryMode ?? (0, message_pool_types_1.deliveryModeFromLegacyImmediate)(inputs.immediate);
56
69
  if (!text || text.trim().length === 0) {
57
70
  return {
58
71
  success: false,
@@ -98,7 +111,7 @@ exports.sendMessageAction = {
98
111
  senderName: agentName ?? 'Subscriber Action',
99
112
  }, {
100
113
  submitKeys,
101
- immediate,
114
+ deliveryMode,
102
115
  });
103
116
  const failed = result.results.find((recipientResult) => recipientResult.status === 'failed');
104
117
  if (failed || result.status === 'failed') {
@@ -115,7 +128,7 @@ exports.sendMessageAction = {
115
128
  resolvedBy,
116
129
  textLength: text.length,
117
130
  submitKey,
118
- immediate,
131
+ deliveryMode,
119
132
  status: result.status,
120
133
  }, result.status === 'queued' ? 'Message enqueued to pool' : 'Message sent to terminal');
121
134
  return {
@@ -129,7 +142,7 @@ exports.sendMessageAction = {
129
142
  resolvedBy,
130
143
  textLength: text.length,
131
144
  submitKey,
132
- immediate,
145
+ deliveryMode,
133
146
  status: result.status,
134
147
  },
135
148
  };
@@ -1 +1 @@
1
- {"version":3,"file":"send-message.action.js","sourceRoot":"","sources":["../../../../src/modules/subscribers/actions/send-message.action.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"send-message.action.js","sourceRoot":"","sources":["../../../../src/modules/subscribers/actions/send-message.action.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import type { SessionDto } from '../../sessions/dtos/sessions.dto';
2
+ import type { ActionDefinition } from './action.interface';
3
+ export interface TerminateSessionResultData {
4
+ resolvedBy: 'event' | 'agentName';
5
+ sessionId: string;
6
+ resolvedAgentId: string;
7
+ previousStatus: SessionDto['status'];
8
+ }
9
+ export interface TerminateSessionFamilyTargetResult {
10
+ id: string;
11
+ name: string;
12
+ }
13
+ export interface TerminateSessionFamilyTermination extends TerminateSessionFamilyTargetResult {
14
+ sessionId: string;
15
+ previousStatus: SessionDto['status'];
16
+ }
17
+ export interface TerminateSessionFamilyFailure extends TerminateSessionFamilyTermination {
18
+ error: string;
19
+ }
20
+ export interface TerminateSessionFamilyResultData {
21
+ resolvedBy: 'familySlug';
22
+ matched: TerminateSessionFamilyTargetResult[];
23
+ terminated: TerminateSessionFamilyTermination[];
24
+ inactive: TerminateSessionFamilyTargetResult[];
25
+ failed: TerminateSessionFamilyFailure[];
26
+ }
27
+ export declare const terminateSessionAction: ActionDefinition;