@decionis/agent-safe-pipeline 0.3.7 → 0.4.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/README.md +31 -0
- package/dist/Index.d.ts +12 -0
- package/dist/Index.d.ts.map +1 -1
- package/dist/Index.js +12 -0
- package/dist/Index.js.map +1 -1
- package/dist/decision/DecionisGate.d.ts +6 -1
- package/dist/decision/DecionisGate.d.ts.map +1 -1
- package/dist/decision/DecionisGate.js +61 -11
- package/dist/decision/DecionisGate.js.map +1 -1
- package/dist/decision/DecisionAuthority.d.ts +16 -0
- package/dist/decision/DecisionAuthority.d.ts.map +1 -1
- package/dist/decision/DecisionAuthority.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 +309 -0
- package/dist/execution/GovernedExecutionRunner.d.ts.map +1 -0
- package/dist/execution/GovernedExecutionRunner.js +1341 -0
- package/dist/execution/GovernedExecutionRunner.js.map +1 -0
- package/dist/execution/NativeExecutor.d.ts +220 -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/shadow/ShadowPipeline.d.ts +3 -1
- package/dist/shadow/ShadowPipeline.d.ts.map +1 -1
- package/dist/shadow/ShadowPipeline.js +3 -3
- package/dist/shadow/ShadowPipeline.js.map +1 -1
- package/dist/testing/Index.d.ts +2 -1
- package/dist/testing/Index.d.ts.map +1 -1
- package/dist/testing/Index.js +2 -1
- package/dist/testing/Index.js.map +1 -1
- package/dist/testing/LocalAuthority.d.ts +35 -1
- package/dist/testing/LocalAuthority.d.ts.map +1 -1
- package/dist/testing/LocalAuthority.js +122 -2
- package/dist/testing/LocalAuthority.js.map +1 -1
- package/dist/testing/SignedSignals.d.ts +150 -0
- package/dist/testing/SignedSignals.d.ts.map +1 -0
- package/dist/testing/SignedSignals.js +291 -0
- package/dist/testing/SignedSignals.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -181,6 +181,10 @@ outcome.
|
|
|
181
181
|
| `DEFINITELY_NOT_EXECUTED` | The provider was called and refused deterministically. `reason` is its own code. Nothing was effected and there is nothing to reconcile. |
|
|
182
182
|
| `UNKNOWN_AFTER_DISPATCH` | The provider was called and its outcome is unknown. A `recovery` reference supports reconciliation. |
|
|
183
183
|
|
|
184
|
+
`SafeExecutor.hold` returns a sixth outcome, `HELD`: admitted, with the grant waiting unclaimed for
|
|
185
|
+
a native boundary that performs the effect itself (`claimHeld` claims it once, `settleHeld` records
|
|
186
|
+
how it ended).
|
|
187
|
+
|
|
184
188
|
A handler reports that last-but-one case by throwing `ProviderRefusal` from inside `dispatch.run`,
|
|
185
189
|
with the provider's own reason code. Only a deterministic refusal belongs in it: a timeout, a 5xx
|
|
186
190
|
or an unreadable answer is not a refusal, and reporting one as a refusal would turn "nobody knows"
|
|
@@ -191,6 +195,31 @@ Every outcome that consumed a grant also reports `finalization` (`RECORDED`, `PE
|
|
|
191
195
|
the attempt so commit evidence joins the Decision Dossier chain. Finalization is evidence, never
|
|
192
196
|
authority: it cannot change `outcome` or `executed`.
|
|
193
197
|
|
|
198
|
+
## Native executors
|
|
199
|
+
|
|
200
|
+
`SafeExecutor` is the registry-shaped face of `GovernedExecutionRunner`, the one implementation of
|
|
201
|
+
everything around a native write: admission, the claim, the journal's durable claim and single-use
|
|
202
|
+
idempotency key, the dispatch deadline, failure posture, finalization, reconciliation, the
|
|
203
|
+
`agent-safe.executor-evidence/1` line and the six outcomes. Every write to a system of record runs
|
|
204
|
+
through it, by way of one interface,
|
|
205
|
+
[`agent-safe.executors.native/1`](https://github.com/decionis/agent-safe-pipeline/blob/master/spec/executors/native/v1/README.md):
|
|
206
|
+
|
|
207
|
+
```ts
|
|
208
|
+
import { GovernedExecutionRunner, type NativeExecutor } from "@decionis/agent-safe-pipeline";
|
|
209
|
+
|
|
210
|
+
const runner = new GovernedExecutionRunner({ authority, verifier, journal, evidence });
|
|
211
|
+
// dispatch style: prepare, decide, claim, write once, observe, finalize
|
|
212
|
+
const { result } = await runner.submit(paymentExecutor, { action, scope, actor });
|
|
213
|
+
// permit style: the result is HELD with a permit the platform presents with its write
|
|
214
|
+
const presented = await runner.present(held);
|
|
215
|
+
const settled = await runner.settle(held, { receipt: postingEntry });
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
An executor states its `platform`, `version`, `style` (`dispatch` or `permit`) and `actionTypes`,
|
|
219
|
+
and implements `capabilities`, `prepare`, `execute`, `observe` and `reconcile`. It never calls the
|
|
220
|
+
authority, maps a verdict, retries, or decides an outcome. `EffectAdapter` is the dispatch style
|
|
221
|
+
under its earlier name and stays, deprecated, for the adapters written against it.
|
|
222
|
+
|
|
194
223
|
### What each record establishes
|
|
195
224
|
|
|
196
225
|
Fluent summaries lose these distinctions first. Each row names the record or state, what it
|
|
@@ -415,6 +444,8 @@ them from the testing entry. See
|
|
|
415
444
|
| Selection | `createGate`, `ShadowGate`, `SelectedGate`, `HostedEvaluation`, `printDecision` | Choose local, shadow, or enforcement from the environment; combine and report the two verdicts |
|
|
416
445
|
| Human approval | `PresenceApprovalCoordinator`, `ManagedEscalationRequest`, `HumanApprovalEvidence` | Coordinate DIRECT Presence ceremonies or request MANAGED orchestration by Decionis |
|
|
417
446
|
| Execution | `SafeExecutor`, `ActionRegistry`, `DecionisGrantVerifier`, `AuthorizationVerifier`, `ReplayStore` | Claim the single-use grant, validate parameters, invoke a sealed handler, finalize the attempt |
|
|
447
|
+
| Native write | `GovernedExecutionRunner`, `NativeExecutor`, `ExecutionJournal`, `PostgresExecutionJournal` | Run every executor through one admission, claim, journal, posture and outcome implementation |
|
|
448
|
+
| Paths | `AuthorityPaths` | The execution-authority REST resources (`/v1/authority/grants/{grantId}/…`) in one place |
|
|
418
449
|
| Effect | `AuthorityEffectEvidence`, `AuthorityEffectReport`, `DecionisGrantVerifier.effectReport` | Forward a trusted runtime's downstream observation on finalize and read the authority's answer |
|
|
419
450
|
| Observation | `ShadowPipeline`, `ShadowObservation` | Record what the authority would have decided without granting execution |
|
|
420
451
|
| Audit | `AuditRecorder`, `AuditEventV1`, `AuditSink` | Emit immutable, redacted lifecycle records through one bounded sink call |
|
package/dist/Index.d.ts
CHANGED
|
@@ -12,10 +12,22 @@ export * from "./decision/Provision.js";
|
|
|
12
12
|
export * from "./decision/ShadowGate.js";
|
|
13
13
|
export * from "./execution/ActionRegistry.js";
|
|
14
14
|
export * from "./execution/AuthorizationVerifier.js";
|
|
15
|
+
export * from "./execution/EffectAdapter.js";
|
|
16
|
+
export * from "./execution/ExecutionDeadline.js";
|
|
17
|
+
export * from "./execution/ExecutionJournal.js";
|
|
18
|
+
export { type ExecutionOutcome, type ExecutionSettlement, type FailedBeforeDispatchResult, type PermitHeldResult, type PermitPresentationResult, } from "./execution/ExecutionOutcome.js";
|
|
19
|
+
export * from "./execution/ExecutionPosture.js";
|
|
20
|
+
export * from "./execution/ExecutorEvidence.js";
|
|
21
|
+
export * from "./execution/GovernedExecutionRunner.js";
|
|
15
22
|
export * from "./execution/LocalAuthorizationVerifier.js";
|
|
23
|
+
export * from "./execution/NativeExecutor.js";
|
|
24
|
+
export * from "./execution/NativeExecutorSchema.js";
|
|
25
|
+
export * from "./execution/PostgresExecutionJournal.js";
|
|
16
26
|
export * from "./execution/PostgresReplayStore.js";
|
|
27
|
+
export * from "./execution/RegistryExecutor.js";
|
|
17
28
|
export * from "./execution/ReplayStore.js";
|
|
18
29
|
export * from "./execution/SafeExecutor.js";
|
|
30
|
+
export * from "./http/AuthorityPaths.js";
|
|
19
31
|
export type { ClientSource } from "./http/ClientIdentification.js";
|
|
20
32
|
export * from "./http/StoredCredentials.js";
|
|
21
33
|
export * from "./intent/CanonicalIntentHasher.js";
|
package/dist/Index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Index.d.ts","sourceRoot":"","sources":["../src/Index.ts"],"names":[],"mappings":"AAAA,cAAc,2CAA2C,CAAC;AAC1D,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iCAAiC,CAAC;AAChD,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EACL,iBAAiB,EACjB,KAAK,eAAe,EACpB,KAAK,wBAAwB,EAC7B,KAAK,YAAY,GAClB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,GAC5B,MAAM,qCAAqC,CAAC;AAC7C,cAAc,0CAA0C,CAAC;AACzD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wCAAwC,CAAC;AACvD,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sCAAsC,CAAC;AACrD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,oCAAoC,CAAC;AACnD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,YAAY,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AACnE,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iCAAiC,CAAC;AAChD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC"}
|
|
1
|
+
{"version":3,"file":"Index.d.ts","sourceRoot":"","sources":["../src/Index.ts"],"names":[],"mappings":"AAAA,cAAc,2CAA2C,CAAC;AAC1D,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iCAAiC,CAAC;AAChD,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EACL,iBAAiB,EACjB,KAAK,eAAe,EACpB,KAAK,wBAAwB,EAC7B,KAAK,YAAY,GAClB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,GAC5B,MAAM,qCAAqC,CAAC;AAC7C,cAAc,0CAA0C,CAAC;AACzD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wCAAwC,CAAC;AACvD,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sCAAsC,CAAC;AACrD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,0BAA0B,EAC/B,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,GAC9B,MAAM,iCAAiC,CAAC;AACzC,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,wCAAwC,CAAC;AACvD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qCAAqC,CAAC;AACpD,cAAc,yCAAyC,CAAC;AACxD,cAAc,oCAAoC,CAAC;AACnD,cAAc,iCAAiC,CAAC;AAChD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AACzC,YAAY,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AACnE,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iCAAiC,CAAC;AAChD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC"}
|
package/dist/Index.js
CHANGED
|
@@ -12,10 +12,22 @@ export * from "./decision/Provision.js";
|
|
|
12
12
|
export * from "./decision/ShadowGate.js";
|
|
13
13
|
export * from "./execution/ActionRegistry.js";
|
|
14
14
|
export * from "./execution/AuthorizationVerifier.js";
|
|
15
|
+
export * from "./execution/EffectAdapter.js";
|
|
16
|
+
export * from "./execution/ExecutionDeadline.js";
|
|
17
|
+
export * from "./execution/ExecutionJournal.js";
|
|
18
|
+
export {} from "./execution/ExecutionOutcome.js";
|
|
19
|
+
export * from "./execution/ExecutionPosture.js";
|
|
20
|
+
export * from "./execution/ExecutorEvidence.js";
|
|
21
|
+
export * from "./execution/GovernedExecutionRunner.js";
|
|
15
22
|
export * from "./execution/LocalAuthorizationVerifier.js";
|
|
23
|
+
export * from "./execution/NativeExecutor.js";
|
|
24
|
+
export * from "./execution/NativeExecutorSchema.js";
|
|
25
|
+
export * from "./execution/PostgresExecutionJournal.js";
|
|
16
26
|
export * from "./execution/PostgresReplayStore.js";
|
|
27
|
+
export * from "./execution/RegistryExecutor.js";
|
|
17
28
|
export * from "./execution/ReplayStore.js";
|
|
18
29
|
export * from "./execution/SafeExecutor.js";
|
|
30
|
+
export * from "./http/AuthorityPaths.js";
|
|
19
31
|
export * from "./http/StoredCredentials.js";
|
|
20
32
|
export * from "./intent/CanonicalIntentHasher.js";
|
|
21
33
|
export * from "./intent/ExecutionIntent.js";
|
package/dist/Index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Index.js","sourceRoot":"","sources":["../src/Index.ts"],"names":[],"mappings":"AAAA,cAAc,2CAA2C,CAAC;AAC1D,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iCAAiC,CAAC;AAChD,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EACL,iBAAiB,GAIlB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACL,gBAAgB,EAChB,eAAe,GAIhB,MAAM,qCAAqC,CAAC;AAC7C,cAAc,0CAA0C,CAAC;AACzD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wCAAwC,CAAC;AACvD,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sCAAsC,CAAC;AACrD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,oCAAoC,CAAC;AACnD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"Index.js","sourceRoot":"","sources":["../src/Index.ts"],"names":[],"mappings":"AAAA,cAAc,2CAA2C,CAAC;AAC1D,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iCAAiC,CAAC;AAChD,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EACL,iBAAiB,GAIlB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACL,gBAAgB,EAChB,eAAe,GAIhB,MAAM,qCAAqC,CAAC;AAC7C,cAAc,0CAA0C,CAAC;AACzD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wCAAwC,CAAC;AACvD,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sCAAsC,CAAC;AACrD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,OAAO,EAMN,MAAM,iCAAiC,CAAC;AACzC,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,wCAAwC,CAAC;AACvD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qCAAqC,CAAC;AACpD,cAAc,yCAAyC,CAAC;AACxD,cAAc,oCAAoC,CAAC;AACnD,cAAc,iCAAiC,CAAC;AAChD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AAEzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iCAAiC,CAAC;AAChD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC"}
|
|
@@ -127,9 +127,14 @@ export declare class DecionisGate implements DecisionAuthority {
|
|
|
127
127
|
private static isBoundedIdentifier;
|
|
128
128
|
/**
|
|
129
129
|
* The contract returns an `ERROR` decision body on 409 and 503 so the
|
|
130
|
-
* refusal is evidence-bearing
|
|
130
|
+
* refusal is evidence-bearing, or, for a proof it turned away before any
|
|
131
|
+
* evaluation (an attestation or a signed signal it could not verify), a
|
|
132
|
+
* 409 with a bare `{ "error": <code> }` whose code becomes the reason.
|
|
133
|
+
* Anything else fails closed generically, whatever the body says.
|
|
131
134
|
*/
|
|
132
135
|
private static failedResponse;
|
|
136
|
+
/** The code of a refused proof, when the body is exactly `{ "error": <code> }` and the code is one. */
|
|
137
|
+
private static proofRefusalCode;
|
|
133
138
|
}
|
|
134
139
|
export {};
|
|
135
140
|
//# sourceMappingURL=DecionisGate.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DecionisGate.d.ts","sourceRoot":"","sources":["../../src/decision/DecionisGate.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DecionisGate.d.ts","sourceRoot":"","sources":["../../src/decision/DecionisGate.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import { AuthorityBaseUrl } from "../http/AuthorityBaseUrl.js";
|
|
3
|
+
import { AuthorityPaths } from "../http/AuthorityPaths.js";
|
|
3
4
|
import { credentialReader } from "../http/Credential.js";
|
|
4
5
|
import { BoundedResponseBody } from "../http/BoundedResponseBody.js";
|
|
5
6
|
import { userAgent } from "../http/ClientIdentification.js";
|
|
@@ -178,13 +179,16 @@ const WAITING_STATUS_RANK = Object.freeze({
|
|
|
178
179
|
});
|
|
179
180
|
/**
|
|
180
181
|
* The two shapes `evidence.humanApproval` takes on `enforce-and-bind`: a
|
|
181
|
-
* Presence receipt reference, or a presence provider's signed attestation
|
|
182
|
+
* Presence receipt reference, or a presence provider's signed attestation;
|
|
183
|
+
* and `evidence.signals`, a producer's signed standing signals.
|
|
182
184
|
* Both are mirrored strictly, and the parsed copy is what is sent, so a
|
|
183
185
|
* caller object with a field the contract does not name cannot put it on an
|
|
184
186
|
* authenticated request. The attestation is shaped and bounded here and
|
|
185
187
|
* nothing more: verifying it is the authority's work, against the key the
|
|
186
188
|
* organisation registered for its provider.
|
|
187
189
|
*/
|
|
190
|
+
/** The refusals a 409 names before any evaluation: a proof the authority could not verify. */
|
|
191
|
+
const PROOF_REFUSAL_CODE = /^(?:PRESENCE_ATTESTATION|SIGNED_SIGNAL)_[A-Z_]{3,80}$/;
|
|
188
192
|
const DecisionEvidenceSchema = z.strictObject({
|
|
189
193
|
humanApproval: z
|
|
190
194
|
.discriminatedUnion("provider", [
|
|
@@ -202,6 +206,18 @@ const DecisionEvidenceSchema = z.strictObject({
|
|
|
202
206
|
}),
|
|
203
207
|
])
|
|
204
208
|
.optional(),
|
|
209
|
+
// At most eight producer-signed standing signals, shaped and bounded here;
|
|
210
|
+
// the authority verifies each against the producer's registered key.
|
|
211
|
+
signals: z
|
|
212
|
+
.array(z.strictObject({
|
|
213
|
+
token: z
|
|
214
|
+
.string()
|
|
215
|
+
.max(20_000)
|
|
216
|
+
.regex(/^[\w-]+\.[\w-]+\.[\w-]+$/),
|
|
217
|
+
}))
|
|
218
|
+
.min(1)
|
|
219
|
+
.max(8)
|
|
220
|
+
.optional(),
|
|
205
221
|
});
|
|
206
222
|
const MAX_RESPONSE_BYTES = 100 * 1024;
|
|
207
223
|
const DEFAULT_MANAGED_INITIAL_DELAY_MS = 500;
|
|
@@ -242,22 +258,36 @@ export class DecionisGate {
|
|
|
242
258
|
if (escalation !== undefined && this.evaluationMode !== "ENFORCEMENT") {
|
|
243
259
|
return FailClosedDecision.create(captured.intentHash, "MANAGED_ESCALATION_SHADOW_FORBIDDEN");
|
|
244
260
|
}
|
|
245
|
-
|
|
261
|
+
// A managed escalation acquires the approval itself, so approval
|
|
262
|
+
// evidence beside it is a contradiction; a producer's signed signal is
|
|
263
|
+
// not an approval and rides with either shape.
|
|
264
|
+
if (escalation !== undefined && evidence?.humanApproval !== undefined) {
|
|
246
265
|
return FailClosedDecision.create(captured.intentHash, "MANAGED_ESCALATION_EVIDENCE_FORBIDDEN");
|
|
247
266
|
}
|
|
248
267
|
let sent;
|
|
268
|
+
let retained;
|
|
249
269
|
if (evidence !== undefined) {
|
|
250
270
|
const presented = DecisionEvidenceSchema.safeParse(evidence);
|
|
251
271
|
if (!presented.success) {
|
|
252
|
-
return FailClosedDecision.create(captured.intentHash, "
|
|
272
|
+
return FailClosedDecision.create(captured.intentHash, presented.error.issues.some((issue) => issue.path[0] === "signals")
|
|
273
|
+
? "SIGNED_SIGNAL_EVIDENCE_INVALID"
|
|
274
|
+
: "HUMAN_APPROVAL_EVIDENCE_INVALID");
|
|
253
275
|
}
|
|
254
276
|
const approval = presented.data.humanApproval;
|
|
255
|
-
|
|
277
|
+
const signals = presented.data.signals;
|
|
278
|
+
sent = {
|
|
279
|
+
...(approval === undefined ? {} : { humanApproval: approval }),
|
|
280
|
+
...(signals === undefined ? {} : { signals }),
|
|
281
|
+
};
|
|
282
|
+
// The decision keeps the approval reference a claim re-presents, never
|
|
283
|
+
// a signed signal: the authority recorded its facts with the grant, and
|
|
284
|
+
// the token belongs to no record on this side of the boundary.
|
|
285
|
+
retained = approval === undefined ? {} : { humanApproval: approval };
|
|
256
286
|
}
|
|
257
287
|
const controller = new AbortController();
|
|
258
288
|
const timeout = setTimeout(() => controller.abort(), this.timeoutMs);
|
|
259
289
|
try {
|
|
260
|
-
const response = await this.fetchImpl(`${this.baseUrl}
|
|
290
|
+
const response = await this.fetchImpl(`${this.baseUrl}${AuthorityPaths.GRANTS}`, {
|
|
261
291
|
method: "POST",
|
|
262
292
|
headers: {
|
|
263
293
|
authorization: `Bearer ${this.apiKey()}`,
|
|
@@ -280,14 +310,14 @@ export class DecionisGate {
|
|
|
280
310
|
return FailClosedDecision.create(captured.intentHash, "AUTHORITY_RESPONSE_TOO_LARGE");
|
|
281
311
|
}
|
|
282
312
|
if (!response.ok) {
|
|
283
|
-
return DecionisGate.failedResponse(captured, text);
|
|
313
|
+
return DecionisGate.failedResponse(captured, text, response.status);
|
|
284
314
|
}
|
|
285
315
|
const parsed = AuthorityResponseSchema.parse(JSON.parse(text));
|
|
286
316
|
const managed = this.initialManagedState(captured, parsed, escalation);
|
|
287
317
|
if (managed.reasonCode !== undefined) {
|
|
288
318
|
return FailClosedDecision.create(captured.intentHash, managed.reasonCode);
|
|
289
319
|
}
|
|
290
|
-
return this.decisionFromResponse(captured, parsed,
|
|
320
|
+
return this.decisionFromResponse(captured, parsed, retained, managed.state);
|
|
291
321
|
}
|
|
292
322
|
catch {
|
|
293
323
|
return FailClosedDecision.create(captured.intentHash, "AUTHORITY_UNAVAILABLE");
|
|
@@ -339,7 +369,7 @@ export class DecionisGate {
|
|
|
339
369
|
onAbort();
|
|
340
370
|
const timeout = setTimeout(() => controller.abort(), Math.max(1, Math.min(this.timeoutMs, deadline - now)));
|
|
341
371
|
try {
|
|
342
|
-
const response = await this.fetchImpl(`${this.baseUrl}
|
|
372
|
+
const response = await this.fetchImpl(`${this.baseUrl}${AuthorityPaths.escalation(escalation.escalationId)}`, {
|
|
343
373
|
method: "GET",
|
|
344
374
|
headers: { authorization: `Bearer ${this.apiKey()}`, "user-agent": this.userAgent },
|
|
345
375
|
signal: controller.signal,
|
|
@@ -953,9 +983,12 @@ export class DecionisGate {
|
|
|
953
983
|
}
|
|
954
984
|
/**
|
|
955
985
|
* The contract returns an `ERROR` decision body on 409 and 503 so the
|
|
956
|
-
* refusal is evidence-bearing
|
|
986
|
+
* refusal is evidence-bearing, or, for a proof it turned away before any
|
|
987
|
+
* evaluation (an attestation or a signed signal it could not verify), a
|
|
988
|
+
* 409 with a bare `{ "error": <code> }` whose code becomes the reason.
|
|
989
|
+
* Anything else fails closed generically, whatever the body says.
|
|
957
990
|
*/
|
|
958
|
-
static failedResponse(captured, text) {
|
|
991
|
+
static failedResponse(captured, text, status) {
|
|
959
992
|
try {
|
|
960
993
|
const parsed = AuthorityResponseSchema.parse(JSON.parse(text));
|
|
961
994
|
if (parsed.status !== "ERROR" || parsed.action_hash !== captured.intentHash) {
|
|
@@ -972,7 +1005,24 @@ export class DecionisGate {
|
|
|
972
1005
|
});
|
|
973
1006
|
}
|
|
974
1007
|
catch {
|
|
975
|
-
return FailClosedDecision.create(captured.intentHash, "AUTHORITY_REQUEST_FAILED");
|
|
1008
|
+
return FailClosedDecision.create(captured.intentHash, (status === 409 ? DecionisGate.proofRefusalCode(text) : null) ?? "AUTHORITY_REQUEST_FAILED");
|
|
1009
|
+
}
|
|
1010
|
+
}
|
|
1011
|
+
/** The code of a refused proof, when the body is exactly `{ "error": <code> }` and the code is one. */
|
|
1012
|
+
static proofRefusalCode(text) {
|
|
1013
|
+
try {
|
|
1014
|
+
const parsed = JSON.parse(text);
|
|
1015
|
+
if (typeof parsed !== "object" || parsed === null || Array.isArray(parsed))
|
|
1016
|
+
return null;
|
|
1017
|
+
const code = parsed.error;
|
|
1018
|
+
return Object.keys(parsed).length === 1 &&
|
|
1019
|
+
typeof code === "string" &&
|
|
1020
|
+
PROOF_REFUSAL_CODE.test(code)
|
|
1021
|
+
? code
|
|
1022
|
+
: null;
|
|
1023
|
+
}
|
|
1024
|
+
catch {
|
|
1025
|
+
return null;
|
|
976
1026
|
}
|
|
977
1027
|
}
|
|
978
1028
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DecionisGate.js","sourceRoot":"","sources":["../../src/decision/DecionisGate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DecionisGate.js","sourceRoot":"","sources":["../../src/decision/DecionisGate.ts"],"names":[],"mappings":"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"}
|
|
@@ -58,8 +58,24 @@ export interface AttestedHumanApprovalEvidence {
|
|
|
58
58
|
readonly provider: "attestation";
|
|
59
59
|
readonly attestation: string;
|
|
60
60
|
}
|
|
61
|
+
/**
|
|
62
|
+
* A producer's signed, standing signal about a subject (a compact Ed25519
|
|
63
|
+
* JWS, at most 20,000 characters): a cardholder's grant of permission to an
|
|
64
|
+
* agent, within limits and until a time, as Koard's "Tap to Authenticate"
|
|
65
|
+
* produces it. Evidence, never authority: the authority verifies it against
|
|
66
|
+
* the key the organisation registered for the producer (purpose
|
|
67
|
+
* `signed_signal`), writes the verified facts under
|
|
68
|
+
* `agent_safe.signed_signals.<name>` for policy to name, and records facts
|
|
69
|
+
* only. This package carries the token bounded and shaped, never reads it,
|
|
70
|
+
* and never writes it to a record: it is not kept on the decision.
|
|
71
|
+
*/
|
|
72
|
+
export interface SignedSignalEvidence {
|
|
73
|
+
readonly token: string;
|
|
74
|
+
}
|
|
61
75
|
export interface DecisionEvidence {
|
|
62
76
|
readonly humanApproval?: HumanApprovalEvidence | AttestedHumanApprovalEvidence;
|
|
77
|
+
/** At most eight; verified before the evaluation, and only on the hosted authority. */
|
|
78
|
+
readonly signals?: readonly SignedSignalEvidence[];
|
|
63
79
|
}
|
|
64
80
|
/**
|
|
65
81
|
* What Decionis said about the same intent when a hosted evaluation ran
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DecisionAuthority.d.ts","sourceRoot":"","sources":["../../src/decision/DecisionAuthority.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAGnE,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,UAAU,GAAG,OAAO,CAAC;AAE7D;;;;GAIG;AACH,MAAM,MAAM,sBAAsB,GAAG,aAAa,GAAG,QAAQ,CAAC;AAE9D,uFAAuF;AACvF,MAAM,MAAM,mCAAmC,GAAG,UAAU,GAAG,iBAAiB,CAAC;AAEjF,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,6FAA6F;IAC7F,QAAQ,CAAC,QAAQ,CAAC,EAAE;QAClB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;QAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;KAC3B,CAAC;IACF,QAAQ,CAAC,yBAAyB,CAAC,EAAE;QACnC,QAAQ,CAAC,OAAO,EAAE,SAAS,mCAAmC,EAAE,CAAC;QACjE,QAAQ,CAAC,KAAK,CAAC,EAAE,UAAU,GAAG,iBAAiB,CAAC;KACjD,CAAC;CACH;AAED,MAAM,WAAW,yBAAyB;IACxC;;;;OAIG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,wBAAwB,CAAC;CAChD;AAED,MAAM,MAAM,uBAAuB,GAC/B,kBAAkB,GAClB,oBAAoB,GACpB,mBAAmB,GACnB,mBAAmB,GACnB,eAAe,GACf,aAAa,GACb,SAAS,GACT,UAAU,GACV,SAAS,GACT,WAAW,GACX,QAAQ,CAAC;AAEb,MAAM,MAAM,wBAAwB,GAAG,kBAAkB,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;AAExF,8FAA8F;AAC9F,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAC;IACzC,QAAQ,CAAC,OAAO,EAAE,wBAAwB,CAAC;IAC3C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;CACnC;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,aAAa,CAAC,EAAE,qBAAqB,GAAG,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"DecisionAuthority.d.ts","sourceRoot":"","sources":["../../src/decision/DecisionAuthority.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DecisionAuthority.js","sourceRoot":"","sources":["../../src/decision/DecisionAuthority.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"DecisionAuthority.js","sourceRoot":"","sources":["../../src/decision/DecisionAuthority.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AA0LnE,MAAM,OAAO,kBAAkB;IACtB,MAAM,CAAC,MAAM,CAAC,UAAkB,EAAE,UAAkB;QACzD,OAAO,qBAAqB,CAAC;YAC3B,OAAO,EAAE,OAAO;YAChB,UAAU,EAAE,aAAa;YACzB,SAAS,EAAE,IAAI;YACf,UAAU;YACV,WAAW,EAAE,CAAC,UAAU,CAAC;YACzB,aAAa,EAAE,IAAI;YACnB,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -144,6 +144,22 @@ export interface AuthorizationVerifier {
|
|
|
144
144
|
* process. False when the material is not this verifier's.
|
|
145
145
|
*/
|
|
146
146
|
adoptClaim?(authorization: VerifiedAuthorization, material: JsonObject): boolean;
|
|
147
|
+
/**
|
|
148
|
+
* Reports how an attempt finalized `INDETERMINATE` resolved, once a
|
|
149
|
+
* reconciliation proved it. Like finalization it is evidence, never
|
|
150
|
+
* authority: it must not retry a side effect, must not throw, and never
|
|
151
|
+
* reopens the grant. Absent on a verifier with no reconciliation contract.
|
|
152
|
+
*/
|
|
153
|
+
reconcile?(input: AuthorizationReconciliationInput): Promise<"RECORDED" | "PENDING">;
|
|
154
|
+
}
|
|
155
|
+
/** What a proven reconciliation reports for an authorization finalized `INDETERMINATE`. */
|
|
156
|
+
export interface AuthorizationReconciliationInput {
|
|
157
|
+
readonly captured: CapturedIntent;
|
|
158
|
+
readonly authorization: VerifiedAuthorization;
|
|
159
|
+
/** `COMMITTED` when the provider effected it, `FAILED` when it proved nothing happened. */
|
|
160
|
+
readonly outcome: Exclude<ExecutionCommitOutcome, "INDETERMINATE">;
|
|
161
|
+
/** The observation that proved it, when the executor made one. */
|
|
162
|
+
readonly effectEvidence?: AuthorityEffectEvidence;
|
|
147
163
|
}
|
|
148
164
|
export interface DecionisGrantVerifierOptions {
|
|
149
165
|
readonly baseUrl: string;
|
|
@@ -154,10 +170,12 @@ export interface DecionisGrantVerifierOptions {
|
|
|
154
170
|
readonly allowInsecureLoopback?: boolean;
|
|
155
171
|
}
|
|
156
172
|
/**
|
|
157
|
-
* Claims a Decionis execution grant through
|
|
158
|
-
* immediately before dispatch
|
|
159
|
-
*
|
|
160
|
-
*
|
|
173
|
+
* Claims a Decionis execution grant through its claims resource
|
|
174
|
+
* (`POST /v1/authority/grants/{grantId}/claims`) immediately before dispatch,
|
|
175
|
+
* records the attempt through its receipts resource afterwards, and reports a
|
|
176
|
+
* proven reconciliation through its reconciliations resource, so commit
|
|
177
|
+
* evidence joins the Decision Dossier chain. A token whose grant id cannot be
|
|
178
|
+
* read falls back to the deprecated verb routes (`AuthorityPaths.LEGACY`).
|
|
161
179
|
*/
|
|
162
180
|
export declare class DecionisGrantVerifier implements AuthorizationVerifier {
|
|
163
181
|
private readonly baseUrl;
|
|
@@ -168,6 +186,8 @@ export declare class DecionisGrantVerifier implements AuthorizationVerifier {
|
|
|
168
186
|
private readonly claims;
|
|
169
187
|
/** The authority's own answer about an observation, keyed by the frozen authorization. */
|
|
170
188
|
private readonly reports;
|
|
189
|
+
/** Claims finalized `INDETERMINATE`, by grant id, for the reconciliation that resolves them. */
|
|
190
|
+
private readonly indeterminate;
|
|
171
191
|
/**
|
|
172
192
|
* The digest the authority binds over the action parameters: SHA-256 of
|
|
173
193
|
* their RFC 8785 canonical form, the same canonicalization the intent hash
|
|
@@ -180,6 +200,15 @@ export declare class DecionisGrantVerifier implements AuthorizationVerifier {
|
|
|
180
200
|
claimMaterial(authorization: VerifiedAuthorization): JsonObject | null;
|
|
181
201
|
adoptClaim(authorization: VerifiedAuthorization, material: JsonObject): boolean;
|
|
182
202
|
finalize(input: AuthorizationFinalizationInput): Promise<"RECORDED" | "PENDING">;
|
|
203
|
+
/**
|
|
204
|
+
* Reports a proven reconciliation of an attempt this verifier finalized
|
|
205
|
+
* `INDETERMINATE`, to the grant's reconciliations resource. Evidence, never
|
|
206
|
+
* authority: nothing is retried, a transport failure or refusal is
|
|
207
|
+
* `PENDING`, and an attempt whose claim this process no longer holds (a
|
|
208
|
+
* restart, an eviction) is `PENDING` without a request.
|
|
209
|
+
*/
|
|
210
|
+
reconcile(input: AuthorizationReconciliationInput): Promise<"RECORDED" | "PENDING">;
|
|
211
|
+
private rememberIndeterminate;
|
|
183
212
|
/**
|
|
184
213
|
* What the authority reported about effect evidence for an authorization this
|
|
185
214
|
* verifier finalized. `null` until a finalization was recorded. This is the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthorizationVerifier.d.ts","sourceRoot":"","sources":["../../src/execution/AuthorizationVerifier.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AuthorizationVerifier.d.ts","sourceRoot":"","sources":["../../src/execution/AuthorizationVerifier.ts"],"names":[],"mappings":"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"}
|