devchain-cli 0.20.3 → 0.22.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 (687) hide show
  1. package/README.md +1 -0
  2. package/dist/cli.js +11 -1
  3. package/dist/drizzle/0072_fat_vulcan.sql +21 -0
  4. package/dist/drizzle/0073_integration_storage.sql +27 -0
  5. package/dist/drizzle/0074_black_drax.sql +7 -0
  6. package/dist/drizzle/0075_misty_franklin_richards.sql +37 -0
  7. package/dist/drizzle/0076_epic_time_accounting.sql +48 -0
  8. package/dist/drizzle/meta/0072_snapshot.json +6062 -0
  9. package/dist/drizzle/meta/0073_snapshot.json +6247 -0
  10. package/dist/drizzle/meta/0074_snapshot.json +6299 -0
  11. package/dist/drizzle/meta/0075_snapshot.json +6563 -0
  12. package/dist/drizzle/meta/0076_snapshot.json +6913 -0
  13. package/dist/drizzle/meta/_journal.json +35 -0
  14. package/dist/node_modules/@devchain/shared/e2ee/index.d.ts +1 -1
  15. package/dist/node_modules/@devchain/shared/e2ee/index.d.ts.map +1 -1
  16. package/dist/node_modules/@devchain/shared/e2ee/index.js +1 -1
  17. package/dist/node_modules/@devchain/shared/e2ee/index.js.map +1 -1
  18. package/dist/node_modules/@devchain/shared/e2ee/negotiation.d.ts +6 -0
  19. package/dist/node_modules/@devchain/shared/e2ee/negotiation.d.ts.map +1 -1
  20. package/dist/node_modules/@devchain/shared/e2ee/negotiation.js +13 -0
  21. package/dist/node_modules/@devchain/shared/e2ee/negotiation.js.map +1 -1
  22. package/dist/node_modules/@devchain/shared/index.d.ts +2 -2
  23. package/dist/node_modules/@devchain/shared/index.d.ts.map +1 -1
  24. package/dist/node_modules/@devchain/shared/index.js +2 -2
  25. package/dist/node_modules/@devchain/shared/index.js.map +1 -1
  26. package/dist/node_modules/@devchain/shared/mobile-rpc-contract/index.d.ts +11842 -0
  27. package/dist/node_modules/@devchain/shared/mobile-rpc-contract/index.d.ts.map +1 -0
  28. package/dist/node_modules/@devchain/shared/mobile-rpc-contract/index.js +1084 -0
  29. package/dist/node_modules/@devchain/shared/mobile-rpc-contract/index.js.map +1 -0
  30. package/dist/node_modules/@devchain/shared/schemas/export-schema.d.ts +52 -52
  31. package/dist/node_modules/@devchain/shared/tsconfig.tsbuildinfo +1 -1
  32. package/dist/node_modules/@devchain/shared/tunnel-protocol.d.ts +23 -2
  33. package/dist/node_modules/@devchain/shared/tunnel-protocol.d.ts.map +1 -1
  34. package/dist/node_modules/@devchain/shared/tunnel-protocol.js +24 -2
  35. package/dist/node_modules/@devchain/shared/tunnel-protocol.js.map +1 -1
  36. package/dist/server/app.main.module.js +6 -0
  37. package/dist/server/app.main.module.js.map +1 -1
  38. package/dist/server/app.normal.module.js +4 -0
  39. package/dist/server/app.normal.module.js.map +1 -1
  40. package/dist/server/common/config/container-scope.d.ts +11 -0
  41. package/dist/server/common/config/container-scope.js +37 -0
  42. package/dist/server/common/config/container-scope.js.map +1 -1
  43. package/dist/server/common/constants/terminal.d.ts +1 -0
  44. package/dist/server/common/constants/terminal.js +2 -1
  45. package/dist/server/common/constants/terminal.js.map +1 -1
  46. package/dist/server/common/filters/http-exception.filter.js +3 -4
  47. package/dist/server/common/filters/http-exception.filter.js.map +1 -1
  48. package/dist/server/common/guards/integration-admission.guard.d.ts +4 -0
  49. package/dist/server/common/guards/integration-admission.guard.js +22 -0
  50. package/dist/server/common/guards/integration-admission.guard.js.map +1 -0
  51. package/dist/server/common/test/app-bootstrap.helper.js +1 -2
  52. package/dist/server/common/test/app-bootstrap.helper.js.map +1 -1
  53. package/dist/server/modules/agent-message-delivery/adapters/legacy-delivery-formatter.adapter.js +10 -4
  54. package/dist/server/modules/agent-message-delivery/adapters/legacy-delivery-formatter.adapter.js.map +1 -1
  55. package/dist/server/modules/agent-message-delivery/agent-message-delivery.service.js +6 -0
  56. package/dist/server/modules/agent-message-delivery/agent-message-delivery.service.js.map +1 -1
  57. package/dist/server/modules/agent-message-delivery/dtos/delivery.types.d.ts +4 -1
  58. package/dist/server/modules/cloud/cloud.module.js +6 -1
  59. package/dist/server/modules/cloud/cloud.module.js.map +1 -1
  60. package/dist/server/modules/cloud/services/cloud-egress-bridge.service.d.ts +5 -1
  61. package/dist/server/modules/cloud/services/cloud-egress-bridge.service.js +32 -9
  62. package/dist/server/modules/cloud/services/cloud-egress-bridge.service.js.map +1 -1
  63. package/dist/server/modules/cloud/services/egress-queue.service.d.ts +2 -0
  64. package/dist/server/modules/cloud/services/egress-queue.service.js +35 -17
  65. package/dist/server/modules/cloud/services/egress-queue.service.js.map +1 -1
  66. package/dist/server/modules/cloud/services/event-mapper.service.d.ts +2 -0
  67. package/dist/server/modules/cloud/services/event-mapper.service.js +14 -0
  68. package/dist/server/modules/cloud/services/event-mapper.service.js.map +1 -1
  69. package/dist/server/modules/cloud/services/notification-recipient-resolver.service.d.ts +10 -0
  70. package/dist/server/modules/cloud/services/notification-recipient-resolver.service.js +55 -0
  71. package/dist/server/modules/cloud/services/notification-recipient-resolver.service.js.map +1 -0
  72. package/dist/server/modules/cloud-tunnel/cloud-tunnel.module.js +4 -0
  73. package/dist/server/modules/cloud-tunnel/cloud-tunnel.module.js.map +1 -1
  74. package/dist/server/modules/cloud-tunnel/services/ask-user-question-push-gate.service.d.ts +5 -1
  75. package/dist/server/modules/cloud-tunnel/services/ask-user-question-push-gate.service.js +27 -7
  76. package/dist/server/modules/cloud-tunnel/services/ask-user-question-push-gate.service.js.map +1 -1
  77. package/dist/server/modules/cloud-tunnel/services/mobile-chat-rpc.service.d.ts +5 -2
  78. package/dist/server/modules/cloud-tunnel/services/mobile-chat-rpc.service.js +12 -5
  79. package/dist/server/modules/cloud-tunnel/services/mobile-chat-rpc.service.js.map +1 -1
  80. package/dist/server/modules/cloud-tunnel/services/mobile-rpc-contract.generated.d.ts +11841 -0
  81. package/dist/server/modules/cloud-tunnel/services/mobile-rpc-contract.generated.js +1091 -0
  82. package/dist/server/modules/cloud-tunnel/services/mobile-rpc-contract.generated.js.map +1 -0
  83. package/dist/server/modules/cloud-tunnel/services/mobile-rpc-workspace-access.service.d.ts +67 -0
  84. package/dist/server/modules/cloud-tunnel/services/mobile-rpc-workspace-access.service.js +184 -0
  85. package/dist/server/modules/cloud-tunnel/services/mobile-rpc-workspace-access.service.js.map +1 -0
  86. package/dist/server/modules/cloud-tunnel/services/tunnel-client.service.d.ts +15 -2
  87. package/dist/server/modules/cloud-tunnel/services/tunnel-client.service.js +145 -6
  88. package/dist/server/modules/cloud-tunnel/services/tunnel-client.service.js.map +1 -1
  89. package/dist/server/modules/cloud-tunnel/services/tunnel-event-forwarder.service.d.ts +4 -1
  90. package/dist/server/modules/cloud-tunnel/services/tunnel-event-forwarder.service.js +16 -2
  91. package/dist/server/modules/cloud-tunnel/services/tunnel-event-forwarder.service.js.map +1 -1
  92. package/dist/server/modules/cloud-tunnel/services/tunnel-handler.service.d.ts +5 -1
  93. package/dist/server/modules/cloud-tunnel/services/tunnel-handler.service.js +72 -250
  94. package/dist/server/modules/cloud-tunnel/services/tunnel-handler.service.js.map +1 -1
  95. package/dist/server/modules/cloud-tunnel/services/tunnel-rpc-crypto.service.d.ts +0 -2
  96. package/dist/server/modules/cloud-tunnel/services/tunnel-rpc-crypto.service.js +7 -5
  97. package/dist/server/modules/cloud-tunnel/services/tunnel-rpc-crypto.service.js.map +1 -1
  98. package/dist/server/modules/cloud-tunnel/services/tunnel-viewport-crypto.service.d.ts +1 -2
  99. package/dist/server/modules/cloud-tunnel/services/tunnel-viewport-crypto.service.js +14 -16
  100. package/dist/server/modules/cloud-tunnel/services/tunnel-viewport-crypto.service.js.map +1 -1
  101. package/dist/server/modules/cloud-tunnel/services/viewport-streamer.service.d.ts +20 -3
  102. package/dist/server/modules/cloud-tunnel/services/viewport-streamer.service.js +139 -9
  103. package/dist/server/modules/cloud-tunnel/services/viewport-streamer.service.js.map +1 -1
  104. package/dist/server/modules/core/controllers/runtime.controller.d.ts +1 -0
  105. package/dist/server/modules/core/controllers/runtime.controller.js +2 -0
  106. package/dist/server/modules/core/controllers/runtime.controller.js.map +1 -1
  107. package/dist/server/modules/e2ee/controllers/e2ee-pairing.controller.js +3 -1
  108. package/dist/server/modules/e2ee/controllers/e2ee-pairing.controller.js.map +1 -1
  109. package/dist/server/modules/e2ee/controllers/e2ee-trust.controller.d.ts +6 -1
  110. package/dist/server/modules/e2ee/controllers/e2ee-trust.controller.js +56 -2
  111. package/dist/server/modules/e2ee/controllers/e2ee-trust.controller.js.map +1 -1
  112. package/dist/server/modules/e2ee/e2ee.module.js +17 -2
  113. package/dist/server/modules/e2ee/e2ee.module.js.map +1 -1
  114. package/dist/server/modules/e2ee/events/paired-device-workspace-access.events.d.ts +6 -0
  115. package/dist/server/modules/e2ee/events/paired-device-workspace-access.events.js +5 -0
  116. package/dist/server/modules/e2ee/events/paired-device-workspace-access.events.js.map +1 -0
  117. package/dist/server/modules/e2ee/services/e2ee-device-label.d.ts +1 -0
  118. package/dist/server/modules/e2ee/services/e2ee-device-label.js +17 -0
  119. package/dist/server/modules/e2ee/services/e2ee-device-label.js.map +1 -0
  120. package/dist/server/modules/e2ee/services/e2ee-device-store.service.d.ts +11 -2
  121. package/dist/server/modules/e2ee/services/e2ee-device-store.service.js +120 -28
  122. package/dist/server/modules/e2ee/services/e2ee-device-store.service.js.map +1 -1
  123. package/dist/server/modules/e2ee/services/e2ee-pairing.service.js +3 -1
  124. package/dist/server/modules/e2ee/services/e2ee-pairing.service.js.map +1 -1
  125. package/dist/server/modules/e2ee/services/e2ee-trust.service.d.ts +9 -0
  126. package/dist/server/modules/e2ee/services/e2ee-trust.service.js +44 -10
  127. package/dist/server/modules/e2ee/services/e2ee-trust.service.js.map +1 -1
  128. package/dist/server/modules/e2ee/services/paired-device-workspace-access.service.d.ts +20 -0
  129. package/dist/server/modules/e2ee/services/paired-device-workspace-access.service.js +107 -0
  130. package/dist/server/modules/e2ee/services/paired-device-workspace-access.service.js.map +1 -0
  131. package/dist/server/modules/epic-time/controllers/epic-time.controller.d.ts +8 -0
  132. package/dist/server/modules/epic-time/controllers/epic-time.controller.js +70 -0
  133. package/dist/server/modules/epic-time/controllers/epic-time.controller.js.map +1 -0
  134. package/dist/server/modules/epic-time/epic-time.module.d.ts +2 -0
  135. package/dist/server/modules/epic-time/epic-time.module.js +28 -0
  136. package/dist/server/modules/epic-time/epic-time.module.js.map +1 -0
  137. package/dist/server/modules/epic-time/models/epic-time.models.d.ts +26 -0
  138. package/dist/server/modules/{mcp/services/handlers/types.js → epic-time/models/epic-time.models.js} +1 -1
  139. package/dist/server/modules/epic-time/models/epic-time.models.js.map +1 -0
  140. package/dist/server/modules/epic-time/services/agent-time-accounting.service.d.ts +32 -0
  141. package/dist/server/modules/epic-time/services/agent-time-accounting.service.js +159 -0
  142. package/dist/server/modules/epic-time/services/agent-time-accounting.service.js.map +1 -0
  143. package/dist/server/modules/epic-time/services/epic-time.service.d.ts +15 -0
  144. package/dist/server/modules/epic-time/services/epic-time.service.js +224 -0
  145. package/dist/server/modules/epic-time/services/epic-time.service.js.map +1 -0
  146. package/dist/server/modules/epic-time/services/epic-time.store.d.ts +75 -0
  147. package/dist/server/modules/epic-time/services/epic-time.store.js +453 -0
  148. package/dist/server/modules/epic-time/services/epic-time.store.js.map +1 -0
  149. package/dist/server/modules/epics/controllers/epics.controller.d.ts +10 -0
  150. package/dist/server/modules/epics/controllers/epics.controller.js +92 -0
  151. package/dist/server/modules/epics/controllers/epics.controller.js.map +1 -1
  152. package/dist/server/modules/epics/services/epics.service.d.ts +33 -2
  153. package/dist/server/modules/epics/services/epics.service.js +248 -95
  154. package/dist/server/modules/epics/services/epics.service.js.map +1 -1
  155. package/dist/server/modules/events/catalog/agent.created.d.ts +4 -4
  156. package/dist/server/modules/events/catalog/agent.deleted.d.ts +2 -2
  157. package/dist/server/modules/events/catalog/agent.message.sent.d.ts +40 -40
  158. package/dist/server/modules/events/catalog/broadcast-registry.js +1 -0
  159. package/dist/server/modules/events/catalog/broadcast-registry.js.map +1 -1
  160. package/dist/server/modules/events/catalog/claude.hooks.ask_user_question.pending.d.ts +4 -4
  161. package/dist/server/modules/events/catalog/claude.hooks.session.started.d.ts +10 -10
  162. package/dist/server/modules/events/catalog/epic.comment.created.d.ts +6 -6
  163. package/dist/server/modules/events/catalog/epic.created.d.ts +8 -8
  164. package/dist/server/modules/events/catalog/epic.deleted.d.ts +4 -4
  165. package/dist/server/modules/events/catalog/epic.updated.d.ts +42 -16
  166. package/dist/server/modules/events/catalog/epic.updated.js +5 -0
  167. package/dist/server/modules/events/catalog/epic.updated.js.map +1 -1
  168. package/dist/server/modules/events/catalog/guest.registered.d.ts +2 -2
  169. package/dist/server/modules/events/catalog/guest.unregistered.d.ts +4 -4
  170. package/dist/server/modules/events/catalog/index.d.ts +322 -180
  171. package/dist/server/modules/events/catalog/index.js +11 -1
  172. package/dist/server/modules/events/catalog/index.js.map +1 -1
  173. package/dist/server/modules/events/catalog/integration.connection.created.d.ts +30 -0
  174. package/dist/server/modules/events/catalog/integration.connection.created.js +17 -0
  175. package/dist/server/modules/events/catalog/integration.connection.created.js.map +1 -0
  176. package/dist/server/modules/events/catalog/integration.connection.deleted.d.ts +27 -0
  177. package/dist/server/modules/events/catalog/integration.connection.deleted.js +16 -0
  178. package/dist/server/modules/events/catalog/integration.connection.deleted.js.map +1 -0
  179. package/dist/server/modules/events/catalog/integration.connection.updated.d.ts +39 -0
  180. package/dist/server/modules/events/catalog/integration.connection.updated.js +20 -0
  181. package/dist/server/modules/events/catalog/integration.connection.updated.js.map +1 -0
  182. package/dist/server/modules/events/catalog/review.comment.created.d.ts +16 -16
  183. package/dist/server/modules/events/catalog/review.comment.deleted.d.ts +2 -2
  184. package/dist/server/modules/events/catalog/review.comment.resolved.d.ts +2 -2
  185. package/dist/server/modules/events/catalog/review.comment.updated.d.ts +4 -4
  186. package/dist/server/modules/events/catalog/review.created.d.ts +12 -12
  187. package/dist/server/modules/events/catalog/review.updated.d.ts +4 -4
  188. package/dist/server/modules/events/catalog/scheduled-epic.executed.d.ts +12 -12
  189. package/dist/server/modules/events/catalog/session.human-prompt-state-changed.d.ts +77 -0
  190. package/dist/server/modules/events/catalog/session.human-prompt-state-changed.js +25 -0
  191. package/dist/server/modules/events/catalog/session.human-prompt-state-changed.js.map +1 -0
  192. package/dist/server/modules/events/catalog/session.provider-session-id.discovered.d.ts +2 -2
  193. package/dist/server/modules/events/catalog/session.recommendation.d.ts +4 -4
  194. package/dist/server/modules/events/catalog/session.restored.d.ts +2 -2
  195. package/dist/server/modules/events/catalog/session.started.d.ts +2 -2
  196. package/dist/server/modules/events/catalog/session.starting.d.ts +2 -2
  197. package/dist/server/modules/events/catalog/session.stopped.d.ts +2 -2
  198. package/dist/server/modules/events/catalog/session.transcript.discovered.d.ts +4 -4
  199. package/dist/server/modules/events/catalog/team.config.updated.d.ts +2 -2
  200. package/dist/server/modules/events/catalog/team.member.added.d.ts +2 -2
  201. package/dist/server/modules/events/catalog/team.member.removed.d.ts +2 -2
  202. package/dist/server/modules/events/catalog/terminal.watcher.triggered.d.ts +4 -4
  203. package/dist/server/modules/events/events-core.module.js +8 -1
  204. package/dist/server/modules/events/events-core.module.js.map +1 -1
  205. package/dist/server/modules/events/events-infra.module.js +6 -1
  206. package/dist/server/modules/events/events-infra.module.js.map +1 -1
  207. package/dist/server/modules/events/services/committed-event.store.d.ts +23 -0
  208. package/dist/server/modules/events/services/committed-event.store.js +169 -0
  209. package/dist/server/modules/events/services/committed-event.store.js.map +1 -0
  210. package/dist/server/modules/events/services/durable-event-dispatcher.service.d.ts +16 -0
  211. package/dist/server/modules/events/services/durable-event-dispatcher.service.js +97 -0
  212. package/dist/server/modules/events/services/durable-event-dispatcher.service.js.map +1 -0
  213. package/dist/server/modules/events/services/durable-event-registry.service.d.ts +25 -0
  214. package/dist/server/modules/events/services/durable-event-registry.service.js +59 -0
  215. package/dist/server/modules/events/services/durable-event-registry.service.js.map +1 -0
  216. package/dist/server/modules/events/services/event-log.service.d.ts +6 -1
  217. package/dist/server/modules/events/services/event-log.service.js +32 -18
  218. package/dist/server/modules/events/services/event-log.service.js.map +1 -1
  219. package/dist/server/modules/events/services/events.service.d.ts +11 -1
  220. package/dist/server/modules/events/services/events.service.js +50 -7
  221. package/dist/server/modules/events/services/events.service.js.map +1 -1
  222. package/dist/server/modules/external-integrations/adapters/clickup-external-task.provider.d.ts +97 -0
  223. package/dist/server/modules/external-integrations/adapters/clickup-external-task.provider.js +1404 -0
  224. package/dist/server/modules/external-integrations/adapters/clickup-external-task.provider.js.map +1 -0
  225. package/dist/server/modules/external-integrations/adapters/jira-external-task.provider.d.ts +113 -0
  226. package/dist/server/modules/external-integrations/adapters/jira-external-task.provider.js +1790 -0
  227. package/dist/server/modules/external-integrations/adapters/jira-external-task.provider.js.map +1 -0
  228. package/dist/server/modules/external-integrations/adapters/rich/clickup-comment-converter.d.ts +10 -0
  229. package/dist/server/modules/external-integrations/adapters/rich/clickup-comment-converter.js +97 -0
  230. package/dist/server/modules/external-integrations/adapters/rich/clickup-comment-converter.js.map +1 -0
  231. package/dist/server/modules/external-integrations/adapters/rich/clickup-markdown-converter.d.ts +16 -0
  232. package/dist/server/modules/external-integrations/adapters/rich/clickup-markdown-converter.js +386 -0
  233. package/dist/server/modules/external-integrations/adapters/rich/clickup-markdown-converter.js.map +1 -0
  234. package/dist/server/modules/external-integrations/adapters/rich/jira-adf-converter.d.ts +5 -0
  235. package/dist/server/modules/external-integrations/adapters/rich/jira-adf-converter.js +229 -0
  236. package/dist/server/modules/external-integrations/adapters/rich/jira-adf-converter.js.map +1 -0
  237. package/dist/server/modules/external-integrations/adapters/vendor-shared.d.ts +42 -0
  238. package/dist/server/modules/external-integrations/adapters/vendor-shared.js +182 -0
  239. package/dist/server/modules/external-integrations/adapters/vendor-shared.js.map +1 -0
  240. package/dist/server/modules/external-integrations/connections/integration-connections.controller.d.ts +11 -0
  241. package/dist/server/modules/external-integrations/connections/integration-connections.controller.js +121 -0
  242. package/dist/server/modules/external-integrations/connections/integration-connections.controller.js.map +1 -0
  243. package/dist/server/modules/external-integrations/connections/integration-connections.service.d.ts +46 -0
  244. package/dist/server/modules/external-integrations/connections/integration-connections.service.js +193 -0
  245. package/dist/server/modules/external-integrations/connections/integration-connections.service.js.map +1 -0
  246. package/dist/server/modules/external-integrations/connections/managed-subtask-sync.controller.d.ts +8 -0
  247. package/dist/server/modules/external-integrations/connections/managed-subtask-sync.controller.js +73 -0
  248. package/dist/server/modules/external-integrations/connections/managed-subtask-sync.controller.js.map +1 -0
  249. package/dist/server/modules/external-integrations/errors/external-provider.errors.d.ts +23 -0
  250. package/dist/server/modules/external-integrations/errors/external-provider.errors.js +105 -0
  251. package/dist/server/modules/external-integrations/errors/external-provider.errors.js.map +1 -0
  252. package/dist/server/modules/external-integrations/external-integrations.module.d.ts +2 -0
  253. package/dist/server/modules/external-integrations/external-integrations.module.js +72 -0
  254. package/dist/server/modules/external-integrations/external-integrations.module.js.map +1 -0
  255. package/dist/server/modules/external-integrations/external-task-provider.registry.d.ts +12 -0
  256. package/dist/server/modules/external-integrations/external-task-provider.registry.js +65 -0
  257. package/dist/server/modules/external-integrations/external-task-provider.registry.js.map +1 -0
  258. package/dist/server/modules/external-integrations/models/external-comment-lookup-token.d.ts +12 -0
  259. package/dist/server/modules/external-integrations/models/external-comment-lookup-token.js +49 -0
  260. package/dist/server/modules/external-integrations/models/external-comment-lookup-token.js.map +1 -0
  261. package/dist/server/modules/external-integrations/models/external-edit-session.models.d.ts +94 -0
  262. package/dist/server/modules/external-integrations/models/external-edit-session.models.js +10 -0
  263. package/dist/server/modules/external-integrations/models/external-edit-session.models.js.map +1 -0
  264. package/dist/server/modules/external-integrations/models/external-provider.models.d.ts +341 -0
  265. package/dist/server/modules/external-integrations/models/external-provider.models.js +21 -0
  266. package/dist/server/modules/external-integrations/models/external-provider.models.js.map +1 -0
  267. package/dist/server/modules/external-integrations/models/external-rich-capabilities.d.ts +6 -0
  268. package/dist/server/modules/external-integrations/models/external-rich-capabilities.js +9 -0
  269. package/dist/server/modules/external-integrations/models/external-rich-capabilities.js.map +1 -0
  270. package/dist/server/modules/external-integrations/models/external-rich-document.d.ts +59 -0
  271. package/dist/server/modules/external-integrations/models/external-rich-document.js +233 -0
  272. package/dist/server/modules/external-integrations/models/external-rich-document.js.map +1 -0
  273. package/dist/server/modules/external-integrations/models/external-task-source.d.ts +4 -0
  274. package/dist/server/modules/external-integrations/models/external-task-source.js +71 -0
  275. package/dist/server/modules/external-integrations/models/external-task-source.js.map +1 -0
  276. package/dist/server/modules/external-integrations/models/external-time-mutation.models.d.ts +74 -0
  277. package/dist/server/modules/external-integrations/models/external-time-mutation.models.js +19 -0
  278. package/dist/server/modules/external-integrations/models/external-time-mutation.models.js.map +1 -0
  279. package/dist/server/modules/external-integrations/my-work/external-edit-session.service.d.ts +57 -0
  280. package/dist/server/modules/external-integrations/my-work/external-edit-session.service.js +776 -0
  281. package/dist/server/modules/external-integrations/my-work/external-edit-session.service.js.map +1 -0
  282. package/dist/server/modules/external-integrations/my-work/external-my-work.controller.d.ts +37 -0
  283. package/dist/server/modules/external-integrations/my-work/external-my-work.controller.js +626 -0
  284. package/dist/server/modules/external-integrations/my-work/external-my-work.controller.js.map +1 -0
  285. package/dist/server/modules/external-integrations/my-work/external-my-work.openapi.d.ts +29 -0
  286. package/dist/server/modules/external-integrations/my-work/external-my-work.openapi.js +847 -0
  287. package/dist/server/modules/external-integrations/my-work/external-my-work.openapi.js.map +1 -0
  288. package/dist/server/modules/external-integrations/my-work/external-my-work.service.d.ts +34 -0
  289. package/dist/server/modules/external-integrations/my-work/external-my-work.service.js +330 -0
  290. package/dist/server/modules/external-integrations/my-work/external-my-work.service.js.map +1 -0
  291. package/dist/server/modules/external-integrations/my-work/external-time-mutation.service.d.ts +27 -0
  292. package/dist/server/modules/external-integrations/my-work/external-time-mutation.service.js +412 -0
  293. package/dist/server/modules/external-integrations/my-work/external-time-mutation.service.js.map +1 -0
  294. package/dist/server/modules/external-integrations/ports/external-task-provider.d.ts +13 -0
  295. package/dist/server/modules/external-integrations/ports/external-task-provider.js +5 -0
  296. package/dist/server/modules/external-integrations/ports/external-task-provider.js.map +1 -0
  297. package/dist/server/modules/external-integrations/request-validation.d.ts +2 -0
  298. package/dist/server/modules/external-integrations/request-validation.js +14 -0
  299. package/dist/server/modules/external-integrations/request-validation.js.map +1 -0
  300. package/dist/server/modules/external-integrations/sessions/external-edit-session.store.d.ts +59 -0
  301. package/dist/server/modules/external-integrations/sessions/external-edit-session.store.js +329 -0
  302. package/dist/server/modules/external-integrations/sessions/external-edit-session.store.js.map +1 -0
  303. package/dist/server/modules/external-integrations/sessions/external-time-mutation.store.d.ts +44 -0
  304. package/dist/server/modules/external-integrations/sessions/external-time-mutation.store.js +171 -0
  305. package/dist/server/modules/external-integrations/sessions/external-time-mutation.store.js.map +1 -0
  306. package/dist/server/modules/external-integrations/sessions/provider-operation-gate.d.ts +7 -0
  307. package/dist/server/modules/external-integrations/sessions/provider-operation-gate.js +33 -0
  308. package/dist/server/modules/external-integrations/sessions/provider-operation-gate.js.map +1 -0
  309. package/dist/server/modules/external-integrations/subscribers/external-subtask-sync.subscriber.d.ts +69 -0
  310. package/dist/server/modules/external-integrations/subscribers/external-subtask-sync.subscriber.js +1092 -0
  311. package/dist/server/modules/external-integrations/subscribers/external-subtask-sync.subscriber.js.map +1 -0
  312. package/dist/server/modules/external-integrations/subscribers/managed-subtask-content.d.ts +8 -0
  313. package/dist/server/modules/external-integrations/subscribers/managed-subtask-content.js +23 -0
  314. package/dist/server/modules/external-integrations/subscribers/managed-subtask-content.js.map +1 -0
  315. package/dist/server/modules/external-integrations/subscribers/managed-subtask-recovery-policy.d.ts +7 -0
  316. package/dist/server/modules/external-integrations/subscribers/managed-subtask-recovery-policy.js +30 -0
  317. package/dist/server/modules/external-integrations/subscribers/managed-subtask-recovery-policy.js.map +1 -0
  318. package/dist/server/modules/external-integrations/subscribers/managed-subtask-sync-health.service.d.ts +44 -0
  319. package/dist/server/modules/external-integrations/subscribers/managed-subtask-sync-health.service.js +135 -0
  320. package/dist/server/modules/external-integrations/subscribers/managed-subtask-sync-health.service.js.map +1 -0
  321. package/dist/server/modules/external-integrations/transport/safe-vendor-http-client.d.ts +47 -0
  322. package/dist/server/modules/external-integrations/transport/safe-vendor-http-client.js +294 -0
  323. package/dist/server/modules/external-integrations/transport/safe-vendor-http-client.js.map +1 -0
  324. package/dist/server/modules/hooks/dtos/hook-event.dto.d.ts +64 -64
  325. package/dist/server/modules/mcp/dtos/mcp.dto.d.ts +36 -36
  326. package/dist/server/modules/mcp/mcp-full.module.js +2 -3
  327. package/dist/server/modules/mcp/mcp-full.module.js.map +1 -1
  328. package/dist/server/modules/mcp/services/handlers/epic-tools.js +1 -1
  329. package/dist/server/modules/mcp/services/handlers/epic-tools.js.map +1 -1
  330. package/dist/server/modules/mcp/services/mcp-tool-binding.registry.d.ts +23 -0
  331. package/dist/server/modules/mcp/services/mcp-tool-binding.registry.js +120 -0
  332. package/dist/server/modules/mcp/services/mcp-tool-binding.registry.js.map +1 -0
  333. package/dist/server/modules/mcp/services/mcp.service.d.ts +4 -45
  334. package/dist/server/modules/mcp/services/mcp.service.js +15 -265
  335. package/dist/server/modules/mcp/services/mcp.service.js.map +1 -1
  336. package/dist/server/modules/mcp/services/testing/mcp-tool-binding-registry.fixture.d.ts +5 -0
  337. package/dist/server/modules/mcp/services/testing/mcp-tool-binding-registry.fixture.js +8 -0
  338. package/dist/server/modules/mcp/services/testing/mcp-tool-binding-registry.fixture.js.map +1 -0
  339. package/dist/server/modules/mcp/standalone-mcp.module.js +3 -10
  340. package/dist/server/modules/mcp/standalone-mcp.module.js.map +1 -1
  341. package/dist/server/modules/mcp/tool-descriptors/agent.bindings.d.ts +1 -2
  342. package/dist/server/modules/mcp/tool-descriptors/agent.bindings.js +15 -2
  343. package/dist/server/modules/mcp/tool-descriptors/agent.bindings.js.map +1 -1
  344. package/dist/server/modules/mcp/tool-descriptors/binding-types.d.ts +38 -0
  345. package/dist/server/modules/mcp/tool-descriptors/binding-types.js +10 -0
  346. package/dist/server/modules/mcp/tool-descriptors/binding-types.js.map +1 -0
  347. package/dist/server/modules/mcp/tool-descriptors/chat.bindings.d.ts +1 -2
  348. package/dist/server/modules/mcp/tool-descriptors/chat.bindings.js +16 -2
  349. package/dist/server/modules/mcp/tool-descriptors/chat.bindings.js.map +1 -1
  350. package/dist/server/modules/mcp/tool-descriptors/document.bindings.d.ts +1 -2
  351. package/dist/server/modules/mcp/tool-descriptors/document.bindings.js +10 -2
  352. package/dist/server/modules/mcp/tool-descriptors/document.bindings.js.map +1 -1
  353. package/dist/server/modules/mcp/tool-descriptors/epic.bindings.d.ts +1 -2
  354. package/dist/server/modules/mcp/tool-descriptors/epic.bindings.js +12 -6
  355. package/dist/server/modules/mcp/tool-descriptors/epic.bindings.js.map +1 -1
  356. package/dist/server/modules/mcp/tool-descriptors/index.d.ts +2 -3
  357. package/dist/server/modules/mcp/tool-descriptors/index.js +1 -25
  358. package/dist/server/modules/mcp/tool-descriptors/index.js.map +1 -1
  359. package/dist/server/modules/mcp/tool-descriptors/project.bindings.d.ts +1 -2
  360. package/dist/server/modules/mcp/tool-descriptors/project.bindings.js +11 -2
  361. package/dist/server/modules/mcp/tool-descriptors/project.bindings.js.map +1 -1
  362. package/dist/server/modules/mcp/tool-descriptors/prompt.bindings.d.ts +1 -2
  363. package/dist/server/modules/mcp/tool-descriptors/prompt.bindings.js +11 -2
  364. package/dist/server/modules/mcp/tool-descriptors/prompt.bindings.js.map +1 -1
  365. package/dist/server/modules/mcp/tool-descriptors/record.bindings.d.ts +1 -2
  366. package/dist/server/modules/mcp/tool-descriptors/record.bindings.js +6 -2
  367. package/dist/server/modules/mcp/tool-descriptors/record.bindings.js.map +1 -1
  368. package/dist/server/modules/mcp/tool-descriptors/review.bindings.d.ts +1 -2
  369. package/dist/server/modules/mcp/tool-descriptors/review.bindings.js +13 -2
  370. package/dist/server/modules/mcp/tool-descriptors/review.bindings.js.map +1 -1
  371. package/dist/server/modules/mcp/tool-descriptors/runtime-bindings.d.ts +2 -0
  372. package/dist/server/modules/mcp/tool-descriptors/runtime-bindings.js +29 -0
  373. package/dist/server/modules/mcp/tool-descriptors/runtime-bindings.js.map +1 -0
  374. package/dist/server/modules/mcp/tool-descriptors/session.bindings.d.ts +1 -2
  375. package/dist/server/modules/mcp/tool-descriptors/session.bindings.js +11 -2
  376. package/dist/server/modules/mcp/tool-descriptors/session.bindings.js.map +1 -1
  377. package/dist/server/modules/mcp/tool-descriptors/skill.bindings.d.ts +1 -2
  378. package/dist/server/modules/mcp/tool-descriptors/skill.bindings.js +10 -2
  379. package/dist/server/modules/mcp/tool-descriptors/skill.bindings.js.map +1 -1
  380. package/dist/server/modules/mcp/tool-descriptors/team.bindings.d.ts +1 -2
  381. package/dist/server/modules/mcp/tool-descriptors/team.bindings.js +11 -2
  382. package/dist/server/modules/mcp/tool-descriptors/team.bindings.js.map +1 -1
  383. package/dist/server/modules/mcp/tool-descriptors/types.d.ts +0 -2
  384. package/dist/server/modules/orchestrator/docker/services/seed-preparation.service.d.ts +5 -0
  385. package/dist/server/modules/orchestrator/docker/services/seed-preparation.service.js +51 -1
  386. package/dist/server/modules/orchestrator/docker/services/seed-preparation.service.js.map +1 -1
  387. package/dist/server/modules/orchestrator/sync/services/task-merge.service.d.ts +0 -2
  388. package/dist/server/modules/orchestrator/sync/services/task-merge.service.js +9 -48
  389. package/dist/server/modules/orchestrator/sync/services/task-merge.service.js.map +1 -1
  390. package/dist/server/modules/profiles/dto.d.ts +11 -11
  391. package/dist/server/modules/project-communication/project-communication.service.d.ts +2 -0
  392. package/dist/server/modules/project-communication/project-communication.service.js +72 -20
  393. package/dist/server/modules/project-communication/project-communication.service.js.map +1 -1
  394. package/dist/server/modules/projects/controllers/projects.controller.d.ts +4 -3
  395. package/dist/server/modules/projects/controllers/projects.controller.js +16 -3
  396. package/dist/server/modules/projects/controllers/projects.controller.js.map +1 -1
  397. package/dist/server/modules/projects/dtos/export.dto.d.ts +6 -6
  398. package/dist/server/modules/projects/dtos/template-upgrade.dto.d.ts +1 -0
  399. package/dist/server/modules/projects/dtos/template-upgrade.dto.js +9 -0
  400. package/dist/server/modules/projects/dtos/template-upgrade.dto.js.map +1 -1
  401. package/dist/server/modules/projects/events/project-workspace-changed.events.d.ts +6 -0
  402. package/dist/server/modules/projects/events/project-workspace-changed.events.js +5 -0
  403. package/dist/server/modules/projects/events/project-workspace-changed.events.js.map +1 -0
  404. package/dist/server/modules/projects/helpers/project-export.d.ts +1 -1
  405. package/dist/server/modules/projects/helpers/template-loader.d.ts +1 -0
  406. package/dist/server/modules/projects/helpers/template-loader.js +1 -0
  407. package/dist/server/modules/projects/helpers/template-loader.js.map +1 -1
  408. package/dist/server/modules/projects/services/project-registry-import.service.d.ts +2 -0
  409. package/dist/server/modules/projects/services/project-registry-import.service.js +3 -1
  410. package/dist/server/modules/projects/services/project-registry-import.service.js.map +1 -1
  411. package/dist/server/modules/projects/services/projects.service.d.ts +5 -2
  412. package/dist/server/modules/projects/services/projects.service.js +17 -3
  413. package/dist/server/modules/projects/services/projects.service.js.map +1 -1
  414. package/dist/server/modules/projects/template-codec/codecs/watchers.codec.d.ts +1 -1
  415. package/dist/server/modules/registry/controllers/templates.controller.d.ts +7 -7
  416. package/dist/server/modules/reviews/dtos/review.dto.d.ts +10 -10
  417. package/dist/server/modules/scheduled-epics/dtos/scheduled-epic.dto.d.ts +1 -1
  418. package/dist/server/modules/scheduled-epics/services/scheduled-epics.service.js +14 -16
  419. package/dist/server/modules/scheduled-epics/services/scheduled-epics.service.js.map +1 -1
  420. package/dist/server/modules/seeders/seeders/0003_seed_preseed_jeffallan_claude_skills.js +45 -15
  421. package/dist/server/modules/seeders/seeders/0003_seed_preseed_jeffallan_claude_skills.js.map +1 -1
  422. package/dist/server/modules/seeders/seeders/0005_seed_renew_instructions_subscriber.js +2 -2
  423. package/dist/server/modules/seeders/seeders/0005_seed_renew_instructions_subscriber.js.map +1 -1
  424. package/dist/server/modules/session-reader/adapters/antigravity-session-reader.adapter.d.ts +1 -1
  425. package/dist/server/modules/session-reader/adapters/opencode-session-reader.adapter.d.ts +1 -1
  426. package/dist/server/modules/session-reader/data/pricing.json +179 -43
  427. package/dist/server/modules/session-reader/services/transcript-serialization.d.ts +13 -0
  428. package/dist/server/modules/session-reader/services/transcript-serialization.js +41 -0
  429. package/dist/server/modules/session-reader/services/transcript-serialization.js.map +1 -1
  430. package/dist/server/modules/session-terminal-runtime/session-terminal-runtime.module.d.ts +2 -0
  431. package/dist/server/modules/session-terminal-runtime/session-terminal-runtime.module.js +25 -0
  432. package/dist/server/modules/session-terminal-runtime/session-terminal-runtime.module.js.map +1 -0
  433. package/dist/server/modules/session-terminal-runtime/session-terminal-runtime.service.d.ts +21 -0
  434. package/dist/server/modules/session-terminal-runtime/session-terminal-runtime.service.js +124 -0
  435. package/dist/server/modules/session-terminal-runtime/session-terminal-runtime.service.js.map +1 -0
  436. package/dist/server/modules/session-terminal-runtime/session-terminal-runtime.types.d.ts +10 -0
  437. package/dist/server/modules/session-terminal-runtime/session-terminal-runtime.types.js +3 -0
  438. package/dist/server/modules/session-terminal-runtime/session-terminal-runtime.types.js.map +1 -0
  439. package/dist/server/modules/sessions/controllers/sessions.controller.d.ts +3 -0
  440. package/dist/server/modules/sessions/controllers/sessions.controller.js +30 -0
  441. package/dist/server/modules/sessions/controllers/sessions.controller.js.map +1 -1
  442. package/dist/server/modules/sessions/dtos/sessions.dto.d.ts +2 -2
  443. package/dist/server/modules/sessions/services/message-enqueue.service.d.ts +4 -1
  444. package/dist/server/modules/sessions/services/message-enqueue.service.js +3 -0
  445. package/dist/server/modules/sessions/services/message-enqueue.service.js.map +1 -1
  446. package/dist/server/modules/sessions/services/message-pool.types.d.ts +14 -2
  447. package/dist/server/modules/sessions/services/message-pool.types.js +10 -1
  448. package/dist/server/modules/sessions/services/message-pool.types.js.map +1 -1
  449. package/dist/server/modules/sessions/services/provider-runtime-preparation/index.d.ts +2 -0
  450. package/dist/server/modules/sessions/services/provider-runtime-preparation/index.js +6 -0
  451. package/dist/server/modules/sessions/services/provider-runtime-preparation/index.js.map +1 -0
  452. package/dist/server/modules/sessions/services/provider-runtime-preparation/provider-runtime-preparation.service.d.ts +24 -0
  453. package/dist/server/modules/sessions/services/provider-runtime-preparation/provider-runtime-preparation.service.js +297 -0
  454. package/dist/server/modules/sessions/services/provider-runtime-preparation/provider-runtime-preparation.service.js.map +1 -0
  455. package/dist/server/modules/sessions/services/provider-runtime-preparation/provider-runtime-preparation.types.d.ts +41 -0
  456. package/dist/server/modules/sessions/services/provider-runtime-preparation/provider-runtime-preparation.types.js +8 -0
  457. package/dist/server/modules/sessions/services/provider-runtime-preparation/provider-runtime-preparation.types.js.map +1 -0
  458. package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.d.ts +33 -37
  459. package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.js +37 -56
  460. package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.js.map +1 -1
  461. package/dist/server/modules/sessions/services/session-runtime/session-launch-pipeline.service.d.ts +3 -5
  462. package/dist/server/modules/sessions/services/session-runtime/session-launch-pipeline.service.js +23 -112
  463. package/dist/server/modules/sessions/services/session-runtime/session-launch-pipeline.service.js.map +1 -1
  464. package/dist/server/modules/sessions/services/session-runtime/session-restore-pipeline.service.d.ts +3 -9
  465. package/dist/server/modules/sessions/services/session-runtime/session-restore-pipeline.service.js +23 -125
  466. package/dist/server/modules/sessions/services/session-runtime/session-restore-pipeline.service.js.map +1 -1
  467. package/dist/server/modules/sessions/services/sessions-message-pool.service.d.ts +58 -2
  468. package/dist/server/modules/sessions/services/sessions-message-pool.service.js +977 -106
  469. package/dist/server/modules/sessions/services/sessions-message-pool.service.js.map +1 -1
  470. package/dist/server/modules/sessions/services/sessions.service.d.ts +0 -13
  471. package/dist/server/modules/sessions/services/sessions.service.js +0 -66
  472. package/dist/server/modules/sessions/services/sessions.service.js.map +1 -1
  473. package/dist/server/modules/sessions/sessions-lifecycle.module.js.map +1 -1
  474. package/dist/server/modules/sessions/sessions.module.js +3 -1
  475. package/dist/server/modules/sessions/sessions.module.js.map +1 -1
  476. package/dist/server/modules/settings/dtos/settings.dto.d.ts +10 -2
  477. package/dist/server/modules/settings/dtos/settings.dto.js +1 -0
  478. package/dist/server/modules/settings/dtos/settings.dto.js.map +1 -1
  479. package/dist/server/modules/settings/local/delegates/core-settings.delegate.js +12 -0
  480. package/dist/server/modules/settings/local/delegates/core-settings.delegate.js.map +1 -1
  481. package/dist/server/modules/settings/services/settings.constants.d.ts +1 -1
  482. package/dist/server/modules/settings/services/settings.constants.js +2 -1
  483. package/dist/server/modules/settings/services/settings.constants.js.map +1 -1
  484. package/dist/server/modules/settings/services/settings.service.d.ts +1 -1
  485. package/dist/server/modules/settings/services/settings.service.js +2 -1
  486. package/dist/server/modules/settings/services/settings.service.js.map +1 -1
  487. package/dist/server/modules/skills/controllers/community-sources.controller.d.ts +3 -3
  488. package/dist/server/modules/skills/controllers/community-sources.controller.js +8 -8
  489. package/dist/server/modules/skills/controllers/community-sources.controller.js.map +1 -1
  490. package/dist/server/modules/skills/controllers/local-sources.controller.d.ts +3 -3
  491. package/dist/server/modules/skills/controllers/local-sources.controller.js +8 -8
  492. package/dist/server/modules/skills/controllers/local-sources.controller.js.map +1 -1
  493. package/dist/server/modules/skills/controllers/skills.controller.d.ts +4 -3
  494. package/dist/server/modules/skills/controllers/skills.controller.js +7 -7
  495. package/dist/server/modules/skills/controllers/skills.controller.js.map +1 -1
  496. package/dist/server/modules/skills/dtos/skill.dto.d.ts +2 -2
  497. package/dist/server/modules/skills/services/skill-source-lifecycle.service.d.ts +42 -0
  498. package/dist/server/modules/skills/services/{local-sources.service.js → skill-source-lifecycle.service.js} +187 -62
  499. package/dist/server/modules/skills/services/skill-source-lifecycle.service.js.map +1 -0
  500. package/dist/server/modules/skills/services/skill-sync.service.d.ts +2 -20
  501. package/dist/server/modules/skills/services/skill-sync.service.js +30 -68
  502. package/dist/server/modules/skills/services/skill-sync.service.js.map +1 -1
  503. package/dist/server/modules/skills/services/skill-sync.types.d.ts +14 -0
  504. package/dist/server/modules/skills/services/skill-sync.types.js +3 -0
  505. package/dist/server/modules/skills/services/skill-sync.types.js.map +1 -0
  506. package/dist/server/modules/skills/services/skills.service.d.ts +0 -1
  507. package/dist/server/modules/skills/services/skills.service.js +0 -3
  508. package/dist/server/modules/skills/services/skills.service.js.map +1 -1
  509. package/dist/server/modules/skills/skills.module.js +2 -5
  510. package/dist/server/modules/skills/skills.module.js.map +1 -1
  511. package/dist/server/modules/storage/db/db.provider.d.ts +4 -0
  512. package/dist/server/modules/storage/db/db.provider.js +13 -1
  513. package/dist/server/modules/storage/db/db.provider.js.map +1 -1
  514. package/dist/server/modules/storage/db/schema.d.ts +2597 -953
  515. package/dist/server/modules/storage/db/schema.js +165 -2
  516. package/dist/server/modules/storage/db/schema.js.map +1 -1
  517. package/dist/server/modules/storage/db/transaction-runner.d.ts +9 -0
  518. package/dist/server/modules/storage/db/transaction-runner.js +142 -4
  519. package/dist/server/modules/storage/db/transaction-runner.js.map +1 -1
  520. package/dist/server/modules/storage/interfaces/storage.interface.d.ts +63 -13
  521. package/dist/server/modules/storage/interfaces/storage.interface.js.map +1 -1
  522. package/dist/server/modules/storage/local/delegates/agent.delegate.d.ts +3 -2
  523. package/dist/server/modules/storage/local/delegates/agent.delegate.js +45 -6
  524. package/dist/server/modules/storage/local/delegates/agent.delegate.js.map +1 -1
  525. package/dist/server/modules/storage/local/delegates/base-storage.delegate.d.ts +2 -0
  526. package/dist/server/modules/storage/local/delegates/base-storage.delegate.js +3 -0
  527. package/dist/server/modules/storage/local/delegates/base-storage.delegate.js.map +1 -1
  528. package/dist/server/modules/storage/local/delegates/document.delegate.d.ts +4 -6
  529. package/dist/server/modules/storage/local/delegates/document.delegate.js +86 -79
  530. package/dist/server/modules/storage/local/delegates/document.delegate.js.map +1 -1
  531. package/dist/server/modules/storage/local/delegates/epic.delegate.d.ts +15 -9
  532. package/dist/server/modules/storage/local/delegates/epic.delegate.js +160 -89
  533. package/dist/server/modules/storage/local/delegates/epic.delegate.js.map +1 -1
  534. package/dist/server/modules/storage/local/delegates/external-managed-subtask.delegate.d.ts +18 -0
  535. package/dist/server/modules/storage/local/delegates/external-managed-subtask.delegate.js +320 -0
  536. package/dist/server/modules/storage/local/delegates/external-managed-subtask.delegate.js.map +1 -0
  537. package/dist/server/modules/storage/local/delegates/integration.delegate.d.ts +37 -0
  538. package/dist/server/modules/storage/local/delegates/integration.delegate.js +308 -0
  539. package/dist/server/modules/storage/local/delegates/integration.delegate.js.map +1 -0
  540. package/dist/server/modules/storage/local/delegates/project-workspace.delegate.d.ts +16 -0
  541. package/dist/server/modules/storage/local/delegates/project-workspace.delegate.js +191 -0
  542. package/dist/server/modules/storage/local/delegates/project-workspace.delegate.js.map +1 -0
  543. package/dist/server/modules/storage/local/delegates/project.delegate.d.ts +7 -2
  544. package/dist/server/modules/storage/local/delegates/project.delegate.js +126 -140
  545. package/dist/server/modules/storage/local/delegates/project.delegate.js.map +1 -1
  546. package/dist/server/modules/storage/local/delegates/prompt.delegate.d.ts +3 -2
  547. package/dist/server/modules/storage/local/delegates/prompt.delegate.js +65 -66
  548. package/dist/server/modules/storage/local/delegates/prompt.delegate.js.map +1 -1
  549. package/dist/server/modules/storage/local/delegates/record.delegate.d.ts +3 -2
  550. package/dist/server/modules/storage/local/delegates/record.delegate.js +76 -62
  551. package/dist/server/modules/storage/local/delegates/record.delegate.js.map +1 -1
  552. package/dist/server/modules/storage/local/delegates/review.delegate.d.ts +3 -6
  553. package/dist/server/modules/storage/local/delegates/review.delegate.js +93 -72
  554. package/dist/server/modules/storage/local/delegates/review.delegate.js.map +1 -1
  555. package/dist/server/modules/storage/local/delegates/scheduled-epic.delegate.d.ts +4 -2
  556. package/dist/server/modules/storage/local/delegates/scheduled-epic.delegate.js +53 -20
  557. package/dist/server/modules/storage/local/delegates/scheduled-epic.delegate.js.map +1 -1
  558. package/dist/server/modules/storage/local/delegates/skill-source.delegate.d.ts +7 -11
  559. package/dist/server/modules/storage/local/delegates/skill-source.delegate.js +135 -160
  560. package/dist/server/modules/storage/local/delegates/skill-source.delegate.js.map +1 -1
  561. package/dist/server/modules/storage/local/delegates/tag.delegate.d.ts +1 -0
  562. package/dist/server/modules/storage/local/delegates/tag.delegate.js +11 -5
  563. package/dist/server/modules/storage/local/delegates/tag.delegate.js.map +1 -1
  564. package/dist/server/modules/storage/local/helpers/storage-helpers.d.ts +0 -2
  565. package/dist/server/modules/storage/local/helpers/storage-helpers.js +1 -24
  566. package/dist/server/modules/storage/local/helpers/storage-helpers.js.map +1 -1
  567. package/dist/server/modules/storage/local/integration-credential-cipher.d.ts +18 -0
  568. package/dist/server/modules/storage/local/integration-credential-cipher.js +138 -0
  569. package/dist/server/modules/storage/local/integration-credential-cipher.js.map +1 -0
  570. package/dist/server/modules/storage/local/local-storage.service.d.ts +49 -17
  571. package/dist/server/modules/storage/local/local-storage.service.js +133 -105
  572. package/dist/server/modules/storage/local/local-storage.service.js.map +1 -1
  573. package/dist/server/modules/storage/local/versioned-mutation.executor.d.ts +31 -0
  574. package/dist/server/modules/storage/local/versioned-mutation.executor.js +50 -0
  575. package/dist/server/modules/storage/local/versioned-mutation.executor.js.map +1 -0
  576. package/dist/server/modules/storage/models/domain.models.d.ts +145 -1
  577. package/dist/server/modules/storage/models/domain.models.js +15 -0
  578. package/dist/server/modules/storage/models/domain.models.js.map +1 -1
  579. package/dist/server/modules/storage/storage.module.js +2 -1
  580. package/dist/server/modules/storage/storage.module.js.map +1 -1
  581. package/dist/server/modules/subscribers/actions/action.interface.d.ts +4 -0
  582. package/dist/server/modules/subscribers/actions/actions.registry.js +4 -0
  583. package/dist/server/modules/subscribers/actions/actions.registry.js.map +1 -1
  584. package/dist/server/modules/subscribers/actions/delete-agent.action.d.ts +16 -0
  585. package/dist/server/modules/subscribers/actions/delete-agent.action.js +200 -0
  586. package/dist/server/modules/subscribers/actions/delete-agent.action.js.map +1 -0
  587. package/dist/server/modules/subscribers/actions/family-agent-targets.d.ts +4 -0
  588. package/dist/server/modules/subscribers/actions/family-agent-targets.js +35 -0
  589. package/dist/server/modules/subscribers/actions/family-agent-targets.js.map +1 -0
  590. package/dist/server/modules/subscribers/actions/send-message.action.js +22 -9
  591. package/dist/server/modules/subscribers/actions/send-message.action.js.map +1 -1
  592. package/dist/server/modules/subscribers/actions/terminate-session.action.d.ts +27 -0
  593. package/dist/server/modules/subscribers/actions/terminate-session.action.js +204 -0
  594. package/dist/server/modules/subscribers/actions/terminate-session.action.js.map +1 -0
  595. package/dist/server/modules/subscribers/dtos/subscriber.dto.d.ts +1 -1
  596. package/dist/server/modules/subscribers/dtos/subscriber.dto.js +3 -2
  597. package/dist/server/modules/subscribers/dtos/subscriber.dto.js.map +1 -1
  598. package/dist/server/modules/subscribers/events/event-fields-catalog.js +1 -1
  599. package/dist/server/modules/subscribers/events/event-fields-catalog.js.map +1 -1
  600. package/dist/server/modules/subscribers/services/subscriber-executor.service.d.ts +3 -3
  601. package/dist/server/modules/subscribers/services/subscriber-executor.service.js +7 -13
  602. package/dist/server/modules/subscribers/services/subscriber-executor.service.js.map +1 -1
  603. package/dist/server/modules/subscribers/subscribers.module.js +2 -0
  604. package/dist/server/modules/subscribers/subscribers.module.js.map +1 -1
  605. package/dist/server/modules/teams/services/teams.service.d.ts +9 -0
  606. package/dist/server/modules/teams/services/teams.service.js +24 -6
  607. package/dist/server/modules/teams/services/teams.service.js.map +1 -1
  608. package/dist/server/modules/terminal/dtos/ws-envelope.dto.d.ts +2 -2
  609. package/dist/server/modules/terminal/gateways/terminal.gateway.d.ts +14 -4
  610. package/dist/server/modules/terminal/gateways/terminal.gateway.js +91 -14
  611. package/dist/server/modules/terminal/gateways/terminal.gateway.js.map +1 -1
  612. package/dist/server/modules/terminal/services/human-prompt-state.service.d.ts +58 -0
  613. package/dist/server/modules/terminal/services/human-prompt-state.service.js +206 -0
  614. package/dist/server/modules/terminal/services/human-prompt-state.service.js.map +1 -0
  615. package/dist/server/modules/terminal/services/pty.service.d.ts +7 -7
  616. package/dist/server/modules/terminal/services/pty.service.js +21 -24
  617. package/dist/server/modules/terminal/services/pty.service.js.map +1 -1
  618. package/dist/server/modules/terminal/services/terminal-activity.service.js +7 -18
  619. package/dist/server/modules/terminal/services/terminal-activity.service.js.map +1 -1
  620. package/dist/server/modules/terminal/services/terminal-io/delivery.d.ts +2 -1
  621. package/dist/server/modules/terminal/services/terminal-io/delivery.js +77 -33
  622. package/dist/server/modules/terminal/services/terminal-io/delivery.js.map +1 -1
  623. package/dist/server/modules/terminal/services/terminal-io/terminal-io.service.d.ts +14 -5
  624. package/dist/server/modules/terminal/services/terminal-io/terminal-io.service.js +64 -8
  625. package/dist/server/modules/terminal/services/terminal-io/terminal-io.service.js.map +1 -1
  626. package/dist/server/modules/terminal/services/terminal-io/types.d.ts +8 -0
  627. package/dist/server/modules/terminal/services/terminal-key-input/terminal-key-input.facade.d.ts +5 -1
  628. package/dist/server/modules/terminal/services/terminal-key-input/terminal-key-input.facade.js +39 -2
  629. package/dist/server/modules/terminal/services/terminal-key-input/terminal-key-input.facade.js.map +1 -1
  630. package/dist/server/modules/terminal/services/terminal-registry-rehydrator.service.d.ts +3 -3
  631. package/dist/server/modules/terminal/services/terminal-registry-rehydrator.service.js +8 -12
  632. package/dist/server/modules/terminal/services/terminal-registry-rehydrator.service.js.map +1 -1
  633. package/dist/server/modules/terminal/services/terminal-seed.service.d.ts +3 -3
  634. package/dist/server/modules/terminal/services/terminal-seed.service.js +11 -18
  635. package/dist/server/modules/terminal/services/terminal-seed.service.js.map +1 -1
  636. package/dist/server/modules/terminal/services/terminal-session/terminal-session-registry.d.ts +3 -1
  637. package/dist/server/modules/terminal/services/terminal-session/terminal-session-registry.js +7 -2
  638. package/dist/server/modules/terminal/services/terminal-session/terminal-session-registry.js.map +1 -1
  639. package/dist/server/modules/terminal/services/terminal-session/terminal-session.d.ts +4 -0
  640. package/dist/server/modules/terminal/services/terminal-session/terminal-session.js +8 -0
  641. package/dist/server/modules/terminal/services/terminal-session/terminal-session.js.map +1 -1
  642. package/dist/server/modules/terminal/services/terminal-viewport/terminal-viewport.facade.js.map +1 -1
  643. package/dist/server/modules/terminal/terminal-delivery.module.js +13 -2
  644. package/dist/server/modules/terminal/terminal-delivery.module.js.map +1 -1
  645. package/dist/server/modules/terminal/terminal-key-input.module.js.map +1 -1
  646. package/dist/server/modules/terminal/terminal-viewport.module.js.map +1 -1
  647. package/dist/server/modules/terminal/terminal.module.js +6 -5
  648. package/dist/server/modules/terminal/terminal.module.js.map +1 -1
  649. package/dist/server/modules/terminal/utils/terminal-activity.d.ts +4 -0
  650. package/dist/server/modules/terminal/utils/terminal-activity.js +86 -0
  651. package/dist/server/modules/terminal/utils/terminal-activity.js.map +1 -0
  652. package/dist/server/modules/watchers/dtos/watcher.dto.d.ts +8 -8
  653. package/dist/server/modules/workspaces/controllers/workspaces.controller.d.ts +11 -0
  654. package/dist/server/modules/workspaces/controllers/workspaces.controller.js +101 -0
  655. package/dist/server/modules/workspaces/controllers/workspaces.controller.js.map +1 -0
  656. package/dist/server/modules/workspaces/services/workspace-mode-control.d.ts +6 -0
  657. package/dist/server/modules/workspaces/services/workspace-mode-control.js +5 -0
  658. package/dist/server/modules/workspaces/services/workspace-mode-control.js.map +1 -0
  659. package/dist/server/modules/workspaces/services/workspace-mode-coordinator.service.d.ts +23 -0
  660. package/dist/server/modules/workspaces/services/workspace-mode-coordinator.service.js +137 -0
  661. package/dist/server/modules/workspaces/services/workspace-mode-coordinator.service.js.map +1 -0
  662. package/dist/server/modules/workspaces/services/workspaces.service.d.ts +11 -0
  663. package/dist/server/modules/workspaces/services/workspaces.service.js +41 -0
  664. package/dist/server/modules/workspaces/services/workspaces.service.js.map +1 -0
  665. package/dist/server/modules/workspaces/workspaces.module.d.ts +2 -0
  666. package/dist/server/modules/workspaces/workspaces.module.js +26 -0
  667. package/dist/server/modules/workspaces/workspaces.module.js.map +1 -0
  668. package/dist/server/templates/teams-dev.json +214 -15
  669. package/dist/server/tsconfig.tsbuildinfo +1 -1
  670. package/dist/server/ui/assets/ExternalRichEditor-DMtnZIMZ.js +113 -0
  671. package/dist/server/ui/assets/{ReviewDetailPage-BXLlZvPO.js → ReviewDetailPage-BmyiM5IR.js} +1 -1
  672. package/dist/server/ui/assets/{ReviewsPage-CmFUc6IP.js → ReviewsPage-CQ87BMwT.js} +1 -1
  673. package/dist/server/ui/assets/index-BX6Yze-A.js +1177 -0
  674. package/dist/server/ui/assets/index-qoQEv_u4.css +32 -0
  675. package/dist/server/ui/assets/{useReviewSubscription-Ch8K_5xz.js → useReviewSubscription-DjbEUzt4.js} +1 -1
  676. package/dist/server/ui/index.html +2 -2
  677. package/dist/templates/teams-dev.json +214 -15
  678. package/package.json +24 -5
  679. package/dist/server/modules/mcp/services/handlers/types.d.ts +0 -2
  680. package/dist/server/modules/mcp/services/handlers/types.js.map +0 -1
  681. package/dist/server/modules/skills/services/community-sources.service.d.ts +0 -18
  682. package/dist/server/modules/skills/services/community-sources.service.js +0 -161
  683. package/dist/server/modules/skills/services/community-sources.service.js.map +0 -1
  684. package/dist/server/modules/skills/services/local-sources.service.d.ts +0 -20
  685. package/dist/server/modules/skills/services/local-sources.service.js.map +0 -1
  686. package/dist/server/ui/assets/index-LNBfBNWF.js +0 -1148
  687. package/dist/server/ui/assets/index-NypjSmlZ.css +0 -32
@@ -0,0 +1,776 @@
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.ExternalEditSessionService = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const error_types_1 = require("../../../common/errors/error-types");
18
+ const storage_interface_1 = require("../../storage/interfaces/storage.interface");
19
+ const external_provider_errors_1 = require("../errors/external-provider.errors");
20
+ const external_task_provider_registry_1 = require("../external-task-provider.registry");
21
+ const external_rich_document_1 = require("../models/external-rich-document");
22
+ const external_rich_capabilities_1 = require("../models/external-rich-capabilities");
23
+ const external_comment_lookup_token_1 = require("../models/external-comment-lookup-token");
24
+ const jira_adf_converter_1 = require("../adapters/rich/jira-adf-converter");
25
+ const clickup_markdown_converter_1 = require("../adapters/rich/clickup-markdown-converter");
26
+ const clickup_comment_converter_1 = require("../adapters/rich/clickup-comment-converter");
27
+ const external_edit_session_store_1 = require("../sessions/external-edit-session.store");
28
+ const provider_operation_gate_1 = require("../sessions/provider-operation-gate");
29
+ function isUnknownOutcome(error) {
30
+ return (error instanceof external_provider_errors_1.ExternalProviderError &&
31
+ error.details?.dispatched === true &&
32
+ (error.details?.reason === 'timeout' ||
33
+ error.details?.reason === 'unavailable' ||
34
+ error.details?.reason === 'invalid_response'));
35
+ }
36
+ function isProviderNotFound(error) {
37
+ return error instanceof external_provider_errors_1.ExternalProviderError && error.details?.reason === 'not_found';
38
+ }
39
+ let ExternalEditSessionService = class ExternalEditSessionService {
40
+ storage;
41
+ providers;
42
+ gate;
43
+ store;
44
+ capabilities;
45
+ constructor(storage, providers, gate, store, capabilities = external_rich_capabilities_1.EXTERNAL_RICH_CAPABILITIES) {
46
+ this.storage = storage;
47
+ this.providers = providers;
48
+ this.gate = gate;
49
+ this.store = store;
50
+ this.capabilities = capabilities;
51
+ }
52
+ async readRichDescription(provider, remoteTaskId) {
53
+ const adapter = this.providers.get(provider);
54
+ if (!adapter.descriptionEdit) {
55
+ throw this.unsupported(provider);
56
+ }
57
+ const { connection, credentials } = await this.loadStableConnection(provider);
58
+ const raw = await adapter.descriptionEdit.readDescription(credentials, this.context(connection), remoteTaskId);
59
+ const parsed = this.parseProviderDescription(provider, raw);
60
+ if (!parsed.supported) {
61
+ return {
62
+ document: null,
63
+ fingerprint: null,
64
+ supported: false,
65
+ readOnlyReason: 'unsupported_content',
66
+ canEdit: false,
67
+ canDeleteOwnedComments: this.capabilities.ownedDelete,
68
+ };
69
+ }
70
+ return {
71
+ document: parsed.document,
72
+ fingerprint: (0, external_rich_document_1.richDocumentFingerprint)(parsed.document),
73
+ supported: true,
74
+ readOnlyReason: null,
75
+ canEdit: this.capabilities.richEdit,
76
+ canDeleteOwnedComments: this.capabilities.ownedDelete,
77
+ };
78
+ }
79
+ async createDescriptionSession(provider, remoteTaskId) {
80
+ this.requireRichEditCapability();
81
+ const adapter = this.providers.get(provider);
82
+ if (!adapter.descriptionEdit) {
83
+ throw this.unsupported(provider);
84
+ }
85
+ const { connection, credentials } = await this.loadStableConnection(provider);
86
+ const raw = await adapter.descriptionEdit.readDescription(credentials, this.context(connection), remoteTaskId);
87
+ const parsed = this.parseProviderDescription(provider, raw);
88
+ if (!parsed.supported) {
89
+ throw new error_types_1.ValidationError('This task description contains unsupported content.', {
90
+ provider,
91
+ reason: 'unsupported_content',
92
+ });
93
+ }
94
+ const created = this.store.create({
95
+ kind: 'description_edit',
96
+ provider,
97
+ connectionId: connection.id,
98
+ connectionGeneration: connection.generation,
99
+ scopeKey: this.scopeKey(connection),
100
+ remoteTaskId,
101
+ remoteCommentId: null,
102
+ baseline: {
103
+ document: parsed.document,
104
+ fingerprint: (0, external_rich_document_1.richDocumentFingerprint)(parsed.document),
105
+ },
106
+ providerMetadata: { lookupToken: null, ownerRemoteId: '' },
107
+ });
108
+ if (!created.ok) {
109
+ throw this.storeFailure(created.reason);
110
+ }
111
+ return this.store.view(created.value);
112
+ }
113
+ async createCommentEditSession(provider, remoteTaskId, commentId, lookupToken) {
114
+ this.requireRichEditCapability();
115
+ const { session } = await this.createCommentSession(provider, remoteTaskId, commentId, lookupToken, 'comment_edit');
116
+ return session;
117
+ }
118
+ async createCommentDeleteSession(provider, remoteTaskId, commentId, pageProof) {
119
+ this.requireOwnedDeleteCapability();
120
+ const { session } = await this.createCommentSession(provider, remoteTaskId, commentId, pageProof, 'comment_delete');
121
+ return session;
122
+ }
123
+ async touchSession(sessionId) {
124
+ const touched = this.store.touch(sessionId);
125
+ if (!touched.ok) {
126
+ throw this.sessionFailure(touched.reason);
127
+ }
128
+ return this.store.view(touched.value);
129
+ }
130
+ async saveSession(sessionId, payload, expectedRevision) {
131
+ const canonical = (0, external_rich_document_1.canonicalizeRichDocument)(payload);
132
+ if (canonical === null) {
133
+ throw new error_types_1.ValidationError('The payload is outside the supported rich content set.', {
134
+ reason: 'unsupported_content',
135
+ });
136
+ }
137
+ const fingerprint = (0, external_rich_document_1.richDocumentFingerprint)(canonical);
138
+ const initial = this.store.get(sessionId);
139
+ if (!initial.ok) {
140
+ return this.writeRejected(null, this.writeFailure(initial.reason));
141
+ }
142
+ const kind = initial.value.kind;
143
+ if (kind === 'comment_delete') {
144
+ throw new error_types_1.ValidationError('The session does not support content saves.', {
145
+ reason: 'wrong_session_kind',
146
+ });
147
+ }
148
+ this.requireRichEditCapability();
149
+ const provider = initial.value.provider;
150
+ let phase;
151
+ try {
152
+ phase = await this.gate.run(provider, () => this.saveDispatchPhase(sessionId, provider, kind, canonical, fingerprint, expectedRevision));
153
+ }
154
+ catch (error) {
155
+ if (error instanceof error_types_1.BusyError) {
156
+ return this.writeRejected(this.currentView(sessionId), 'operation_busy');
157
+ }
158
+ throw error;
159
+ }
160
+ if (phase.phase === 'rejected') {
161
+ return this.writeRejected(this.currentView(sessionId), phase.reason);
162
+ }
163
+ if (phase.phase === 'outcome_unknown') {
164
+ const view = this.currentView(sessionId);
165
+ return view === null
166
+ ? this.writeRejected(null, 'session_not_found')
167
+ : { outcome: 'outcome_unknown', session: view };
168
+ }
169
+ return this.postWriteVerification(sessionId, provider, kind, fingerprint, canonical);
170
+ }
171
+ async saveDispatchPhase(sessionId, provider, kind, canonical, fingerprint, expectedRevision) {
172
+ const adapter = this.providers.get(provider);
173
+ const connection = await this.storage.getIntegrationConnection(provider);
174
+ const session = this.store.get(sessionId);
175
+ if (!session.ok) {
176
+ return { phase: 'rejected', reason: this.writeFailure(session.reason) };
177
+ }
178
+ if (!connection ||
179
+ connection.provider !== provider ||
180
+ connection.id !== session.value.connectionId ||
181
+ connection.generation !== session.value.connectionGeneration) {
182
+ this.store.invalidate(sessionId);
183
+ return { phase: 'rejected', reason: 'connection_superseded' };
184
+ }
185
+ const context = this.context(connection);
186
+ let fresh;
187
+ let commentMetadata = null;
188
+ if (kind === 'description_edit') {
189
+ if (!adapter.descriptionEdit) {
190
+ throw this.unsupported(provider);
191
+ }
192
+ const raw = await adapter.descriptionEdit.readDescription((await this.storage.getIntegrationConnectionCredentials(provider)), context, session.value.remoteTaskId);
193
+ const parsed = this.parseProviderDescription(provider, raw);
194
+ if (!parsed.supported) {
195
+ this.store.applyVerifyOutcome(sessionId, 'diverged');
196
+ return { phase: 'rejected', reason: 'diverged' };
197
+ }
198
+ fresh = { fingerprint: (0, external_rich_document_1.richDocumentFingerprint)(parsed.document), document: parsed.document };
199
+ }
200
+ else {
201
+ if (!adapter.ownedMutations) {
202
+ throw this.unsupported(provider);
203
+ }
204
+ const token = this.sessionLookupToken(session.value.providerMetadata.lookupToken ?? '');
205
+ if (token === null ||
206
+ token.provider !== provider ||
207
+ token.connectionId !== connection.id ||
208
+ token.connectionGeneration !== connection.generation ||
209
+ token.taskId !== session.value.remoteTaskId ||
210
+ token.commentId !== session.value.remoteCommentId) {
211
+ this.store.invalidate(sessionId);
212
+ return { phase: 'rejected', reason: 'connection_superseded' };
213
+ }
214
+ const snapshot = await adapter.ownedMutations.findComment((await this.storage.getIntegrationConnectionCredentials(provider)), context, session.value.remoteTaskId, session.value.remoteCommentId, token.pageProof);
215
+ if (snapshot === null) {
216
+ this.store.invalidate(sessionId);
217
+ return { phase: 'rejected', reason: 'target_gone' };
218
+ }
219
+ if (snapshot.authorRemoteId === null ||
220
+ snapshot.authorRemoteId !== session.value.providerMetadata.ownerRemoteId) {
221
+ this.store.applyVerifyOutcome(sessionId, 'diverged');
222
+ return { phase: 'rejected', reason: 'diverged' };
223
+ }
224
+ const parsed = this.parseProviderComment(provider, snapshot.raw);
225
+ if (!parsed.supported) {
226
+ this.store.applyVerifyOutcome(sessionId, 'diverged');
227
+ return { phase: 'rejected', reason: 'diverged' };
228
+ }
229
+ fresh = { fingerprint: (0, external_rich_document_1.richDocumentFingerprint)(parsed.document), document: parsed.document };
230
+ commentMetadata = snapshot.metadata;
231
+ }
232
+ if (fresh.fingerprint !== session.value.baseline?.fingerprint) {
233
+ this.store.applyVerifyOutcome(sessionId, 'diverged');
234
+ return { phase: 'rejected', reason: 'diverged' };
235
+ }
236
+ if (session.value.state === 'outcome_unknown') {
237
+ const retry = this.store.beginRetryDispatch(sessionId, fingerprint, expectedRevision);
238
+ if (!retry.ok) {
239
+ return { phase: 'rejected', reason: this.writeFailure(retry.reason) };
240
+ }
241
+ }
242
+ else if (session.value.state === 'editable') {
243
+ const dispatch = this.store.beginDispatch(sessionId, fingerprint, expectedRevision);
244
+ if (!dispatch.ok) {
245
+ return { phase: 'rejected', reason: this.writeFailure(dispatch.reason) };
246
+ }
247
+ }
248
+ else {
249
+ return { phase: 'rejected', reason: 'session_not_editable' };
250
+ }
251
+ if (kind === 'description_edit') {
252
+ const emit = provider === 'jira' ? (0, jira_adf_converter_1.richDocumentToAdf)(canonical) : (0, clickup_markdown_converter_1.richDocumentToMarkdown)(canonical);
253
+ if ('ok' in emit && !emit.ok) {
254
+ this.store.revertDispatch(sessionId);
255
+ return { phase: 'rejected', reason: 'unsupported_content' };
256
+ }
257
+ const raw = 'ok' in emit && 'markdown' in emit ? emit.markdown : emit;
258
+ try {
259
+ await adapter.descriptionEdit.writeDescription((await this.storage.getIntegrationConnectionCredentials(provider)), context, session.value.remoteTaskId, raw);
260
+ }
261
+ catch (error) {
262
+ if (isUnknownOutcome(error)) {
263
+ return { phase: 'outcome_unknown' };
264
+ }
265
+ this.store.revertDispatch(sessionId);
266
+ throw error;
267
+ }
268
+ }
269
+ else {
270
+ try {
271
+ await adapter.ownedMutations.updateOwnedComment((await this.storage.getIntegrationConnectionCredentials(provider)), context, session.value.remoteTaskId, session.value.remoteCommentId, canonical, commentMetadata);
272
+ }
273
+ catch (error) {
274
+ if (isUnknownOutcome(error)) {
275
+ return { phase: 'outcome_unknown' };
276
+ }
277
+ this.store.revertDispatch(sessionId);
278
+ throw error;
279
+ }
280
+ }
281
+ const saved = this.store.markSavedUnverified(sessionId);
282
+ if (!saved.ok) {
283
+ return { phase: 'outcome_unknown' };
284
+ }
285
+ return { phase: 'dispatched' };
286
+ }
287
+ async postWriteVerification(sessionId, provider, kind, pendingFingerprint, canonical) {
288
+ const session = this.store.get(sessionId);
289
+ if (!session.ok) {
290
+ return this.writeRejected(null, this.writeFailure(session.reason));
291
+ }
292
+ const read = await this.freshContentFingerprint(provider, kind, session.value);
293
+ if (read.generationChanged) {
294
+ this.store.invalidate(sessionId);
295
+ return { outcome: 'saved_unverified', session: this.currentView(sessionId) };
296
+ }
297
+ if (!read.ok) {
298
+ return { outcome: 'saved_unverified', session: this.currentView(sessionId) };
299
+ }
300
+ if (read.fingerprint === pendingFingerprint) {
301
+ const committed = this.store.applyVerifyOutcome(sessionId, 'new_payload', {
302
+ document: canonical,
303
+ fingerprint: pendingFingerprint,
304
+ });
305
+ if (committed.ok) {
306
+ return {
307
+ outcome: 'saved',
308
+ revision: committed.value.revision,
309
+ session: this.store.view(committed.value),
310
+ };
311
+ }
312
+ }
313
+ else if (read.fingerprint !== session.value.baseline?.fingerprint) {
314
+ this.store.applyVerifyOutcome(sessionId, 'diverged');
315
+ }
316
+ return { outcome: 'saved_unverified', session: this.currentView(sessionId) };
317
+ }
318
+ async freshContentFingerprint(provider, kind, session) {
319
+ const adapter = this.providers.get(provider);
320
+ const before = await this.storage.getIntegrationConnection(provider);
321
+ if (!before ||
322
+ before.provider !== provider ||
323
+ before.id !== session.connectionId ||
324
+ before.generation !== session.connectionGeneration) {
325
+ return { ok: false, fingerprint: null, generationChanged: true };
326
+ }
327
+ let fingerprint = null;
328
+ try {
329
+ if (kind === 'description_edit') {
330
+ if (!adapter.descriptionEdit) {
331
+ throw this.unsupported(provider);
332
+ }
333
+ const raw = await adapter.descriptionEdit.readDescription((await this.storage.getIntegrationConnectionCredentials(provider)), this.context(before), session.remoteTaskId);
334
+ const parsed = this.parseProviderDescription(provider, raw);
335
+ fingerprint = parsed.supported ? (0, external_rich_document_1.richDocumentFingerprint)(parsed.document) : null;
336
+ }
337
+ else {
338
+ if (!adapter.ownedMutations) {
339
+ throw this.unsupported(provider);
340
+ }
341
+ const token = this.sessionLookupToken(session.providerMetadata.lookupToken ?? '');
342
+ const snapshot = token === null
343
+ ? null
344
+ : await adapter.ownedMutations.findComment((await this.storage.getIntegrationConnectionCredentials(provider)), this.context(before), session.remoteTaskId, session.remoteCommentId, token.pageProof);
345
+ if (snapshot !== null) {
346
+ const parsed = this.parseProviderComment(provider, snapshot.raw);
347
+ fingerprint = parsed.supported ? (0, external_rich_document_1.richDocumentFingerprint)(parsed.document) : null;
348
+ }
349
+ }
350
+ }
351
+ catch {
352
+ return { ok: false, fingerprint: null, generationChanged: false };
353
+ }
354
+ const after = await this.storage.getIntegrationConnection(provider);
355
+ if (!after ||
356
+ after.provider !== provider ||
357
+ after.id !== session.connectionId ||
358
+ after.generation !== session.connectionGeneration) {
359
+ return { ok: false, fingerprint: null, generationChanged: true };
360
+ }
361
+ return { ok: fingerprint !== null, fingerprint, generationChanged: false };
362
+ }
363
+ async reloadSession(sessionId) {
364
+ const session = this.store.get(sessionId);
365
+ if (!session.ok) {
366
+ throw this.sessionFailure(session.reason);
367
+ }
368
+ if (session.value.kind === 'comment_delete') {
369
+ throw new error_types_1.ValidationError('The session does not support reload.', {
370
+ reason: 'wrong_session_kind',
371
+ });
372
+ }
373
+ this.requireRichEditCapability();
374
+ const provider = session.value.provider;
375
+ const { connection, credentials } = await this.loadStableConnection(provider);
376
+ if (connection.id !== session.value.connectionId) {
377
+ this.store.invalidate(sessionId);
378
+ throw new error_types_1.ValidationError('The connection was replaced; the session is invalid.', {
379
+ reason: 'connection_superseded',
380
+ });
381
+ }
382
+ if (session.value.kind === 'description_edit') {
383
+ const adapter = this.providers.get(provider);
384
+ if (!adapter.descriptionEdit) {
385
+ throw this.unsupported(provider);
386
+ }
387
+ const raw = await adapter.descriptionEdit.readDescription(credentials, this.context(connection), session.value.remoteTaskId);
388
+ const parsed = this.parseProviderDescription(provider, raw);
389
+ if (!parsed.supported) {
390
+ this.store.applyVerifyOutcome(sessionId, 'diverged');
391
+ return { status: 'unsupported', session: this.currentView(sessionId) };
392
+ }
393
+ const reloaded = this.store.commitReload(sessionId, {
394
+ document: parsed.document,
395
+ fingerprint: (0, external_rich_document_1.richDocumentFingerprint)(parsed.document),
396
+ });
397
+ if (!reloaded.ok) {
398
+ throw this.sessionFailure(reloaded.reason);
399
+ }
400
+ return { status: 'reloaded', session: this.store.view(reloaded.value) };
401
+ }
402
+ const adapter = this.providers.get(provider);
403
+ if (!adapter.ownedMutations) {
404
+ throw this.unsupported(provider);
405
+ }
406
+ const token = this.sessionLookupToken(session.value.providerMetadata.lookupToken ?? '');
407
+ if (token === null) {
408
+ this.store.invalidate(sessionId);
409
+ return { status: 'unsupported', session: this.currentView(sessionId) };
410
+ }
411
+ const snapshot = await adapter.ownedMutations.findComment(credentials, this.context(connection), session.value.remoteTaskId, session.value.remoteCommentId, token.pageProof);
412
+ if (snapshot === null) {
413
+ const gone = this.store.markDeleted(sessionId);
414
+ return { status: 'gone', session: gone.ok ? this.store.view(gone.value) : null };
415
+ }
416
+ if (snapshot.authorRemoteId === null ||
417
+ snapshot.authorRemoteId !== session.value.providerMetadata.ownerRemoteId) {
418
+ this.store.applyVerifyOutcome(sessionId, 'diverged');
419
+ return { status: 'unsupported', session: this.currentView(sessionId) };
420
+ }
421
+ const parsed = this.parseProviderComment(provider, snapshot.raw);
422
+ if (!parsed.supported) {
423
+ this.store.applyVerifyOutcome(sessionId, 'diverged');
424
+ return { status: 'unsupported', session: this.currentView(sessionId) };
425
+ }
426
+ const reloaded = this.store.commitReload(sessionId, {
427
+ document: parsed.document,
428
+ fingerprint: (0, external_rich_document_1.richDocumentFingerprint)(parsed.document),
429
+ });
430
+ if (!reloaded.ok) {
431
+ throw this.sessionFailure(reloaded.reason);
432
+ }
433
+ return { status: 'reloaded', session: this.store.view(reloaded.value) };
434
+ }
435
+ async verifySession(sessionId) {
436
+ const session = this.store.get(sessionId);
437
+ if (!session.ok) {
438
+ return { session: null, remoteState: null, reason: this.verifyFailure(session.reason) };
439
+ }
440
+ if (session.value.kind === 'comment_delete') {
441
+ return this.verifyDeleteSession(session.value);
442
+ }
443
+ const read = await this.freshContentFingerprint(session.value.provider, session.value.kind, session.value);
444
+ if (read.generationChanged) {
445
+ this.store.invalidate(sessionId);
446
+ return this.verifyResult(sessionId, 'diverged');
447
+ }
448
+ if (!read.ok) {
449
+ return this.verifyResult(sessionId, null);
450
+ }
451
+ const pending = session.value.pendingWrite?.fingerprint ?? null;
452
+ if (pending !== null && read.fingerprint === pending) {
453
+ const applied = this.store.applyVerifyOutcome(sessionId, 'new_payload', {
454
+ document: null,
455
+ fingerprint: pending,
456
+ });
457
+ return this.verifyResult(sessionId, applied.ok ? 'new_payload' : null);
458
+ }
459
+ if (read.fingerprint === session.value.baseline?.fingerprint) {
460
+ if (session.value.state === 'editable') {
461
+ return this.verifyResult(sessionId, 'old_baseline');
462
+ }
463
+ const applied = this.store.applyVerifyOutcome(sessionId, 'old_baseline');
464
+ return this.verifyResult(sessionId, applied.ok ? 'old_baseline' : null);
465
+ }
466
+ const applied = this.store.applyVerifyOutcome(sessionId, 'diverged');
467
+ return this.verifyResult(sessionId, applied.ok ? 'diverged' : null);
468
+ }
469
+ async executeCommentDelete(sessionId) {
470
+ this.requireOwnedDeleteCapability();
471
+ const session = this.store.get(sessionId);
472
+ if (!session.ok) {
473
+ return {
474
+ outcome: 'rejected',
475
+ reason: this.deleteFailure(session.reason),
476
+ session: null,
477
+ };
478
+ }
479
+ if (session.value.kind !== 'comment_delete') {
480
+ throw new error_types_1.ValidationError('The session does not support comment deletion.', {
481
+ reason: 'wrong_session_kind',
482
+ });
483
+ }
484
+ const provider = session.value.provider;
485
+ const adapter = this.providers.get(provider);
486
+ if (!adapter.ownedMutations) {
487
+ throw this.unsupported(provider);
488
+ }
489
+ try {
490
+ return await this.gate.run(provider, async () => {
491
+ const connection = await this.storage.getIntegrationConnection(provider);
492
+ if (!connection ||
493
+ connection.provider !== provider ||
494
+ connection.id !== session.value.connectionId ||
495
+ connection.generation !== session.value.connectionGeneration) {
496
+ this.store.invalidate(sessionId);
497
+ return this.deleteRejected(this.currentView(sessionId), 'connection_superseded');
498
+ }
499
+ const token = this.sessionLookupToken(session.value.providerMetadata.lookupToken ?? '');
500
+ if (token === null ||
501
+ token.provider !== provider ||
502
+ token.connectionId !== connection.id ||
503
+ token.connectionGeneration !== connection.generation ||
504
+ token.taskId !== session.value.remoteTaskId ||
505
+ token.commentId !== session.value.remoteCommentId) {
506
+ this.store.invalidate(sessionId);
507
+ return this.deleteRejected(this.currentView(sessionId), 'connection_superseded');
508
+ }
509
+ const preflight = this.store.get(sessionId);
510
+ if (!preflight.ok) {
511
+ return this.deleteRejected(null, this.deleteFailure(preflight.reason));
512
+ }
513
+ const deleteFingerprint = `comment_delete:${session.value.remoteCommentId}`;
514
+ if (preflight.value.state === 'outcome_unknown') {
515
+ const retry = this.store.beginRetryDispatch(sessionId, deleteFingerprint, preflight.value.revision);
516
+ if (!retry.ok) {
517
+ return this.deleteRejected(this.currentView(sessionId), this.deleteFailure(retry.reason));
518
+ }
519
+ }
520
+ else if (preflight.value.state === 'editable') {
521
+ const dispatch = this.store.beginDispatch(sessionId, deleteFingerprint, preflight.value.revision);
522
+ if (!dispatch.ok) {
523
+ return this.deleteRejected(this.currentView(sessionId), this.deleteFailure(dispatch.reason));
524
+ }
525
+ }
526
+ else {
527
+ return this.deleteRejected(this.currentView(sessionId), this.deleteFailure('session_not_editable'));
528
+ }
529
+ try {
530
+ await adapter.ownedMutations.deleteComment((await this.storage.getIntegrationConnectionCredentials(provider)), this.context(connection), session.value.remoteTaskId, session.value.remoteCommentId);
531
+ }
532
+ catch (error) {
533
+ if (isProviderNotFound(error)) {
534
+ const deleted = this.store.markDeleted(sessionId);
535
+ return {
536
+ outcome: 'already_deleted',
537
+ session: this.store.view(deleted.ok ? deleted.value : session.value),
538
+ };
539
+ }
540
+ if (isUnknownOutcome(error)) {
541
+ return { outcome: 'outcome_unknown', session: this.currentView(sessionId) };
542
+ }
543
+ this.store.invalidate(sessionId);
544
+ return this.deleteRejected(this.currentView(sessionId), 'delete_rejected');
545
+ }
546
+ const deleted = this.store.markDeleted(sessionId);
547
+ return {
548
+ outcome: 'deleted',
549
+ session: this.store.view(deleted.ok ? deleted.value : session.value),
550
+ };
551
+ });
552
+ }
553
+ catch (error) {
554
+ if (error instanceof error_types_1.BusyError) {
555
+ return this.deleteRejected(this.currentView(sessionId), 'operation_busy');
556
+ }
557
+ throw error;
558
+ }
559
+ }
560
+ async createCommentSession(provider, remoteTaskId, commentId, lookupProof, kind) {
561
+ const adapter = this.providers.get(provider);
562
+ if (!adapter.ownedMutations) {
563
+ throw this.unsupported(provider);
564
+ }
565
+ const { connection, credentials } = await this.loadStableConnection(provider);
566
+ const [ownerRemoteId, snapshot] = await Promise.all([
567
+ adapter.ownedMutations.getCurrentOwnerRemoteId(credentials),
568
+ adapter.ownedMutations.findComment(credentials, this.context(connection), remoteTaskId, commentId, lookupProof),
569
+ ]);
570
+ if (snapshot === null) {
571
+ throw new error_types_1.ValidationError('The comment could not be found.', {
572
+ provider,
573
+ reason: 'comment_not_found',
574
+ });
575
+ }
576
+ if (snapshot.authorRemoteId === null || snapshot.authorRemoteId !== ownerRemoteId) {
577
+ throw new error_types_1.ValidationError('Only comments you authored can be changed.', {
578
+ provider,
579
+ reason: 'not_owned',
580
+ });
581
+ }
582
+ let baseline = null;
583
+ if (kind === 'comment_edit') {
584
+ const parsed = this.parseProviderComment(provider, snapshot.raw);
585
+ if (!parsed.supported) {
586
+ throw new error_types_1.ValidationError('The comment contains unsupported content.', {
587
+ provider,
588
+ reason: 'unsupported_content',
589
+ });
590
+ }
591
+ baseline = {
592
+ document: parsed.document,
593
+ fingerprint: (0, external_rich_document_1.richDocumentFingerprint)(parsed.document),
594
+ };
595
+ }
596
+ const lookupToken = (0, external_comment_lookup_token_1.encodeExternalCommentLookupToken)({
597
+ v: 1,
598
+ provider,
599
+ connectionId: connection.id,
600
+ connectionGeneration: connection.generation,
601
+ taskId: remoteTaskId,
602
+ commentId,
603
+ pageProof: lookupProof,
604
+ });
605
+ const created = this.store.create({
606
+ kind,
607
+ provider,
608
+ connectionId: connection.id,
609
+ connectionGeneration: connection.generation,
610
+ scopeKey: this.scopeKey(connection),
611
+ remoteTaskId,
612
+ remoteCommentId: commentId,
613
+ baseline,
614
+ providerMetadata: { lookupToken, ownerRemoteId },
615
+ });
616
+ if (!created.ok) {
617
+ throw this.storeFailure(created.reason);
618
+ }
619
+ return { session: this.store.view(created.value) };
620
+ }
621
+ parseProviderDescription(provider, raw) {
622
+ const parsed = provider === 'jira' ? (0, jira_adf_converter_1.adfToRichDocument)(raw) : (0, clickup_markdown_converter_1.markdownToRichDocument)(raw);
623
+ return parsed.supported ? { supported: true, document: parsed.document } : { supported: false };
624
+ }
625
+ parseProviderComment(provider, raw) {
626
+ const parsed = provider === 'jira' ? (0, jira_adf_converter_1.adfToRichDocument)(raw) : (0, clickup_comment_converter_1.clickupCommentDeltaToRichDocument)(raw);
627
+ return parsed.supported ? { supported: true, document: parsed.document } : { supported: false };
628
+ }
629
+ sessionLookupToken(value) {
630
+ const token = (0, external_comment_lookup_token_1.decodeExternalCommentLookupToken)(value);
631
+ return token;
632
+ }
633
+ requireRichEditCapability() {
634
+ if (!this.capabilities.richEdit) {
635
+ throw new error_types_1.ValidationError('Rich external editing is disabled by the capability gate.', {
636
+ reason: 'capability_no_go',
637
+ });
638
+ }
639
+ }
640
+ requireOwnedDeleteCapability() {
641
+ if (!this.capabilities.ownedDelete) {
642
+ throw new error_types_1.ValidationError('Owned comment deletion is disabled by the capability gate.', {
643
+ reason: 'capability_no_go',
644
+ });
645
+ }
646
+ }
647
+ async loadStableConnection(provider) {
648
+ for (let attempt = 0; attempt < 3; attempt += 1) {
649
+ const before = await this.storage.getIntegrationConnection(provider);
650
+ if (!before || before.provider !== provider) {
651
+ throw this.notConnected(provider);
652
+ }
653
+ const credentials = await this.storage.getIntegrationConnectionCredentials(provider);
654
+ const after = await this.storage.getIntegrationConnection(provider);
655
+ if (!credentials ||
656
+ credentials.provider !== provider ||
657
+ !after ||
658
+ after.provider !== provider) {
659
+ throw this.notConnected(provider);
660
+ }
661
+ if (before.id === after.id && before.generation === after.generation) {
662
+ return { connection: after, credentials };
663
+ }
664
+ }
665
+ throw new error_types_1.BusyError('Integration connection changed during the operation.', {
666
+ provider,
667
+ reason: 'connection_changed',
668
+ });
669
+ }
670
+ currentView(sessionId) {
671
+ const session = this.store.get(sessionId);
672
+ return session.ok ? this.store.view(session.value) : null;
673
+ }
674
+ verifyResult(sessionId, remoteState) {
675
+ const session = this.store.get(sessionId);
676
+ return {
677
+ session: session.ok ? this.store.view(session.value) : null,
678
+ remoteState,
679
+ reason: null,
680
+ };
681
+ }
682
+ async verifyDeleteSession(session) {
683
+ const adapter = this.providers.get(session.provider);
684
+ if (!adapter.ownedMutations) {
685
+ throw this.unsupported(session.provider);
686
+ }
687
+ const token = this.sessionLookupToken(session.providerMetadata.lookupToken ?? '');
688
+ if (token === null) {
689
+ this.store.invalidate(session.sessionId);
690
+ return this.verifyResult(session.sessionId, 'diverged');
691
+ }
692
+ const { connection, credentials } = await this.loadStableConnection(session.provider);
693
+ if (connection.id !== session.connectionId) {
694
+ this.store.invalidate(session.sessionId);
695
+ return this.verifyResult(session.sessionId, 'diverged');
696
+ }
697
+ const snapshot = await adapter.ownedMutations.findComment(credentials, this.context(connection), session.remoteTaskId, session.remoteCommentId, token.pageProof);
698
+ if (snapshot === null) {
699
+ const deleted = this.store.markDeleted(session.sessionId);
700
+ return this.verifyResult(deleted.ok ? deleted.value.sessionId : session.sessionId, 'gone');
701
+ }
702
+ if (snapshot.authorRemoteId !== session.providerMetadata.ownerRemoteId) {
703
+ const diverged = this.store.applyVerifyOutcome(session.sessionId, 'diverged');
704
+ return this.verifyResult(diverged.ok ? diverged.value.sessionId : session.sessionId, 'diverged');
705
+ }
706
+ if (session.state === 'outcome_unknown' || session.state === 'saved_unverified') {
707
+ const stillPresent = this.store.applyVerifyOutcome(session.sessionId, 'old_baseline');
708
+ return this.verifyResult(stillPresent.ok ? stillPresent.value.sessionId : session.sessionId, 'old_baseline');
709
+ }
710
+ return this.verifyResult(session.sessionId, 'old_baseline');
711
+ }
712
+ writeRejected(session, reason) {
713
+ return { outcome: 'pre_dispatch_rejected', reason, session };
714
+ }
715
+ deleteRejected(session, reason) {
716
+ return { outcome: 'rejected', reason, session };
717
+ }
718
+ writeFailure(reason) {
719
+ if (reason === 'session_not_found' || reason === 'session_expired') {
720
+ return reason;
721
+ }
722
+ if (reason === 'revision_conflict') {
723
+ return reason;
724
+ }
725
+ return 'session_not_editable';
726
+ }
727
+ deleteFailure(reason) {
728
+ if (reason === 'session_not_found' || reason === 'session_expired') {
729
+ return reason;
730
+ }
731
+ return 'session_not_editable';
732
+ }
733
+ verifyFailure(reason) {
734
+ return reason === 'session_expired' ? 'session_expired' : 'session_not_found';
735
+ }
736
+ sessionFailure(reason) {
737
+ return new error_types_1.ValidationError('The edit session is no longer available.', { reason });
738
+ }
739
+ storeFailure(reason) {
740
+ return new error_types_1.ValidationError('The edit session could not be created.', {
741
+ reason: reason === 'baseline_too_large' ? 'baseline_too_large' : 'store_limit_exceeded',
742
+ });
743
+ }
744
+ notConnected(provider) {
745
+ return new error_types_1.ValidationError('Connect the integration before editing.', {
746
+ provider,
747
+ reason: 'not_connected',
748
+ });
749
+ }
750
+ unsupported(provider) {
751
+ return new error_types_1.ValidationError('The provider does not support this operation.', {
752
+ provider,
753
+ reason: 'unsupported_capability',
754
+ });
755
+ }
756
+ context(connection) {
757
+ return {
758
+ connectionId: connection.id,
759
+ connectionGeneration: connection.generation,
760
+ };
761
+ }
762
+ scopeKey(connection) {
763
+ return connection.id;
764
+ }
765
+ };
766
+ exports.ExternalEditSessionService = ExternalEditSessionService;
767
+ exports.ExternalEditSessionService = ExternalEditSessionService = __decorate([
768
+ (0, common_1.Injectable)(),
769
+ __param(0, (0, common_1.Inject)(storage_interface_1.STORAGE_SERVICE)),
770
+ __param(4, (0, common_1.Optional)()),
771
+ __param(4, (0, common_1.Inject)(external_rich_capabilities_1.EXTERNAL_RICH_CAPABILITIES_TOKEN)),
772
+ __metadata("design:paramtypes", [Object, external_task_provider_registry_1.ExternalTaskProviderRegistry,
773
+ provider_operation_gate_1.ProviderOperationGate,
774
+ external_edit_session_store_1.ExternalEditSessionStore, Object])
775
+ ], ExternalEditSessionService);
776
+ //# sourceMappingURL=external-edit-session.service.js.map