@decionis/agent-safe-pipeline 0.3.8 → 0.4.1

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 (95) hide show
  1. package/README.md +50 -0
  2. package/dist/Index.d.ts +15 -0
  3. package/dist/Index.d.ts.map +1 -1
  4. package/dist/Index.js +15 -0
  5. package/dist/Index.js.map +1 -1
  6. package/dist/decision/DecionisGate.d.ts.map +1 -1
  7. package/dist/decision/DecionisGate.js +3 -2
  8. package/dist/decision/DecionisGate.js.map +1 -1
  9. package/dist/execution/AuthorizationVerifier.d.ts +33 -4
  10. package/dist/execution/AuthorizationVerifier.d.ts.map +1 -1
  11. package/dist/execution/AuthorizationVerifier.js +74 -10
  12. package/dist/execution/AuthorizationVerifier.js.map +1 -1
  13. package/dist/execution/EffectAdapter.d.ts +117 -0
  14. package/dist/execution/EffectAdapter.d.ts.map +1 -0
  15. package/dist/execution/EffectAdapter.js +22 -0
  16. package/dist/execution/EffectAdapter.js.map +1 -0
  17. package/dist/execution/ExecutionDeadline.d.ts +35 -0
  18. package/dist/execution/ExecutionDeadline.d.ts.map +1 -0
  19. package/dist/execution/ExecutionDeadline.js +52 -0
  20. package/dist/execution/ExecutionDeadline.js.map +1 -0
  21. package/dist/execution/ExecutionJournal.d.ts +148 -0
  22. package/dist/execution/ExecutionJournal.d.ts.map +1 -0
  23. package/dist/execution/ExecutionJournal.js +157 -0
  24. package/dist/execution/ExecutionJournal.js.map +1 -0
  25. package/dist/execution/ExecutionOutcome.d.ts +186 -0
  26. package/dist/execution/ExecutionOutcome.d.ts.map +1 -0
  27. package/dist/execution/ExecutionOutcome.js +2 -0
  28. package/dist/execution/ExecutionOutcome.js.map +1 -0
  29. package/dist/execution/ExecutionPosture.d.ts +50 -0
  30. package/dist/execution/ExecutionPosture.d.ts.map +1 -0
  31. package/dist/execution/ExecutionPosture.js +20 -0
  32. package/dist/execution/ExecutionPosture.js.map +1 -0
  33. package/dist/execution/ExecutorEvidence.d.ts +64 -0
  34. package/dist/execution/ExecutorEvidence.d.ts.map +1 -0
  35. package/dist/execution/ExecutorEvidence.js +14 -0
  36. package/dist/execution/ExecutorEvidence.js.map +1 -0
  37. package/dist/execution/GovernedExecutionRunner.d.ts +315 -0
  38. package/dist/execution/GovernedExecutionRunner.d.ts.map +1 -0
  39. package/dist/execution/GovernedExecutionRunner.js +1358 -0
  40. package/dist/execution/GovernedExecutionRunner.js.map +1 -0
  41. package/dist/execution/NativeExecutor.d.ts +226 -0
  42. package/dist/execution/NativeExecutor.d.ts.map +1 -0
  43. package/dist/execution/NativeExecutor.js +22 -0
  44. package/dist/execution/NativeExecutor.js.map +1 -0
  45. package/dist/execution/NativeExecutorSchema.d.ts +387 -0
  46. package/dist/execution/NativeExecutorSchema.d.ts.map +1 -0
  47. package/dist/execution/NativeExecutorSchema.js +261 -0
  48. package/dist/execution/NativeExecutorSchema.js.map +1 -0
  49. package/dist/execution/PostgresExecutionJournal.d.ts +54 -0
  50. package/dist/execution/PostgresExecutionJournal.d.ts.map +1 -0
  51. package/dist/execution/PostgresExecutionJournal.js +131 -0
  52. package/dist/execution/PostgresExecutionJournal.js.map +1 -0
  53. package/dist/execution/RegistryExecutor.d.ts +35 -0
  54. package/dist/execution/RegistryExecutor.d.ts.map +1 -0
  55. package/dist/execution/RegistryExecutor.js +84 -0
  56. package/dist/execution/RegistryExecutor.js.map +1 -0
  57. package/dist/execution/SafeExecutor.d.ts +22 -193
  58. package/dist/execution/SafeExecutor.d.ts.map +1 -1
  59. package/dist/execution/SafeExecutor.js +49 -521
  60. package/dist/execution/SafeExecutor.js.map +1 -1
  61. package/dist/http/AuthorityPaths.d.ts +51 -0
  62. package/dist/http/AuthorityPaths.d.ts.map +1 -0
  63. package/dist/http/AuthorityPaths.js +84 -0
  64. package/dist/http/AuthorityPaths.js.map +1 -0
  65. package/dist/intent/CanonicalIntentHasher.d.ts.map +1 -1
  66. package/dist/intent/CanonicalIntentHasher.js +11 -0
  67. package/dist/intent/CanonicalIntentHasher.js.map +1 -1
  68. package/dist/intent/ExecutionIntent.d.ts +44 -4
  69. package/dist/intent/ExecutionIntent.d.ts.map +1 -1
  70. package/dist/intent/ExecutionIntent.js +25 -0
  71. package/dist/intent/ExecutionIntent.js.map +1 -1
  72. package/dist/intent/IntentBindingSchema.d.ts +6 -0
  73. package/dist/intent/IntentBindingSchema.d.ts.map +1 -1
  74. package/dist/intent/IntentBindingSchema.js +10 -0
  75. package/dist/intent/IntentBindingSchema.js.map +1 -1
  76. package/dist/intent/IntentCapture.d.ts.map +1 -1
  77. package/dist/intent/IntentCapture.js +3 -0
  78. package/dist/intent/IntentCapture.js.map +1 -1
  79. package/dist/profile/ApiProfile.d.ts +154 -0
  80. package/dist/profile/ApiProfile.d.ts.map +1 -0
  81. package/dist/profile/ApiProfile.js +369 -0
  82. package/dist/profile/ApiProfile.js.map +1 -0
  83. package/dist/profile/ApiProfiles.d.ts +16 -0
  84. package/dist/profile/ApiProfiles.d.ts.map +1 -0
  85. package/dist/profile/ApiProfiles.js +29 -0
  86. package/dist/profile/ApiProfiles.js.map +1 -0
  87. package/dist/profile/BuiltInApiProfiles.d.ts +9 -0
  88. package/dist/profile/BuiltInApiProfiles.d.ts.map +1 -0
  89. package/dist/profile/BuiltInApiProfiles.js +296 -0
  90. package/dist/profile/BuiltInApiProfiles.js.map +1 -0
  91. package/dist/testing/LocalAuthority.d.ts +14 -0
  92. package/dist/testing/LocalAuthority.d.ts.map +1 -1
  93. package/dist/testing/LocalAuthority.js +75 -0
  94. package/dist/testing/LocalAuthority.js.map +1 -1
  95. package/package.json +4 -3
@@ -0,0 +1,296 @@
1
+ /**
2
+ * Every API intent profile this build ships, exactly as profiles/ states it.
3
+ * The runtime never reads profiles/: the generator mirrors them here, and the
4
+ * pipeline's tests compare this mirror with the files and their manifests on
5
+ * every run, so a drift is a failing test rather than a silent disagreement.
6
+ */
7
+ export const BUILT_IN_API_PROFILES = [
8
+ {
9
+ profile: "agent-safe.profile.api/1",
10
+ id: "businesscentral/api/v2",
11
+ platform: "business-central",
12
+ title: "Business Central API v2.0: the postings and master-data writes an agent can make",
13
+ prefixes: ["/v2.0/{tenantId}/{environment}/api/v2.0", "/v2.0/{environment}/api/v2.0", ""],
14
+ operations: [
15
+ {
16
+ id: "salesInvoices.post",
17
+ method: "POST",
18
+ path: "/companies({companyId})/salesInvoices({salesInvoiceId})/Microsoft.NAV.post",
19
+ action: "sales.post",
20
+ summary: "Post a sales invoice.",
21
+ facts: {
22
+ company_id: "/path/companyId",
23
+ environment: "/path/environment",
24
+ document_id: "/path/salesInvoiceId",
25
+ },
26
+ policy_projection: null,
27
+ },
28
+ {
29
+ id: "salesInvoices.postAndSend",
30
+ method: "POST",
31
+ path: "/companies({companyId})/salesInvoices({salesInvoiceId})/Microsoft.NAV.postAndSend",
32
+ action: "sales.post",
33
+ summary: "Post a sales invoice and send it to the customer.",
34
+ facts: {
35
+ company_id: "/path/companyId",
36
+ environment: "/path/environment",
37
+ document_id: "/path/salesInvoiceId",
38
+ },
39
+ policy_projection: null,
40
+ },
41
+ {
42
+ id: "salesInvoices.cancel",
43
+ method: "POST",
44
+ path: "/companies({companyId})/salesInvoices({salesInvoiceId})/Microsoft.NAV.cancel",
45
+ action: "sales.cancel",
46
+ summary: "Cancel a posted sales invoice with a corrective credit memo.",
47
+ facts: {
48
+ company_id: "/path/companyId",
49
+ environment: "/path/environment",
50
+ document_id: "/path/salesInvoiceId",
51
+ },
52
+ policy_projection: null,
53
+ },
54
+ {
55
+ id: "salesOrders.shipAndInvoice",
56
+ method: "POST",
57
+ path: "/companies({companyId})/salesOrders({salesOrderId})/Microsoft.NAV.shipAndInvoice",
58
+ action: "sales.post",
59
+ summary: "Ship and invoice a sales order: its posting.",
60
+ facts: {
61
+ company_id: "/path/companyId",
62
+ environment: "/path/environment",
63
+ document_id: "/path/salesOrderId",
64
+ },
65
+ policy_projection: null,
66
+ },
67
+ {
68
+ id: "salesOrders.create",
69
+ method: "POST",
70
+ path: "/companies({companyId})/salesOrders",
71
+ action: "sales.create",
72
+ summary: "Create a sales order.",
73
+ facts: {
74
+ company_id: "/path/companyId",
75
+ environment: "/path/environment",
76
+ customer_number: "/body/customerNumber",
77
+ currency_code: "/body/currencyCode",
78
+ external_document_number: "/body/externalDocumentNumber",
79
+ },
80
+ policy_projection: null,
81
+ },
82
+ {
83
+ id: "purchaseInvoices.post",
84
+ method: "POST",
85
+ path: "/companies({companyId})/purchaseInvoices({purchaseInvoiceId})/Microsoft.NAV.post",
86
+ action: "purchase.post",
87
+ summary: "Post a purchase invoice: a payable is recorded.",
88
+ facts: {
89
+ company_id: "/path/companyId",
90
+ environment: "/path/environment",
91
+ document_id: "/path/purchaseInvoiceId",
92
+ },
93
+ policy_projection: null,
94
+ },
95
+ {
96
+ id: "journals.post",
97
+ method: "POST",
98
+ path: "/companies({companyId})/journals({journalId})/Microsoft.NAV.post",
99
+ action: "journal.post",
100
+ summary: "Post a general journal batch.",
101
+ facts: {
102
+ company_id: "/path/companyId",
103
+ environment: "/path/environment",
104
+ journal_id: "/path/journalId",
105
+ },
106
+ policy_projection: null,
107
+ },
108
+ {
109
+ id: "vendorPayments.create",
110
+ method: "POST",
111
+ path: "/companies({companyId})/vendorPaymentJournals({journalId})/vendorPayments",
112
+ action: "payment.create",
113
+ summary: "Add a vendor payment line to a payment journal.",
114
+ facts: {
115
+ company_id: "/path/companyId",
116
+ environment: "/path/environment",
117
+ journal_id: "/path/journalId",
118
+ vendor_number: "/body/vendorNumber",
119
+ payment_amount: "/body/amount",
120
+ posting_date: "/body/postingDate",
121
+ document_number: "/body/documentNumber",
122
+ },
123
+ policy_projection: null,
124
+ },
125
+ {
126
+ id: "vendors.update",
127
+ method: "PATCH",
128
+ path: "/companies({companyId})/vendors({vendorId})",
129
+ action: "vendor.update",
130
+ summary: "Change a vendor's master data.",
131
+ facts: {
132
+ company_id: "/path/companyId",
133
+ environment: "/path/environment",
134
+ vendor_id: "/path/vendorId",
135
+ },
136
+ policy_projection: null,
137
+ },
138
+ {
139
+ id: "customers.update",
140
+ method: "PATCH",
141
+ path: "/companies({companyId})/customers({customerId})",
142
+ action: "customer.update",
143
+ summary: "Change a customer's master data, a block included.",
144
+ facts: {
145
+ company_id: "/path/companyId",
146
+ environment: "/path/environment",
147
+ customer_id: "/path/customerId",
148
+ blocked: "/body/blocked",
149
+ },
150
+ policy_projection: null,
151
+ },
152
+ ],
153
+ },
154
+ {
155
+ profile: "agent-safe.profile.api/1",
156
+ id: "walmart/api/v3",
157
+ platform: "walmart-marketplace",
158
+ title: "Walmart Marketplace API v3: the seller writes an agent can make",
159
+ prefixes: [""],
160
+ operations: [
161
+ {
162
+ id: "orders.acknowledge",
163
+ method: "POST",
164
+ path: "/v3/orders/{purchaseOrderId}/acknowledge",
165
+ action: "order.acknowledge",
166
+ summary: "Acknowledge a purchase order: its release to fulfilment.",
167
+ facts: {
168
+ purchase_order_id: "/path/purchaseOrderId",
169
+ },
170
+ policy_projection: {
171
+ decision_type: "ORDER_ACCEPTANCE",
172
+ transaction_type: "order_acceptance",
173
+ workflow_key: "commerce_order_acceptance",
174
+ channel: null,
175
+ },
176
+ },
177
+ {
178
+ id: "orders.cancel",
179
+ method: "POST",
180
+ path: "/v3/orders/{purchaseOrderId}/cancel",
181
+ action: "order.cancel",
182
+ summary: "Cancel order lines, each by a quantity and a reason.",
183
+ facts: {
184
+ purchase_order_id: "/path/purchaseOrderId",
185
+ line_numbers: "/body/orderCancellation/orderLines/orderLine/*/lineNumber",
186
+ cancellation_reasons: "/body/orderCancellation/orderLines/orderLine/*/orderLineStatuses/orderLineStatus/0/cancellationReason",
187
+ },
188
+ policy_projection: {
189
+ decision_type: "ORDER_CANCELLATION",
190
+ transaction_type: "order_cancellation",
191
+ workflow_key: "commerce",
192
+ channel: null,
193
+ },
194
+ },
195
+ {
196
+ id: "orders.refund",
197
+ method: "POST",
198
+ path: "/v3/orders/{purchaseOrderId}/refund",
199
+ action: "order.refund",
200
+ summary: "Refund order lines.",
201
+ facts: {
202
+ purchase_order_id: "/path/purchaseOrderId",
203
+ line_numbers: "/body/orderRefund/orderLines/orderLine/*/lineNumber",
204
+ },
205
+ policy_projection: {
206
+ decision_type: "REFUND_REQUEST",
207
+ transaction_type: "refund_request",
208
+ workflow_key: "commerce_refund_request",
209
+ channel: null,
210
+ },
211
+ },
212
+ {
213
+ id: "orders.ship",
214
+ method: "POST",
215
+ path: "/v3/orders/{purchaseOrderId}/shipping",
216
+ action: "order.ship",
217
+ summary: "Mark order lines shipped, with tracking.",
218
+ facts: {
219
+ purchase_order_id: "/path/purchaseOrderId",
220
+ line_numbers: "/body/orderShipment/orderLines/orderLine/*/lineNumber",
221
+ },
222
+ policy_projection: null,
223
+ },
224
+ {
225
+ id: "prices.promotion",
226
+ method: "PUT",
227
+ path: "/v3/price",
228
+ query: {
229
+ promo: "true",
230
+ },
231
+ action: "promotion.change",
232
+ summary: "Set a promotional price for one SKU.",
233
+ facts: {
234
+ sku: "/body/sku",
235
+ price_amount: "/body/pricing/0/currentPrice/amount",
236
+ price_currency: "/body/pricing/0/currentPrice/currency",
237
+ price_type: "/body/pricing/0/currentPriceType",
238
+ },
239
+ policy_projection: {
240
+ decision_type: "PROMOTION_CHANGE",
241
+ transaction_type: "promotion_change",
242
+ workflow_key: "commerce_promotion_change",
243
+ channel: null,
244
+ },
245
+ },
246
+ {
247
+ id: "prices.update",
248
+ method: "PUT",
249
+ path: "/v3/price",
250
+ action: "price.change",
251
+ summary: "Set the base price of one SKU.",
252
+ facts: {
253
+ sku: "/body/sku",
254
+ price_amount: "/body/pricing/0/currentPrice/amount",
255
+ price_currency: "/body/pricing/0/currentPrice/currency",
256
+ },
257
+ policy_projection: {
258
+ decision_type: "PRICE_CHANGE",
259
+ transaction_type: "price_change",
260
+ workflow_key: "commerce_price_change",
261
+ channel: null,
262
+ },
263
+ },
264
+ {
265
+ id: "inventory.update",
266
+ method: "PUT",
267
+ path: "/v3/inventory",
268
+ action: "inventory.update",
269
+ summary: "Set the available quantity of one SKU.",
270
+ facts: {
271
+ sku: "/query/sku",
272
+ quantity: "/body/quantity/amount",
273
+ quantity_unit: "/body/quantity/unit",
274
+ },
275
+ policy_projection: {
276
+ decision_type: "INVENTORY_MUTATION",
277
+ transaction_type: "inventory_mutation",
278
+ workflow_key: "commerce_inventory_mutation",
279
+ channel: null,
280
+ },
281
+ },
282
+ {
283
+ id: "feeds.submit",
284
+ method: "POST",
285
+ path: "/v3/feeds",
286
+ action: "feed.submit",
287
+ summary: "Submit a bulk feed (items, prices, inventory, promotions).",
288
+ facts: {
289
+ feed_type: "/query/feedType",
290
+ },
291
+ policy_projection: null,
292
+ },
293
+ ],
294
+ },
295
+ ];
296
+ //# sourceMappingURL=BuiltInApiProfiles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BuiltInApiProfiles.js","sourceRoot":"","sources":["../../src/profile/BuiltInApiProfiles.ts"],"names":[],"mappings":"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"}
@@ -89,6 +89,12 @@ declare const AuthorityRequestSchema: z.ZodObject<{
89
89
  operation: z.ZodString;
90
90
  endpoint: z.ZodOptional<z.ZodString>;
91
91
  }, z.core.$strict>;
92
+ policy_projection: z.ZodOptional<z.ZodObject<{
93
+ decision_type: z.ZodString;
94
+ transaction_type: z.ZodNullable<z.ZodString>;
95
+ workflow_key: z.ZodNullable<z.ZodString>;
96
+ channel: z.ZodNullable<z.ZodString>;
97
+ }, z.core.$strict>>;
92
98
  expected_effect_digest: z.ZodOptional<z.ZodString>;
93
99
  }, z.core.$strict>;
94
100
  /** What a registered key may sign, as the hosted `ExecutionProviderKeyPurpose` names it. */
@@ -373,6 +379,14 @@ export declare class LocalAuthority {
373
379
  /** Statuses returned, in order, for the next managed escalation instead of orchestration. */
374
380
  scriptNextManagedLifecycle(statuses: readonly LifecycleEntry[]): void;
375
381
  private handle;
382
+ /** A grant resource addressed by an id that is not the presented token's grant: refused, as hosted. */
383
+ private grantIdMismatch;
384
+ /**
385
+ * `POST /v1/authority/grants/{grantId}/reconciliations`: how an attempt
386
+ * finalized `INDETERMINATE` resolved, from the executor that claimed it.
387
+ * Recorded once; the grant is never reopened.
388
+ */
389
+ private reconcile;
376
390
  /** `POST /v1/execution/provider-keys`: the public half only, or a 400 naming why. */
377
391
  private registerProviderKeyRoute;
378
392
  private enforceAndBind;
@@ -1 +1 @@
1
- {"version":3,"file":"LocalAuthority.d.ts","sourceRoot":"","sources":["../../src/testing/LocalAuthority.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LocalAuthority.d.ts","sourceRoot":"","sources":["../../src/testing/LocalAuthority.ts"],"names":[],"mappings":"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"}
@@ -71,6 +71,14 @@ const IntentBindingSchema = z.strictObject({
71
71
  operation: boundedId,
72
72
  endpoint: z.string().min(1).max(500).optional(),
73
73
  }),
74
+ policy_projection: z
75
+ .strictObject({
76
+ decision_type: z.string().trim().min(1).max(120),
77
+ transaction_type: z.string().trim().min(1).max(120).nullable(),
78
+ workflow_key: z.string().trim().min(1).max(120).nullable(),
79
+ channel: z.string().trim().min(1).max(120).nullable(),
80
+ })
81
+ .optional(),
74
82
  expected_effect_digest: sha256Digest.optional(),
75
83
  });
76
84
  const EvidenceSchema = z.strictObject({
@@ -213,6 +221,15 @@ const FinalizeRequestSchema = z.strictObject({
213
221
  // is verified and recorded, never a reason to refuse the finalization.
214
222
  effect_receipt: z.string().min(1).max(20_000).regex(COMPACT_JWS).optional(),
215
223
  });
224
+ const ReconcileRequestSchema = z.strictObject({
225
+ execution_token: z.string().min(1).max(20_000),
226
+ claim_token: z.string().regex(/^[\w-]{43,128}$/),
227
+ commit_correlation_id: boundedId,
228
+ outcome: z.enum(["COMMITTED", "FAILED"]),
229
+ reconciliation_note: z.string().min(1).max(2_000).optional(),
230
+ downstream_evidence: z.record(z.string(), z.unknown()).optional(),
231
+ effect_evidence: z.unknown().optional(),
232
+ });
216
233
  /** What a registered key may sign, as the hosted `ExecutionProviderKeyPurpose` names it. */
217
234
  export const PROVIDER_KEY_PURPOSES = [
218
235
  "effect_receipt",
@@ -629,9 +646,25 @@ export class LocalAuthority {
629
646
  if (req.headers["content-type"] !== "application/json") {
630
647
  return this.send(res, record, 415, { error: "UNSUPPORTED_MEDIA_TYPE" });
631
648
  }
649
+ // The grant's REST resources, as the hosted authority serves them: the
650
+ // path names the grant by its id, which must be the presented token's.
651
+ const grantResource = url.pathname.match(/^\/v1\/authority\/grants\/([^/]+)\/(claims|receipts|reconciliations)$/);
652
+ if (grantResource !== null) {
653
+ const mismatch = this.grantIdMismatch(record, decodeURIComponent(grantResource[1] ?? ""));
654
+ if (mismatch !== null)
655
+ return this.send(res, record, 409, mismatch);
656
+ if (grantResource[2] === "claims") {
657
+ return this.respond(res, record, "claim", this.claim(record));
658
+ }
659
+ if (grantResource[2] === "receipts") {
660
+ return this.respond(res, record, "finalize", this.finalize(record));
661
+ }
662
+ return this.send(res, record, ...this.reconcile(record));
663
+ }
632
664
  switch (url.pathname) {
633
665
  case "/v1/execution/provider-keys":
634
666
  return this.send(res, record, ...this.registerProviderKeyRoute(record));
667
+ case "/v1/authority/grants":
635
668
  case "/v1/authority/enforce-and-bind":
636
669
  return this.respond(res, record, "enforce", this.enforceAndBind(record));
637
670
  case "/v1/execution/claim-token":
@@ -643,6 +676,48 @@ export class LocalAuthority {
643
676
  return this.send(res, record, 404, { error: "NOT_FOUND" });
644
677
  }
645
678
  }
679
+ /** A grant resource addressed by an id that is not the presented token's grant: refused, as hosted. */
680
+ grantIdMismatch(record, grantId) {
681
+ const token = record.body?.execution_token;
682
+ const grant = typeof token === "string" ? this.grants.get(token) : undefined;
683
+ if (grant === undefined || grant.jti === grantId)
684
+ return null;
685
+ return { valid: false, reason_codes: ["GRANT_ID_MISMATCH"] };
686
+ }
687
+ /**
688
+ * `POST /v1/authority/grants/{grantId}/reconciliations`: how an attempt
689
+ * finalized `INDETERMINATE` resolved, from the executor that claimed it.
690
+ * Recorded once; the grant is never reopened.
691
+ */
692
+ reconcile(record) {
693
+ const parsed = ReconcileRequestSchema.safeParse(record.body);
694
+ if (!parsed.success)
695
+ return [400, { error: "REQUEST_INVALID" }];
696
+ const refused = (reasonCode) => [
697
+ 409,
698
+ { reconciled: false, reason_codes: [reasonCode] },
699
+ ];
700
+ const grant = this.grants.get(parsed.data.execution_token);
701
+ if (grant === undefined)
702
+ return refused("GRANT_INVALID");
703
+ if (!grant.claimed || grant.claimToken !== parsed.data.claim_token) {
704
+ return refused("NONCE_REPLAY_DETECTED");
705
+ }
706
+ if (grant.correlationId !== parsed.data.commit_correlation_id) {
707
+ return refused("EXECUTION_CORRELATION_MISMATCH");
708
+ }
709
+ if (grant.finalized !== "INDETERMINATE")
710
+ return refused("EXECUTION_NOT_INDETERMINATE");
711
+ grant.finalized = parsed.data.outcome;
712
+ return [
713
+ 200,
714
+ {
715
+ reconciled: true,
716
+ resolution: parsed.data.outcome === "COMMITTED" ? "FINALIZED" : "FAILED",
717
+ reason_codes: [],
718
+ },
719
+ ];
720
+ }
646
721
  /** `POST /v1/execution/provider-keys`: the public half only, or a 400 naming why. */
647
722
  registerProviderKeyRoute(record) {
648
723
  const parsed = ProviderKeyRegistrationSchema.safeParse(record.body);