devchain-cli 0.22.1 → 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.
- package/dist/drizzle/0077_familiar_morbius.sql +6 -0
- package/dist/drizzle/0078_preserve_legacy_connection_ownership.sql +180 -0
- package/dist/drizzle/0079_premium_forgotten_one.sql +18 -0
- package/dist/drizzle/0080_lethal_thunderbolt_ross.sql +49 -0
- package/dist/drizzle/0081_early_kronos.sql +58 -0
- package/dist/drizzle/0082_huge_black_queen.sql +14 -0
- package/dist/drizzle/meta/0077_snapshot.json +6957 -0
- package/dist/drizzle/meta/0078_snapshot.json +6957 -0
- package/dist/drizzle/meta/0079_snapshot.json +7093 -0
- package/dist/drizzle/meta/0080_snapshot.json +7241 -0
- package/dist/drizzle/meta/0081_snapshot.json +7482 -0
- package/dist/drizzle/meta/0082_snapshot.json +7571 -0
- package/dist/drizzle/meta/_journal.json +42 -0
- package/dist/node_modules/@devchain/shared/tsconfig.tsbuildinfo +1 -1
- package/dist/server/common/errors/error-types.d.ts +7 -0
- package/dist/server/common/errors/error-types.js +7 -1
- package/dist/server/common/errors/error-types.js.map +1 -1
- package/dist/server/modules/epic-time/controllers/agent-time-buffer.controller.d.ts +8 -0
- package/dist/server/modules/epic-time/controllers/agent-time-buffer.controller.js +67 -0
- package/dist/server/modules/epic-time/controllers/agent-time-buffer.controller.js.map +1 -0
- package/dist/server/modules/epic-time/controllers/external-estimate-log.controller.d.ts +12 -0
- package/dist/server/modules/epic-time/controllers/external-estimate-log.controller.js +322 -0
- package/dist/server/modules/epic-time/controllers/external-estimate-log.controller.js.map +1 -0
- package/dist/server/modules/epic-time/epic-time.module.js +14 -4
- package/dist/server/modules/epic-time/epic-time.module.js.map +1 -1
- package/dist/server/modules/epic-time/models/epic-time-daily-allocator.d.ts +30 -0
- package/dist/server/modules/epic-time/models/epic-time-daily-allocator.js +125 -0
- package/dist/server/modules/epic-time/models/epic-time-daily-allocator.js.map +1 -0
- package/dist/server/modules/epic-time/models/epic-time-local-day.d.ts +9 -0
- package/dist/server/modules/epic-time/models/epic-time-local-day.js +164 -0
- package/dist/server/modules/epic-time/models/epic-time-local-day.js.map +1 -0
- package/dist/server/modules/epic-time/models/epic-time.models.d.ts +138 -0
- package/dist/server/modules/epic-time/models/epic-time.models.js +2 -0
- package/dist/server/modules/epic-time/models/epic-time.models.js.map +1 -1
- package/dist/server/modules/epic-time/services/agent-time-accounting.service.d.ts +1 -0
- package/dist/server/modules/epic-time/services/agent-time-accounting.service.js +31 -8
- package/dist/server/modules/epic-time/services/agent-time-accounting.service.js.map +1 -1
- package/dist/server/modules/epic-time/services/epic-estimate-logging.service.d.ts +37 -0
- package/dist/server/modules/epic-time/services/epic-estimate-logging.service.js +716 -0
- package/dist/server/modules/epic-time/services/epic-estimate-logging.service.js.map +1 -0
- package/dist/server/modules/epic-time/services/epic-time.service.d.ts +12 -3
- package/dist/server/modules/epic-time/services/epic-time.service.js +155 -69
- package/dist/server/modules/epic-time/services/epic-time.service.js.map +1 -1
- package/dist/server/modules/epic-time/services/epic-time.store.d.ts +29 -3
- package/dist/server/modules/epic-time/services/epic-time.store.js +524 -40
- package/dist/server/modules/epic-time/services/epic-time.store.js.map +1 -1
- package/dist/server/modules/epics/controllers/epics.controller.d.ts +10 -1
- package/dist/server/modules/epics/controllers/epics.controller.js +108 -2
- package/dist/server/modules/epics/controllers/epics.controller.js.map +1 -1
- package/dist/server/modules/epics/epics.module.js +8 -2
- package/dist/server/modules/epics/epics.module.js.map +1 -1
- package/dist/server/modules/epics/models/epic-relations.models.d.ts +34 -0
- package/dist/server/modules/epics/models/epic-relations.models.js +16 -0
- package/dist/server/modules/epics/models/epic-relations.models.js.map +1 -0
- package/dist/server/modules/epics/services/epic-relation-target-resolver.d.ts +8 -0
- package/dist/server/modules/epics/services/epic-relation-target-resolver.js +37 -0
- package/dist/server/modules/epics/services/epic-relation-target-resolver.js.map +1 -0
- package/dist/server/modules/epics/services/epic-relations.service.d.ts +52 -0
- package/dist/server/modules/epics/services/epic-relations.service.js +135 -0
- package/dist/server/modules/epics/services/epic-relations.service.js.map +1 -0
- package/dist/server/modules/epics/services/epics.service.d.ts +9 -2
- package/dist/server/modules/epics/services/epics.service.js +115 -11
- package/dist/server/modules/epics/services/epics.service.js.map +1 -1
- package/dist/server/modules/events/catalog/broadcast-registry.js +16 -0
- package/dist/server/modules/events/catalog/broadcast-registry.js.map +1 -1
- package/dist/server/modules/events/catalog/epic.relations.invalidated.d.ts +12 -0
- package/dist/server/modules/events/catalog/epic.relations.invalidated.js +13 -0
- package/dist/server/modules/events/catalog/epic.relations.invalidated.js.map +1 -0
- package/dist/server/modules/events/catalog/epic.time.scope.invalidated.d.ts +12 -0
- package/dist/server/modules/events/catalog/epic.time.scope.invalidated.js +13 -0
- package/dist/server/modules/events/catalog/epic.time.scope.invalidated.js.map +1 -0
- package/dist/server/modules/events/catalog/index.d.ts +27 -4
- package/dist/server/modules/events/catalog/index.js +6 -0
- package/dist/server/modules/events/catalog/index.js.map +1 -1
- package/dist/server/modules/events/catalog/integration.connection.created.d.ts +4 -1
- package/dist/server/modules/events/catalog/integration.connection.created.js +5 -2
- package/dist/server/modules/events/catalog/integration.connection.created.js.map +1 -1
- package/dist/server/modules/events/catalog/integration.connection.deleted.d.ts +4 -1
- package/dist/server/modules/events/catalog/integration.connection.deleted.js +5 -2
- package/dist/server/modules/events/catalog/integration.connection.deleted.js.map +1 -1
- package/dist/server/modules/events/catalog/integration.connection.legacy.d.ts +85 -0
- package/dist/server/modules/events/catalog/integration.connection.legacy.js +41 -0
- package/dist/server/modules/events/catalog/integration.connection.legacy.js.map +1 -0
- package/dist/server/modules/events/catalog/integration.connection.updated.d.ts +4 -1
- package/dist/server/modules/events/catalog/integration.connection.updated.js +5 -2
- package/dist/server/modules/events/catalog/integration.connection.updated.js.map +1 -1
- package/dist/server/modules/events/services/committed-event-replay.d.ts +10 -0
- package/dist/server/modules/events/services/committed-event-replay.js +30 -0
- package/dist/server/modules/events/services/committed-event-replay.js.map +1 -0
- package/dist/server/modules/events/services/committed-event.store.d.ts +1 -0
- package/dist/server/modules/events/services/committed-event.store.js +12 -7
- package/dist/server/modules/events/services/committed-event.store.js.map +1 -1
- package/dist/server/modules/events/services/durable-event-registry.service.d.ts +9 -2
- package/dist/server/modules/events/services/durable-event-registry.service.js.map +1 -1
- package/dist/server/modules/external-integrations/adapters/clickup-external-task.provider.d.ts +7 -0
- package/dist/server/modules/external-integrations/adapters/clickup-external-task.provider.js +158 -50
- package/dist/server/modules/external-integrations/adapters/clickup-external-task.provider.js.map +1 -1
- package/dist/server/modules/external-integrations/adapters/jira-external-task.provider.d.ts +4 -0
- package/dist/server/modules/external-integrations/adapters/jira-external-task.provider.js +73 -33
- package/dist/server/modules/external-integrations/adapters/jira-external-task.provider.js.map +1 -1
- package/dist/server/modules/external-integrations/connections/integration-connections.controller.d.ts +6 -3
- package/dist/server/modules/external-integrations/connections/integration-connections.controller.js +67 -12
- package/dist/server/modules/external-integrations/connections/integration-connections.controller.js.map +1 -1
- package/dist/server/modules/external-integrations/connections/integration-connections.service.d.ts +35 -3
- package/dist/server/modules/external-integrations/connections/integration-connections.service.js +178 -17
- package/dist/server/modules/external-integrations/connections/integration-connections.service.js.map +1 -1
- package/dist/server/modules/external-integrations/connections/managed-subtask-sync.controller.d.ts +6 -3
- package/dist/server/modules/external-integrations/connections/managed-subtask-sync.controller.js +51 -11
- package/dist/server/modules/external-integrations/connections/managed-subtask-sync.controller.js.map +1 -1
- package/dist/server/modules/external-integrations/external-integrations.module.js +6 -1
- package/dist/server/modules/external-integrations/external-integrations.module.js.map +1 -1
- package/dist/server/modules/external-integrations/models/external-edit-session.models.d.ts +1 -0
- package/dist/server/modules/external-integrations/models/external-provider.models.d.ts +6 -2
- package/dist/server/modules/external-integrations/models/external-provider.models.js +2 -3
- package/dist/server/modules/external-integrations/models/external-provider.models.js.map +1 -1
- package/dist/server/modules/external-integrations/models/external-time-mutation.models.d.ts +33 -2
- package/dist/server/modules/external-integrations/models/external-time-mutation.models.js +14 -0
- package/dist/server/modules/external-integrations/models/external-time-mutation.models.js.map +1 -1
- package/dist/server/modules/external-integrations/my-work/external-edit-session.service.d.ts +10 -9
- package/dist/server/modules/external-integrations/my-work/external-edit-session.service.js +81 -46
- package/dist/server/modules/external-integrations/my-work/external-edit-session.service.js.map +1 -1
- package/dist/server/modules/external-integrations/my-work/external-my-work.controller.d.ts +22 -20
- package/dist/server/modules/external-integrations/my-work/external-my-work.controller.js +136 -64
- package/dist/server/modules/external-integrations/my-work/external-my-work.controller.js.map +1 -1
- package/dist/server/modules/external-integrations/my-work/external-my-work.openapi.d.ts +7 -0
- package/dist/server/modules/external-integrations/my-work/external-my-work.openapi.js +289 -4
- package/dist/server/modules/external-integrations/my-work/external-my-work.openapi.js.map +1 -1
- package/dist/server/modules/external-integrations/my-work/external-my-work.service.d.ts +12 -7
- package/dist/server/modules/external-integrations/my-work/external-my-work.service.js +114 -54
- package/dist/server/modules/external-integrations/my-work/external-my-work.service.js.map +1 -1
- package/dist/server/modules/external-integrations/my-work/external-time-mutation.service.d.ts +19 -6
- package/dist/server/modules/external-integrations/my-work/external-time-mutation.service.js +346 -46
- package/dist/server/modules/external-integrations/my-work/external-time-mutation.service.js.map +1 -1
- package/dist/server/modules/external-integrations/sessions/external-edit-session.store.d.ts +2 -1
- package/dist/server/modules/external-integrations/sessions/external-edit-session.store.js +3 -2
- package/dist/server/modules/external-integrations/sessions/external-edit-session.store.js.map +1 -1
- package/dist/server/modules/external-integrations/sessions/external-time-mutation.store.d.ts +6 -1
- package/dist/server/modules/external-integrations/sessions/external-time-mutation.store.js +19 -0
- package/dist/server/modules/external-integrations/sessions/external-time-mutation.store.js.map +1 -1
- package/dist/server/modules/external-integrations/sessions/provider-operation-gate.d.ts +15 -2
- package/dist/server/modules/external-integrations/sessions/provider-operation-gate.js +33 -6
- package/dist/server/modules/external-integrations/sessions/provider-operation-gate.js.map +1 -1
- package/dist/server/modules/external-integrations/subscribers/external-subtask-sync.subscriber.d.ts +13 -6
- package/dist/server/modules/external-integrations/subscribers/external-subtask-sync.subscriber.js +212 -75
- package/dist/server/modules/external-integrations/subscribers/external-subtask-sync.subscriber.js.map +1 -1
- package/dist/server/modules/external-integrations/subscribers/managed-subtask-content.d.ts +13 -4
- package/dist/server/modules/external-integrations/subscribers/managed-subtask-content.js +98 -0
- package/dist/server/modules/external-integrations/subscribers/managed-subtask-content.js.map +1 -1
- package/dist/server/modules/external-integrations/subscribers/managed-subtask-sync-health.service.d.ts +10 -4
- package/dist/server/modules/external-integrations/subscribers/managed-subtask-sync-health.service.js +57 -18
- package/dist/server/modules/external-integrations/subscribers/managed-subtask-sync-health.service.js.map +1 -1
- package/dist/server/modules/mcp/dtos/mcp.dto.d.ts +139 -0
- package/dist/server/modules/mcp/dtos/mcp.dto.js +41 -1
- package/dist/server/modules/mcp/dtos/mcp.dto.js.map +1 -1
- package/dist/server/modules/mcp/services/handlers/epic-context.d.ts +2 -0
- package/dist/server/modules/mcp/services/handlers/epic-tools.d.ts +4 -0
- package/dist/server/modules/mcp/services/handlers/epic-tools.js +275 -0
- package/dist/server/modules/mcp/services/handlers/epic-tools.js.map +1 -1
- package/dist/server/modules/mcp/services/mcp-tool-binding.registry.d.ts +2 -1
- package/dist/server/modules/mcp/services/mcp-tool-binding.registry.js +13 -8
- package/dist/server/modules/mcp/services/mcp-tool-binding.registry.js.map +1 -1
- package/dist/server/modules/mcp/services/testing/mcp-tool-binding-registry.fixture.d.ts +1 -1
- package/dist/server/modules/mcp/services/testing/mcp-tool-binding-registry.fixture.js +1 -1
- package/dist/server/modules/mcp/services/testing/mcp-tool-binding-registry.fixture.js.map +1 -1
- package/dist/server/modules/mcp/tool-descriptors/binding-types.d.ts +2 -0
- package/dist/server/modules/mcp/tool-descriptors/binding-types.js.map +1 -1
- package/dist/server/modules/mcp/tool-descriptors/epic.bindings.js +6 -0
- package/dist/server/modules/mcp/tool-descriptors/epic.bindings.js.map +1 -1
- package/dist/server/modules/mcp/tool-descriptors/epic.metadata.js +132 -0
- package/dist/server/modules/mcp/tool-descriptors/epic.metadata.js.map +1 -1
- package/dist/server/modules/projects/controllers/projects.controller.js +1 -4
- package/dist/server/modules/projects/controllers/projects.controller.js.map +1 -1
- package/dist/server/modules/projects/projects.module.js +2 -0
- package/dist/server/modules/projects/projects.module.js.map +1 -1
- package/dist/server/modules/projects/services/projects.service.d.ts +4 -1
- package/dist/server/modules/projects/services/projects.service.js +23 -2
- package/dist/server/modules/projects/services/projects.service.js.map +1 -1
- package/dist/server/modules/providers/adapters/claude.adapter.d.ts +4 -2
- package/dist/server/modules/providers/adapters/claude.adapter.js +31 -0
- package/dist/server/modules/providers/adapters/claude.adapter.js.map +1 -1
- package/dist/server/modules/providers/services/provider-mcp-ensure.service.d.ts +7 -0
- package/dist/server/modules/providers/services/provider-mcp-ensure.service.js +69 -4
- package/dist/server/modules/providers/services/provider-mcp-ensure.service.js.map +1 -1
- package/dist/server/modules/session-reader/data/pricing.json +452 -56
- package/dist/server/modules/session-reader/services/session-reader.service.d.ts +2 -0
- package/dist/server/modules/session-reader/services/session-reader.service.js +85 -9
- package/dist/server/modules/session-reader/services/session-reader.service.js.map +1 -1
- package/dist/server/modules/session-reader/services/transcript-path-validator.service.js +8 -2
- package/dist/server/modules/session-reader/services/transcript-path-validator.service.js.map +1 -1
- package/dist/server/modules/session-reader/services/transcript-watcher.service.js +44 -17
- package/dist/server/modules/session-reader/services/transcript-watcher.service.js.map +1 -1
- package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.d.ts +1 -0
- package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.js +1 -0
- package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.js.map +1 -1
- package/dist/server/modules/sessions/services/session-runtime/session-launch-pipeline.service.js +11 -1
- package/dist/server/modules/sessions/services/session-runtime/session-launch-pipeline.service.js.map +1 -1
- package/dist/server/modules/sessions/utils/claude-config.d.ts +4 -1
- package/dist/server/modules/sessions/utils/claude-config.js +265 -60
- package/dist/server/modules/sessions/utils/claude-config.js.map +1 -1
- package/dist/server/modules/storage/db/schema.d.ts +1109 -98
- package/dist/server/modules/storage/db/schema.js +141 -3
- package/dist/server/modules/storage/db/schema.js.map +1 -1
- package/dist/server/modules/storage/db/sqlite-json.d.ts +1 -0
- package/dist/server/modules/storage/db/sqlite-json.js +4 -0
- package/dist/server/modules/storage/db/sqlite-json.js.map +1 -1
- package/dist/server/modules/storage/interfaces/storage.interface.d.ts +58 -10
- package/dist/server/modules/storage/interfaces/storage.interface.js.map +1 -1
- package/dist/server/modules/storage/local/delegates/epic.delegate.d.ts +30 -5
- package/dist/server/modules/storage/local/delegates/epic.delegate.js +718 -14
- package/dist/server/modules/storage/local/delegates/epic.delegate.js.map +1 -1
- package/dist/server/modules/storage/local/delegates/external-estimate-log.delegate.d.ts +52 -0
- package/dist/server/modules/storage/local/delegates/external-estimate-log.delegate.js +659 -0
- package/dist/server/modules/storage/local/delegates/external-estimate-log.delegate.js.map +1 -0
- package/dist/server/modules/storage/local/delegates/external-managed-subtask.delegate.d.ts +2 -1
- package/dist/server/modules/storage/local/delegates/external-managed-subtask.delegate.js +17 -4
- package/dist/server/modules/storage/local/delegates/external-managed-subtask.delegate.js.map +1 -1
- package/dist/server/modules/storage/local/delegates/integration.delegate.d.ts +23 -8
- package/dist/server/modules/storage/local/delegates/integration.delegate.js +238 -52
- package/dist/server/modules/storage/local/delegates/integration.delegate.js.map +1 -1
- package/dist/server/modules/storage/local/delegates/project.delegate.d.ts +2 -0
- package/dist/server/modules/storage/local/delegates/project.delegate.js +180 -130
- package/dist/server/modules/storage/local/delegates/project.delegate.js.map +1 -1
- package/dist/server/modules/storage/local/local-storage.service.d.ts +45 -10
- package/dist/server/modules/storage/local/local-storage.service.js +99 -15
- package/dist/server/modules/storage/local/local-storage.service.js.map +1 -1
- package/dist/server/modules/storage/models/domain.models.d.ts +170 -0
- package/dist/server/modules/storage/models/domain.models.js +9 -0
- package/dist/server/modules/storage/models/domain.models.js.map +1 -1
- package/dist/server/templates/teams-dev.json +310 -300
- package/dist/server/tsconfig.tsbuildinfo +1 -1
- package/dist/server/ui/assets/{ExternalRichEditor-DMtnZIMZ.js → ExternalRichEditor-BG9SopK8.js} +1 -1
- package/dist/server/ui/assets/{ReviewDetailPage-BmyiM5IR.js → ReviewDetailPage-DNo7Qx3m.js} +1 -1
- package/dist/server/ui/assets/{ReviewsPage-CQ87BMwT.js → ReviewsPage-Cay-IObR.js} +1 -1
- package/dist/server/ui/assets/index-C1Fdqua-.js +1197 -0
- package/dist/server/ui/assets/index-CV8ydm7w.css +32 -0
- package/dist/server/ui/assets/{useReviewSubscription-DjbEUzt4.js → useReviewSubscription-sAAfh4k9.js} +1 -1
- package/dist/server/ui/index.html +2 -2
- package/dist/templates/teams-dev.json +310 -300
- package/package.json +16 -2
- package/dist/server/ui/assets/index-BX6Yze-A.js +0 -1177
- 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
|
-
|
|
47
|
-
const
|
|
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
|
|
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
|
|
159
|
-
|
|
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 === '
|
|
325
|
+
if (receipt.kind === 'update') {
|
|
193
326
|
const entryId = receipt.tuple.remoteEntryId;
|
|
327
|
+
let exact;
|
|
194
328
|
try {
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
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
|
-
|
|
279
|
-
|
|
280
|
-
|
|
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
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
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
|
-
|
|
322
|
-
const
|
|
323
|
-
if (
|
|
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(
|
|
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([
|
package/dist/server/modules/external-integrations/my-work/external-time-mutation.service.js.map
CHANGED
|
@@ -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
|
-
|
|
48
|
+
invalidateConnection(connectionId: string): number;
|
|
48
49
|
size(): number;
|
|
49
50
|
totalSerializedBytes(): number;
|
|
50
51
|
view(session: ExternalEditSession): ExternalEditSessionView;
|