attenu-guard 0.13.0 → 0.13.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/dist/cjs/authority.d.ts +12 -6
  3. package/dist/cjs/authority.d.ts.map +1 -1
  4. package/dist/cjs/authority.js +51 -15
  5. package/dist/cjs/authority.js.map +1 -1
  6. package/dist/cjs/ceilings.d.ts +58 -13
  7. package/dist/cjs/ceilings.d.ts.map +1 -1
  8. package/dist/cjs/ceilings.js +392 -70
  9. package/dist/cjs/ceilings.js.map +1 -1
  10. package/dist/cjs/display.d.ts +3 -2
  11. package/dist/cjs/display.d.ts.map +1 -1
  12. package/dist/cjs/display.js +4 -3
  13. package/dist/cjs/display.js.map +1 -1
  14. package/dist/cjs/evidence.js +1 -1
  15. package/dist/cjs/evidence.js.map +1 -1
  16. package/dist/cjs/guard.d.ts.map +1 -1
  17. package/dist/cjs/guard.js +7 -3
  18. package/dist/cjs/guard.js.map +1 -1
  19. package/dist/cjs/version.d.ts +1 -1
  20. package/dist/cjs/version.js +1 -1
  21. package/dist/cjs/wire.d.ts.map +1 -1
  22. package/dist/cjs/wire.js +3 -2
  23. package/dist/cjs/wire.js.map +1 -1
  24. package/dist/esm/authority.d.ts +12 -6
  25. package/dist/esm/authority.d.ts.map +1 -1
  26. package/dist/esm/authority.js +51 -15
  27. package/dist/esm/authority.js.map +1 -1
  28. package/dist/esm/ceilings.d.ts +58 -13
  29. package/dist/esm/ceilings.d.ts.map +1 -1
  30. package/dist/esm/ceilings.js +390 -70
  31. package/dist/esm/ceilings.js.map +1 -1
  32. package/dist/esm/display.d.ts +3 -2
  33. package/dist/esm/display.d.ts.map +1 -1
  34. package/dist/esm/display.js +4 -3
  35. package/dist/esm/display.js.map +1 -1
  36. package/dist/esm/evidence.js +2 -2
  37. package/dist/esm/evidence.js.map +1 -1
  38. package/dist/esm/guard.d.ts.map +1 -1
  39. package/dist/esm/guard.js +8 -4
  40. package/dist/esm/guard.js.map +1 -1
  41. package/dist/esm/version.d.ts +1 -1
  42. package/dist/esm/version.js +1 -1
  43. package/dist/esm/wire.d.ts.map +1 -1
  44. package/dist/esm/wire.js +3 -2
  45. package/dist/esm/wire.js.map +1 -1
  46. package/package.json +1 -1
@@ -16,6 +16,12 @@
16
16
  */
17
17
  import { type CJson, type Json } from "./canonical.js";
18
18
  import { Decision } from "./reasons.js";
19
+ /**
20
+ * The scope grammar the draft defines: lowercase dot-separated segments, `*` only as the whole last
21
+ * segment. `Authority` validates its scopes against it, and a scoped `CallLimit`'s `appliesTo`
22
+ * follows it too.
23
+ */
24
+ export declare const SCOPE_RE: RegExp;
19
25
  /** A request context: the quantities and attributes a call declares. */
20
26
  export type Context = Record<string, Json>;
21
27
  /** The shape every ceiling — built-in or custom — must implement. */
@@ -56,7 +62,17 @@ export interface Ceiling {
56
62
  * then the caller-keyed `field`, then the ceiling's own `key`.
57
63
  */
58
64
  export declare function ctxFieldOf(ceiling: Ceiling): string;
59
- /** Uniform human-readable rendering of any ceiling. Never parsed back. */
65
+ /**
66
+ * Python's `type(a) is type(b)`: whether two ceilings are of one class. Ceilings pair by key, and
67
+ * two of different classes under one key are not comparable: neither narrows the other, so an
68
+ * authority holding one is not narrower than an authority holding the other (attenu-ops#110).
69
+ */
70
+ export declare function sameType(a: Ceiling, b: Ceiling): boolean;
71
+ /**
72
+ * Uniform human-readable rendering of any ceiling. Never parsed back. A ceiling without its own
73
+ * `describe`, such as one this build does not define, prints as the Python implementation prints
74
+ * it: its key as the wire carried it, `=`, and its wire form as Python prints a dict.
75
+ */
60
76
  export declare function describe(ceiling: Ceiling): string;
61
77
  /**
62
78
  * A ceiling's key as the wire carried it, which is what a finding names. A ceiling this build does
@@ -69,10 +85,12 @@ export declare function wireKeyOf(ceiling: Ceiling): CJson;
69
85
  * printed through `shown` (display.ts), so the finding stays on one line.
70
86
  *
71
87
  * `describe` itself is left alone, so dashboards and `Authority.describe()` print a region called
72
- * "São Paulo" as it is, and for values in the bare set the two agree character for character. A
73
- * ceiling this build does not define prints the Python implementation's description of it — its key,
74
- * `=`, and the wire object as Python prints a dict — as it is when that is printable ASCII, spaces
75
- * included, and as escaped JSON otherwise. Same text as the Python implementation's finding.
88
+ * "São Paulo" as it is, and for values in the bare set the two agree character for character, except
89
+ * that an allow-list's or a deny-list's string members are printed in their escaped JSON form, quoted,
90
+ * so the string "1" and the number 1 read differently. A ceiling this build does not define prints the
91
+ * Python implementation's description of it — its key, `=`, and the wire object as Python prints a
92
+ * dict — as it is when that is printable ASCII, spaces included, and as escaped JSON otherwise. Same
93
+ * text as the Python implementation's finding.
76
94
  */
77
95
  export declare function describeInFinding(ceiling: Ceiling): string;
78
96
  /**
@@ -82,11 +100,17 @@ export declare function describeInFinding(ceiling: Ceiling): string;
82
100
  * asserting anything here", not "consuming an undeclared amount".
83
101
  */
84
102
  export declare function isMetered(ceiling: Ceiling): boolean;
103
+ /**
104
+ * The context's own value for `field`, or `undefined`. A plain object inherits `constructor`,
105
+ * `toString` and the rest from Object.prototype, and a field named like one of them is absent unless
106
+ * the context holds it, as `ctx.get(field)` reads it in the Python implementation.
107
+ */
108
+ export declare function ownValue(ctx: Context, field: string): Json | undefined;
85
109
  /** Per-call cap on rows read or returned. Context field: "rows". */
86
110
  export declare class RowLimit implements Ceiling {
87
- readonly maxRows: number;
88
111
  readonly key = "max_rows";
89
112
  readonly ctxField = "rows";
113
+ readonly maxRows: number;
90
114
  constructor(maxRows: number);
91
115
  permits(ctx: Context): Decision;
92
116
  describe(): string;
@@ -97,9 +121,9 @@ export declare class RowLimit implements Ceiling {
97
121
  }
98
122
  /** Per-call cap on spend, currency-agnostic. Context field: "spend". */
99
123
  export declare class SpendCap implements Ceiling {
100
- readonly maxSpend: number;
101
124
  readonly key = "max_spend";
102
125
  readonly ctxField = "spend";
126
+ readonly maxSpend: number;
103
127
  constructor(maxSpend: number);
104
128
  permits(ctx: Context): Decision;
105
129
  describe(): string;
@@ -121,10 +145,10 @@ export declare class SpendCap implements Ceiling {
121
145
  * does not; an explicit `calls` in the context still wins.
122
146
  */
123
147
  export declare class CallLimit implements Ceiling {
124
- readonly maxCalls: number;
125
148
  readonly appliesTo: string | null;
126
149
  readonly key: string;
127
150
  readonly ctxField: string;
151
+ readonly maxCalls: number;
128
152
  constructor(maxCalls: number, appliesTo?: string | null);
129
153
  /** What this ceiling counts: the pattern it applies to, or every call. */
130
154
  get meterKey(): string;
@@ -149,7 +173,11 @@ export declare class EgressRank implements Ceiling {
149
173
  toWire(): Record<string, Json>;
150
174
  static fromWire(d: Record<string, Json>): EgressRank;
151
175
  }
152
- /** Membership allow-list: the context value MUST be one of `oneOf`. */
176
+ /**
177
+ * Membership allow-list: the context value MUST be one of `oneOf`. A member is its JSON type plus
178
+ * its value, as a Set holds it: `[1]` admits 1 and refuses `true` and `"1"`. A context value that
179
+ * is not a JSON scalar is refused (`wrongKind`).
180
+ */
153
181
  export declare class Allow implements Ceiling {
154
182
  readonly key: string;
155
183
  readonly field: string | null;
@@ -163,7 +191,12 @@ export declare class Allow implements Ceiling {
163
191
  toWire(): Record<string, Json>;
164
192
  static fromWire(d: Record<string, Json>): Allow;
165
193
  }
166
- /** Membership deny-list: the context value MUST NOT be one of `notOneOf`. */
194
+ /**
195
+ * Membership deny-list: the context value MUST NOT be one of `notOneOf`. A member is its JSON type
196
+ * plus its value, as a Set holds it: `[1]` refuses 1 and not `true` or `"1"`. A context value that
197
+ * is not a JSON scalar is refused as well (`wrongKind`): a deny-list never waves through a value it
198
+ * cannot compare, since waving `["rm"]` through because it is not the string "rm" would fail open.
199
+ */
167
200
  export declare class Deny implements Ceiling {
168
201
  readonly key: string;
169
202
  readonly field: string | null;
@@ -204,10 +237,15 @@ export declare function registerCeiling(key: string, cls: CeilingClass): void;
204
237
  * Fail-closed placeholder for a wire constraint this build does not recognise.
205
238
  *
206
239
  * `permits` always denies. `narrow` stays an unknown ceiling, so it can never
207
- * resolve to something more permissive than "deny everything". `subsumes` is
240
+ * resolve to something more permissive than "deny everything"; `Authority.meet`
241
+ * keeps a parent's against a request of any other type, so the child inherits
242
+ * it. `subsumes` is
208
243
  * true only against an identical unknown ceiling — just enough reflexivity for
209
- * `isNarrowerThan(self)`. `toWire` preserves the original bytes losslessly, so
210
- * a chain that merely forwards constraints can still do so.
244
+ * `isNarrowerThan(self)`. Identical means the same RFC 8785 bytes, which is
245
+ * equality as JSON: `true` is not 1, `1.0` is 1, and key order is no difference
246
+ * at any depth; a value RFC 8785 cannot write is identical to nothing. `toWire`
247
+ * preserves the original bytes losslessly, so a chain that merely forwards
248
+ * constraints can still do so.
211
249
  */
212
250
  export declare class UnknownCeiling implements Ceiling {
213
251
  readonly raw: Record<string, Json>;
@@ -223,6 +261,13 @@ export declare class UnknownCeiling implements Ceiling {
223
261
  * Reconstruct a Ceiling from its wire form. Routes on "type" when present (it
224
262
  * disambiguates the generic ceilings), else on "key". An unrecognised
225
263
  * discriminator fails closed via `UnknownCeiling`.
264
+ *
265
+ * A constraint is a JSON object with a string `key`, and a `type` that, when present, is a string;
266
+ * anything else is malformed (attenu-ops#110), in the Python implementation's words too: `a
267
+ * constraint is a string, not an object`, `type of constraint 'max_rows' is null, not a string`.
268
+ * A constraint that is not an object loaded as an unknown constraint here, null aside, and a null
269
+ * `type` was read as absent, so the constraint was routed by its key: `{"key": "allow", "type":
270
+ * null, ...}` loaded as an allow-list, where the Python implementation loaded an unknown constraint.
226
271
  */
227
272
  export declare function ceilingFromWire(wire: CJson): Ceiling;
228
273
  //# sourceMappingURL=ceilings.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ceilings.d.ts","sourceRoot":"","sources":["../../src/ceilings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ceilings.d.ts","sourceRoot":"","sources":["../../src/ceilings.ts"],"names":[],"mappings":"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"}