devchain-cli 0.22.0 → 0.23.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 (241) hide show
  1. package/dist/drizzle/0077_familiar_morbius.sql +6 -0
  2. package/dist/drizzle/0078_preserve_legacy_connection_ownership.sql +180 -0
  3. package/dist/drizzle/0079_premium_forgotten_one.sql +18 -0
  4. package/dist/drizzle/0080_lethal_thunderbolt_ross.sql +49 -0
  5. package/dist/drizzle/0081_early_kronos.sql +58 -0
  6. package/dist/drizzle/0082_huge_black_queen.sql +14 -0
  7. package/dist/drizzle/meta/0077_snapshot.json +6957 -0
  8. package/dist/drizzle/meta/0078_snapshot.json +6957 -0
  9. package/dist/drizzle/meta/0079_snapshot.json +7093 -0
  10. package/dist/drizzle/meta/0080_snapshot.json +7241 -0
  11. package/dist/drizzle/meta/0081_snapshot.json +7482 -0
  12. package/dist/drizzle/meta/0082_snapshot.json +7571 -0
  13. package/dist/drizzle/meta/_journal.json +42 -0
  14. package/dist/node_modules/@devchain/shared/tsconfig.tsbuildinfo +1 -1
  15. package/dist/server/common/errors/error-types.d.ts +7 -0
  16. package/dist/server/common/errors/error-types.js +7 -1
  17. package/dist/server/common/errors/error-types.js.map +1 -1
  18. package/dist/server/modules/epic-time/controllers/agent-time-buffer.controller.d.ts +8 -0
  19. package/dist/server/modules/epic-time/controllers/agent-time-buffer.controller.js +67 -0
  20. package/dist/server/modules/epic-time/controllers/agent-time-buffer.controller.js.map +1 -0
  21. package/dist/server/modules/epic-time/controllers/external-estimate-log.controller.d.ts +12 -0
  22. package/dist/server/modules/epic-time/controllers/external-estimate-log.controller.js +322 -0
  23. package/dist/server/modules/epic-time/controllers/external-estimate-log.controller.js.map +1 -0
  24. package/dist/server/modules/epic-time/epic-time.module.js +14 -4
  25. package/dist/server/modules/epic-time/epic-time.module.js.map +1 -1
  26. package/dist/server/modules/epic-time/models/epic-time-daily-allocator.d.ts +30 -0
  27. package/dist/server/modules/epic-time/models/epic-time-daily-allocator.js +125 -0
  28. package/dist/server/modules/epic-time/models/epic-time-daily-allocator.js.map +1 -0
  29. package/dist/server/modules/epic-time/models/epic-time-local-day.d.ts +9 -0
  30. package/dist/server/modules/epic-time/models/epic-time-local-day.js +164 -0
  31. package/dist/server/modules/epic-time/models/epic-time-local-day.js.map +1 -0
  32. package/dist/server/modules/epic-time/models/epic-time.models.d.ts +138 -0
  33. package/dist/server/modules/epic-time/models/epic-time.models.js +2 -0
  34. package/dist/server/modules/epic-time/models/epic-time.models.js.map +1 -1
  35. package/dist/server/modules/epic-time/services/agent-time-accounting.service.d.ts +1 -0
  36. package/dist/server/modules/epic-time/services/agent-time-accounting.service.js +31 -8
  37. package/dist/server/modules/epic-time/services/agent-time-accounting.service.js.map +1 -1
  38. package/dist/server/modules/epic-time/services/epic-estimate-logging.service.d.ts +37 -0
  39. package/dist/server/modules/epic-time/services/epic-estimate-logging.service.js +716 -0
  40. package/dist/server/modules/epic-time/services/epic-estimate-logging.service.js.map +1 -0
  41. package/dist/server/modules/epic-time/services/epic-time.service.d.ts +12 -3
  42. package/dist/server/modules/epic-time/services/epic-time.service.js +155 -69
  43. package/dist/server/modules/epic-time/services/epic-time.service.js.map +1 -1
  44. package/dist/server/modules/epic-time/services/epic-time.store.d.ts +29 -3
  45. package/dist/server/modules/epic-time/services/epic-time.store.js +524 -40
  46. package/dist/server/modules/epic-time/services/epic-time.store.js.map +1 -1
  47. package/dist/server/modules/epics/controllers/epics.controller.d.ts +10 -1
  48. package/dist/server/modules/epics/controllers/epics.controller.js +108 -2
  49. package/dist/server/modules/epics/controllers/epics.controller.js.map +1 -1
  50. package/dist/server/modules/epics/epics.module.js +8 -2
  51. package/dist/server/modules/epics/epics.module.js.map +1 -1
  52. package/dist/server/modules/epics/models/epic-relations.models.d.ts +34 -0
  53. package/dist/server/modules/epics/models/epic-relations.models.js +16 -0
  54. package/dist/server/modules/epics/models/epic-relations.models.js.map +1 -0
  55. package/dist/server/modules/epics/services/epic-relation-target-resolver.d.ts +8 -0
  56. package/dist/server/modules/epics/services/epic-relation-target-resolver.js +37 -0
  57. package/dist/server/modules/epics/services/epic-relation-target-resolver.js.map +1 -0
  58. package/dist/server/modules/epics/services/epic-relations.service.d.ts +52 -0
  59. package/dist/server/modules/epics/services/epic-relations.service.js +135 -0
  60. package/dist/server/modules/epics/services/epic-relations.service.js.map +1 -0
  61. package/dist/server/modules/epics/services/epics.service.d.ts +9 -2
  62. package/dist/server/modules/epics/services/epics.service.js +115 -11
  63. package/dist/server/modules/epics/services/epics.service.js.map +1 -1
  64. package/dist/server/modules/events/catalog/broadcast-registry.js +16 -0
  65. package/dist/server/modules/events/catalog/broadcast-registry.js.map +1 -1
  66. package/dist/server/modules/events/catalog/epic.relations.invalidated.d.ts +12 -0
  67. package/dist/server/modules/events/catalog/epic.relations.invalidated.js +13 -0
  68. package/dist/server/modules/events/catalog/epic.relations.invalidated.js.map +1 -0
  69. package/dist/server/modules/events/catalog/epic.time.scope.invalidated.d.ts +12 -0
  70. package/dist/server/modules/events/catalog/epic.time.scope.invalidated.js +13 -0
  71. package/dist/server/modules/events/catalog/epic.time.scope.invalidated.js.map +1 -0
  72. package/dist/server/modules/events/catalog/index.d.ts +27 -4
  73. package/dist/server/modules/events/catalog/index.js +6 -0
  74. package/dist/server/modules/events/catalog/index.js.map +1 -1
  75. package/dist/server/modules/events/catalog/integration.connection.created.d.ts +4 -1
  76. package/dist/server/modules/events/catalog/integration.connection.created.js +5 -2
  77. package/dist/server/modules/events/catalog/integration.connection.created.js.map +1 -1
  78. package/dist/server/modules/events/catalog/integration.connection.deleted.d.ts +4 -1
  79. package/dist/server/modules/events/catalog/integration.connection.deleted.js +5 -2
  80. package/dist/server/modules/events/catalog/integration.connection.deleted.js.map +1 -1
  81. package/dist/server/modules/events/catalog/integration.connection.legacy.d.ts +85 -0
  82. package/dist/server/modules/events/catalog/integration.connection.legacy.js +41 -0
  83. package/dist/server/modules/events/catalog/integration.connection.legacy.js.map +1 -0
  84. package/dist/server/modules/events/catalog/integration.connection.updated.d.ts +4 -1
  85. package/dist/server/modules/events/catalog/integration.connection.updated.js +5 -2
  86. package/dist/server/modules/events/catalog/integration.connection.updated.js.map +1 -1
  87. package/dist/server/modules/events/services/committed-event-replay.d.ts +10 -0
  88. package/dist/server/modules/events/services/committed-event-replay.js +30 -0
  89. package/dist/server/modules/events/services/committed-event-replay.js.map +1 -0
  90. package/dist/server/modules/events/services/committed-event.store.d.ts +1 -0
  91. package/dist/server/modules/events/services/committed-event.store.js +12 -7
  92. package/dist/server/modules/events/services/committed-event.store.js.map +1 -1
  93. package/dist/server/modules/events/services/durable-event-registry.service.d.ts +9 -2
  94. package/dist/server/modules/events/services/durable-event-registry.service.js.map +1 -1
  95. package/dist/server/modules/external-integrations/adapters/clickup-external-task.provider.d.ts +7 -0
  96. package/dist/server/modules/external-integrations/adapters/clickup-external-task.provider.js +158 -50
  97. package/dist/server/modules/external-integrations/adapters/clickup-external-task.provider.js.map +1 -1
  98. package/dist/server/modules/external-integrations/adapters/jira-external-task.provider.d.ts +4 -0
  99. package/dist/server/modules/external-integrations/adapters/jira-external-task.provider.js +73 -33
  100. package/dist/server/modules/external-integrations/adapters/jira-external-task.provider.js.map +1 -1
  101. package/dist/server/modules/external-integrations/connections/integration-connections.controller.d.ts +6 -3
  102. package/dist/server/modules/external-integrations/connections/integration-connections.controller.js +67 -12
  103. package/dist/server/modules/external-integrations/connections/integration-connections.controller.js.map +1 -1
  104. package/dist/server/modules/external-integrations/connections/integration-connections.service.d.ts +35 -3
  105. package/dist/server/modules/external-integrations/connections/integration-connections.service.js +178 -17
  106. package/dist/server/modules/external-integrations/connections/integration-connections.service.js.map +1 -1
  107. package/dist/server/modules/external-integrations/connections/managed-subtask-sync.controller.d.ts +6 -3
  108. package/dist/server/modules/external-integrations/connections/managed-subtask-sync.controller.js +51 -11
  109. package/dist/server/modules/external-integrations/connections/managed-subtask-sync.controller.js.map +1 -1
  110. package/dist/server/modules/external-integrations/external-integrations.module.js +6 -1
  111. package/dist/server/modules/external-integrations/external-integrations.module.js.map +1 -1
  112. package/dist/server/modules/external-integrations/models/external-edit-session.models.d.ts +1 -0
  113. package/dist/server/modules/external-integrations/models/external-provider.models.d.ts +6 -2
  114. package/dist/server/modules/external-integrations/models/external-provider.models.js +2 -3
  115. package/dist/server/modules/external-integrations/models/external-provider.models.js.map +1 -1
  116. package/dist/server/modules/external-integrations/models/external-time-mutation.models.d.ts +33 -2
  117. package/dist/server/modules/external-integrations/models/external-time-mutation.models.js +14 -0
  118. package/dist/server/modules/external-integrations/models/external-time-mutation.models.js.map +1 -1
  119. package/dist/server/modules/external-integrations/my-work/external-edit-session.service.d.ts +10 -9
  120. package/dist/server/modules/external-integrations/my-work/external-edit-session.service.js +81 -46
  121. package/dist/server/modules/external-integrations/my-work/external-edit-session.service.js.map +1 -1
  122. package/dist/server/modules/external-integrations/my-work/external-my-work.controller.d.ts +22 -20
  123. package/dist/server/modules/external-integrations/my-work/external-my-work.controller.js +136 -64
  124. package/dist/server/modules/external-integrations/my-work/external-my-work.controller.js.map +1 -1
  125. package/dist/server/modules/external-integrations/my-work/external-my-work.openapi.d.ts +7 -0
  126. package/dist/server/modules/external-integrations/my-work/external-my-work.openapi.js +289 -4
  127. package/dist/server/modules/external-integrations/my-work/external-my-work.openapi.js.map +1 -1
  128. package/dist/server/modules/external-integrations/my-work/external-my-work.service.d.ts +12 -7
  129. package/dist/server/modules/external-integrations/my-work/external-my-work.service.js +114 -54
  130. package/dist/server/modules/external-integrations/my-work/external-my-work.service.js.map +1 -1
  131. package/dist/server/modules/external-integrations/my-work/external-time-mutation.service.d.ts +19 -6
  132. package/dist/server/modules/external-integrations/my-work/external-time-mutation.service.js +346 -46
  133. package/dist/server/modules/external-integrations/my-work/external-time-mutation.service.js.map +1 -1
  134. package/dist/server/modules/external-integrations/sessions/external-edit-session.store.d.ts +2 -1
  135. package/dist/server/modules/external-integrations/sessions/external-edit-session.store.js +3 -2
  136. package/dist/server/modules/external-integrations/sessions/external-edit-session.store.js.map +1 -1
  137. package/dist/server/modules/external-integrations/sessions/external-time-mutation.store.d.ts +6 -1
  138. package/dist/server/modules/external-integrations/sessions/external-time-mutation.store.js +19 -0
  139. package/dist/server/modules/external-integrations/sessions/external-time-mutation.store.js.map +1 -1
  140. package/dist/server/modules/external-integrations/sessions/provider-operation-gate.d.ts +15 -2
  141. package/dist/server/modules/external-integrations/sessions/provider-operation-gate.js +33 -6
  142. package/dist/server/modules/external-integrations/sessions/provider-operation-gate.js.map +1 -1
  143. package/dist/server/modules/external-integrations/subscribers/external-subtask-sync.subscriber.d.ts +13 -6
  144. package/dist/server/modules/external-integrations/subscribers/external-subtask-sync.subscriber.js +212 -75
  145. package/dist/server/modules/external-integrations/subscribers/external-subtask-sync.subscriber.js.map +1 -1
  146. package/dist/server/modules/external-integrations/subscribers/managed-subtask-content.d.ts +13 -4
  147. package/dist/server/modules/external-integrations/subscribers/managed-subtask-content.js +98 -0
  148. package/dist/server/modules/external-integrations/subscribers/managed-subtask-content.js.map +1 -1
  149. package/dist/server/modules/external-integrations/subscribers/managed-subtask-sync-health.service.d.ts +10 -4
  150. package/dist/server/modules/external-integrations/subscribers/managed-subtask-sync-health.service.js +57 -18
  151. package/dist/server/modules/external-integrations/subscribers/managed-subtask-sync-health.service.js.map +1 -1
  152. package/dist/server/modules/mcp/dtos/mcp.dto.d.ts +139 -0
  153. package/dist/server/modules/mcp/dtos/mcp.dto.js +41 -1
  154. package/dist/server/modules/mcp/dtos/mcp.dto.js.map +1 -1
  155. package/dist/server/modules/mcp/services/handlers/epic-context.d.ts +2 -0
  156. package/dist/server/modules/mcp/services/handlers/epic-tools.d.ts +4 -0
  157. package/dist/server/modules/mcp/services/handlers/epic-tools.js +275 -0
  158. package/dist/server/modules/mcp/services/handlers/epic-tools.js.map +1 -1
  159. package/dist/server/modules/mcp/services/mcp-tool-binding.registry.d.ts +2 -1
  160. package/dist/server/modules/mcp/services/mcp-tool-binding.registry.js +13 -8
  161. package/dist/server/modules/mcp/services/mcp-tool-binding.registry.js.map +1 -1
  162. package/dist/server/modules/mcp/services/testing/mcp-tool-binding-registry.fixture.d.ts +1 -1
  163. package/dist/server/modules/mcp/services/testing/mcp-tool-binding-registry.fixture.js +1 -1
  164. package/dist/server/modules/mcp/services/testing/mcp-tool-binding-registry.fixture.js.map +1 -1
  165. package/dist/server/modules/mcp/tool-descriptors/binding-types.d.ts +2 -0
  166. package/dist/server/modules/mcp/tool-descriptors/binding-types.js.map +1 -1
  167. package/dist/server/modules/mcp/tool-descriptors/epic.bindings.js +6 -0
  168. package/dist/server/modules/mcp/tool-descriptors/epic.bindings.js.map +1 -1
  169. package/dist/server/modules/mcp/tool-descriptors/epic.metadata.js +132 -0
  170. package/dist/server/modules/mcp/tool-descriptors/epic.metadata.js.map +1 -1
  171. package/dist/server/modules/projects/controllers/projects.controller.js +1 -4
  172. package/dist/server/modules/projects/controllers/projects.controller.js.map +1 -1
  173. package/dist/server/modules/projects/projects.module.js +2 -0
  174. package/dist/server/modules/projects/projects.module.js.map +1 -1
  175. package/dist/server/modules/projects/services/projects.service.d.ts +4 -1
  176. package/dist/server/modules/projects/services/projects.service.js +23 -2
  177. package/dist/server/modules/projects/services/projects.service.js.map +1 -1
  178. package/dist/server/modules/providers/adapters/claude.adapter.d.ts +4 -2
  179. package/dist/server/modules/providers/adapters/claude.adapter.js +31 -0
  180. package/dist/server/modules/providers/adapters/claude.adapter.js.map +1 -1
  181. package/dist/server/modules/providers/services/provider-mcp-ensure.service.d.ts +7 -0
  182. package/dist/server/modules/providers/services/provider-mcp-ensure.service.js +69 -4
  183. package/dist/server/modules/providers/services/provider-mcp-ensure.service.js.map +1 -1
  184. package/dist/server/modules/session-reader/data/pricing.json +452 -56
  185. package/dist/server/modules/session-reader/services/session-reader.service.d.ts +2 -0
  186. package/dist/server/modules/session-reader/services/session-reader.service.js +85 -9
  187. package/dist/server/modules/session-reader/services/session-reader.service.js.map +1 -1
  188. package/dist/server/modules/session-reader/services/transcript-path-validator.service.js +8 -2
  189. package/dist/server/modules/session-reader/services/transcript-path-validator.service.js.map +1 -1
  190. package/dist/server/modules/session-reader/services/transcript-watcher.service.js +44 -17
  191. package/dist/server/modules/session-reader/services/transcript-watcher.service.js.map +1 -1
  192. package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.d.ts +1 -0
  193. package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.js +1 -0
  194. package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.js.map +1 -1
  195. package/dist/server/modules/sessions/services/session-runtime/session-launch-pipeline.service.js +11 -1
  196. package/dist/server/modules/sessions/services/session-runtime/session-launch-pipeline.service.js.map +1 -1
  197. package/dist/server/modules/sessions/utils/claude-config.d.ts +4 -1
  198. package/dist/server/modules/sessions/utils/claude-config.js +265 -60
  199. package/dist/server/modules/sessions/utils/claude-config.js.map +1 -1
  200. package/dist/server/modules/storage/db/schema.d.ts +1109 -98
  201. package/dist/server/modules/storage/db/schema.js +141 -3
  202. package/dist/server/modules/storage/db/schema.js.map +1 -1
  203. package/dist/server/modules/storage/db/sqlite-json.d.ts +1 -0
  204. package/dist/server/modules/storage/db/sqlite-json.js +4 -0
  205. package/dist/server/modules/storage/db/sqlite-json.js.map +1 -1
  206. package/dist/server/modules/storage/interfaces/storage.interface.d.ts +58 -10
  207. package/dist/server/modules/storage/interfaces/storage.interface.js.map +1 -1
  208. package/dist/server/modules/storage/local/delegates/epic.delegate.d.ts +30 -5
  209. package/dist/server/modules/storage/local/delegates/epic.delegate.js +718 -14
  210. package/dist/server/modules/storage/local/delegates/epic.delegate.js.map +1 -1
  211. package/dist/server/modules/storage/local/delegates/external-estimate-log.delegate.d.ts +52 -0
  212. package/dist/server/modules/storage/local/delegates/external-estimate-log.delegate.js +659 -0
  213. package/dist/server/modules/storage/local/delegates/external-estimate-log.delegate.js.map +1 -0
  214. package/dist/server/modules/storage/local/delegates/external-managed-subtask.delegate.d.ts +2 -1
  215. package/dist/server/modules/storage/local/delegates/external-managed-subtask.delegate.js +17 -4
  216. package/dist/server/modules/storage/local/delegates/external-managed-subtask.delegate.js.map +1 -1
  217. package/dist/server/modules/storage/local/delegates/integration.delegate.d.ts +23 -8
  218. package/dist/server/modules/storage/local/delegates/integration.delegate.js +238 -52
  219. package/dist/server/modules/storage/local/delegates/integration.delegate.js.map +1 -1
  220. package/dist/server/modules/storage/local/delegates/project.delegate.d.ts +2 -0
  221. package/dist/server/modules/storage/local/delegates/project.delegate.js +180 -130
  222. package/dist/server/modules/storage/local/delegates/project.delegate.js.map +1 -1
  223. package/dist/server/modules/storage/local/local-storage.service.d.ts +45 -10
  224. package/dist/server/modules/storage/local/local-storage.service.js +99 -15
  225. package/dist/server/modules/storage/local/local-storage.service.js.map +1 -1
  226. package/dist/server/modules/storage/models/domain.models.d.ts +170 -0
  227. package/dist/server/modules/storage/models/domain.models.js +9 -0
  228. package/dist/server/modules/storage/models/domain.models.js.map +1 -1
  229. package/dist/server/templates/teams-dev.json +311 -301
  230. package/dist/server/tsconfig.tsbuildinfo +1 -1
  231. package/dist/server/ui/assets/{ExternalRichEditor-DMtnZIMZ.js → ExternalRichEditor-BG9SopK8.js} +1 -1
  232. package/dist/server/ui/assets/{ReviewDetailPage-BmyiM5IR.js → ReviewDetailPage-DNo7Qx3m.js} +1 -1
  233. package/dist/server/ui/assets/{ReviewsPage-CQ87BMwT.js → ReviewsPage-Cay-IObR.js} +1 -1
  234. package/dist/server/ui/assets/index-C1Fdqua-.js +1197 -0
  235. package/dist/server/ui/assets/index-CV8ydm7w.css +32 -0
  236. package/dist/server/ui/assets/{useReviewSubscription-DjbEUzt4.js → useReviewSubscription-sAAfh4k9.js} +1 -1
  237. package/dist/server/ui/index.html +2 -2
  238. package/dist/templates/teams-dev.json +311 -301
  239. package/package.json +19 -2
  240. package/dist/server/ui/assets/index-BX6Yze-A.js +0 -1177
  241. package/dist/server/ui/assets/index-qoQEv_u4.css +0 -32
@@ -43,10 +43,31 @@ let ExternalTimeMutationService = class ExternalTimeMutationService {
43
43
  this.gate = gate;
44
44
  this.store = store;
45
45
  }
46
- async createTimeEntry(provider, remoteTaskId, input, operationId, expectedEpoch) {
47
- const connection = await this.precheckEpoch(provider, expectedEpoch);
46
+ inspectOperation(operationId) {
47
+ const receipt = this.store.get(operationId);
48
+ if (!receipt) {
49
+ return null;
50
+ }
51
+ const view = this.store.view(receipt);
52
+ return {
53
+ operationId: receipt.operationId,
54
+ kind: receipt.kind,
55
+ tuple: { ...receipt.tuple },
56
+ phase: receipt.phase,
57
+ canVerify: view.canVerify,
58
+ expiresAt: view.expiresAt,
59
+ };
60
+ }
61
+ async createTimeEntry(projectId, provider, remoteTaskId, input, operationId, expectedEpoch, remoteScopeKey) {
62
+ return this.createTimeEntryInternal(projectId, provider, remoteTaskId, input, operationId, expectedEpoch, this.requireRemoteScopeKey(remoteScopeKey));
63
+ }
64
+ async createEstimateTimeEntry(projectId, provider, remoteTaskId, input, operationId, expectedEpoch) {
65
+ return this.createTimeEntryInternal(projectId, provider, remoteTaskId, input, operationId, expectedEpoch, null);
66
+ }
67
+ async createTimeEntryInternal(projectId, provider, remoteTaskId, input, operationId, expectedEpoch, remoteScopeKey) {
68
+ const connection = await this.precheckEpoch(projectId, provider, expectedEpoch);
48
69
  const capability = this.requireCapability(provider);
49
- const credentials = await this.loadCredentials(provider);
70
+ const credentials = await this.loadCredentials(projectId, provider);
50
71
  const tuple = {
51
72
  provider,
52
73
  connectionId: connection.id,
@@ -61,8 +82,14 @@ let ExternalTimeMutationService = class ExternalTimeMutationService {
61
82
  const startedAtMs = Date.parse(input.startedAt);
62
83
  const windowFrom = startedAtMs - external_time_mutation_models_1.TIME_CREATE_BASELINE_WINDOW_MS;
63
84
  const windowTo = startedAtMs + external_time_mutation_models_1.TIME_CREATE_BASELINE_WINDOW_MS;
64
- return this.gate.run(provider, async () => {
65
- await this.recheckEpoch(provider, connection);
85
+ return this.gate.run({ projectId, provider }, async () => {
86
+ await this.recheckEpoch(projectId, provider, connection);
87
+ if (remoteScopeKey !== null) {
88
+ await this.assertNoPendingEstimate(connection, provider, remoteScopeKey, remoteTaskId);
89
+ }
90
+ else {
91
+ this.assertNoLiveTaskMutation(tuple, operationId);
92
+ }
66
93
  const baseline = await capability.listOwnTimeEntryIdsInRange(credentials, context, remoteTaskId, windowFrom, windowTo);
67
94
  const admitted = this.store.admit({
68
95
  operationId,
@@ -101,10 +128,11 @@ let ExternalTimeMutationService = class ExternalTimeMutationService {
101
128
  }
102
129
  });
103
130
  }
104
- async deleteTimeEntry(provider, remoteTaskId, remoteEntryId, operationId, expectedEpoch) {
105
- const connection = await this.precheckEpoch(provider, expectedEpoch);
131
+ async deleteTimeEntry(projectId, provider, remoteTaskId, remoteEntryId, operationId, expectedEpoch, remoteScopeKey) {
132
+ const normalizedScopeKey = this.requireRemoteScopeKey(remoteScopeKey);
133
+ const connection = await this.precheckEpoch(projectId, provider, expectedEpoch);
106
134
  const capability = this.requireCapability(provider);
107
- const credentials = await this.loadCredentials(provider);
135
+ const credentials = await this.loadCredentials(projectId, provider);
108
136
  const tuple = {
109
137
  provider,
110
138
  connectionId: connection.id,
@@ -116,8 +144,9 @@ let ExternalTimeMutationService = class ExternalTimeMutationService {
116
144
  noteFingerprint: null,
117
145
  };
118
146
  const context = { connectionId: connection.id, connectionGeneration: connection.generation };
119
- return this.gate.run(provider, async () => {
120
- await this.recheckEpoch(provider, connection);
147
+ return this.gate.run({ projectId, provider }, async () => {
148
+ await this.recheckEpoch(projectId, provider, connection);
149
+ await this.assertNoPendingEstimate(connection, provider, normalizedScopeKey, remoteTaskId);
121
150
  await capability.assertTimeEntryDeletable(credentials, context, remoteTaskId, remoteEntryId);
122
151
  const admitted = this.store.admit({
123
152
  operationId,
@@ -155,16 +184,95 @@ let ExternalTimeMutationService = class ExternalTimeMutationService {
155
184
  }
156
185
  });
157
186
  }
158
- async getOperation(provider, operationId, expectedEpoch) {
159
- await this.precheckEpoch(provider, expectedEpoch);
187
+ async updateTimeEntry(projectId, provider, remoteTaskId, remoteEntryId, input, operationId, expectedEpoch, remoteScopeKey) {
188
+ const normalizedScopeKey = this.requireRemoteScopeKey(remoteScopeKey);
189
+ const connection = await this.precheckEpoch(projectId, provider, expectedEpoch);
190
+ const capability = this.requireCapability(provider);
191
+ const credentials = await this.loadCredentials(projectId, provider);
192
+ const tuple = {
193
+ provider,
194
+ connectionId: connection.id,
195
+ connectionGeneration: connection.generation,
196
+ remoteTaskId,
197
+ remoteEntryId,
198
+ effectiveStartedAt: input.startedAt,
199
+ durationMs: input.durationMs,
200
+ noteFingerprint: (0, external_time_mutation_store_1.timeEntryNoteFingerprint)(input.note),
201
+ };
202
+ const context = { connectionId: connection.id, connectionGeneration: connection.generation };
203
+ return this.gate.run({ projectId, provider }, async () => {
204
+ await this.recheckEpoch(projectId, provider, connection);
205
+ await this.assertNoPendingEstimate(connection, provider, normalizedScopeKey, remoteTaskId);
206
+ const baseline = await capability.assertTimeEntryEditable(credentials, context, remoteTaskId, remoteEntryId);
207
+ const updateBaseline = {
208
+ startedAt: baseline.startedAt,
209
+ durationMs: baseline.durationMs,
210
+ noteFingerprint: (0, external_time_mutation_store_1.timeEntryNoteFingerprint)(baseline.note),
211
+ };
212
+ const admitted = this.store.admit({
213
+ operationId,
214
+ kind: 'update',
215
+ tuple,
216
+ baseline: null,
217
+ updateBaseline,
218
+ });
219
+ if (!admitted.ok) {
220
+ if ((admitted.reason === 'duplicate_live' || admitted.reason === 'duplicate_terminal') &&
221
+ admitted.receipt?.kind === 'update') {
222
+ const replay = this.replayUpdate(admitted.receipt);
223
+ if (replay !== null) {
224
+ return replay;
225
+ }
226
+ }
227
+ throw this.admitFailure(operationId, admitted.reason, admitted.receipt?.phase);
228
+ }
229
+ if (this.exactMatchesTuple(baseline, tuple)) {
230
+ this.store.markTerminal(operationId, 'not_applied', remoteEntryId);
231
+ return { outcome: 'not_applied', receipt: this.requireView(operationId) };
232
+ }
233
+ try {
234
+ this.store.markDispatched(operationId);
235
+ await capability.updateTimeEntry(credentials, context, remoteTaskId, remoteEntryId, input);
236
+ let exact;
237
+ try {
238
+ exact = await capability.readTimeEntryExact(credentials, context, remoteTaskId, remoteEntryId);
239
+ }
240
+ catch {
241
+ this.store.markUnknown(operationId);
242
+ return { outcome: 'outcome_unknown', receipt: this.requireView(operationId) };
243
+ }
244
+ if (exact !== null && this.exactMatchesTuple(exact, tuple)) {
245
+ this.store.markTerminal(operationId, 'succeeded', remoteEntryId);
246
+ return { outcome: 'updated', receipt: this.requireView(operationId) };
247
+ }
248
+ if (exact !== null && this.exactMatchesUpdateBaseline(exact, updateBaseline)) {
249
+ this.store.markTerminal(operationId, 'not_applied', remoteEntryId);
250
+ return { outcome: 'not_applied', receipt: this.requireView(operationId) };
251
+ }
252
+ this.store.markUnknown(operationId);
253
+ return { outcome: 'outcome_unknown', receipt: this.requireView(operationId) };
254
+ }
255
+ catch (error) {
256
+ if (isUnknownOutcome(error)) {
257
+ this.store.markUnknown(operationId);
258
+ return { outcome: 'outcome_unknown', receipt: this.requireView(operationId) };
259
+ }
260
+ this.store.markTerminal(operationId, 'failed');
261
+ throw error;
262
+ }
263
+ });
264
+ }
265
+ async getOperation(projectId, provider, operationId, expectedEpoch) {
266
+ const connection = await this.precheckEpoch(projectId, provider, expectedEpoch);
160
267
  const receipt = this.store.get(operationId);
161
268
  if (!receipt || receipt.tuple.provider !== provider) {
162
269
  throw new error_types_1.NotFoundError('Time entry operation', operationId);
163
270
  }
271
+ this.assertReceiptConnection(receipt, connection);
164
272
  return this.store.view(receipt);
165
273
  }
166
- async verifyOperation(provider, operationId, expectedEpoch) {
167
- const connection = await this.precheckEpoch(provider, expectedEpoch);
274
+ async verifyOperation(projectId, provider, operationId, expectedEpoch) {
275
+ const connection = await this.precheckEpoch(projectId, provider, expectedEpoch);
168
276
  const receipt = this.store.get(operationId);
169
277
  if (!receipt) {
170
278
  throw new error_types_1.NotFoundError('Time entry operation', operationId);
@@ -183,24 +291,62 @@ let ExternalTimeMutationService = class ExternalTimeMutationService {
183
291
  resolution: 'already_terminal',
184
292
  };
185
293
  }
294
+ return this.gate.run({ projectId, provider }, async () => {
295
+ await this.recheckEpoch(projectId, provider, connection);
296
+ const current = this.store.get(operationId);
297
+ if (!current) {
298
+ throw new error_types_1.NotFoundError('Time entry operation', operationId);
299
+ }
300
+ this.assertReceiptConnection(current, connection);
301
+ if (current.phase !== 'outcome_unknown') {
302
+ return {
303
+ receipt: this.store.view(current),
304
+ resolved: false,
305
+ resolution: 'already_terminal',
306
+ };
307
+ }
308
+ if (!(0, external_time_mutation_models_1.timeOperationCanVerify)(current)) {
309
+ return {
310
+ receipt: this.store.view(current),
311
+ resolved: false,
312
+ resolution: 'completeness_not_provable',
313
+ };
314
+ }
315
+ const credentials = await this.loadReceiptCredentials(projectId, provider, connection);
316
+ return this.verifyUnknownOperation(projectId, provider, operationId, connection, current, credentials);
317
+ });
318
+ }
319
+ async verifyUnknownOperation(projectId, provider, operationId, connection, receipt, credentials) {
186
320
  const capability = this.requireCapability(provider);
187
- const credentials = await this.loadCredentials(provider);
188
321
  const context = {
189
322
  connectionId: receipt.tuple.connectionId,
190
323
  connectionGeneration: receipt.tuple.connectionGeneration,
191
324
  };
192
- if (receipt.kind === 'delete') {
325
+ if (receipt.kind === 'update') {
193
326
  const entryId = receipt.tuple.remoteEntryId;
327
+ let exact;
194
328
  try {
195
- const exact = await capability.readTimeEntryExact(credentials, context, receipt.tuple.remoteTaskId, entryId);
196
- if (exact === null) {
197
- this.store.markTerminal(operationId, 'already_deleted', entryId);
198
- return {
199
- receipt: this.requireView(operationId),
200
- resolved: true,
201
- resolution: 'already_deleted',
202
- };
203
- }
329
+ exact = await capability.readTimeEntryExact(credentials, context, receipt.tuple.remoteTaskId, entryId);
330
+ }
331
+ catch {
332
+ return {
333
+ receipt: this.requireView(operationId),
334
+ resolved: false,
335
+ resolution: 'verify_failed',
336
+ };
337
+ }
338
+ await this.recheckEpoch(projectId, provider, connection);
339
+ if (exact !== null && this.exactMatchesTuple(exact, receipt.tuple)) {
340
+ this.store.markTerminal(operationId, 'succeeded', entryId);
341
+ return {
342
+ receipt: this.requireView(operationId),
343
+ resolved: true,
344
+ resolution: 'updated',
345
+ };
346
+ }
347
+ if (exact !== null &&
348
+ receipt.updateBaseline !== null &&
349
+ this.exactMatchesUpdateBaseline(exact, receipt.updateBaseline)) {
204
350
  this.store.markTerminal(operationId, 'not_applied', entryId);
205
351
  return {
206
352
  receipt: this.requireView(operationId),
@@ -208,6 +354,18 @@ let ExternalTimeMutationService = class ExternalTimeMutationService {
208
354
  resolution: 'not_applied',
209
355
  };
210
356
  }
357
+ return {
358
+ receipt: this.requireView(operationId),
359
+ resolved: false,
360
+ resolution: 'unresolved',
361
+ };
362
+ }
363
+ if (receipt.kind === 'delete') {
364
+ const entryId = receipt.tuple.remoteEntryId;
365
+ let exact;
366
+ try {
367
+ exact = await capability.readTimeEntryExact(credentials, context, receipt.tuple.remoteTaskId, entryId);
368
+ }
211
369
  catch {
212
370
  return {
213
371
  receipt: this.requireView(operationId),
@@ -215,6 +373,21 @@ let ExternalTimeMutationService = class ExternalTimeMutationService {
215
373
  resolution: 'verify_failed',
216
374
  };
217
375
  }
376
+ await this.recheckEpoch(projectId, provider, connection);
377
+ if (exact === null) {
378
+ this.store.markTerminal(operationId, 'already_deleted', entryId);
379
+ return {
380
+ receipt: this.requireView(operationId),
381
+ resolved: true,
382
+ resolution: 'already_deleted',
383
+ };
384
+ }
385
+ this.store.markTerminal(operationId, 'not_applied', entryId);
386
+ return {
387
+ receipt: this.requireView(operationId),
388
+ resolved: true,
389
+ resolution: 'not_applied',
390
+ };
218
391
  }
219
392
  const baseline = receipt.baseline;
220
393
  const startedAtMs = Date.parse(receipt.tuple.effectiveStartedAt);
@@ -241,6 +414,7 @@ let ExternalTimeMutationService = class ExternalTimeMutationService {
241
414
  const baselineIds = new Set(baseline.matchingIds);
242
415
  const newIds = after.ids.filter((id) => !baselineIds.has(id));
243
416
  if (newIds.length === 0) {
417
+ await this.recheckEpoch(projectId, provider, connection);
244
418
  this.store.markTerminal(operationId, 'not_applied');
245
419
  return { receipt: this.requireView(operationId), resolved: true, resolution: 'not_applied' };
246
420
  }
@@ -268,27 +442,32 @@ let ExternalTimeMutationService = class ExternalTimeMutationService {
268
442
  }
269
443
  }
270
444
  if (matches.length === 1) {
445
+ await this.recheckEpoch(projectId, provider, connection);
271
446
  this.store.markTerminal(operationId, 'succeeded', matches[0]);
272
447
  return { receipt: this.requireView(operationId), resolved: true, resolution: 'created' };
273
448
  }
274
449
  return { receipt: this.requireView(operationId), resolved: false, resolution: 'unresolved' };
275
450
  }
276
- async acknowledgeOperation(provider, operationId, expectedEpoch) {
277
- await this.precheckEpoch(provider, expectedEpoch);
278
- const existing = this.store.get(operationId);
279
- if (!existing || existing.tuple.provider !== provider) {
280
- throw new error_types_1.NotFoundError('Time entry operation', operationId);
281
- }
282
- const acked = this.store.acknowledgeUnknown(operationId);
283
- if (!acked.ok) {
284
- if (acked.reason === 'not_found') {
451
+ async acknowledgeOperation(projectId, provider, operationId, expectedEpoch) {
452
+ const connection = await this.precheckEpoch(projectId, provider, expectedEpoch);
453
+ return this.gate.run({ projectId, provider }, async () => {
454
+ await this.recheckEpoch(projectId, provider, connection);
455
+ const existing = this.store.get(operationId);
456
+ if (!existing || existing.tuple.provider !== provider) {
285
457
  throw new error_types_1.NotFoundError('Time entry operation', operationId);
286
458
  }
287
- throw new error_types_1.ConflictError('Only an unresolved operation can be acknowledged.', {
288
- reason: 'operation_not_unknown',
289
- });
290
- }
291
- return this.store.view(acked.receipt);
459
+ this.assertReceiptConnection(existing, connection);
460
+ const acked = this.store.acknowledgeUnknown(operationId);
461
+ if (!acked.ok) {
462
+ if (acked.reason === 'not_found') {
463
+ throw new error_types_1.NotFoundError('Time entry operation', operationId);
464
+ }
465
+ throw new error_types_1.ConflictError('Only an unresolved operation can be acknowledged.', {
466
+ reason: 'operation_not_unknown',
467
+ });
468
+ }
469
+ return this.store.view(acked.receipt);
470
+ });
292
471
  }
293
472
  replayCreate(receipt) {
294
473
  const view = this.store.view(receipt);
@@ -318,17 +497,43 @@ let ExternalTimeMutationService = class ExternalTimeMutationService {
318
497
  }
319
498
  return null;
320
499
  }
321
- async precheckEpoch(provider, expectedEpoch) {
322
- const connection = await this.storage.getIntegrationConnection(provider);
323
- if (!connection || connection.provider !== provider) {
500
+ replayUpdate(receipt) {
501
+ const view = this.store.view(receipt);
502
+ if (receipt.phase === 'outcome_unknown') {
503
+ return { outcome: 'outcome_unknown', receipt: view };
504
+ }
505
+ if (receipt.phase === 'succeeded') {
506
+ return { outcome: 'updated', receipt: view };
507
+ }
508
+ if (receipt.phase === 'not_applied') {
509
+ return { outcome: 'not_applied', receipt: view };
510
+ }
511
+ return null;
512
+ }
513
+ exactMatchesTuple(exact, tuple) {
514
+ return (exact.startedAt === tuple.effectiveStartedAt &&
515
+ exact.durationMs === tuple.durationMs &&
516
+ (0, external_time_mutation_store_1.timeEntryNoteFingerprint)(exact.note) === tuple.noteFingerprint);
517
+ }
518
+ exactMatchesUpdateBaseline(exact, baseline) {
519
+ return (exact.startedAt === baseline.startedAt &&
520
+ exact.durationMs === baseline.durationMs &&
521
+ (0, external_time_mutation_store_1.timeEntryNoteFingerprint)(exact.note) === baseline.noteFingerprint);
522
+ }
523
+ async precheckEpoch(projectId, provider, expectedEpoch) {
524
+ await this.storage.getProject(projectId);
525
+ const connection = await this.storage.getIntegrationConnection({ projectId, provider });
526
+ if (connection?.projectId !== projectId || connection.provider !== provider) {
324
527
  throw new error_types_1.ValidationError('Connect the integration before changing time entries.', {
325
528
  provider,
529
+ projectId,
326
530
  reason: 'not_connected',
327
531
  });
328
532
  }
329
533
  if (connection.generation !== expectedEpoch) {
330
534
  throw new error_types_1.ConflictError('The connection changed; reload and retry with the current epoch.', {
331
535
  provider,
536
+ projectId,
332
537
  reason: 'connection_epoch_mismatch',
333
538
  expectedEpoch,
334
539
  currentEpoch: connection.generation,
@@ -336,28 +541,54 @@ let ExternalTimeMutationService = class ExternalTimeMutationService {
336
541
  }
337
542
  return connection;
338
543
  }
339
- async recheckEpoch(provider, expected) {
340
- const current = await this.storage.getIntegrationConnection(provider);
544
+ async recheckEpoch(projectId, provider, expected) {
545
+ const current = await this.storage.getIntegrationConnection({ projectId, provider });
341
546
  if (!current ||
547
+ current.projectId !== projectId ||
342
548
  current.provider !== provider ||
343
549
  current.id !== expected.id ||
344
550
  current.generation !== expected.generation) {
345
551
  throw new error_types_1.ConflictError('The connection changed; the operation was not dispatched.', {
346
552
  provider,
553
+ projectId,
347
554
  reason: 'connection_superseded',
348
555
  });
349
556
  }
350
557
  }
351
- async loadCredentials(provider) {
352
- const credentials = await this.storage.getIntegrationConnectionCredentials(provider);
558
+ async loadCredentials(projectId, provider) {
559
+ const credentials = await this.storage.getIntegrationConnectionCredentials({
560
+ projectId,
561
+ provider,
562
+ });
353
563
  if (!credentials || credentials.provider !== provider) {
354
564
  throw new error_types_1.ValidationError('Connect the integration before changing time entries.', {
355
565
  provider,
566
+ projectId,
356
567
  reason: 'not_connected',
357
568
  });
358
569
  }
359
570
  return credentials;
360
571
  }
572
+ async loadReceiptCredentials(projectId, provider, connection) {
573
+ const credentials = await this.storage.getIntegrationConnectionCredentialsById(connection.id);
574
+ await this.recheckEpoch(projectId, provider, connection);
575
+ if (!credentials || credentials.provider !== provider) {
576
+ throw new error_types_1.ValidationError('Connect the integration before changing time entries.', {
577
+ provider,
578
+ projectId,
579
+ reason: 'not_connected',
580
+ });
581
+ }
582
+ return credentials;
583
+ }
584
+ assertReceiptConnection(receipt, connection) {
585
+ if (receipt.tuple.connectionId !== connection.id ||
586
+ receipt.tuple.connectionGeneration !== connection.generation) {
587
+ throw new error_types_1.ConflictError('The operation belongs to a different connection epoch.', {
588
+ reason: 'connection_superseded',
589
+ });
590
+ }
591
+ }
361
592
  requireCapability(provider) {
362
593
  const adapter = this.providers.get(provider);
363
594
  if (!adapter.timeEntryMutations) {
@@ -400,6 +631,75 @@ let ExternalTimeMutationService = class ExternalTimeMutationService {
400
631
  }
401
632
  return this.store.view(receipt);
402
633
  }
634
+ assertNoLiveTaskMutation(tuple, operationId) {
635
+ const blocking = this.store.findLiveTaskReceipt({
636
+ provider: tuple.provider,
637
+ connectionId: tuple.connectionId,
638
+ connectionGeneration: tuple.connectionGeneration,
639
+ remoteTaskId: tuple.remoteTaskId,
640
+ excludeOperationId: operationId,
641
+ });
642
+ if (blocking) {
643
+ throw new error_types_1.BusyError('The time-entry operation is still in progress.', {
644
+ reason: 'operation_in_progress',
645
+ operationId: blocking.operationId,
646
+ phase: blocking.phase,
647
+ });
648
+ }
649
+ }
650
+ async assertNoPendingEstimate(connection, provider, requestedScopeKey, remoteTaskId) {
651
+ const [links, states] = await Promise.all([
652
+ this.storage.listExternalTaskLinksByRemoteTask(provider, remoteTaskId),
653
+ this.storage.listExternalEstimateLogStatesByRemoteTask(provider, remoteTaskId),
654
+ ]);
655
+ const currentLinks = links.filter((link) => link.connectionId === connection.id);
656
+ const requestedLink = currentLinks.find((link) => link.remoteScopeKey === requestedScopeKey);
657
+ let authoritativeScopeKey = requestedScopeKey;
658
+ let linkedIdentity = requestedLink !== undefined;
659
+ if (currentLinks.length > 0 && !requestedLink) {
660
+ const currentScopes = new Set(currentLinks.map((link) => link.remoteScopeKey));
661
+ const pending = states.find((state) => currentScopes.has(state.remoteScopeKey) && state.pendingOperationId !== null);
662
+ if (pending) {
663
+ authoritativeScopeKey = pending.remoteScopeKey;
664
+ linkedIdentity = true;
665
+ }
666
+ else {
667
+ throw new error_types_1.ConflictError('The remote scope does not match the current task link.', {
668
+ reason: 'remote_scope_mismatch',
669
+ });
670
+ }
671
+ }
672
+ else if (currentLinks.length === 0) {
673
+ const ownedPending = states.find((state) => state.pendingOperationId !== null && state.pendingConnectionId === connection.id);
674
+ if (ownedPending) {
675
+ authoritativeScopeKey = ownedPending.remoteScopeKey;
676
+ }
677
+ }
678
+ const state = await this.storage.getExternalEstimateLogState({
679
+ provider,
680
+ remoteScopeKey: authoritativeScopeKey,
681
+ remoteTaskId,
682
+ });
683
+ const ownedPending = state?.pendingOperationId && (linkedIdentity || state.pendingConnectionId === connection.id);
684
+ if (ownedPending) {
685
+ throw new error_types_1.BusyError('An estimate operation is pending for this task.', {
686
+ reason: 'estimate_operation_pending',
687
+ operationId: state.pendingOperationId,
688
+ });
689
+ }
690
+ if (currentLinks.length > 0 && !requestedLink) {
691
+ throw new error_types_1.ConflictError('The remote scope does not match the current task link.', {
692
+ reason: 'remote_scope_mismatch',
693
+ });
694
+ }
695
+ }
696
+ requireRemoteScopeKey(value) {
697
+ const normalized = value?.trim();
698
+ if (!normalized) {
699
+ throw new error_types_1.ValidationError('Remote scope identifier is required.');
700
+ }
701
+ return normalized;
702
+ }
403
703
  };
404
704
  exports.ExternalTimeMutationService = ExternalTimeMutationService;
405
705
  exports.ExternalTimeMutationService = ExternalTimeMutationService = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"external-time-mutation.service.js","sourceRoot":"","sources":["../../../../src/modules/external-integrations/my-work/external-time-mutation.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"external-time-mutation.service.js","sourceRoot":"","sources":["../../../../src/modules/external-integrations/my-work/external-time-mutation.service.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ export declare const DEFAULT_SESSION_STORE_LIMITS: SessionStoreLimits;
10
10
  export interface CreateSessionInput {
11
11
  kind: ExternalEditSession['kind'];
12
12
  provider: ExternalEditSession['provider'];
13
+ projectId: string;
13
14
  connectionId: string;
14
15
  connectionGeneration: number;
15
16
  scopeKey: string;
@@ -44,7 +45,7 @@ export declare class ExternalEditSessionStore {
44
45
  commitReload(sessionId: string, newBaseline: ExternalEditSession['baseline']): StoreResult<ExternalEditSession>;
45
46
  markDeleted(sessionId: string): StoreResult<ExternalEditSession>;
46
47
  invalidate(sessionId: string): void;
47
- invalidateProvider(provider: ExternalEditSession['provider']): number;
48
+ invalidateConnection(connectionId: string): number;
48
49
  size(): number;
49
50
  totalSerializedBytes(): number;
50
51
  view(session: ExternalEditSession): ExternalEditSessionView;