@mudraid/adapter-node 1.1.1 → 1.1.2

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 CHANGED
@@ -32,3 +32,15 @@ npm run build
32
32
  The package builds compiled JavaScript and TypeScript declarations. Release checks inspect the actual tarball and its installed entry points. Publication remains gated by the protected environment and the package's support record; a local test pass is not a publication receipt.
33
33
 
34
34
  Framework-specific Express/Fastify hooks, durable execution receipts and broader deployment/chaos qualification remain separate work. See [SECURITY.md](./SECURITY.md) for private reporting and [LICENSE](./LICENSE) for Apache-2.0 terms.
35
+
36
+
37
+ ### Authorization expires before forwarding
38
+
39
+ A verified decision that arrives after its deadline is refused with HTTP 503,
40
+ `ENFORCE_DECIDE_UNAVAILABLE`, and reason `deadline_exceeded`. The message explains
41
+ that authorization expired and this attempt was not forwarded. This differs
42
+ from an unreachable authority; it does not mean that permission was denied.
43
+ The adapter does not automatically retry. A deliberate retry must obtain a fresh
44
+ decision. Use application-level idempotency for operations that could already
45
+ have executed in an earlier attempt; this error makes no claim about those
46
+ other attempts. Never reuse an expired decision or disable expiry validation.
@@ -50,6 +50,7 @@ const DEFAULT_PUBLIC_METHODS = new Set([
50
50
  * code is uniformly `ENFORCE_DECIDE_UNAVAILABLE`.
51
51
  */
52
52
  const DECIDE_UNAVAILABLE_REASONS = {
53
+ expired: 'deadline_exceeded',
53
54
  timeout: 'deadline_exceeded',
54
55
  error: 'authority_source_unavailable',
55
56
  unreachable: 'authority_source_unavailable',
@@ -237,6 +238,9 @@ export async function evaluateV2(facts, decide) {
237
238
  }
238
239
  return deny(reason, 'authorization', 403, 'ENFORCE_DECISION_DENY', 'the authority denied this action', stripped);
239
240
  }
241
+ if (result.status === 'expired') {
242
+ return deny('deadline_exceeded', 'authorization', 503, 'ENFORCE_DECIDE_UNAVAILABLE', 'Authorization expired before this request could be forwarded. This attempt was not forwarded. Obtain fresh authorization before retrying; do not automatically retry operations that may already have executed in another attempt.', stripped, 'not_safely_decided');
243
+ }
240
244
  // timeout | error | unreachable | unconfigured | credential_unconfigured
241
245
  // → deny-closed 503.
242
246
  const reason = DECIDE_UNAVAILABLE_REASONS[result.status] ?? 'authority_source_unavailable';
@@ -1 +1 @@
1
- {"version":3,"file":"controlLoop.js","sourceRoot":"","sources":["../src/controlLoop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"controlLoop.js","sourceRoot":"","sources":["../src/controlLoop.ts"],"names":[],"mappings":"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"}
@@ -139,7 +139,7 @@ export class HttpAuthority {
139
139
  const bound = bindExecution(snapshot, mapped, context);
140
140
  const response = await this.request('decide', 'POST', {
141
141
  schema_version: 'mudraid.enforce.decide-request/1', decision_id: decisionId,
142
- adapter: { type: this.adapterType, version: '1.1.1' },
142
+ adapter: { type: this.adapterType, version: '1.1.2' },
143
143
  bundle: { version: snapshot.version, payload_digest: snapshot.digest },
144
144
  // Bundle display metadata is not part of the strict decision contract.
145
145
  surface: { platform_id: snapshot.surface['platform_id'],
@@ -154,8 +154,7 @@ export class HttpAuthority {
154
154
  const decidedAt = instant(response['decided_at']);
155
155
  if (decidedAt > now + 30000 || now - decidedAt > 60000)
156
156
  throw new Error('Stale decision');
157
- if (instant(response['deadline_at']) <= now)
158
- throw new Error('Expired decision');
157
+ const deadline = instant(response['deadline_at']);
159
158
  // This new runtime always requires signed decisions; there is no downgrade toggle.
160
159
  const signature = object(response['signature']);
161
160
  const claims = object(signature['claims']);
@@ -183,6 +182,10 @@ export class HttpAuthority {
183
182
  throw new Error('Bundle changed during decision');
184
183
  if (response['decision'] !== 'allow' && response['decision'] !== 'deny')
185
184
  throw new Error('Invalid decision outcome');
185
+ // Classify expiry only after signature and request binding verification.
186
+ // Recheck the clock after verification; never forward or retry this attempt.
187
+ if (deadline <= Date.now())
188
+ return { status: 'expired' };
186
189
  // Observation is a verified decision, not proof that the application
187
190
  // executed it. Report on the next refresh without delaying execution or
188
191
  // replaying a decision. Keep at most one bundle's observation in memory.
@@ -1 +1 @@
1
- {"version":3,"file":"httpAuthority.js","sourceRoot":"","sources":["../src/httpAuthority.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"httpAuthority.js","sourceRoot":"","sources":["../src/httpAuthority.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -35,11 +35,12 @@ export type AdapterCode = 'ENFORCE_METHOD_NOT_ALLOWED' | 'ENFORCE_BODY_TOO_LARGE
35
35
  * control loop.
36
36
  *
37
37
  * - `allow` / `deny` — an authority decision was reached;
38
+ * - `expired` — a verified decision arrived after its deadline; do not execute;
38
39
  * - `timeout` / `error` / `unreachable` / `unconfigured` /
39
40
  * `credential_unconfigured` — the call could not be completed; every one is
40
41
  * deny-closed (`not_safely_decided`), never optimistically allowed.
41
42
  */
42
- export type DecideStatus = 'allow' | 'deny' | 'timeout' | 'error' | 'unreachable' | 'unconfigured' | 'credential_unconfigured';
43
+ export type DecideStatus = 'allow' | 'deny' | 'expired' | 'timeout' | 'error' | 'unreachable' | 'unconfigured' | 'credential_unconfigured';
43
44
  /** The outcome of one live `/decide` call, as the adapter sees it. */
44
45
  export interface DecideResult {
45
46
  readonly status: DecideStatus;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mudraid/adapter-node",
3
- "version": "1.1.1",
3
+ "version": "1.1.2",
4
4
  "private": false,
5
5
  "description": "Framework-neutral TypeScript/Node server adapter implementing the portable MudraID adapter-decision V2 control loop (EP-120-US-05, first slice).",
6
6
  "license": "Apache-2.0",
@@ -27,9 +27,9 @@
27
27
  "node": ">=20"
28
28
  },
29
29
  "devDependencies": {
30
- "@types/node": "20.17.9",
30
+ "@types/node": "20.19.43",
31
31
  "typescript": "5.6.3",
32
- "vitest": "2.1.8"
32
+ "vitest": "4.1.11"
33
33
  },
34
34
  "repository": {
35
35
  "type": "git",
@@ -65,6 +65,7 @@ const DEFAULT_PUBLIC_METHODS: ReadonlySet<string> = new Set([
65
65
  * code is uniformly `ENFORCE_DECIDE_UNAVAILABLE`.
66
66
  */
67
67
  const DECIDE_UNAVAILABLE_REASONS: Readonly<Record<string, string>> = {
68
+ expired: 'deadline_exceeded',
68
69
  timeout: 'deadline_exceeded',
69
70
  error: 'authority_source_unavailable',
70
71
  unreachable: 'authority_source_unavailable',
@@ -372,6 +373,18 @@ export async function evaluateV2(facts: RequestFacts, decide: DecideClient): Pro
372
373
  );
373
374
  }
374
375
 
376
+ if (result.status === 'expired') {
377
+ return deny(
378
+ 'deadline_exceeded',
379
+ 'authorization',
380
+ 503,
381
+ 'ENFORCE_DECIDE_UNAVAILABLE',
382
+ 'Authorization expired before this request could be forwarded. This attempt was not forwarded. Obtain fresh authorization before retrying; do not automatically retry operations that may already have executed in another attempt.',
383
+ stripped,
384
+ 'not_safely_decided',
385
+ );
386
+ }
387
+
375
388
  // timeout | error | unreachable | unconfigured | credential_unconfigured
376
389
  // → deny-closed 503.
377
390
  const reason = DECIDE_UNAVAILABLE_REASONS[result.status] ?? 'authority_source_unavailable';
@@ -141,7 +141,7 @@ export class HttpAuthority {
141
141
  const bound = bindExecution(snapshot, mapped, context);
142
142
  const response = await this.request('decide', 'POST', {
143
143
  schema_version: 'mudraid.enforce.decide-request/1', decision_id: decisionId,
144
- adapter: {type: this.adapterType, version: '1.1.1'},
144
+ adapter: {type: this.adapterType, version: '1.1.2'},
145
145
  bundle: {version: snapshot.version, payload_digest: snapshot.digest},
146
146
  // Bundle display metadata is not part of the strict decision contract.
147
147
  surface: {platform_id: snapshot.surface['platform_id'],
@@ -154,7 +154,7 @@ export class HttpAuthority {
154
154
  const now = Date.now();
155
155
  const decidedAt = instant(response['decided_at']);
156
156
  if (decidedAt > now + 30000 || now - decidedAt > 60000) throw new Error('Stale decision');
157
- if (instant(response['deadline_at']) <= now) throw new Error('Expired decision');
157
+ const deadline = instant(response['deadline_at']);
158
158
  // This new runtime always requires signed decisions; there is no downgrade toggle.
159
159
  const signature = object(response['signature']);
160
160
  const claims = object(signature['claims']);
@@ -174,6 +174,9 @@ export class HttpAuthority {
174
174
  if (instant(claims['not_before']) > now + 30000 || instant(claims['expires_at']) <= now) throw new Error('Invalid decision window');
175
175
  if (snapshot !== this.bundle) throw new Error('Bundle changed during decision');
176
176
  if (response['decision'] !== 'allow' && response['decision'] !== 'deny') throw new Error('Invalid decision outcome');
177
+ // Classify expiry only after signature and request binding verification.
178
+ // Recheck the clock after verification; never forward or retry this attempt.
179
+ if (deadline <= Date.now()) return {status: 'expired'};
177
180
  // Observation is a verified decision, not proof that the application
178
181
  // executed it. Report on the next refresh without delaying execution or
179
182
  // replaying a decision. Keep at most one bundle's observation in memory.
package/src/types.ts CHANGED
@@ -53,6 +53,7 @@ export type AdapterCode =
53
53
  * control loop.
54
54
  *
55
55
  * - `allow` / `deny` — an authority decision was reached;
56
+ * - `expired` — a verified decision arrived after its deadline; do not execute;
56
57
  * - `timeout` / `error` / `unreachable` / `unconfigured` /
57
58
  * `credential_unconfigured` — the call could not be completed; every one is
58
59
  * deny-closed (`not_safely_decided`), never optimistically allowed.
@@ -60,6 +61,7 @@ export type AdapterCode =
60
61
  export type DecideStatus =
61
62
  | 'allow'
62
63
  | 'deny'
64
+ | 'expired'
63
65
  | 'timeout'
64
66
  | 'error'
65
67
  | 'unreachable'