@flowdesk/core 0.1.0 → 0.1.3

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 (144) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +44 -0
  3. package/dist/authority-promotion.d.ts +70 -0
  4. package/dist/authority-promotion.d.ts.map +1 -0
  5. package/dist/authority-promotion.js +388 -0
  6. package/dist/authority-promotion.js.map +1 -0
  7. package/dist/chat-control-authority.d.ts +83 -0
  8. package/dist/chat-control-authority.d.ts.map +1 -0
  9. package/dist/chat-control-authority.js +238 -0
  10. package/dist/chat-control-authority.js.map +1 -0
  11. package/dist/chat-hook-authority-probe.d.ts +39 -0
  12. package/dist/chat-hook-authority-probe.d.ts.map +1 -0
  13. package/dist/chat-hook-authority-probe.js +153 -0
  14. package/dist/chat-hook-authority-probe.js.map +1 -0
  15. package/dist/chat-routing.d.ts.map +1 -1
  16. package/dist/chat-routing.js +18 -15
  17. package/dist/chat-routing.js.map +1 -1
  18. package/dist/connector-gateway.d.ts +34 -0
  19. package/dist/connector-gateway.d.ts.map +1 -0
  20. package/dist/connector-gateway.js +147 -0
  21. package/dist/connector-gateway.js.map +1 -0
  22. package/dist/connector-profile.d.ts +41 -0
  23. package/dist/connector-profile.d.ts.map +1 -0
  24. package/dist/connector-profile.js +125 -0
  25. package/dist/connector-profile.js.map +1 -0
  26. package/dist/controlled-conformance-doc-write.d.ts +44 -0
  27. package/dist/controlled-conformance-doc-write.d.ts.map +1 -0
  28. package/dist/controlled-conformance-doc-write.js +142 -0
  29. package/dist/controlled-conformance-doc-write.js.map +1 -0
  30. package/dist/controlled-redacted-audit-export-write.d.ts +45 -0
  31. package/dist/controlled-redacted-audit-export-write.d.ts.map +1 -0
  32. package/dist/controlled-redacted-audit-export-write.js +145 -0
  33. package/dist/controlled-redacted-audit-export-write.js.map +1 -0
  34. package/dist/core-completion-safety-contracts.d.ts +35 -0
  35. package/dist/core-completion-safety-contracts.d.ts.map +1 -0
  36. package/dist/core-completion-safety-contracts.js +98 -0
  37. package/dist/core-completion-safety-contracts.js.map +1 -0
  38. package/dist/dispatch-attempt-manifest.d.ts +59 -0
  39. package/dist/dispatch-attempt-manifest.d.ts.map +1 -0
  40. package/dist/dispatch-attempt-manifest.js +294 -0
  41. package/dist/dispatch-attempt-manifest.js.map +1 -0
  42. package/dist/dispatch-idempotency.d.ts +89 -0
  43. package/dist/dispatch-idempotency.d.ts.map +1 -0
  44. package/dist/dispatch-idempotency.js +275 -0
  45. package/dist/dispatch-idempotency.js.map +1 -0
  46. package/dist/external-auth-policy.d.ts +49 -0
  47. package/dist/external-auth-policy.d.ts.map +1 -0
  48. package/dist/external-auth-policy.js +166 -0
  49. package/dist/external-auth-policy.js.map +1 -0
  50. package/dist/fake-remote-connector-adapter.d.ts +37 -0
  51. package/dist/fake-remote-connector-adapter.d.ts.map +1 -0
  52. package/dist/fake-remote-connector-adapter.js +162 -0
  53. package/dist/fake-remote-connector-adapter.js.map +1 -0
  54. package/dist/fallback-decision.d.ts +29 -0
  55. package/dist/fallback-decision.d.ts.map +1 -0
  56. package/dist/fallback-decision.js +93 -0
  57. package/dist/fallback-decision.js.map +1 -0
  58. package/dist/fallback-regate-plan.d.ts +34 -0
  59. package/dist/fallback-regate-plan.d.ts.map +1 -0
  60. package/dist/fallback-regate-plan.js +122 -0
  61. package/dist/fallback-regate-plan.js.map +1 -0
  62. package/dist/fds1-schema-probe-result.d.ts +37 -0
  63. package/dist/fds1-schema-probe-result.d.ts.map +1 -0
  64. package/dist/fds1-schema-probe-result.js +115 -0
  65. package/dist/fds1-schema-probe-result.js.map +1 -0
  66. package/dist/index.d.ts +25 -0
  67. package/dist/index.d.ts.map +1 -1
  68. package/dist/index.js +25 -0
  69. package/dist/index.js.map +1 -1
  70. package/dist/lane-heartbeat.d.ts +49 -0
  71. package/dist/lane-heartbeat.d.ts.map +1 -0
  72. package/dist/lane-heartbeat.js +149 -0
  73. package/dist/lane-heartbeat.js.map +1 -0
  74. package/dist/lane-lifecycle-record.d.ts +32 -0
  75. package/dist/lane-lifecycle-record.d.ts.map +1 -0
  76. package/dist/lane-lifecycle-record.js +134 -0
  77. package/dist/lane-lifecycle-record.js.map +1 -0
  78. package/dist/lane-stall-projection.d.ts +43 -0
  79. package/dist/lane-stall-projection.d.ts.map +1 -0
  80. package/dist/lane-stall-projection.js +272 -0
  81. package/dist/lane-stall-projection.js.map +1 -0
  82. package/dist/model-availability-cache.d.ts +286 -0
  83. package/dist/model-availability-cache.d.ts.map +1 -0
  84. package/dist/model-availability-cache.js +1109 -0
  85. package/dist/model-availability-cache.js.map +1 -0
  86. package/dist/operational-intelligence.d.ts +38 -0
  87. package/dist/operational-intelligence.d.ts.map +1 -0
  88. package/dist/operational-intelligence.js +107 -0
  89. package/dist/operational-intelligence.js.map +1 -0
  90. package/dist/production-approval-source.d.ts +61 -0
  91. package/dist/production-approval-source.d.ts.map +1 -0
  92. package/dist/production-approval-source.js +226 -0
  93. package/dist/production-approval-source.js.map +1 -0
  94. package/dist/production-enablement.d.ts +92 -1
  95. package/dist/production-enablement.d.ts.map +1 -1
  96. package/dist/production-enablement.js +421 -8
  97. package/dist/production-enablement.js.map +1 -1
  98. package/dist/production-verification.d.ts +31 -0
  99. package/dist/production-verification.d.ts.map +1 -0
  100. package/dist/production-verification.js +126 -0
  101. package/dist/production-verification.js.map +1 -0
  102. package/dist/provider-usage-collector.d.ts +7 -0
  103. package/dist/provider-usage-collector.d.ts.map +1 -1
  104. package/dist/provider-usage-collector.js +64 -10
  105. package/dist/provider-usage-collector.js.map +1 -1
  106. package/dist/release1-contracts.d.ts +8 -2
  107. package/dist/release1-contracts.d.ts.map +1 -1
  108. package/dist/release1-contracts.js +2 -1
  109. package/dist/release1-contracts.js.map +1 -1
  110. package/dist/remote-write-connector-gate.d.ts +91 -0
  111. package/dist/remote-write-connector-gate.d.ts.map +1 -0
  112. package/dist/remote-write-connector-gate.js +291 -0
  113. package/dist/remote-write-connector-gate.js.map +1 -0
  114. package/dist/runtime-lane-productization.d.ts +78 -0
  115. package/dist/runtime-lane-productization.d.ts.map +1 -0
  116. package/dist/runtime-lane-productization.js +270 -0
  117. package/dist/runtime-lane-productization.js.map +1 -0
  118. package/dist/sanitized-auth-capture.d.ts +50 -0
  119. package/dist/sanitized-auth-capture.d.ts.map +1 -0
  120. package/dist/sanitized-auth-capture.js +164 -0
  121. package/dist/sanitized-auth-capture.js.map +1 -0
  122. package/dist/schema-artifacts.d.ts.map +1 -1
  123. package/dist/schema-artifacts.js +37 -6
  124. package/dist/schema-artifacts.js.map +1 -1
  125. package/dist/schema-registry.d.ts.map +1 -1
  126. package/dist/schema-registry.js +21 -0
  127. package/dist/schema-registry.js.map +1 -1
  128. package/dist/session-evidence.d.ts +117 -0
  129. package/dist/session-evidence.d.ts.map +1 -1
  130. package/dist/session-evidence.js +581 -1
  131. package/dist/session-evidence.js.map +1 -1
  132. package/dist/state-paths.d.ts +1 -1
  133. package/dist/state-paths.d.ts.map +1 -1
  134. package/dist/state-paths.js +56 -6
  135. package/dist/state-paths.js.map +1 -1
  136. package/dist/status.d.ts +7 -0
  137. package/dist/status.d.ts.map +1 -1
  138. package/dist/status.js +89 -1
  139. package/dist/status.js.map +1 -1
  140. package/dist/validators.d.ts +1 -0
  141. package/dist/validators.d.ts.map +1 -1
  142. package/dist/validators.js +30 -7
  143. package/dist/validators.js.map +1 -1
  144. package/package.json +11 -2
@@ -0,0 +1,294 @@
1
+ import { evaluateFlowDeskDispatchIdempotencyReplayV1, validateFlowDeskDispatchIdempotencySnapshotV1, } from "./dispatch-idempotency.js";
2
+ import { validateFlowDeskProductionApprovalSourceV1, } from "./production-approval-source.js";
3
+ import { invalid, valid, validateConcreteProviderQualifiedModelId, validateNoForbiddenRawPayloads, validateOpaqueId, validateOpaqueRef, } from "./validators.js";
4
+ export const FLOWDESK_DISPATCH_ATTEMPT_STATES = [
5
+ "planned",
6
+ "audit_committed",
7
+ "approval_consumed",
8
+ "sdk_call_permitted",
9
+ "dispatch_failed",
10
+ "quarantined",
11
+ ];
12
+ const disabledDispatchAuthority = {
13
+ dispatch_authority_enabled: false,
14
+ realOpenCodeDispatch: false,
15
+ actualLaneLaunch: false,
16
+ providerCall: false,
17
+ runtimeExecution: false,
18
+ };
19
+ function isRecord(value) {
20
+ return typeof value === "object" && value !== null && !Array.isArray(value);
21
+ }
22
+ function isState(value) {
23
+ return (typeof value === "string" &&
24
+ FLOWDESK_DISPATCH_ATTEMPT_STATES.includes(value));
25
+ }
26
+ function validateTimestamp(value, label) {
27
+ return typeof value === "string" && Number.isFinite(Date.parse(value))
28
+ ? valid()
29
+ : invalid(`${label} must be a parseable timestamp`);
30
+ }
31
+ function validateHashRef(value, label) {
32
+ const ref = validateOpaqueRef(value, label);
33
+ if (!ref.ok)
34
+ return ref;
35
+ return typeof value === "string" && /^(hash-|sha256-)/.test(value)
36
+ ? valid()
37
+ : invalid(`${label} must be a hash-bound opaque ref`);
38
+ }
39
+ function validateRefs(value, label) {
40
+ if (!Array.isArray(value))
41
+ return invalid(`${label} must be an array`);
42
+ const errors = [];
43
+ for (const [index, ref] of value.entries())
44
+ errors.push(...validateOpaqueRef(ref, `${label}[${index}]`).errors);
45
+ return errors.length === 0 ? valid() : invalid(...errors);
46
+ }
47
+ export function validateFlowDeskDispatchAttemptManifestV1(value, expectedWorkflowId) {
48
+ if (!isRecord(value))
49
+ return invalid("dispatch attempt manifest must be an object");
50
+ const record = value;
51
+ const errors = [];
52
+ const allowed = new Set([
53
+ "schema_version",
54
+ "workflow_id",
55
+ "attempt_id",
56
+ "state",
57
+ "actor_ref",
58
+ "profile_ref",
59
+ "provider_qualified_model_id",
60
+ "provider_binding_hash",
61
+ "evidence_bundle_hash",
62
+ "evidence_refs",
63
+ "approval_ref",
64
+ "consumed_approval_ref",
65
+ "guard_decision_ref",
66
+ "pre_dispatch_audit_ref",
67
+ "pre_dispatch_audit_committed",
68
+ "idempotency_key",
69
+ "created_at",
70
+ "updated_at",
71
+ "dispatch_authority_enabled",
72
+ "realOpenCodeDispatch",
73
+ "actualLaneLaunch",
74
+ "providerCall",
75
+ "runtimeExecution",
76
+ ]);
77
+ for (const key of Object.keys(record))
78
+ if (!allowed.has(key))
79
+ errors.push(`unknown properties: ${key}`);
80
+ if (record.schema_version !== "flowdesk.dispatch_attempt_manifest.v1")
81
+ errors.push("dispatch manifest schema_version is invalid");
82
+ errors.push(...validateOpaqueId(record.workflow_id, "workflow_id").errors);
83
+ if (expectedWorkflowId !== undefined && record.workflow_id !== expectedWorkflowId)
84
+ errors.push("dispatch manifest workflow_id mismatch");
85
+ errors.push(...validateOpaqueId(record.attempt_id, "attempt_id").errors);
86
+ if (!isState(record.state))
87
+ errors.push("dispatch manifest state is invalid");
88
+ errors.push(...validateOpaqueRef(record.actor_ref, "actor_ref").errors);
89
+ errors.push(...validateOpaqueRef(record.profile_ref, "profile_ref").errors);
90
+ errors.push(...validateConcreteProviderQualifiedModelId(record.provider_qualified_model_id).errors);
91
+ errors.push(...validateHashRef(record.provider_binding_hash, "provider_binding_hash")
92
+ .errors);
93
+ errors.push(...validateHashRef(record.evidence_bundle_hash, "evidence_bundle_hash")
94
+ .errors);
95
+ errors.push(...validateRefs(record.evidence_refs, "evidence_refs").errors);
96
+ errors.push(...validateOpaqueRef(record.approval_ref, "approval_ref").errors);
97
+ if (record.consumed_approval_ref !== undefined)
98
+ errors.push(...validateOpaqueRef(record.consumed_approval_ref, "consumed_approval_ref")
99
+ .errors);
100
+ errors.push(...validateOpaqueRef(record.guard_decision_ref, "guard_decision_ref").errors);
101
+ errors.push(...validateOpaqueRef(record.pre_dispatch_audit_ref, "pre_dispatch_audit_ref")
102
+ .errors);
103
+ if (typeof record.pre_dispatch_audit_committed !== "boolean")
104
+ errors.push("pre_dispatch_audit_committed must be boolean");
105
+ errors.push(...validateOpaqueRef(record.idempotency_key, "idempotency_key").errors);
106
+ errors.push(...validateTimestamp(record.created_at, "created_at").errors);
107
+ errors.push(...validateTimestamp(record.updated_at, "updated_at").errors);
108
+ if ((record.state === "approval_consumed" || record.state === "sdk_call_permitted") &&
109
+ (record.consumed_approval_ref === undefined ||
110
+ record.pre_dispatch_audit_committed !== true))
111
+ errors.push("approval-consumed manifests require consumed approval and committed audit");
112
+ if (record.state === "planned" &&
113
+ (record.consumed_approval_ref !== undefined ||
114
+ record.pre_dispatch_audit_committed === true))
115
+ errors.push("planned manifests cannot carry consumed approval or committed audit");
116
+ if (record.state === "audit_committed" && record.pre_dispatch_audit_committed !== true)
117
+ errors.push("audit_committed manifests require committed audit");
118
+ if (typeof record.created_at === "string" &&
119
+ typeof record.updated_at === "string" &&
120
+ Number.isFinite(Date.parse(record.created_at)) &&
121
+ Number.isFinite(Date.parse(record.updated_at)) &&
122
+ Date.parse(record.updated_at) < Date.parse(record.created_at))
123
+ errors.push("dispatch manifest updated_at cannot be before created_at");
124
+ if (record.dispatch_authority_enabled !== false ||
125
+ record.realOpenCodeDispatch !== false ||
126
+ record.actualLaneLaunch !== false ||
127
+ record.providerCall !== false ||
128
+ record.runtimeExecution !== false)
129
+ errors.push("dispatch manifest cannot enable runtime authority");
130
+ errors.push(...validateNoForbiddenRawPayloads(record, "dispatch_attempt_manifest").errors);
131
+ return errors.length === 0 ? valid() : invalid(...errors);
132
+ }
133
+ export function evaluateFlowDeskDispatchAttemptPrecallV1(input) {
134
+ const errors = [];
135
+ const blockedLabels = [];
136
+ const manifestResult = validateFlowDeskDispatchAttemptManifestV1(input.manifest);
137
+ errors.push(...manifestResult.errors);
138
+ if (!manifestResult.ok)
139
+ blockedLabels.push("manifest_invalid");
140
+ if (input.manifest.pre_dispatch_audit_committed !== true)
141
+ blockedLabels.push("pre_dispatch_audit_not_committed");
142
+ if (input.manifest.consumed_approval_ref === undefined)
143
+ blockedLabels.push("approval_not_consumed");
144
+ if (input.manifest.state !== "approval_consumed" &&
145
+ input.manifest.state !== "sdk_call_permitted")
146
+ blockedLabels.push("manifest_state_not_precall_ready");
147
+ if (input.consumedApproval === undefined) {
148
+ blockedLabels.push("consumed_approval_missing");
149
+ }
150
+ else {
151
+ const approvalResult = validateFlowDeskProductionApprovalSourceV1(input.consumedApproval, input.manifest.workflow_id);
152
+ errors.push(...approvalResult.errors);
153
+ if (!approvalResult.ok)
154
+ blockedLabels.push("consumed_approval_invalid");
155
+ if (input.consumedApproval.consumed_at === undefined)
156
+ blockedLabels.push("approval_not_consumed");
157
+ if (input.consumedApproval.approval_id !== input.manifest.approval_ref)
158
+ blockedLabels.push("approval_ref_mismatch");
159
+ if (input.consumedApproval.consumed_by_attempt_id !==
160
+ input.manifest.attempt_id)
161
+ blockedLabels.push("approval_attempt_mismatch");
162
+ if (input.consumedApproval.actor_ref !== input.manifest.actor_ref)
163
+ blockedLabels.push("approval_actor_mismatch");
164
+ if (input.consumedApproval.profile_ref !== input.manifest.profile_ref)
165
+ blockedLabels.push("approval_profile_mismatch");
166
+ if (input.consumedApproval.provider_qualified_model_id !==
167
+ input.manifest.provider_qualified_model_id)
168
+ blockedLabels.push("approval_model_mismatch");
169
+ if (input.consumedApproval.provider_binding_hash !==
170
+ input.manifest.provider_binding_hash)
171
+ blockedLabels.push("approval_provider_binding_mismatch");
172
+ if (input.consumedApproval.evidence_bundle_hash !==
173
+ input.manifest.evidence_bundle_hash)
174
+ blockedLabels.push("approval_evidence_bundle_mismatch");
175
+ if (input.consumedApproval.guard_decision_ref !==
176
+ input.manifest.guard_decision_ref)
177
+ blockedLabels.push("approval_guard_mismatch");
178
+ }
179
+ const uniqueBlockedLabels = [...new Set(blockedLabels)];
180
+ const permitted = errors.length === 0 && uniqueBlockedLabels.length === 0;
181
+ return {
182
+ schema_version: "flowdesk.dispatch_attempt_precall_evaluation.v1",
183
+ workflow_id: input.manifest.workflow_id,
184
+ attempt_id: input.manifest.attempt_id,
185
+ ok: errors.length === 0,
186
+ errors,
187
+ state: permitted ? "sdk_call_permitted" : "blocked_before_sdk_call",
188
+ sdk_call_permitted: permitted,
189
+ blocked_labels: uniqueBlockedLabels,
190
+ ...disabledDispatchAuthority,
191
+ };
192
+ }
193
+ function getRecordString(record, key) {
194
+ const value = record[key];
195
+ return typeof value === "string" ? value : undefined;
196
+ }
197
+ export function evaluateFlowDeskDispatchAttemptDurablePrecallV1(input) {
198
+ const durableErrors = [];
199
+ const durableBlockedLabels = [];
200
+ if (!input.reloadedEvidence.ok) {
201
+ durableErrors.push(...input.reloadedEvidence.errors);
202
+ durableBlockedLabels.push("session_evidence_reload_invalid");
203
+ }
204
+ if (input.reloadedEvidence.blocked.length > 0)
205
+ durableBlockedLabels.push("session_evidence_contains_blocked_entries");
206
+ const approvalEntry = input.reloadedEvidence.entries.find((entry) => entry.evidenceClass === "production_approval_source" &&
207
+ getRecordString(entry.record, "approval_id") === input.manifest.approval_ref);
208
+ const approvalValidation = approvalEntry
209
+ ? validateFlowDeskProductionApprovalSourceV1(approvalEntry.record, input.manifest.workflow_id)
210
+ : undefined;
211
+ if (approvalEntry === undefined) {
212
+ durableBlockedLabels.push("reloaded_approval_source_missing");
213
+ }
214
+ else if (!approvalValidation?.ok) {
215
+ durableErrors.push(...(approvalValidation?.errors ?? []));
216
+ durableBlockedLabels.push("reloaded_approval_source_invalid");
217
+ }
218
+ const consumedApproval = approvalValidation?.ok
219
+ ? approvalEntry?.record
220
+ : undefined;
221
+ const auditEntry = input.reloadedEvidence.entries.find((entry) => entry.evidenceClass === "pre_dispatch_audit" &&
222
+ (entry.evidenceId === input.manifest.pre_dispatch_audit_ref ||
223
+ getRecordString(entry.record, "pre_dispatch_audit_ref") ===
224
+ input.manifest.pre_dispatch_audit_ref ||
225
+ getRecordString(entry.record, "audit_ref") ===
226
+ input.manifest.pre_dispatch_audit_ref));
227
+ if (auditEntry === undefined)
228
+ durableBlockedLabels.push("reloaded_pre_dispatch_audit_missing");
229
+ const idempotencyEntry = input.reloadedEvidence.entries.find((entry) => entry.evidenceClass === "dispatch_idempotency");
230
+ const idempotencySnapshot = idempotencyEntry?.record;
231
+ if (idempotencyEntry === undefined) {
232
+ durableBlockedLabels.push("reloaded_idempotency_snapshot_missing");
233
+ }
234
+ else {
235
+ const snapshotValidation = validateFlowDeskDispatchIdempotencySnapshotV1(idempotencyEntry.record, input.manifest.workflow_id);
236
+ if (!snapshotValidation.ok) {
237
+ durableErrors.push(...snapshotValidation.errors);
238
+ durableBlockedLabels.push("reloaded_idempotency_snapshot_invalid");
239
+ }
240
+ }
241
+ const replay = evaluateFlowDeskDispatchIdempotencyReplayV1({
242
+ workflowId: input.manifest.workflow_id,
243
+ attemptId: input.manifest.attempt_id,
244
+ idempotencyKey: input.manifest.idempotency_key,
245
+ snapshot: idempotencySnapshot,
246
+ });
247
+ durableErrors.push(...replay.errors);
248
+ if (!replay.replay_safe)
249
+ durableBlockedLabels.push(...replay.blocked_labels.map((label) => `idempotency_${label}`));
250
+ const regateEntry = input.reloadedEvidence.entries.find((entry) => entry.evidenceClass === "fallback_regate_plan");
251
+ if (regateEntry !== undefined) {
252
+ const regatePlan = regateEntry.record;
253
+ if (regatePlan.state === "full_regate_required") {
254
+ if (regatePlan.new_attempt_id !== input.manifest.attempt_id) {
255
+ durableBlockedLabels.push("fallback_regate_plan_attempt_mismatch");
256
+ }
257
+ const loadedRefs = new Set(input.reloadedEvidence.entries.map((e) => e.evidenceId));
258
+ for (const reqRef of regatePlan.required_fresh_evidence_refs) {
259
+ if (!loadedRefs.has(reqRef)) {
260
+ durableBlockedLabels.push("fallback_regate_plan_fresh_evidence_missing");
261
+ break;
262
+ }
263
+ }
264
+ }
265
+ }
266
+ const base = evaluateFlowDeskDispatchAttemptPrecallV1({
267
+ manifest: input.manifest,
268
+ consumedApproval,
269
+ });
270
+ const errors = [...base.errors, ...durableErrors];
271
+ const blockedLabels = [
272
+ ...new Set([...base.blocked_labels, ...durableBlockedLabels]),
273
+ ];
274
+ const permitted = errors.length === 0 && blockedLabels.length === 0;
275
+ return {
276
+ ...base,
277
+ ok: errors.length === 0,
278
+ errors,
279
+ state: permitted ? "sdk_call_permitted" : "blocked_before_sdk_call",
280
+ sdk_call_permitted: permitted,
281
+ blocked_labels: blockedLabels,
282
+ durable_provenance_required: true,
283
+ ...(approvalEntry === undefined
284
+ ? {}
285
+ : { reloaded_approval_source_ref: approvalEntry.evidenceId }),
286
+ ...(auditEntry === undefined
287
+ ? {}
288
+ : { reloaded_pre_dispatch_audit_ref: auditEntry.evidenceId }),
289
+ ...(idempotencyEntry === undefined
290
+ ? {}
291
+ : { reloaded_idempotency_snapshot_ref: idempotencyEntry.evidenceId }),
292
+ };
293
+ }
294
+ //# sourceMappingURL=dispatch-attempt-manifest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dispatch-attempt-manifest.js","sourceRoot":"","sources":["../src/dispatch-attempt-manifest.ts"],"names":[],"mappings":"AACA,OAAO,EACN,2CAA2C,EAC3C,6CAA6C,GAE7C,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACN,0CAA0C,GAE1C,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EACN,OAAO,EAEP,KAAK,EACL,wCAAwC,EACxC,8BAA8B,EAC9B,gBAAgB,EAChB,iBAAiB,GACjB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,CAAC,MAAM,gCAAgC,GAAG;IAC/C,SAAS;IACT,iBAAiB;IACjB,mBAAmB;IACnB,oBAAoB;IACpB,iBAAiB;IACjB,aAAa;CACJ,CAAC;AAqDX,MAAM,yBAAyB,GAAG;IACjC,0BAA0B,EAAE,KAAc;IAC1C,oBAAoB,EAAE,KAAc;IACpC,gBAAgB,EAAE,KAAc;IAChC,YAAY,EAAE,KAAc;IAC5B,gBAAgB,EAAE,KAAc;CAChC,CAAC;AAEF,SAAS,QAAQ,CAAC,KAAc;IAC/B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC7E,CAAC;AAED,SAAS,OAAO,CAAC,KAAc;IAC9B,OAAO,CACN,OAAO,KAAK,KAAK,QAAQ;QACxB,gCAAsD,CAAC,QAAQ,CAAC,KAAK,CAAC,CACvE,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc,EAAE,KAAa;IACvD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrE,CAAC,CAAC,KAAK,EAAE;QACT,CAAC,CAAC,OAAO,CAAC,GAAG,KAAK,gCAAgC,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,eAAe,CAAC,KAAc,EAAE,KAAa;IACrD,MAAM,GAAG,GAAG,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC5C,IAAI,CAAC,GAAG,CAAC,EAAE;QAAE,OAAO,GAAG,CAAC;IACxB,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC;QACjE,CAAC,CAAC,KAAK,EAAE;QACT,CAAC,CAAC,OAAO,CAAC,GAAG,KAAK,kCAAkC,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,YAAY,CAAC,KAAc,EAAE,KAAa;IAClD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC,GAAG,KAAK,mBAAmB,CAAC,CAAC;IACvE,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE;QACzC,MAAM,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;IACrE,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,yCAAyC,CACxD,KAAc,EACd,kBAA2B;IAE3B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC,6CAA6C,CAAC,CAAC;IACpF,MAAM,MAAM,GAAG,KAAmD,CAAC;IACnE,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC;QACvB,gBAAgB;QAChB,aAAa;QACb,YAAY;QACZ,OAAO;QACP,WAAW;QACX,aAAa;QACb,6BAA6B;QAC7B,uBAAuB;QACvB,sBAAsB;QACtB,eAAe;QACf,cAAc;QACd,uBAAuB;QACvB,oBAAoB;QACpB,wBAAwB;QACxB,8BAA8B;QAC9B,iBAAiB;QACjB,YAAY;QACZ,YAAY;QACZ,4BAA4B;QAC5B,sBAAsB;QACtB,kBAAkB;QAClB,cAAc;QACd,kBAAkB;KAClB,CAAC,CAAC;IACH,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;QACpC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,uBAAuB,GAAG,EAAE,CAAC,CAAC;IAClE,IAAI,MAAM,CAAC,cAAc,KAAK,uCAAuC;QACpE,MAAM,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;IAC5D,MAAM,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,MAAM,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;IAC3E,IAAI,kBAAkB,KAAK,SAAS,IAAI,MAAM,CAAC,WAAW,KAAK,kBAAkB;QAChF,MAAM,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;IACvD,MAAM,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;IACzE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;QAAE,MAAM,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;IAC9E,MAAM,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;IACxE,MAAM,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,MAAM,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;IAC5E,MAAM,CAAC,IAAI,CACV,GAAG,wCAAwC,CAC1C,MAAM,CAAC,2BAA2B,CAClC,CAAC,MAAM,CACR,CAAC;IACF,MAAM,CAAC,IAAI,CACV,GAAG,eAAe,CAAC,MAAM,CAAC,qBAAqB,EAAE,uBAAuB,CAAC;SACvE,MAAM,CACR,CAAC;IACF,MAAM,CAAC,IAAI,CACV,GAAG,eAAe,CAAC,MAAM,CAAC,oBAAoB,EAAE,sBAAsB,CAAC;SACrE,MAAM,CACR,CAAC;IACF,MAAM,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;IAC3E,MAAM,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,MAAM,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;IAC9E,IAAI,MAAM,CAAC,qBAAqB,KAAK,SAAS;QAC7C,MAAM,CAAC,IAAI,CACV,GAAG,iBAAiB,CAAC,MAAM,CAAC,qBAAqB,EAAE,uBAAuB,CAAC;aACzE,MAAM,CACR,CAAC;IACH,MAAM,CAAC,IAAI,CACV,GAAG,iBAAiB,CAAC,MAAM,CAAC,kBAAkB,EAAE,oBAAoB,CAAC,CAAC,MAAM,CAC5E,CAAC;IACF,MAAM,CAAC,IAAI,CACV,GAAG,iBAAiB,CAAC,MAAM,CAAC,sBAAsB,EAAE,wBAAwB,CAAC;SAC3E,MAAM,CACR,CAAC;IACF,IAAI,OAAO,MAAM,CAAC,4BAA4B,KAAK,SAAS;QAC3D,MAAM,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;IAC7D,MAAM,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,MAAM,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;IACpF,MAAM,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;IAC1E,MAAM,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;IAC1E,IACC,CAAC,MAAM,CAAC,KAAK,KAAK,mBAAmB,IAAI,MAAM,CAAC,KAAK,KAAK,oBAAoB,CAAC;QAC/E,CAAC,MAAM,CAAC,qBAAqB,KAAK,SAAS;YAC1C,MAAM,CAAC,4BAA4B,KAAK,IAAI,CAAC;QAE9C,MAAM,CAAC,IAAI,CACV,2EAA2E,CAC3E,CAAC;IACH,IACC,MAAM,CAAC,KAAK,KAAK,SAAS;QAC1B,CAAC,MAAM,CAAC,qBAAqB,KAAK,SAAS;YAC1C,MAAM,CAAC,4BAA4B,KAAK,IAAI,CAAC;QAE9C,MAAM,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAC;IACpF,IAAI,MAAM,CAAC,KAAK,KAAK,iBAAiB,IAAI,MAAM,CAAC,4BAA4B,KAAK,IAAI;QACrF,MAAM,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;IAClE,IACC,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ;QACrC,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ;QACrC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC9C,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC9C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC;QAE7D,MAAM,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;IACzE,IACC,MAAM,CAAC,0BAA0B,KAAK,KAAK;QAC3C,MAAM,CAAC,oBAAoB,KAAK,KAAK;QACrC,MAAM,CAAC,gBAAgB,KAAK,KAAK;QACjC,MAAM,CAAC,YAAY,KAAK,KAAK;QAC7B,MAAM,CAAC,gBAAgB,KAAK,KAAK;QAEjC,MAAM,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;IAClE,MAAM,CAAC,IAAI,CACV,GAAG,8BAA8B,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAC,MAAM,CAC7E,CAAC;IACF,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,wCAAwC,CAAC,KAGxD;IACA,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,aAAa,GAAa,EAAE,CAAC;IACnC,MAAM,cAAc,GAAG,yCAAyC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACjF,MAAM,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACtC,IAAI,CAAC,cAAc,CAAC,EAAE;QAAE,aAAa,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC/D,IAAI,KAAK,CAAC,QAAQ,CAAC,4BAA4B,KAAK,IAAI;QACvD,aAAa,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;IACxD,IAAI,KAAK,CAAC,QAAQ,CAAC,qBAAqB,KAAK,SAAS;QACrD,aAAa,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IAC7C,IACC,KAAK,CAAC,QAAQ,CAAC,KAAK,KAAK,mBAAmB;QAC5C,KAAK,CAAC,QAAQ,CAAC,KAAK,KAAK,oBAAoB;QAE7C,aAAa,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;IACxD,IAAI,KAAK,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;QAC1C,aAAa,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IACjD,CAAC;SAAM,CAAC;QACP,MAAM,cAAc,GAAG,0CAA0C,CAChE,KAAK,CAAC,gBAAgB,EACtB,KAAK,CAAC,QAAQ,CAAC,WAAW,CAC1B,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC,cAAc,CAAC,EAAE;YAAE,aAAa,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QACxE,IAAI,KAAK,CAAC,gBAAgB,CAAC,WAAW,KAAK,SAAS;YACnD,aAAa,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAC7C,IAAI,KAAK,CAAC,gBAAgB,CAAC,WAAW,KAAK,KAAK,CAAC,QAAQ,CAAC,YAAY;YACrE,aAAa,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAC7C,IACC,KAAK,CAAC,gBAAgB,CAAC,sBAAsB;YAC7C,KAAK,CAAC,QAAQ,CAAC,UAAU;YAEzB,aAAa,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QACjD,IAAI,KAAK,CAAC,gBAAgB,CAAC,SAAS,KAAK,KAAK,CAAC,QAAQ,CAAC,SAAS;YAChE,aAAa,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QAC/C,IAAI,KAAK,CAAC,gBAAgB,CAAC,WAAW,KAAK,KAAK,CAAC,QAAQ,CAAC,WAAW;YACpE,aAAa,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QACjD,IACC,KAAK,CAAC,gBAAgB,CAAC,2BAA2B;YAClD,KAAK,CAAC,QAAQ,CAAC,2BAA2B;YAE1C,aAAa,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QAC/C,IACC,KAAK,CAAC,gBAAgB,CAAC,qBAAqB;YAC5C,KAAK,CAAC,QAAQ,CAAC,qBAAqB;YAEpC,aAAa,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;QAC1D,IACC,KAAK,CAAC,gBAAgB,CAAC,oBAAoB;YAC3C,KAAK,CAAC,QAAQ,CAAC,oBAAoB;YAEnC,aAAa,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;QACzD,IACC,KAAK,CAAC,gBAAgB,CAAC,kBAAkB;YACzC,KAAK,CAAC,QAAQ,CAAC,kBAAkB;YAEjC,aAAa,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IAChD,CAAC;IACD,MAAM,mBAAmB,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;IACxD,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,CAAC;IAC1E,OAAO;QACN,cAAc,EAAE,iDAAiD;QACjE,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,WAAW;QACvC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,UAAU;QACrC,EAAE,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;QACvB,MAAM;QACN,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,yBAAyB;QACnE,kBAAkB,EAAE,SAAS;QAC7B,cAAc,EAAE,mBAAmB;QACnC,GAAG,yBAAyB;KAC5B,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CACvB,MAA+B,EAC/B,GAAW;IAEX,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,+CAA+C,CAAC,KAG/D;IACA,MAAM,aAAa,GAAa,EAAE,CAAC;IACnC,MAAM,oBAAoB,GAAa,EAAE,CAAC;IAC1C,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC;QAChC,aAAa,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACrD,oBAAoB,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;IAC9D,CAAC;IACD,IAAI,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;QAC5C,oBAAoB,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;IAExE,MAAM,aAAa,GAAG,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CACxD,CAAC,KAAK,EAAE,EAAE,CACT,KAAK,CAAC,aAAa,KAAK,4BAA4B;QACpD,eAAe,CAAC,KAAK,CAAC,MAAM,EAAE,aAAa,CAAC,KAAK,KAAK,CAAC,QAAQ,CAAC,YAAY,CAC7E,CAAC;IACF,MAAM,kBAAkB,GAAG,aAAa;QACvC,CAAC,CAAC,0CAA0C,CAC1C,aAAa,CAAC,MAAM,EACpB,KAAK,CAAC,QAAQ,CAAC,WAAW,CAC1B;QACF,CAAC,CAAC,SAAS,CAAC;IACb,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QACjC,oBAAoB,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;IAC/D,CAAC;SAAM,IAAI,CAAC,kBAAkB,EAAE,EAAE,EAAE,CAAC;QACpC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC;QAC1D,oBAAoB,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,gBAAgB,GAAG,kBAAkB,EAAE,EAAE;QAC9C,CAAC,CAAE,aAAa,EAAE,MAAwD;QAC1E,CAAC,CAAC,SAAS,CAAC;IACb,MAAM,UAAU,GAAG,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CACrD,CAAC,KAAK,EAAE,EAAE,CACT,KAAK,CAAC,aAAa,KAAK,oBAAoB;QAC5C,CAAC,KAAK,CAAC,UAAU,KAAK,KAAK,CAAC,QAAQ,CAAC,sBAAsB;YAC1D,eAAe,CAAC,KAAK,CAAC,MAAM,EAAE,wBAAwB,CAAC;gBACtD,KAAK,CAAC,QAAQ,CAAC,sBAAsB;YACtC,eAAe,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC;gBACzC,KAAK,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CACzC,CAAC;IACF,IAAI,UAAU,KAAK,SAAS;QAC3B,oBAAoB,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;IAClE,MAAM,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAC3D,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,aAAa,KAAK,sBAAsB,CACzD,CAAC;IACF,MAAM,mBAAmB,GAAG,gBAAgB,EAAE,MAElC,CAAC;IACb,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;QACpC,oBAAoB,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;IACpE,CAAC;SAAM,CAAC;QACP,MAAM,kBAAkB,GAAG,6CAA6C,CACvE,gBAAgB,CAAC,MAAM,EACvB,KAAK,CAAC,QAAQ,CAAC,WAAW,CAC1B,CAAC;QACF,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,CAAC;YAC5B,aAAa,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;YACjD,oBAAoB,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;QACpE,CAAC;IACF,CAAC;IACD,MAAM,MAAM,GAAG,2CAA2C,CAAC;QAC1D,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,WAAW;QACtC,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,UAAU;QACpC,cAAc,EAAE,KAAK,CAAC,QAAQ,CAAC,eAAe;QAC9C,QAAQ,EAAE,mBAAmB;KAC7B,CAAC,CAAC;IACH,aAAa,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IACrC,IAAI,CAAC,MAAM,CAAC,WAAW;QACtB,oBAAoB,CAAC,IAAI,CACxB,GAAG,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,eAAe,KAAK,EAAE,CAAC,CAC/D,CAAC;IAEH,MAAM,WAAW,GAAG,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CACtD,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,aAAa,KAAK,sBAAsB,CACzD,CAAC;IACF,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,UAAU,GAAG,WAAW,CAAC,MAAiD,CAAC;QACjF,IAAI,UAAU,CAAC,KAAK,KAAK,sBAAsB,EAAE,CAAC;YACjD,IAAI,UAAU,CAAC,cAAc,KAAK,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;gBAC7D,oBAAoB,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;YACpE,CAAC;YACD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;YACpF,KAAK,MAAM,MAAM,IAAI,UAAU,CAAC,4BAA4B,EAAE,CAAC;gBAC9D,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC7B,oBAAoB,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;oBACzE,MAAM;gBACP,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;IAED,MAAM,IAAI,GAAG,wCAAwC,CAAC;QACrD,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,gBAAgB;KAChB,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,aAAa,CAAC,CAAC;IAClD,MAAM,aAAa,GAAG;QACrB,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,oBAAoB,CAAC,CAAC;KAC7D,CAAC;IACF,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,CAAC;IACpE,OAAO;QACN,GAAG,IAAI;QACP,EAAE,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;QACvB,MAAM;QACN,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,yBAAyB;QACnE,kBAAkB,EAAE,SAAS;QAC7B,cAAc,EAAE,aAAa;QAC7B,2BAA2B,EAAE,IAAI;QACjC,GAAG,CAAC,aAAa,KAAK,SAAS;YAC9B,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,4BAA4B,EAAE,aAAa,CAAC,UAAU,EAAE,CAAC;QAC9D,GAAG,CAAC,UAAU,KAAK,SAAS;YAC3B,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,+BAA+B,EAAE,UAAU,CAAC,UAAU,EAAE,CAAC;QAC9D,GAAG,CAAC,gBAAgB,KAAK,SAAS;YACjC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,iCAAiC,EAAE,gBAAgB,CAAC,UAAU,EAAE,CAAC;KACtE,CAAC;AACH,CAAC"}
@@ -0,0 +1,89 @@
1
+ import { type ValidationResult } from "./validators.js";
2
+ export declare const FLOWDESK_DISPATCH_IDEMPOTENCY_ENTRY_STATES: readonly ["reserved", "sdk_call_permitted", "dispatch_completed", "dispatch_failed", "quarantined"];
3
+ export type FlowDeskDispatchIdempotencyEntryStateV1 = (typeof FLOWDESK_DISPATCH_IDEMPOTENCY_ENTRY_STATES)[number];
4
+ export interface FlowDeskDispatchIdempotencyLedgerEntryV1 {
5
+ attempt_id: string;
6
+ idempotency_key: string;
7
+ state: FlowDeskDispatchIdempotencyEntryStateV1;
8
+ recorded_at: string;
9
+ }
10
+ export interface FlowDeskDispatchIdempotencySnapshotV1 {
11
+ schema_version: "flowdesk.dispatch_idempotency_snapshot.v1";
12
+ workflow_id: string;
13
+ snapshot_ref: string;
14
+ observed_at: string;
15
+ entries: FlowDeskDispatchIdempotencyLedgerEntryV1[];
16
+ dispatch_authority_enabled: false;
17
+ realOpenCodeDispatch: false;
18
+ actualLaneLaunch: false;
19
+ providerCall: false;
20
+ runtimeExecution: false;
21
+ }
22
+ export interface FlowDeskDispatchIdempotencyReplayEvaluationV1 extends ValidationResult {
23
+ schema_version: "flowdesk.dispatch_idempotency_replay_evaluation.v1";
24
+ workflow_id?: string;
25
+ attempt_id?: string;
26
+ state: "unique" | "replay_blocked";
27
+ replay_safe: boolean;
28
+ blocked_labels: string[];
29
+ dispatch_authority_enabled: false;
30
+ realOpenCodeDispatch: false;
31
+ actualLaneLaunch: false;
32
+ providerCall: false;
33
+ runtimeExecution: false;
34
+ }
35
+ export interface FlowDeskDispatchIdempotencyReservationResultV1 extends ValidationResult {
36
+ schema_version: "flowdesk.dispatch_idempotency_reservation_result.v1";
37
+ workflow_id?: string;
38
+ attempt_id?: string;
39
+ snapshot_ref?: string;
40
+ state: "reservation_prepared" | "blocked_before_reservation";
41
+ reservation_prepared: boolean;
42
+ blocked_labels: string[];
43
+ snapshot?: FlowDeskDispatchIdempotencySnapshotV1;
44
+ dispatch_authority_enabled: false;
45
+ realOpenCodeDispatch: false;
46
+ actualLaneLaunch: false;
47
+ providerCall: false;
48
+ runtimeExecution: false;
49
+ }
50
+ export interface FlowDeskDispatchIdempotencyStateUpdateResultV1 extends ValidationResult {
51
+ schema_version: "flowdesk.dispatch_idempotency_state_update_result.v1";
52
+ workflow_id?: string;
53
+ attempt_id?: string;
54
+ snapshot_ref?: string;
55
+ state: "state_update_prepared" | "blocked_before_state_update";
56
+ state_update_prepared: boolean;
57
+ blocked_labels: string[];
58
+ snapshot?: FlowDeskDispatchIdempotencySnapshotV1;
59
+ dispatch_authority_enabled: false;
60
+ realOpenCodeDispatch: false;
61
+ actualLaneLaunch: false;
62
+ providerCall: false;
63
+ runtimeExecution: false;
64
+ }
65
+ export declare function validateFlowDeskDispatchIdempotencySnapshotV1(value: unknown, expectedWorkflowId?: string): ValidationResult;
66
+ export declare function evaluateFlowDeskDispatchIdempotencyReplayV1(input: {
67
+ workflowId: string;
68
+ attemptId: string;
69
+ idempotencyKey: string;
70
+ snapshot?: FlowDeskDispatchIdempotencySnapshotV1;
71
+ }): FlowDeskDispatchIdempotencyReplayEvaluationV1;
72
+ export declare function prepareFlowDeskDispatchIdempotencyReservationV1(input: {
73
+ workflowId: string;
74
+ attemptId: string;
75
+ idempotencyKey: string;
76
+ snapshotRef: string;
77
+ reservedAt: string;
78
+ existingSnapshot?: FlowDeskDispatchIdempotencySnapshotV1;
79
+ }): FlowDeskDispatchIdempotencyReservationResultV1;
80
+ export declare function prepareFlowDeskDispatchIdempotencyStateUpdateV1(input: {
81
+ workflowId: string;
82
+ attemptId: string;
83
+ idempotencyKey: string;
84
+ snapshotRef: string;
85
+ recordedAt: string;
86
+ nextState: FlowDeskDispatchIdempotencyEntryStateV1;
87
+ existingSnapshot?: FlowDeskDispatchIdempotencySnapshotV1;
88
+ }): FlowDeskDispatchIdempotencyStateUpdateResultV1;
89
+ //# sourceMappingURL=dispatch-idempotency.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dispatch-idempotency.d.ts","sourceRoot":"","sources":["../src/dispatch-idempotency.ts"],"names":[],"mappings":"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"}