@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.
- package/README.md +50 -0
- package/dist/Index.d.ts +15 -0
- package/dist/Index.d.ts.map +1 -1
- package/dist/Index.js +15 -0
- package/dist/Index.js.map +1 -1
- package/dist/decision/DecionisGate.d.ts.map +1 -1
- package/dist/decision/DecionisGate.js +3 -2
- package/dist/decision/DecionisGate.js.map +1 -1
- package/dist/execution/AuthorizationVerifier.d.ts +33 -4
- package/dist/execution/AuthorizationVerifier.d.ts.map +1 -1
- package/dist/execution/AuthorizationVerifier.js +74 -10
- package/dist/execution/AuthorizationVerifier.js.map +1 -1
- package/dist/execution/EffectAdapter.d.ts +117 -0
- package/dist/execution/EffectAdapter.d.ts.map +1 -0
- package/dist/execution/EffectAdapter.js +22 -0
- package/dist/execution/EffectAdapter.js.map +1 -0
- package/dist/execution/ExecutionDeadline.d.ts +35 -0
- package/dist/execution/ExecutionDeadline.d.ts.map +1 -0
- package/dist/execution/ExecutionDeadline.js +52 -0
- package/dist/execution/ExecutionDeadline.js.map +1 -0
- package/dist/execution/ExecutionJournal.d.ts +148 -0
- package/dist/execution/ExecutionJournal.d.ts.map +1 -0
- package/dist/execution/ExecutionJournal.js +157 -0
- package/dist/execution/ExecutionJournal.js.map +1 -0
- package/dist/execution/ExecutionOutcome.d.ts +186 -0
- package/dist/execution/ExecutionOutcome.d.ts.map +1 -0
- package/dist/execution/ExecutionOutcome.js +2 -0
- package/dist/execution/ExecutionOutcome.js.map +1 -0
- package/dist/execution/ExecutionPosture.d.ts +50 -0
- package/dist/execution/ExecutionPosture.d.ts.map +1 -0
- package/dist/execution/ExecutionPosture.js +20 -0
- package/dist/execution/ExecutionPosture.js.map +1 -0
- package/dist/execution/ExecutorEvidence.d.ts +64 -0
- package/dist/execution/ExecutorEvidence.d.ts.map +1 -0
- package/dist/execution/ExecutorEvidence.js +14 -0
- package/dist/execution/ExecutorEvidence.js.map +1 -0
- package/dist/execution/GovernedExecutionRunner.d.ts +315 -0
- package/dist/execution/GovernedExecutionRunner.d.ts.map +1 -0
- package/dist/execution/GovernedExecutionRunner.js +1358 -0
- package/dist/execution/GovernedExecutionRunner.js.map +1 -0
- package/dist/execution/NativeExecutor.d.ts +226 -0
- package/dist/execution/NativeExecutor.d.ts.map +1 -0
- package/dist/execution/NativeExecutor.js +22 -0
- package/dist/execution/NativeExecutor.js.map +1 -0
- package/dist/execution/NativeExecutorSchema.d.ts +387 -0
- package/dist/execution/NativeExecutorSchema.d.ts.map +1 -0
- package/dist/execution/NativeExecutorSchema.js +261 -0
- package/dist/execution/NativeExecutorSchema.js.map +1 -0
- package/dist/execution/PostgresExecutionJournal.d.ts +54 -0
- package/dist/execution/PostgresExecutionJournal.d.ts.map +1 -0
- package/dist/execution/PostgresExecutionJournal.js +131 -0
- package/dist/execution/PostgresExecutionJournal.js.map +1 -0
- package/dist/execution/RegistryExecutor.d.ts +35 -0
- package/dist/execution/RegistryExecutor.d.ts.map +1 -0
- package/dist/execution/RegistryExecutor.js +84 -0
- package/dist/execution/RegistryExecutor.js.map +1 -0
- package/dist/execution/SafeExecutor.d.ts +22 -193
- package/dist/execution/SafeExecutor.d.ts.map +1 -1
- package/dist/execution/SafeExecutor.js +49 -521
- package/dist/execution/SafeExecutor.js.map +1 -1
- package/dist/http/AuthorityPaths.d.ts +51 -0
- package/dist/http/AuthorityPaths.d.ts.map +1 -0
- package/dist/http/AuthorityPaths.js +84 -0
- package/dist/http/AuthorityPaths.js.map +1 -0
- package/dist/intent/CanonicalIntentHasher.d.ts.map +1 -1
- package/dist/intent/CanonicalIntentHasher.js +11 -0
- package/dist/intent/CanonicalIntentHasher.js.map +1 -1
- package/dist/intent/ExecutionIntent.d.ts +44 -4
- package/dist/intent/ExecutionIntent.d.ts.map +1 -1
- package/dist/intent/ExecutionIntent.js +25 -0
- package/dist/intent/ExecutionIntent.js.map +1 -1
- package/dist/intent/IntentBindingSchema.d.ts +6 -0
- package/dist/intent/IntentBindingSchema.d.ts.map +1 -1
- package/dist/intent/IntentBindingSchema.js +10 -0
- package/dist/intent/IntentBindingSchema.js.map +1 -1
- package/dist/intent/IntentCapture.d.ts.map +1 -1
- package/dist/intent/IntentCapture.js +3 -0
- package/dist/intent/IntentCapture.js.map +1 -1
- package/dist/profile/ApiProfile.d.ts +154 -0
- package/dist/profile/ApiProfile.d.ts.map +1 -0
- package/dist/profile/ApiProfile.js +369 -0
- package/dist/profile/ApiProfile.js.map +1 -0
- package/dist/profile/ApiProfiles.d.ts +16 -0
- package/dist/profile/ApiProfiles.d.ts.map +1 -0
- package/dist/profile/ApiProfiles.js +29 -0
- package/dist/profile/ApiProfiles.js.map +1 -0
- package/dist/profile/BuiltInApiProfiles.d.ts +9 -0
- package/dist/profile/BuiltInApiProfiles.d.ts.map +1 -0
- package/dist/profile/BuiltInApiProfiles.js +296 -0
- package/dist/profile/BuiltInApiProfiles.js.map +1 -0
- package/dist/testing/LocalAuthority.d.ts +14 -0
- package/dist/testing/LocalAuthority.d.ts.map +1 -1
- package/dist/testing/LocalAuthority.js +75 -0
- package/dist/testing/LocalAuthority.js.map +1 -1
- 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":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAQL,KAAK,SAAS,EACf,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAEL,KAAK,iBAAiB,EAGvB,MAAM,oBAAoB,CAAC;AAE5B,eAAO,MAAM,uBAAuB,aAAa,CAAC;AAClD,eAAO,MAAM,sBAAsB,QAAS,CAAC;AAC7C,eAAO,MAAM,iBAAiB,SAAU,CAAC;AAQzC,0FAA0F;AAC1F,eAAO,MAAM,sBAAsB,wBAAwB,CAAC;AAC5D,uFAAuF;AACvF,eAAO,MAAM,yBAAyB,oDAAoD,CAAC;AAC3F,eAAO,MAAM,sBAAsB,mCAAmC,CAAC;AACvE,kFAAkF;AAClF,eAAO,MAAM,mBAAmB,gCAAgC,CAAC;
|
|
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);
|