@decionis/agent-safe-pipeline 0.4.0 → 0.5.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.
Files changed (87) hide show
  1. package/README.md +29 -0
  2. package/dist/Index.d.ts +9 -0
  3. package/dist/Index.d.ts.map +1 -1
  4. package/dist/Index.js +9 -0
  5. package/dist/Index.js.map +1 -1
  6. package/dist/execution/ActionRegistry.d.ts +12 -0
  7. package/dist/execution/ActionRegistry.d.ts.map +1 -1
  8. package/dist/execution/ActionRegistry.js +14 -0
  9. package/dist/execution/ActionRegistry.js.map +1 -1
  10. package/dist/execution/GovernedExecutionRunner.d.ts +14 -0
  11. package/dist/execution/GovernedExecutionRunner.d.ts.map +1 -1
  12. package/dist/execution/GovernedExecutionRunner.js +46 -1
  13. package/dist/execution/GovernedExecutionRunner.js.map +1 -1
  14. package/dist/execution/NativeExecutor.d.ts +20 -1
  15. package/dist/execution/NativeExecutor.d.ts.map +1 -1
  16. package/dist/execution/NativeExecutor.js.map +1 -1
  17. package/dist/intent/CanonicalIntentHasher.d.ts.map +1 -1
  18. package/dist/intent/CanonicalIntentHasher.js +11 -0
  19. package/dist/intent/CanonicalIntentHasher.js.map +1 -1
  20. package/dist/intent/ExecutionIntent.d.ts +55 -4
  21. package/dist/intent/ExecutionIntent.d.ts.map +1 -1
  22. package/dist/intent/ExecutionIntent.js +40 -0
  23. package/dist/intent/ExecutionIntent.js.map +1 -1
  24. package/dist/intent/ExecutionSignals.d.ts +9 -1
  25. package/dist/intent/ExecutionSignals.d.ts.map +1 -1
  26. package/dist/intent/ExecutionSignals.js +9 -0
  27. package/dist/intent/ExecutionSignals.js.map +1 -1
  28. package/dist/intent/IntentBindingSchema.d.ts +6 -0
  29. package/dist/intent/IntentBindingSchema.d.ts.map +1 -1
  30. package/dist/intent/IntentBindingSchema.js +10 -0
  31. package/dist/intent/IntentBindingSchema.js.map +1 -1
  32. package/dist/intent/IntentCapture.d.ts.map +1 -1
  33. package/dist/intent/IntentCapture.js +18 -4
  34. package/dist/intent/IntentCapture.js.map +1 -1
  35. package/dist/intent/TargetPrecondition.d.ts +36 -0
  36. package/dist/intent/TargetPrecondition.d.ts.map +1 -0
  37. package/dist/intent/TargetPrecondition.js +57 -0
  38. package/dist/intent/TargetPrecondition.js.map +1 -0
  39. package/dist/manifest/ActionManifest.d.ts +112 -0
  40. package/dist/manifest/ActionManifest.d.ts.map +1 -0
  41. package/dist/manifest/ActionManifest.js +182 -0
  42. package/dist/manifest/ActionManifest.js.map +1 -0
  43. package/dist/plan/GovernedPlan.d.ts +109 -0
  44. package/dist/plan/GovernedPlan.d.ts.map +1 -0
  45. package/dist/plan/GovernedPlan.js +187 -0
  46. package/dist/plan/GovernedPlan.js.map +1 -0
  47. package/dist/plan/PlanState.d.ts +94 -0
  48. package/dist/plan/PlanState.d.ts.map +1 -0
  49. package/dist/plan/PlanState.js +240 -0
  50. package/dist/plan/PlanState.js.map +1 -0
  51. package/dist/plan/PlanStepReference.d.ts +16 -0
  52. package/dist/plan/PlanStepReference.d.ts.map +1 -0
  53. package/dist/plan/PlanStepReference.js +25 -0
  54. package/dist/plan/PlanStepReference.js.map +1 -0
  55. package/dist/profile/ApiProfile.d.ts +354 -0
  56. package/dist/profile/ApiProfile.d.ts.map +1 -0
  57. package/dist/profile/ApiProfile.js +755 -0
  58. package/dist/profile/ApiProfile.js.map +1 -0
  59. package/dist/profile/ApiProfiles.d.ts +16 -0
  60. package/dist/profile/ApiProfiles.d.ts.map +1 -0
  61. package/dist/profile/ApiProfiles.js +29 -0
  62. package/dist/profile/ApiProfiles.js.map +1 -0
  63. package/dist/profile/BuiltInApiProfiles.d.ts +9 -0
  64. package/dist/profile/BuiltInApiProfiles.d.ts.map +1 -0
  65. package/dist/profile/BuiltInApiProfiles.js +494 -0
  66. package/dist/profile/BuiltInApiProfiles.js.map +1 -0
  67. package/dist/profile/McpToolProfile.d.ts +129 -0
  68. package/dist/profile/McpToolProfile.d.ts.map +1 -0
  69. package/dist/profile/McpToolProfile.js +270 -0
  70. package/dist/profile/McpToolProfile.js.map +1 -0
  71. package/dist/testing/Index.d.ts +3 -1
  72. package/dist/testing/Index.d.ts.map +1 -1
  73. package/dist/testing/Index.js +2 -0
  74. package/dist/testing/Index.js.map +1 -1
  75. package/dist/testing/LocalAssumptionBreaches.d.ts +96 -0
  76. package/dist/testing/LocalAssumptionBreaches.d.ts.map +1 -0
  77. package/dist/testing/LocalAssumptionBreaches.js +109 -0
  78. package/dist/testing/LocalAssumptionBreaches.js.map +1 -0
  79. package/dist/testing/LocalAuthority.d.ts +158 -5
  80. package/dist/testing/LocalAuthority.d.ts.map +1 -1
  81. package/dist/testing/LocalAuthority.js +302 -18
  82. package/dist/testing/LocalAuthority.js.map +1 -1
  83. package/dist/testing/LocalPlans.d.ts +43 -0
  84. package/dist/testing/LocalPlans.d.ts.map +1 -0
  85. package/dist/testing/LocalPlans.js +124 -0
  86. package/dist/testing/LocalPlans.js.map +1 -0
  87. package/package.json +5 -4
@@ -0,0 +1,109 @@
1
+ import { createHash, randomUUID } from "node:crypto";
2
+ export class LocalAssumptionBreaches {
3
+ /** Every breach opened, oldest first. */
4
+ all = [];
5
+ subjects = new Map();
6
+ /** The scope of an intent: the hosted binding's target, environment defaulting to production. */
7
+ static scopeOf(request) {
8
+ return {
9
+ tenantId: request.tenant_id,
10
+ actionType: request.action.type,
11
+ system: request.downstream_target.system,
12
+ environment: request.downstream_target.environment ?? "production",
13
+ resource: request.action.resource,
14
+ };
15
+ }
16
+ /** The breaches still holding a scope. */
17
+ openIn(scope) {
18
+ const key = scopeKey(scope);
19
+ return this.all.filter((breach) => breach.status === "OPEN" && scopeKey(breach.scope) === key);
20
+ }
21
+ /** Remembers what a grant was issued for, so its finalization and its claim are scoped. */
22
+ granted(token, scope, autonomous) {
23
+ this.subjects.set(token, { scope, autonomous });
24
+ }
25
+ /** Whether a claim of this grant is refused: an autonomous grant in a held scope. */
26
+ holdsClaim(token) {
27
+ const subject = this.subjects.get(token);
28
+ return subject !== undefined && subject.autonomous && this.openIn(subject.scope).length > 0;
29
+ }
30
+ /**
31
+ * Opens a breach when a finalization contradicts its binding: a verified
32
+ * receipt that effected another effect, effected what the executor reports
33
+ * FAILED, or refused what it reports COMMITTED; or the executor's own
34
+ * observation of another effect. One per grant, whatever it is retried as.
35
+ */
36
+ finalized(input) {
37
+ const subject = this.subjects.get(input.token);
38
+ if (subject === undefined)
39
+ return null;
40
+ const expected = input.expectedEffectDigest;
41
+ const receipt = input.receipt?.verified === true ? input.receipt : null;
42
+ const receiptContradicts = receipt !== null &&
43
+ ((receipt.effect_status === "EFFECTED" &&
44
+ ((expected !== null &&
45
+ receipt.effect_digest !== null &&
46
+ receipt.effect_digest !== expected) ||
47
+ input.outcome === "FAILED")) ||
48
+ (receipt.effect_status === "REFUSED" && input.outcome === "COMMITTED"));
49
+ const observationContradicts = expected !== null &&
50
+ input.observedEffectDigest !== null &&
51
+ input.observedEffectDigest !== expected;
52
+ if (!receiptContradicts && !observationContradicts)
53
+ return null;
54
+ const existing = this.all.find((breach) => breach.grantJti === input.grantJti);
55
+ if (existing !== undefined) {
56
+ return { breach_id: existing.breachId, trigger: existing.trigger, created: false };
57
+ }
58
+ const breach = {
59
+ breachId: randomUUID(),
60
+ trigger: receiptContradicts ? "EFFECT_RECEIPT_CONTRADICTION" : "EFFECT_MISMATCH",
61
+ scope: subject.scope,
62
+ grantJti: input.grantJti,
63
+ dossierId: input.dossierId,
64
+ evidenceIds: [
65
+ `grant:${input.grantJti}`,
66
+ `dossier:${input.dossierId}`,
67
+ ...(receiptContradicts && receipt !== null
68
+ ? [`receipt:sha256:${createHash("sha256").update(receipt.token, "utf8").digest("hex")}`]
69
+ : []),
70
+ ...(observationContradicts && input.evidenceDigest !== null
71
+ ? [`effect:${input.evidenceDigest}`]
72
+ : []),
73
+ ].sort(),
74
+ status: "OPEN",
75
+ };
76
+ this.all.push(breach);
77
+ return { breach_id: breach.breachId, trigger: breach.trigger, created: true };
78
+ }
79
+ /**
80
+ * What a governed release or recovery review that cites the breaches does
81
+ * hosted: each must be open and cited with every evidence id it was opened
82
+ * on, or none clears.
83
+ */
84
+ clear(citations) {
85
+ const found = citations.map((citation) => {
86
+ const breach = this.all.find((one) => one.breachId === citation.breachId);
87
+ if (breach === undefined)
88
+ throw new Error("POLICY_BREACH_NOT_FOUND");
89
+ if (breach.status !== "OPEN")
90
+ throw new Error("POLICY_BREACH_NOT_OPEN");
91
+ if ([...citation.evidenceIds].sort().join("\n") !== breach.evidenceIds.join("\n")) {
92
+ throw new Error("POLICY_BREACH_EVIDENCE_MISMATCH");
93
+ }
94
+ return breach;
95
+ });
96
+ for (const breach of found)
97
+ breach.status = "CLEARED";
98
+ }
99
+ }
100
+ function scopeKey(scope) {
101
+ return JSON.stringify([
102
+ scope.tenantId,
103
+ scope.actionType,
104
+ scope.system,
105
+ scope.environment,
106
+ scope.resource,
107
+ ]);
108
+ }
109
+ //# sourceMappingURL=LocalAssumptionBreaches.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LocalAssumptionBreaches.js","sourceRoot":"","sources":["../../src/testing/LocalAssumptionBreaches.ts"],"names":[],"mappings":"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"}
@@ -12,12 +12,20 @@
12
12
  * create a request bound to the exact intent hash, wait for the ceremony,
13
13
  * verify the receipt, re-evaluate policy, then expose a normal grant.
14
14
  *
15
+ * A claim re-derives authority from current state before it consumes
16
+ * anything, as the hosted revalidator does: a policy released since the grant
17
+ * fails `POLICY_VERSION_STALE`, a material signal published since the grant
18
+ * fails `SIGNAL_VERSION_STALE`, and a concurrency scope another open claim
19
+ * holds fails `AUTHORIZATION_SCOPE_BUSY` (or `CURRENT_STATE_UNRESOLVED` while
20
+ * that claim's outcome is unknown). None of them burns the grant.
21
+ *
15
22
  * Grants, claims, escalations, and commit outcomes are synthetic in-memory
16
23
  * state. Nothing here is a real policy, tenant, or credential.
17
24
  */
18
25
  import { type KeyObject } from "node:crypto";
19
26
  import { z } from "zod";
20
27
  import { type LocalPresence } from "./LocalPresence.js";
28
+ import { LocalAssumptionBreaches } from "./LocalAssumptionBreaches.js";
21
29
  import { type SignedSignalFacts } from "./SignedSignals.js";
22
30
  export declare const LOCAL_AUTHORITY_API_KEY = "test-key";
23
31
  export declare const AUTONOMOUS_LIMIT_MINOR = 10000;
@@ -89,6 +97,12 @@ declare const AuthorityRequestSchema: z.ZodObject<{
89
97
  operation: z.ZodString;
90
98
  endpoint: z.ZodOptional<z.ZodString>;
91
99
  }, z.core.$strict>;
100
+ policy_projection: z.ZodOptional<z.ZodObject<{
101
+ decision_type: z.ZodString;
102
+ transaction_type: z.ZodNullable<z.ZodString>;
103
+ workflow_key: z.ZodNullable<z.ZodString>;
104
+ channel: z.ZodNullable<z.ZodString>;
105
+ }, z.core.$strict>>;
92
106
  expected_effect_digest: z.ZodOptional<z.ZodString>;
93
107
  }, z.core.$strict>;
94
108
  /** What a registered key may sign, as the hosted `ExecutionProviderKeyPurpose` names it. */
@@ -102,14 +116,16 @@ type LifecycleEntry = ManagedStatus | {
102
116
  reasonCodes?: string[];
103
117
  };
104
118
  type Decision = Record<string, unknown>;
105
- /** Verdict for an intent evaluated without evidence; evidence handling stays generic. */
106
119
  /**
107
- * What a policy hook sees: the request, and the facts of every signed signal
108
- * it carried, verified, under `signed_signals` by name, as the hosted
109
- * authority writes them under `agent_safe.signed_signals`.
120
+ * What a policy hook sees: the request; the facts of every signed signal it
121
+ * carried, verified, under `signed_signals` by name, as the hosted authority
122
+ * writes them under `agent_safe.signed_signals`; and the current value of
123
+ * every published material signal the request names, under
124
+ * `material_signals` by id, as the hosted policy reads them.
110
125
  */
111
126
  export type LocalAuthorityPolicyInput = LocalAuthorityRequest & {
112
127
  readonly signed_signals?: Readonly<Record<string, SignedSignalFacts>>;
128
+ readonly material_signals?: Readonly<Record<string, unknown>>;
113
129
  };
114
130
  export type LocalAuthorityPolicy = (request: LocalAuthorityPolicyInput) => Verdict;
115
131
  export interface LocalRouteOverride {
@@ -150,8 +166,16 @@ export interface LocalGrantRecord {
150
166
  readonly payloadDigest: string;
151
167
  /** The expected-effect digest committed at enforce-and-bind; null when none was bound. */
152
168
  readonly expectedEffectDigest: string | null;
169
+ /** The target's version the intent's precondition stated; null when it stated none. */
170
+ readonly expectedStateVersion: string | null;
153
171
  /** Present for direct grants issued on client-supplied evidence; null for managed grants. */
154
172
  readonly receiptDossierId: string | null;
173
+ /** The policy release the grant was decided under. */
174
+ readonly policyVersion: string;
175
+ /** The material signals the decision rested on, at the versions it read them. */
176
+ readonly materialSignals: readonly LocalMaterialSignal[];
177
+ /** The concurrency scopes a claim of this grant holds until its outcome is known. */
178
+ readonly scopes: readonly string[];
155
179
  claimed: boolean;
156
180
  claimToken: string | null;
157
181
  correlationId: string | null;
@@ -160,6 +184,16 @@ export interface LocalGrantRecord {
160
184
  /** The provider's effect receipt as this authority read it at finalization, when one came. */
161
185
  receipt: LocalEffectReceiptRecord | null;
162
186
  }
187
+ /**
188
+ * A material signal as the authority last ingested it, in the shape of the
189
+ * hosted `MaterialSignalReference`. Every ingestion is a new version here.
190
+ */
191
+ export interface LocalMaterialSignal {
192
+ readonly signal_id: string;
193
+ readonly version: string;
194
+ readonly observed_at: string;
195
+ readonly value_digest: string;
196
+ }
163
197
  /** The verdict codes the hosted authority records for a receipt, and this double with it. */
164
198
  export type LocalEffectReceiptCode = "EFFECT_RECEIPT_VERIFIED" | "EFFECT_RECEIPT_MALFORMED" | "EFFECT_RECEIPT_KEY_UNKNOWN" | "EFFECT_RECEIPT_SIGNATURE_INVALID" | "EFFECT_RECEIPT_BINDING_MISMATCH";
165
199
  export interface LocalEffectReceiptRecord {
@@ -173,6 +207,22 @@ export interface LocalEffectReceiptRecord {
173
207
  readonly effect_reference: string | null;
174
208
  readonly effected_at: string | null;
175
209
  }
210
+ /**
211
+ * One draw on a held allowance, as the approving hosted rule names it in
212
+ * `then.allowance` and the binding signs it in `allowance_draws`. `amount` is
213
+ * null when the rule reads it from parameters that give no whole number.
214
+ */
215
+ export interface LocalAllowanceDraw {
216
+ readonly allowance_key: string;
217
+ readonly amount: number | null;
218
+ }
219
+ /** What an allowance holds now, as hosted `GET /v1/authority/allowances/{key}` reports it. */
220
+ export interface LocalAllowanceUsage {
221
+ readonly reserved: number;
222
+ readonly held: number;
223
+ readonly consumed: number;
224
+ readonly available: number;
225
+ }
176
226
  /** A verifying provider's registered receipt key: the public half, its `kid`, the `iss` it signs as. */
177
227
  export interface LocalProviderKey {
178
228
  readonly kid: string;
@@ -226,6 +276,33 @@ export interface LocalAuthorityOptions {
226
276
  * naming any other id confirms nothing.
227
277
  */
228
278
  readonly trustedEffectObserverIds?: readonly string[];
279
+ /**
280
+ * The material signals a request's decision rests on, by id, as a hosted
281
+ * policy names them. Their current values reach the policy hook under
282
+ * `material_signals`; the versions are bound into the grant, and a claim
283
+ * made after any of them was published again fails `SIGNAL_VERSION_STALE`.
284
+ * Each one is also a concurrency scope, as the hosted claim store derives
285
+ * them. Hosted, a grant that binds none holds its execution target as its
286
+ * scope; here it holds no scope at all.
287
+ */
288
+ readonly materialSignals?: (request: LocalAuthorityRequest) => readonly string[];
289
+ /**
290
+ * Further API keys, each bound to the one organisation it was issued for,
291
+ * as every hosted key is. A request a bound key authenticates must name
292
+ * that organisation, or enforce-and-bind answers 403
293
+ * `AUTHORITY_TENANT_MISMATCH` and a claim 403 `TENANT_MISMATCH`, so a grant
294
+ * cannot be carried into another organisation. `apiKey` stays unbound.
295
+ */
296
+ readonly tenantKeys?: Readonly<Record<string, string>>;
297
+ /**
298
+ * Mint each execution token in the hosted shape, a compact JWT whose `jti`
299
+ * is the grant's UUID (unsigned here), so a client addresses the grant's
300
+ * own resources, `/v1/authority/grants/{grantId}/…`, as it does in
301
+ * production: the reconciliations resource has no legacy alias and is
302
+ * reachable no other way. Off by default, which keeps the opaque tokens
303
+ * and the legacy verb routes earlier tests were written against.
304
+ */
305
+ readonly addressableGrants?: boolean;
229
306
  readonly clock?: () => number;
230
307
  /**
231
308
  * Attach a verification envelope to every decision, as the hosted
@@ -250,6 +327,18 @@ export interface LocalAuthorityOptions {
250
327
  readonly level: "STANDARD" | "HIGH_CONFIDENCE";
251
328
  };
252
329
  };
330
+ /**
331
+ * The held allowances an approval draws on, as the approving hosted rule
332
+ * names them in `then.allowance`. An ALLOW is granted only once every draw
333
+ * fits what its allowance has left; otherwise the decision is `BLOCK` with
334
+ * `ALLOWANCE_EXHAUSTED`, `ALLOWANCE_UNDEFINED` (no `setAllowance` for the
335
+ * key) or `ALLOWANCE_AMOUNT_INVALID`, and no grant is issued. A draw counts
336
+ * from the grant to the outcome: an unclaimed grant holds it until it
337
+ * expires, a commit keeps it, a failure releases it, and an INDETERMINATE
338
+ * holds it until reconciled. A counter, never a concurrency scope. Here an
339
+ * allowance has no window and serves every tenant alike.
340
+ */
341
+ readonly allowanceDraws?: (request: LocalAuthorityRequest) => readonly LocalAllowanceDraw[];
253
342
  }
254
343
  /** The organization a provisioned synthetic workspace belongs to. */
255
344
  export declare const LOCAL_AUTHORITY_PROVISIONAL_ORG_ID = "00000000-0000-4000-8000-000000000008";
@@ -265,6 +354,8 @@ export interface LocalClaimAttestationClaims {
265
354
  readonly execution_payload_digest: string;
266
355
  readonly execution_payload_canonicalization_profile: string;
267
356
  readonly expected_effect_digest?: string;
357
+ /** The target's version the grant was decided against, when the intent stated one. */
358
+ readonly expected_state_version?: string;
268
359
  readonly execution_nonce: string;
269
360
  readonly execution_correlation_id: string;
270
361
  };
@@ -295,7 +386,14 @@ export declare class LocalAuthority {
295
386
  private readonly presence;
296
387
  private readonly legacyVerifyReceipt;
297
388
  private readonly verifyAttestation;
298
- private readonly policy;
389
+ private policy;
390
+ /** How many policy releases are active or behind; the first is `synthetic-policy-v1`. */
391
+ private policyReleases;
392
+ /** Every material signal ingested, by id: the reference and the value it carries. */
393
+ private readonly signals;
394
+ private readonly materialSignalsOf;
395
+ private readonly tenantKeys;
396
+ private readonly addressableGrants;
299
397
  private readonly managedApproverId;
300
398
  private readonly trustedEffectObserverIds;
301
399
  private readonly clock;
@@ -309,6 +407,13 @@ export declare class LocalAuthority {
309
407
  * says the executor must refuse.
310
408
  */
311
409
  misbindNextPayloadDigest: boolean;
410
+ /**
411
+ * The hosted assumption breaches: a finalization whose receipt or
412
+ * observation contradicts its grant holds the grant's scope, and
413
+ * `assumptionBreaches.clear(citations)` is the governed release or
414
+ * recovery review that cites it.
415
+ */
416
+ readonly assumptionBreaches: LocalAssumptionBreaches;
312
417
  private readonly overrides;
313
418
  private readonly managedByIntent;
314
419
  private nextManagedLifecycle;
@@ -319,6 +424,11 @@ export declare class LocalAuthority {
319
424
  private readonly escalationRouting;
320
425
  private server;
321
426
  private port;
427
+ private readonly allowanceDrawsOf;
428
+ /** Each allowance's limit, by key, as the policy writer last set it. */
429
+ private readonly allowanceLimits;
430
+ /** What each issued grant drew, by jti. */
431
+ private readonly grantDraws;
322
432
  constructor(options?: LocalAuthorityOptions);
323
433
  /** The fixture's JWKS, as `GET /.well-known/decionis-execution-grant-jwks.json` serves it. */
324
434
  get jwks(): {
@@ -343,6 +453,25 @@ export declare class LocalAuthority {
343
453
  /** What the key may sign; a receipt key by default, as the hosted route defaults. */
344
454
  readonly purpose?: LocalProviderKeyPurpose;
345
455
  }): void;
456
+ /** The policy release decisions are made under now, as `policy_version` names it. */
457
+ get policyVersion(): string;
458
+ /**
459
+ * Activates the next policy release, with a new policy hook or the same
460
+ * one: the governance authority's own act, which no API key can perform
461
+ * here or hosted. Every grant decided under an earlier release then fails
462
+ * at claim with `POLICY_VERSION_STALE`, and a new decision is made under
463
+ * this one. Returns the release now active.
464
+ */
465
+ releasePolicy(policy?: LocalAuthorityPolicy): string;
466
+ /**
467
+ * Ingests a material signal's current value, as the hosted
468
+ * `POST /v1/protocol/signals/envelopes` does for a system of record. Each
469
+ * call is a new version, so a grant that read an earlier one fails at
470
+ * claim with `SIGNAL_VERSION_STALE`.
471
+ */
472
+ publishSignal(signalId: string, value: unknown): LocalMaterialSignal;
473
+ /** The published material signals a request names, in id order. */
474
+ private materialSignalsFor;
346
475
  /** The key a signed signal's `kid` names, when it was registered to sign signals. */
347
476
  private signedSignalKey;
348
477
  /**
@@ -361,6 +490,20 @@ export declare class LocalAuthority {
361
490
  * finalization proceeds regardless.
362
491
  */
363
492
  private readEffectReceipt;
493
+ /**
494
+ * Defines an allowance, or changes its limit: the policy writer's act
495
+ * (hosted, `PUT /v1/authority/allowances/{key}` with `policy:write`), which
496
+ * no decision key can perform here or hosted. Raising it is a top-up.
497
+ */
498
+ setAllowance(key: string, limit: number): void;
499
+ /** What an allowance holds now; null for a key no allowance is defined under. */
500
+ allowanceUsage(key: string): LocalAllowanceUsage | null;
501
+ /**
502
+ * An ALLOW's grant, once its draws are reserved, as hosted reserves them
503
+ * with the grant; or the same decision as `BLOCK` with the refusal code and
504
+ * no grant. Never ESCALATE: no approval creates capacity.
505
+ */
506
+ private grantWithinAllowances;
364
507
  get baseUrl(): string;
365
508
  start(): Promise<void>;
366
509
  stop(): Promise<void>;
@@ -373,6 +516,8 @@ export declare class LocalAuthority {
373
516
  /** Statuses returned, in order, for the next managed escalation instead of orchestration. */
374
517
  scriptNextManagedLifecycle(statuses: readonly LifecycleEntry[]): void;
375
518
  private handle;
519
+ /** The organisation a request's key is bound to, or null for the unbound `apiKey` or no key. */
520
+ private tenantOf;
376
521
  /** A grant resource addressed by an id that is not the presented token's grant: refused, as hosted. */
377
522
  private grantIdMismatch;
378
523
  /**
@@ -384,6 +529,12 @@ export declare class LocalAuthority {
384
529
  /** `POST /v1/execution/provider-keys`: the public half only, or a 400 naming why. */
385
530
  private registerProviderKeyRoute;
386
531
  private enforceAndBind;
532
+ /**
533
+ * The starter policy's assumption-breach rule: an ALLOW the policy gave on
534
+ * its own becomes ESCALATE while a breach holds the scope. A person's
535
+ * approval is that person's decision, and stands.
536
+ */
537
+ private heldByBreach;
387
538
  /** Keeps a minted decision for its dossier route, with the envelope when links are on. */
388
539
  private remember;
389
540
  /**
@@ -395,6 +546,8 @@ export declare class LocalAuthority {
395
546
  private dossierRecord;
396
547
  /** Policy plus evidence handling: a valid receipt turns an escalation into an allow. */
397
548
  private evaluate;
549
+ /** The request as the policy hook reads it, with the signals that reach it. */
550
+ private policyInput;
398
551
  private verifyEvidence;
399
552
  private baseDecision;
400
553
  private grantDecision;
@@ -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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"}