attenu-guard 0.6.0 → 0.7.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/CHANGELOG.md +65 -390
- package/dist/cjs/evidence.d.ts.map +1 -1
- package/dist/cjs/evidence.js +57 -4
- package/dist/cjs/evidence.js.map +1 -1
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/esm/evidence.d.ts.map +1 -1
- package/dist/esm/evidence.js +58 -5
- package/dist/esm/evidence.js.map +1 -1
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.js +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,429 +1,104 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
One line per change. The long-form notes for each version (reasoning, review findings, migration detail) are in [`docs/release-notes/`](docs/release-notes/README.md).
|
|
4
|
+
|
|
5
|
+
Versions follow semantic versioning.
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
## [0.7.1] - 2026-09-03
|
|
10
|
+
|
|
11
|
+
### Added
|
|
12
|
+
- Vendored bundle interop vectors updated to revision `bundle_vectors_v1.2` — five appended cases: `valid_bundle_v2_literal` (the root holds `{crm.read, mail.send}`, so the child's scopes are a literal subset) and, derived from it, `reject_increased_ttl_literal`, `reject_loosened_ceiling_literal`, `reject_null_ttl_literal`, `reject_omitted_ceiling_literal`. The v1.1 ttl/ceiling rows are rejected by a verifier that compares scope lists literally and never checks ttl or ceilings (0.6.0 was one), for a scope reason at the declared position, so they never discriminated it; the four new rows can fail only on the dimension they are about. `version` stays `bundle_vectors_v1`; no case changed
|
|
13
|
+
|
|
14
|
+
## [0.7.0] - 2026-09-03
|
|
15
|
+
|
|
16
|
+
### Fixed
|
|
17
|
+
- `verifyBundle()` monotonicity: a delegation that widened only ttl or only a ceiling verified CLEAN whenever the child's scopes were literally a subset of the parent's — the check was gated on a literal, non-wildcard-aware scope difference, so a `false` from `isNarrowerThan` was discarded. A child that outlived its parent, raised a ceiling, dropped a ceiling its parent held, or carried no ttl at all now fails, and the message names the dimension (`ttl 7200 > parent 3600`, `ceiling max_rows<=250 looser than parent max_rows<=100`), byte-identical to Python. The scope-widening string is unchanged
|
|
18
|
+
|
|
19
|
+
### Added
|
|
20
|
+
- Vendored bundle interop vectors updated to revision `bundle_vectors_v1.1` — four appended cases: `reject_widened_scope`, `reject_uncontained_allow`, `reject_increased_ttl` and `reject_loosened_ceiling`; `version` stays `bundle_vectors_v1`
|
|
21
|
+
|
|
9
22
|
## [0.6.0] - 2026-09-02
|
|
10
23
|
|
|
11
24
|
### Added
|
|
12
|
-
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
auditor checks a published ledger with no engine, no service and no vendor in the loop.
|
|
17
|
-
`test/fixtures/vectors/bundles/bundle_vectors_v1.json` is that file, copied byte for byte from
|
|
18
|
-
the Python repository (`tests/vectors/bundles/bundle_vectors_v1.json`, whose single writer is
|
|
19
|
-
`tests/vectors/generate_bundles.py`). Eight cases, every one derived from a single valid
|
|
20
|
-
schema-v2 bundle by exactly ONE change so each isolates one rule: `valid_bundle_v2` (accept),
|
|
21
|
-
`reject_params_mismatch`, `reject_outcome_without_allow`, `reject_outcome_before_allow`,
|
|
22
|
-
`reject_duplicate_outcome`, `reject_duplicate_call_id`, `reject_rehashed_chain` (one entry
|
|
23
|
-
edited and every later hash recomputed — the rewrite a hash chain alone cannot catch, which
|
|
24
|
-
only the signed anchor does) and `reject_tampered_entry` (the same edit with nothing
|
|
25
|
-
re-hashed, which fails AT that entry). All eight score here exactly as they score in Python,
|
|
26
|
-
with byte-identical `failures` strings. `tools/gen_fixtures.py` re-copies the file from the
|
|
27
|
-
installed Python package once a release ships it, so CI's existing fixture-drift check starts
|
|
28
|
-
guarding it with no workflow edit.
|
|
29
|
-
- **`verifyBundle()` reports `failure_details`, the structured twin of `failures`** (additive;
|
|
30
|
-
`failures` is byte-identical to before, because other implementations parse those strings).
|
|
31
|
-
One entry per string, same order, same count: `{reason, seq, node, call_id, detail}`, so a
|
|
32
|
-
conformance suite can assert WHICH check failed and WHERE instead of matching prose. `reason`
|
|
33
|
-
is the token before the colon in the message, except at the two historical sites whose message
|
|
34
|
-
names a node there (`unreadable_authority`, `unreadable_granted`), which state their reason
|
|
35
|
-
explicitly. Positions match the Python implementation's: the second sighting for a re-used
|
|
36
|
-
`call_id`, the `outcome` entry for every allow/outcome binding failure, and null for a
|
|
37
|
-
genuinely chain-level failure such as a signed anchor that no longer matches the ledger head.
|
|
38
|
-
Every failure in `src/evidence.ts` now goes through one collector, so a message cannot be
|
|
39
|
-
added without its twin — `test/bundle-vectors.test.ts` asserts the two lists stay in step at
|
|
40
|
-
every failure site in the module (including the ones no vector exercises) and traps a direct
|
|
41
|
-
append. The `execution_binding` sub-report's own shape is unchanged: the twins ride alongside
|
|
42
|
-
it, never inside it.
|
|
25
|
+
- Added `test/fixtures/vectors/bundles/bundle_vectors_v1.json`, 8 bundle-verifier interop vectors matching the Python reference byte-for-byte.
|
|
26
|
+
- `verifyBundle()` — reports `failure_details` alongside `failures`, one structured `{reason, seq, node, call_id, detail}` entry per failure.
|
|
27
|
+
|
|
28
|
+
Full notes: https://github.com/attenu-io/attenu-guard-ts/blob/main/docs/release-notes/v0.6.0.md
|
|
43
29
|
|
|
44
30
|
## [0.5.0] - 2026-08-31
|
|
45
31
|
|
|
46
32
|
### Fixed
|
|
47
|
-
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
specific adapter, against pinned `@langchain/core@1.2.9`/`@langchain/langgraph@1.4.13` source
|
|
53
|
-
(installed and grepped directly, not assumed), rather than ported by analogy — see the module
|
|
54
|
-
doc comment's own "Adversarial review" section for the full per-class evidence. Six of the
|
|
55
|
-
seven classes came back genuinely inapplicable to this adapter's architecture (no composable
|
|
56
|
-
middleware chain in either pinned framework package; one wrapper per call, no second gate; no
|
|
57
|
-
cross-hook correlation map to collide or grow unbounded; `isDeferredResult` already covers
|
|
58
|
-
JavaScript's whole lazy-result landscape; no external multi-phase hook dispatch to lose an
|
|
59
|
-
event across; `src/`'s only runtime import is a lazy `@langchain/langgraph`, correctly
|
|
60
|
-
undeclared as a hard dependency, matching the README's own "zero runtime dependencies" claim).
|
|
61
|
-
One real, TS-specific gap was found in the snapshot-commitment family and fixed:
|
|
62
|
-
- `snapshotParams`/`snapshotToolParams`'s fallback, taken when `structuredClone` cannot clone
|
|
63
|
-
the value being snapshotted (a function, a class instance it refuses, anything sharing an
|
|
64
|
-
object graph with one of those), was a bare shallow copy — `{args: [...args]}` makes a fresh
|
|
65
|
-
OUTER array, but every element INSIDE it is the same live reference as the real call
|
|
66
|
-
arguments. Reproduced directly before fixing: `snapshot.args[0] === liveArg` was `true`, and
|
|
67
|
-
a mutation of `liveArg` after the call was visible through the "snapshot" — violating the
|
|
68
|
-
adapter's own documented guarantee ("an IMMUTABLE snapshot... taken BEFORE the wrapped
|
|
69
|
-
callable runs"). Checked the specific `toJSON` vector first: `structuredClone` does NOT
|
|
70
|
-
consult a `toJSON` method or any other user-overridable protocol the way Python's
|
|
71
|
-
`copy.deepcopy` consults `__deepcopy__` (verified empirically — a hostile class's own
|
|
72
|
-
`toJSON` returning fabricated data is simply ignored, and the clone is never the same
|
|
73
|
-
OBJECT reference for that specific case); only the FAILURE path aliased for a hostile
|
|
74
|
-
`toJSON`. See the release-gate correction below for why "a successful clone never aliases"
|
|
75
|
-
was still wrong as a general claim (a `SharedArrayBuffer` clones "successfully" to a
|
|
76
|
-
DIFFERENT object that shares the SAME underlying memory).
|
|
77
|
-
- Fixed with a new `freeze()` function (exported for direct testing, the same reason every
|
|
78
|
-
Python adapter's own `_freeze()` is imported directly by its tests — the audit log never
|
|
79
|
-
exposes the raw snapshot value, only its hash, so "does this alias" is not otherwise
|
|
80
|
-
observable): safe JSON-primitive leaves pass through verbatim, plain objects/arrays are
|
|
81
|
-
rebuilt fresh and recursively, and anything else (a function, a class instance, a
|
|
82
|
-
`Map`/`Set`/`Date`/`RegExp`, a `Symbol`, a `BigInt`) becomes a safe string representation —
|
|
83
|
-
never the live reference. This is `structuredClone`'s support matrix happening to overlap
|
|
84
|
-
with what the audit log's own JCS canonicalizer (`params.ts`) can hash, unconditionally,
|
|
85
|
-
matching the same invariant every Python adapter's `_freeze()` already holds, rather than
|
|
86
|
-
scoped narrowly to only the cases proven to reach a hash mismatch. Guards a circular
|
|
87
|
-
reference with a `WeakSet` (`structuredClone` handles cycles natively; the whole point of
|
|
88
|
-
this function is the cases it could NOT handle, one of which could still be cyclic). A
|
|
89
|
-
welcome side effect: because `freeze()` sanitizes an otherwise-unsupported value BEFORE it
|
|
90
|
-
is ever handed to `params.ts`'s `commit()`, a call that used to commit no hash at all
|
|
91
|
-
(`paramsHashReason: "unsupported"`) now commits a real, verifiable one.
|
|
92
|
-
- Tests added in `test/adapter-langgraph.test.ts`: two direct unit tests on `freeze()` itself
|
|
93
|
-
(never aliases the unclonable value's own case; never aliases a mutable SIBLING sharing the
|
|
94
|
-
same object graph as an unclonable value — the mixed case), one guarding the circular
|
|
95
|
-
reference, and one end-to-end test per wrapper (`guardNode`, `guardTool`) driving an
|
|
96
|
-
unclonable argument through the real call path and asserting a genuine, matching
|
|
97
|
-
`authorizedParamsHash`/`invokedParamsHash` pair is committed rather than `"unsupported"`.
|
|
98
|
-
- **Delta review, two more edits to `freeze()` itself:**
|
|
99
|
-
- **Medium-low, required:** the plain-object branch built the rebuilt object with an
|
|
100
|
-
`out[k] = freeze(v, seen)` accumulation loop. A plain `JSON.parse('{"__proto__": {...}}')`
|
|
101
|
-
result genuinely has `"__proto__"` as an OWN, ENUMERABLE data property (`Object.keys`
|
|
102
|
-
lists it — JSON has no notion of prototypes, so this is reachable from ordinary untrusted
|
|
103
|
-
input, not a contrived shape) — but assigning through `out[k] = v` for that specific key
|
|
104
|
-
name does not create a data property at all; it sets the accumulator's own `[[Prototype]]`
|
|
105
|
-
via `Object.prototype`'s own `__proto__` accessor instead. The key then vanished from the
|
|
106
|
-
rebuilt object's own enumerable keys entirely — a params-commitment completeness gap
|
|
107
|
-
(substitution on that key would be invisible to a params mismatch) that `structuredClone`'s
|
|
108
|
-
own success path, and Python's `_freeze()`, do not have. Fixed with
|
|
109
|
-
`Object.fromEntries(Object.entries(obj).map(([k, v]) => [k, freeze(v, seen)]))`, which
|
|
110
|
-
always defines genuine data properties, `__proto__` included. Test added: a
|
|
111
|
-
`JSON.parse`-created `__proto__` own key beside an unclonable sibling (forcing the
|
|
112
|
-
fallback) — the key survives into the snapshot with its value, and the rebuilt object's
|
|
113
|
-
own prototype is unaffected.
|
|
114
|
-
- **Nit, ride-along:** the array branch used `value.map((v) => freeze(v, seen))` —
|
|
115
|
-
`Array.prototype.map` SKIPS a hole in a sparse array rather than visiting it, so a hole
|
|
116
|
-
would survive into the snapshot as a hole too, unlike every other absent value `freeze()`
|
|
117
|
-
turns into a plain `null`. Fixed with `Array.from(value, (v) => freeze(v, seen))`, which
|
|
118
|
-
visits every index up to `.length`, densifying a hole to `undefined` (then `null`, same as
|
|
119
|
-
any other `undefined`). Test added: `freeze([1, , 3])` equals `[1, null, 3]`, with a real
|
|
120
|
-
(densified) element at index 1, not a hole.
|
|
121
|
-
- **Release-gate correction (CRITICAL + HIGH): `freeze()` was still only a FALLBACK, run only
|
|
122
|
-
when `structuredClone` THREW — a successful clone bypassed it entirely, and "a successful
|
|
123
|
-
clone never aliases" (asserted above) was not actually true.** Three bypasses, each
|
|
124
|
-
reproduced directly before fixing: (1) a circular object clones successfully —
|
|
125
|
-
`structuredClone` handles cycles natively — so `freeze()` never ran on it at all; the
|
|
126
|
-
circularity then reached `params.ts`'s own hash-commitment walk, which has NO cycle guard,
|
|
127
|
-
and crashed with `RangeError: Maximum call stack size exceeded` before authorization or the
|
|
128
|
-
tool body ever ran. (2) A sparse array clones successfully too, holes preserved, bypassing
|
|
129
|
-
`freeze()`'s own densification (added above) entirely — it reached `params.ts` as
|
|
130
|
-
`paramsHashReason: "unsupported"` instead of a real, densified, hashable snapshot. (3) A
|
|
131
|
-
`SharedArrayBuffer` clones to a DISTINCT wrapper object that shares the SAME underlying
|
|
132
|
-
memory, by design — a "successful" clone that is not independent at all. Fixed by making
|
|
133
|
-
`freeze()` the ONLY snapshot path, unconditionally: `structuredClone` is no longer called
|
|
134
|
-
anywhere in this adapter. Also fixed in the same pass: the cycle guard (`seen`) was a
|
|
135
|
-
single, MUTABLE `WeakSet` shared across the whole call, added to but never removed from —
|
|
136
|
-
so a DAG's repeated sibling reference (the SAME object appearing twice as two different
|
|
137
|
-
keys' values, never as its own ancestor) was wrongly reported `"<circular>"` on its second
|
|
138
|
-
occurrence, reproduced directly: `freeze({a: shared, b: shared})` came back
|
|
139
|
-
`{"a": {...}, "b": "<circular>"}`. Renamed to `active`, a PATH-ACTIVE `ReadonlySet` — a
|
|
140
|
-
fresh `Set` unioned in at each recursive call, never mutated in place or shared across
|
|
141
|
-
sibling branches. Separately, HIGH: the array and object branches (`Array.from`/`.map()` and
|
|
142
|
-
`Object.entries()`) invoke the value's OWN protocols — a hostile `[Symbol.iterator]`
|
|
143
|
-
override can yield ANYTHING regardless of an array's real indexed properties (reproduced:
|
|
144
|
-
`[1, , 3]` with a hostile iterator froze as `[999]`), and a getter is INVOKED by
|
|
145
|
-
`Object.entries()`, with no guarantee of being invoked only once (reproduced: with an
|
|
146
|
-
unclonable sibling forcing the old fallback, a getter with a side effect was observed three
|
|
147
|
-
times across the old clone-attempt/freeze/body sequence, and the committed snapshot was the
|
|
148
|
-
SECOND of three observations, not the first). Fixed: both branches now walk
|
|
149
|
-
`Object.getOwnPropertyDescriptor` directly (arrays by a `.length`-bounded index loop, objects
|
|
150
|
-
by `Object.keys`) — pure introspection, never invoking user code — and an accessor property
|
|
151
|
-
(`.get`/`.set` present) is encoded as the literal string `"<accessor>"` rather than read at
|
|
152
|
-
all. **A regression caught and fixed before this same commit landed:** rewriting the
|
|
153
|
-
object branch's write-back re-introduced the EXACT `out[key] = value` bug the `__proto__`
|
|
154
|
-
fix above had already closed (a bracket assignment to the literal key `"__proto__"` sets the
|
|
155
|
-
accumulator's prototype instead of a data property) — caught by running the existing
|
|
156
|
-
`__proto__` test against the rewrite, not assumed fixed; corrected with
|
|
157
|
-
`Object.defineProperty` in the loop instead. Six new tests added, each driving the REAL
|
|
158
|
-
wrapper (`guardNode`/`guardTool`), not `freeze()` directly — the earlier circular test
|
|
159
|
-
guarded the wrong path (it passed even while the actual wrapper crashed): circular input,
|
|
160
|
-
sparse array, hostile custom iterator, getter, `SharedArrayBuffer`, and a DAG's repeated
|
|
161
|
-
reference, all via `test/adapter-langgraph.test.ts`.
|
|
162
|
-
- **Release-gate correction (HIGH): `isDeferredResult` missed a plain `AsyncIterable`.** The
|
|
163
|
-
async branch required the result to have its OWN `.next` method, matching a self-iterating
|
|
164
|
-
async generator — but the JavaScript async-iterable protocol only requires a callable
|
|
165
|
-
`[Symbol.asyncIterator]()`, which can return a SEPARATE object that has `.next`, without the
|
|
166
|
-
iterable itself ever having one. Reproduced directly before fixing: a plain object
|
|
167
|
-
implementing only `[Symbol.asyncIterator]()` was recorded `BodyState.RETURNED`, not
|
|
168
|
-
`DEFERRED`. Fixed: the async check no longer requires an own `.next` (the sync check, which
|
|
169
|
-
DOES require it, was deliberately left alone — dropping it there would misdetect a plain
|
|
170
|
-
`Array`/`Set`/`Map` as deferred, since those implement `Symbol.iterator` too without their
|
|
171
|
-
contents being lazily produced; there is no equivalent JavaScript built-in that implements
|
|
172
|
-
`Symbol.asyncIterator` over already-computed values, so this asymmetry is not itself a gap).
|
|
173
|
-
The module doc comment's own "whole lazy-result landscape" claim is narrowed to list exactly
|
|
174
|
-
what `isDeferredResult` checks, rather than asserting completeness. Two tests added: the
|
|
175
|
-
async-iterable case now scores `DEFERRED`; a plain array result is confirmed to still score
|
|
176
|
-
`RETURNED` (pinning that the sync branch's requirement was deliberately kept).
|
|
177
|
-
- **Release-gate correction (HIGH): three disagreeing version fields.** `package.json` said
|
|
178
|
-
`0.4.0`; `package-lock.json`'s root `"version"` said `0.3.1` (stale since before the 0.4.0
|
|
179
|
-
bump — `npm install` never re-synced it); `src/version.ts`'s exported `VERSION` — the
|
|
180
|
-
constant `guard.ts` and both `adapters/langgraph.ts` wrappers use to attribute every v2
|
|
181
|
-
ledger entry's `adapter.version` field — said `0.3.0`. The release workflow
|
|
182
|
-
(`.github/workflows/release.yml`) only ever checks the pushed tag against `package.json`, so
|
|
183
|
-
it would have published while shipped ledger attribution was still wrong. Every v2 ledger
|
|
184
|
-
entry produced by the shipped 0.4.0 release has been misreporting `adapter.version` as
|
|
185
|
-
`"0.3.0"`. Fixed: all three aligned to the CURRENT `0.4.0` (no version bump as part of this
|
|
186
|
-
fix — that is the operator's call at release time). Added
|
|
187
|
-
`test/version-consistency.test.ts`, a new CI-run test (not only a release-time check)
|
|
188
|
-
asserting `package.json`, `package-lock.json`'s root version (both the top-level field and
|
|
189
|
-
its `packages[""].version` copy, which have drifted independently before), and the exported
|
|
190
|
-
`VERSION` all agree, every run, not only at tag time.
|
|
191
|
-
- **Release-gate finding, MEDIUM: `test/wire-vectors.test.ts` enumerated and scored 19 of the
|
|
192
|
-
20 published interop vectors, silently.** `reject_unsafe_integer` — anticipated in this
|
|
193
|
-
package's own `[0.3.1]` CHANGELOG entry below ("will show 20 vectors... once the Python
|
|
194
|
-
package ships them") and shipped by Python's own `[0.9.0]` — has had its fixture file
|
|
195
|
-
present on disk (byte-identical to Python's) since, but `VECTOR_NAMES` itself was never
|
|
196
|
-
updated to include it, and the test's own count assertion (`19`) masked the omission rather
|
|
197
|
-
than catching it. Fixed: added to `VECTOR_NAMES`, the count and test name updated to `20`,
|
|
198
|
-
and the stale `.github/workflows/ci.yml` comment ("19-vector... >=0.8 ships this") corrected
|
|
199
|
-
to `20-vector`/`>=0.9` (Python's own `[0.9.0]` CHANGELOG entry is where
|
|
200
|
-
`reject_unsafe_integer.json` shipped, matching the pip constraint
|
|
201
|
-
`attenu-guard>=0.9,<0.10` already pinned two lines below that comment).
|
|
202
|
-
- **Release-gate finding, LOW: the interop matrix had no early warning for the NEXT Python
|
|
203
|
-
minor.** `ci.yml`'s `interop` job pins `attenu-guard>=0.9,<0.10` deliberately — the committed
|
|
204
|
-
fixtures match that release, and the job's own last step re-generates and diffs them, so
|
|
205
|
-
pinning to it is correct, not stale. But nothing in this repo would notice a 0.10.0 that
|
|
206
|
-
breaks wire compatibility until someone widened that pin by hand. Added a second job,
|
|
207
|
-
`interop-next`, that runs the same cross-language suite against `attenu-guard>=0.10,<0.11` —
|
|
208
|
-
gated on a `pip index versions` check so it reports success without running anything while
|
|
209
|
-
0.10.0 is unpublished (confirmed against the live PyPI index: 0.9.0 is current, no 0.10.x
|
|
210
|
-
yet), and starts actually exercising the suite the moment the operator ships it, with no
|
|
211
|
-
workflow edit required either way.
|
|
212
|
-
- **D14 — `Guard.check()` registered a `PRE_HOOK_ONLY` allow as pending, wedging `complete()`
|
|
213
|
-
forever.** Mirrors the fix landing in the Python `attenu-guard` reference implementation
|
|
214
|
-
(`guard.py`, same defect, same root cause): `registerPending` ran unconditionally for every
|
|
215
|
-
`schemaVersion: 2` allow, in both the normal commit path and the `CommittedAuditError` path,
|
|
216
|
-
with no regard for `capture`. A bare `check()` (or any explicit `capture: Capture.PRE_HOOK_ONLY`)
|
|
217
|
-
is an honest promise of NO terminal observation — nothing is ever going to call `recordOutcome`
|
|
218
|
-
for it — yet it was registered pending exactly like a `WRAPPER_SYNC`/`WRAPPER_ASYNC`/
|
|
219
|
-
`FRAMEWORK_POST_HOOK` allow, so `complete()` refused forever for a node with only
|
|
220
|
-
`PRE_HOOK_ONLY` calls. The offline verifier already treated a missing `PRE_HOOK_ONLY` outcome
|
|
221
|
-
as merely `unobserved` (`evidence.ts`'s execution-binding report), so runtime and offline
|
|
222
|
-
semantics disagreed. Fixed: a call is now registered pending only when its capture is one of
|
|
223
|
-
`WRAPPER_SYNC`/`WRAPPER_ASYNC`/`FRAMEWORK_POST_HOOK` — in both the normal path and the
|
|
224
|
-
`CommittedAuditError` path. A bare/`PRE_HOOK_ONLY` allow never enters the pending set, so
|
|
225
|
-
`complete()` finalizes immediately, and the verifier's `unobserved` classification for it now
|
|
226
|
-
matches the runtime's own view.
|
|
227
|
-
- **Re-gate correction (HIGH): `freeze()` still executed attacker-controlled code BEFORE
|
|
228
|
-
authorization, on three separate exotic-value paths, all reproduced directly before this fix.**
|
|
229
|
-
(1) A `Proxy` is not inert under reflection: `Object.getPrototypeOf`, `Object.keys`, and
|
|
230
|
-
`Object.getOwnPropertyDescriptor` are each real, user-definable traps — walking an ordinary
|
|
231
|
-
Proxy through the property-descriptor logic fired four of them before authorization was ever
|
|
232
|
-
decided, and `Array.isArray` on a REVOKED Proxy throws `TypeError` outright rather than
|
|
233
|
-
degrading cleanly. (2) The bottom fallback still called `String(value)` for anything not a
|
|
234
|
-
plain object/array — a boxed primitive (`new Number(...)`) with a hostile `Symbol.toPrimitive`,
|
|
235
|
-
or a `TypedArray` with a hostile own `toString`, each ran attacker code exactly once per
|
|
236
|
-
snapshot. (3) No general safety net: an unanticipated reflection failure would have propagated
|
|
237
|
-
an exception out of a snapshot taken before authorization, rather than degrading. None of this
|
|
238
|
-
was an aliasing or authorization-bypass defect — ordinary frozen/accessor-only objects never
|
|
239
|
-
leaked references, and policy evaluation still fully controlled whether the wrapped body ran —
|
|
240
|
-
the defect was pre-authorization code execution and exception propagation. Fixed: `freeze()`
|
|
241
|
-
now recognizes a Proxy FIRST, via `util.types.isProxy` (an internal engine-slot check that
|
|
242
|
-
invokes nothing, live or revoked — verified directly), before `Array.isArray` or any other
|
|
243
|
-
reflection; every value that is not a safe JSON primitive and not a plain object/array (a
|
|
244
|
-
Proxy, a boxed primitive, a TypedArray/`ArrayBuffer`/`SharedArrayBuffer`/`DataView`, a
|
|
245
|
-
`Map`/`Set`/`Date`/`RegExp`, a function, a `Symbol`, a `BigInt`, or anything else) becomes the
|
|
246
|
-
new `FREEZE_UNSUPPORTED` sentinel instead of a string — never `String()`, never any other
|
|
247
|
-
protocol; the whole reflective walk runs inside one `try`/`catch`, degrading any other
|
|
248
|
-
reflection failure the same way. `paramsHashReason: "unsupported"` for the whole call, never a
|
|
249
|
-
partial commitment — the same degradation this library already uses for an out-of-domain
|
|
250
|
-
number, not a new failure mode.
|
|
251
|
-
- **Re-gate correction (MEDIUM): `"<accessor>"` was a real commitment collision, and so was
|
|
252
|
-
`"<circular>"` by the identical reasoning.** Two real wrapper calls — one with an enumerable
|
|
253
|
-
getter, one with the literal string `"<accessor>"` as an ordinary value — produced the
|
|
254
|
-
IDENTICAL `authorizedParamsHash`, reproduced directly: an evidence-integrity ambiguity in a
|
|
255
|
-
supposedly cryptographic commitment (two materially different inputs, one commitment), even
|
|
256
|
-
though the getter itself correctly stayed uninvoked and this was never an authorization
|
|
257
|
-
bypass. Audited the sibling sentinel `"<circular>"` for the exact same collision class rather
|
|
258
|
-
than leaving it unexamined — it has the identical problem (a genuinely circular object and a
|
|
259
|
-
plain object holding the literal string `"<circular>"` produce the same commitment); there is
|
|
260
|
-
no reason a cycle's position makes the collision infeasible, so it gets the same fix. Both an
|
|
261
|
-
accessor property and a genuine cycle now become `FREEZE_UNSUPPORTED` (above) — the same
|
|
262
|
-
private `Symbol` every other unrepresentable value degrades to, which cannot equal any real
|
|
263
|
-
call argument by construction. Regression test added: zero getter calls, no hash,
|
|
264
|
-
`params_hash_reason: "unsupported"`; plus a direct test that a real getter-bearing object and
|
|
265
|
-
the old literal-string sentinel no longer freeze to the same shape.
|
|
266
|
-
- **Re-gate correction (MEDIUM): `interop-next`'s "is 0.10.x published yet?" check failed OPEN.**
|
|
267
|
-
`set -eu` alone does not catch a failing `pip index versions` inside an
|
|
268
|
-
`if PIPE | grep -q ...; then` compound command — a compound `if` condition is exempt from
|
|
269
|
-
`set -e` by design, and without `pipefail` a pipeline's exit status is its LAST command's
|
|
270
|
-
only. Reproduced directly: a simulated exit 42 from the query flowed straight through to
|
|
271
|
-
`published=false`, the same output as "0.10.x genuinely does not exist yet" — a PyPI outage
|
|
272
|
-
silently read as a fact about what has been released, with the step still exiting 0. Fixed by
|
|
273
|
-
extracting the check into `tools/check-next-python-published.sh`, which captures the query's
|
|
274
|
-
exit code in its own statement (not inside an `if`) and exits non-zero — without ever printing
|
|
275
|
-
`false` — before reaching the match logic. Added a probe step to `ci.yml`'s `interop-next` job,
|
|
276
|
-
run on every CI invocation, that points the script at a stub `python3` simulating a query
|
|
277
|
-
failure and asserts the script fails rather than reporting `false`.
|
|
33
|
+
- `freeze()` — snapshot fallback could alias live call arguments and mishandle `__proto__`/sparse arrays/hostile getters; now the sole snapshot path.
|
|
34
|
+
- `Guard.check()` — a bare/`PRE_HOOK_ONLY` allow no longer registers as pending, so `complete()` no longer wedges forever waiting for an outcome.
|
|
35
|
+
- `freeze()` — ran attacker code before authorization on Proxy/boxed values; now checks `Proxy` first, returns `FREEZE_UNSUPPORTED` instead of a string.
|
|
36
|
+
- `freeze()` — `"<accessor>"`/`"<circular>"` sentinel strings could collide with a matching real argument; both now use `FREEZE_UNSUPPORTED`.
|
|
37
|
+
- `interop-next` CI check — a failed `pip index versions` query silently read as "not published yet"; now fails the job instead.
|
|
278
38
|
|
|
279
39
|
### Added
|
|
280
|
-
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
`Guard.recordOutcome(callId, bodyState, options)` binds what a body-owning wrapper observed
|
|
286
|
-
afterwards — `returned`/`raised`/`abandoned`/`deferred`, with `errorCode` required exactly when
|
|
287
|
-
raised. `complete()` returns a plain `boolean` on a `schemaVersion: 1` chain (byte-and-type
|
|
288
|
-
unchanged from every prior release) and a `CompletionResult` on `schemaVersion: 2` only — see
|
|
289
|
-
its doc comment for the JavaScript limits of its truthiness bridge, since unlike Python's
|
|
290
|
-
`__bool__`, `if (guard.complete())` cannot be made to read `false` there — and refuses on v2
|
|
291
|
-
while calls are pending; `revoke`/`revokeAgent` snapshot still-pending callIds onto the `kill`
|
|
292
|
-
entry as `pending_at_kill` without clearing them, so a late `recordOutcome` after a kill is
|
|
293
|
-
still accepted. `check`/`recordOutcome` roll back meters and re-throw on ANY pre-commit failure
|
|
294
|
-
(not only a `crypto.randomBytes` failure), and `recordOutcome` marks a call outcomed only after
|
|
295
|
-
its append actually commits, so a pre-commit failure leaves the call retryable. `Guard.issue`
|
|
296
|
-
refuses `{schemaVersion: 2, auditOverwrite: true}` — the restart rule has no escape hatch on v2.
|
|
297
|
-
Arguments are committed via `params_c14n_v1` (`params.ts`): `SHA-256(rawSalt || JCS(params))`,
|
|
298
|
-
never the raw value; validated against the language-neutral vector file also published for
|
|
299
|
-
Python (`test/fixtures/params_c14n_v1.json`). `verifyBundle` gains `execution_binding`: per-call
|
|
300
|
-
observed/unobserved/unaccounted (an outcome must be bound correctly — right node, right order —
|
|
301
|
-
to count as observed), per-node finalized/in_progress/revoked/revoked_with_pending, an aggregate
|
|
302
|
-
clean/incomplete/failed, and `params_coverage` (computed over every valid allow) as its own axis
|
|
303
|
-
— `{status: "not applicable"}` for a schema-version-1 bundle. `verifyBundle` also gains
|
|
304
|
-
`root_version_mismatch`/`mixed_entry_versions` checks (a chain is created at one schema version
|
|
305
|
-
and never mixes), requires exactly one root event (`checks.root`), does strict, null-aware,
|
|
306
|
-
type-checked schema validation on every conditional field (`capture`/`adapter` are now
|
|
307
|
-
REQUIRED, not merely paired, on every v2 allow — a bare `check()` with no `capture` supplied
|
|
308
|
-
gets a truthful guard-attributed `pre_hook_only` default rather than leaving the ledger silent;
|
|
309
|
-
any allow-only field on a `deny`, or any v2-only field on a `schemaVersion: 1` entry
|
|
310
|
-
— `v2_field_on_v1` — is invalid), and accepts an optional `expectedAnchor`/`expectedHead` to
|
|
311
|
-
verify against an independently retained reference point instead of only the bundle's own
|
|
312
|
-
enclosed anchor. `AuditLog` gains `CommittedAuditError` (a
|
|
313
|
-
post-commit persistence failure after the entry is already in the in-memory chain) and
|
|
314
|
-
overwrite protection (constructing over a `path` that already names a non-empty ledger now
|
|
315
|
-
throws unless `overwrite: true`). The LangGraph adapter (`adapters/langgraph`) is the reference
|
|
316
|
-
wiring: `guardNode`/`guardTool` snapshot a call's arguments once, immutably, before invocation
|
|
317
|
-
and call `recordOutcome` on a `schemaVersion: 2` guard, sync and async, reporting a
|
|
318
|
-
generator/promise-like result as `deferred` and an `AbortController`-driven cancellation as
|
|
319
|
-
`abandoned`; wrapping an async callable on a `schemaVersion: 1` guard stays byte-and-type
|
|
320
|
-
unchanged (never itself becomes an async function). Mirrors attenu-guard (Python) 0.9.0's
|
|
321
|
-
execution-binding layer plus its post-review merge-gate hardening, byte-for-byte on every
|
|
322
|
-
reason-code string; ported test suite: `test/execution-binding.test.ts` (82 cases),
|
|
323
|
-
`test/params-c14n-vectors.test.ts` (the shared parity vectors), plus adapter and evidence
|
|
324
|
-
coverage in `test/adapter-langgraph.test.ts`/`test/evidence.test.ts`.
|
|
325
|
-
|
|
326
|
-
## [0.3.1] — 2026-08-30
|
|
40
|
+
- Added execution binding (`schemaVersion: 2`): `check`/`recordOutcome` bind call outcomes via `callId`; `verifyBundle` reports `execution_binding` coverage.
|
|
41
|
+
|
|
42
|
+
Full notes: https://github.com/attenu-io/attenu-guard-ts/blob/main/docs/release-notes/v0.5.0.md
|
|
43
|
+
|
|
44
|
+
## [0.3.1] - 2026-08-30
|
|
327
45
|
|
|
328
46
|
### Fixed
|
|
329
|
-
- Integers beyond the RFC 8785 safe range
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
- `verifyBundle` and `AuditLog.verifyAnchor` now check the bundle/anchor schema version and chain
|
|
336
|
-
identity instead of ignoring them, so a bundle for the wrong version or the wrong chain no
|
|
337
|
-
longer verifies.
|
|
338
|
-
|
|
339
|
-
## [0.3.0] — 2026-08-29
|
|
47
|
+
- Integers beyond the RFC 8785 safe range are now rejected (canonicalization, `RowLimit`/`SpendCap`/`CallLimit`, `load`) instead of silently colliding.
|
|
48
|
+
- `verifyBundle` and `AuditLog.verifyAnchor` now check schema version and chain identity, so a bundle for the wrong version or chain fails to verify.
|
|
49
|
+
|
|
50
|
+
Full notes: https://github.com/attenu-io/attenu-guard-ts/blob/main/docs/release-notes/v0.3.1.md
|
|
51
|
+
|
|
52
|
+
## [0.3.0] - 2026-08-29
|
|
340
53
|
|
|
341
54
|
### Changed
|
|
342
55
|
- Scope values now use the same lowercase, dot-separated grammar as Python.
|
|
343
|
-
Only a complete terminal `.*` wildcard is valid; it covers any depth below
|
|
344
|
-
the segment boundary. Constructors and wire verification reject malformed
|
|
345
|
-
scope syntax.
|
|
346
56
|
|
|
347
57
|
### Added
|
|
348
|
-
- The two malformed-wildcard vectors from Python bring the shared interop suite
|
|
349
|
-
|
|
58
|
+
- The two malformed-wildcard vectors from Python bring the shared interop suite to 19 vectors.
|
|
59
|
+
|
|
60
|
+
Full notes: https://github.com/attenu-io/attenu-guard-ts/blob/main/docs/release-notes/v0.3.0.md
|
|
350
61
|
|
|
351
|
-
## [0.2.1]
|
|
62
|
+
## [0.2.1] - 2026-08-29
|
|
352
63
|
|
|
353
64
|
### Changed
|
|
354
65
|
- `c14n` is informational; producers still emit it, while verifiers enforce RFC 8785 JCS from canonical bytes and hashes regardless of the label.
|
|
355
66
|
|
|
356
|
-
|
|
67
|
+
Full notes: https://github.com/attenu-io/attenu-guard-ts/blob/main/docs/release-notes/v0.2.1.md
|
|
68
|
+
|
|
69
|
+
## [0.2.0] - 2026-08-29
|
|
357
70
|
|
|
358
71
|
### Changed
|
|
359
|
-
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
use JCS for every hash and signature. There is no legacy or dual-format reader.
|
|
363
|
-
- The canonicalizer now uses ECMAScript number serialization, raw Unicode and
|
|
364
|
-
UTF-16 code-unit member ordering, and rejects non-finite numbers, duplicate
|
|
365
|
-
members, lone surrogates, unsupported values and cyclic structures.
|
|
366
|
-
- Cross-language fixtures now target Python `attenu-guard` 0.7 and include all
|
|
367
|
-
17 published interop vectors. The new reason codes are `non_finite`,
|
|
368
|
-
`duplicate_member`, `canonicalization_required` and `non_canonical`.
|
|
72
|
+
- RFC 8785 JCS is now the only canonicalization format across Delegation Tokens, ledger entries, anchors, and evidence bundles; no dual-format reader.
|
|
73
|
+
- Canonicalizer now uses ECMAScript number serialization and UTF-16 ordering, rejecting non-finite numbers, duplicates, lone surrogates, and cycles.
|
|
74
|
+
- Cross-language fixtures now target Python `attenu-guard` 0.7 and include all 17 published interop vectors.
|
|
369
75
|
|
|
370
76
|
### Added
|
|
371
|
-
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
time claims including `exp` monotonicity along the chain — denying on the first failure
|
|
378
|
-
with a `WireError` carrying a `WireReasonCode`. Holder binding (`cnf`/DPoP) and status-list
|
|
379
|
-
revocation, the draft's steps 6 and 7, are out of scope in both implementations.
|
|
380
|
-
`b64urlEncode`/`b64urlDecode` are exported alongside it.
|
|
381
|
-
- The 17 language-independent interop vectors from the Python repository are generated
|
|
382
|
-
into `test/fixtures/vectors/` and asserted here: the valid chain verifies and yields the
|
|
383
|
-
leaf authority, and each adversarial chain is rejected for exactly the reason it declares.
|
|
384
|
-
|
|
385
|
-
## [0.1.1] — 2026-08-28
|
|
77
|
+
- Added `load(tokens, signer, {rootKeyIds, now})`, running the offline verification algorithm over a Delegation Token chain and returning a `VerifiedChain`.
|
|
78
|
+
- Added the 17 language-independent interop vectors from the Python repo to `test/fixtures/vectors/`; each adversarial chain is rejected for its declared reason.
|
|
79
|
+
|
|
80
|
+
Full notes: https://github.com/attenu-io/attenu-guard-ts/blob/main/docs/release-notes/v0.2.0.md
|
|
81
|
+
|
|
82
|
+
## [0.1.1] - 2026-08-28
|
|
386
83
|
|
|
387
84
|
### Changed
|
|
388
|
-
- Releases are published from GitHub Actions with npm trusted publishing (OIDC) and provenance attestations; no tokens are stored anywhere.
|
|
85
|
+
- Releases are published from GitHub Actions with npm trusted publishing (OIDC) and provenance attestations; no tokens are stored anywhere.
|
|
389
86
|
|
|
390
|
-
|
|
87
|
+
Full notes: https://github.com/attenu-io/attenu-guard-ts/blob/main/docs/release-notes/v0.1.1.md
|
|
391
88
|
|
|
392
|
-
|
|
89
|
+
## [0.1.0] - 2026-08-28
|
|
393
90
|
|
|
394
91
|
### Added
|
|
395
|
-
|
|
396
|
-
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
-
|
|
402
|
-
ceilings, TTL), `Guard.issue`, `delegate` (the meet: scopes intersect,
|
|
403
|
-
ceilings take the tighter bound, TTL the shorter; a request wider than the
|
|
404
|
-
parent comes back narrowed), `check` returning a `Decision`, `enforce`
|
|
405
|
-
throwing `AuthorityDenied`, `wouldAllow` and `wouldDelegate` as pure dry-runs,
|
|
406
|
-
chain depth and fanout ceilings, cascade `revoke` and principal-scoped
|
|
407
|
-
`revokeAgent`, strike policy, and a hash-chained audit log.
|
|
408
|
-
- **Ceilings:** `RowLimit`, `SpendCap`, `CallLimit` (optionally scoped, and
|
|
409
|
-
self-metering), `EgressRank`, `Allow`, `Deny`, `Prefix`, plus
|
|
410
|
-
`registerCeiling` for custom ones. An unrecognised constraint type denies
|
|
411
|
-
rather than going unenforced.
|
|
412
|
-
- **Evidence custody.** `exportBundle` with task redaction and a strict mode
|
|
413
|
-
that refuses to carry any field outside the published ledger allow-list.
|
|
414
|
-
- **LangGraph.js adapter** (`attenu-guard/adapters/langgraph`): `guardTool`,
|
|
415
|
-
`guardTools`, `guardNode`, `addGuardedNode`, `delegateTo`, `toolArgs`. The
|
|
416
|
-
adapter never imports the framework.
|
|
417
|
-
- **CLI:** `attenu-guard verify <file> [--hs256-key HEX | --pubkey HEX] [--kid KID]`,
|
|
418
|
-
matching the Python CLI's output lines and exit codes.
|
|
419
|
-
- **Cross-language fixtures.** `tools/gen_fixtures.py` generates
|
|
420
|
-
`test/fixtures/` from the Python package; the suite reproduces every vector,
|
|
421
|
-
and a further test has the Python CLI verify a ledger and bundle written here.
|
|
92
|
+
- Added `verifyBundle` (integrity, monotonicity, containment, HS256/Ed25519 anchor check), `AuditLog.verify`, and `delegationGraph`/`denials`.
|
|
93
|
+
- Added core enforcement: `Authority`, `Guard.issue`/`delegate`/`check`/`enforce`, chain depth/fanout ceilings, `revoke`/`revokeAgent`, audit log.
|
|
94
|
+
- Added ceilings: `RowLimit`, `SpendCap`, `CallLimit` (scoped, self-metering), `EgressRank`, `Allow`, `Deny`, `Prefix`, plus `registerCeiling` for custom types.
|
|
95
|
+
- Added `exportBundle` with task redaction and a strict mode that refuses any field outside the published ledger allow-list.
|
|
96
|
+
- Added the LangGraph.js adapter (`attenu-guard/adapters/langgraph`): `guardTool`, `guardNode`, `addGuardedNode`, `delegateTo`, `toolArgs`.
|
|
97
|
+
- Added the CLI: `attenu-guard verify <file> [--hs256-key HEX | --pubkey HEX] [--kid KID]`, matching the Python CLI's output and exit codes.
|
|
98
|
+
- Added cross-language fixtures: `tools/gen_fixtures.py` builds `test/fixtures/` from the Python package; the Python CLI verifies ledgers/bundles here.
|
|
422
99
|
|
|
423
100
|
### Notes
|
|
101
|
+
- Zero runtime dependencies.
|
|
102
|
+
- Canonical JSON is byte-identical to Python's `json.dumps(obj, sort_keys=True, separators=(",", ":"))`, including ASCII escaping and number formatting.
|
|
424
103
|
|
|
425
|
-
|
|
426
|
-
- Canonical JSON is byte-identical to Python's
|
|
427
|
-
`json.dumps(obj, sort_keys=True, separators=(",", ":"))`, including ASCII
|
|
428
|
-
escaping and number formatting. Documents that will be re-hashed are parsed
|
|
429
|
-
with number literals preserved.
|
|
104
|
+
Full notes: https://github.com/attenu-io/attenu-guard-ts/blob/main/docs/release-notes/v0.1.0.md
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evidence.d.ts","sourceRoot":"","sources":["../../src/evidence.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"evidence.d.ts","sourceRoot":"","sources":["../../src/evidence.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/evidence.js
CHANGED
|
@@ -44,6 +44,7 @@ const canonical_js_1 = require("./canonical.js");
|
|
|
44
44
|
const node_crypto_1 = require("node:crypto");
|
|
45
45
|
const audit_js_1 = require("./audit.js");
|
|
46
46
|
const authority_js_1 = require("./authority.js");
|
|
47
|
+
const ceilings_js_1 = require("./ceilings.js");
|
|
47
48
|
const reasons_js_1 = require("./reasons.js");
|
|
48
49
|
const params_js_1 = require("./params.js");
|
|
49
50
|
/**
|
|
@@ -267,6 +268,56 @@ class FailureLog {
|
|
|
267
268
|
* `node -> Authority` and `node -> parent`, reconstructed from `root` and
|
|
268
269
|
* `spawn` events alone. No engine state.
|
|
269
270
|
*/
|
|
271
|
+
/**
|
|
272
|
+
* Why `child` is not ⊆ `parent`, rendered for the monotonicity failure message.
|
|
273
|
+
*
|
|
274
|
+
* Called only once `Authority.isNarrowerThan` has already returned false, and it walks the
|
|
275
|
+
* dimensions in the ORDER that relation compares them — scopes, then ceilings by key, then ttl
|
|
276
|
+
* — so the message names the dimension that actually failed. Every dimension the relation can
|
|
277
|
+
* fail on has a branch here:
|
|
278
|
+
*
|
|
279
|
+
* scopes a scope the parent does not cover (wildcard-aware);
|
|
280
|
+
* ceilings a key the parent bounds and the child does not (child unbounded there, so MORE
|
|
281
|
+
* powerful), or one the child bounds more loosely than the parent;
|
|
282
|
+
* ttl a child that never expires under a parent that does, or one that outlives it.
|
|
283
|
+
*
|
|
284
|
+
* Reports the FIRST failing dimension: one message per unsound delegation. Byte-identical to
|
|
285
|
+
* the Python `evidence._monotonicity_detail`, since these strings are a published contract that
|
|
286
|
+
* both implementations are scored against.
|
|
287
|
+
*/
|
|
288
|
+
function monotonicityDetail(child, parent) {
|
|
289
|
+
// Unchanged since 0.1.0, byte for byte. A scope failure always leaves this list non-empty:
|
|
290
|
+
// a scope literally present in the parent's set is covered by it, so anything the parent
|
|
291
|
+
// does not cover is also absent from that set.
|
|
292
|
+
if (!Array.from(child.scopes).every((s) => parent.coversScope(s))) {
|
|
293
|
+
const extra = Array.from(child.scopes).filter((s) => !parent.scopes.has(s));
|
|
294
|
+
return (`child scopes [${extra.sort(canonical_js_1.compareCodePoints).map((s) => `'${s}'`).join(", ")}] ` +
|
|
295
|
+
`not held by parent`);
|
|
296
|
+
}
|
|
297
|
+
const childByKey = new Map(child.ceilings.map((c) => [String(c.key), c]));
|
|
298
|
+
const parentKeys = parent.ceilings.map((c) => String(c.key)).sort(canonical_js_1.compareCodePoints);
|
|
299
|
+
for (const key of parentKeys) {
|
|
300
|
+
const parentCeiling = parent.ceilings.find((c) => String(c.key) === key);
|
|
301
|
+
const childCeiling = childByKey.get(key);
|
|
302
|
+
if (childCeiling === undefined) {
|
|
303
|
+
return `ceiling ${key} unbounded, parent holds ${(0, ceilings_js_1.describe)(parentCeiling)}`;
|
|
304
|
+
}
|
|
305
|
+
if (!parentCeiling.subsumes(childCeiling)) {
|
|
306
|
+
return (`ceiling ${(0, ceilings_js_1.describe)(childCeiling)} looser than parent ` +
|
|
307
|
+
`${(0, ceilings_js_1.describe)(parentCeiling)}`);
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
if (parent.ttl !== null) {
|
|
311
|
+
if (child.ttl === null)
|
|
312
|
+
return `ttl unbounded, parent ${(0, canonical_js_1.pyNumber)(parent.ttl)}`;
|
|
313
|
+
if (child.ttl > parent.ttl) {
|
|
314
|
+
return `ttl ${(0, canonical_js_1.pyNumber)(child.ttl)} > parent ${(0, canonical_js_1.pyNumber)(parent.ttl)}`;
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
// Only reachable if a future dimension is added to `isNarrowerThan` without a branch here;
|
|
318
|
+
// it exists so that such a dimension cannot fail SILENTLY.
|
|
319
|
+
return "child not narrower than parent";
|
|
320
|
+
}
|
|
270
321
|
function nodeAuthorities(entries) {
|
|
271
322
|
const auth = new Map();
|
|
272
323
|
const parent = new Map();
|
|
@@ -1031,12 +1082,14 @@ function verifyBundle(bundle, signer = null, options = {}) {
|
|
|
1031
1082
|
continue;
|
|
1032
1083
|
const child = auth.get(node);
|
|
1033
1084
|
const p = auth.get(pid);
|
|
1034
|
-
|
|
1035
|
-
|
|
1085
|
+
// 0.6.x: the subsumption relation ALONE decides. This used to be gated on a literal,
|
|
1086
|
+
// non-wildcard-aware scope difference, which silently accepted a delegation that widened
|
|
1087
|
+
// only ttl or a ceiling whenever the child's scopes happened to be literally a subset of
|
|
1088
|
+
// the parent's — the child was more powerful and the bundle verified clean.
|
|
1089
|
+
if (!child.isNarrowerThan(p)) {
|
|
1036
1090
|
mono = false;
|
|
1037
1091
|
const spawnE = definedBy.get(node);
|
|
1038
|
-
log.add("monotonicity", `monotonicity: ${node} not ⊆ parent ${pid} (child
|
|
1039
|
-
`[${extra.sort(canonical_js_1.compareCodePoints).map((s) => `'${s}'`).join(", ")}] not held by parent)`, { seq: spawnE === undefined ? null : orNull(spawnE["seq"]), node });
|
|
1092
|
+
log.add("monotonicity", `monotonicity: ${node} not ⊆ parent ${pid} (${monotonicityDetail(child, p)})`, { seq: spawnE === undefined ? null : orNull(spawnE["seq"]), node });
|
|
1040
1093
|
}
|
|
1041
1094
|
}
|
|
1042
1095
|
checks.monotonicity = mono && afail.length === 0;
|
package/dist/cjs/evidence.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evidence.js","sourceRoot":"","sources":["../../src/evidence.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"evidence.js","sourceRoot":"","sources":["../../src/evidence.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/version.d.ts
CHANGED
|
@@ -6,5 +6,5 @@
|
|
|
6
6
|
* itself imported BY index.ts, so index.ts cannot be the source: `guard.ts -> index.ts ->
|
|
7
7
|
* guard.ts` would be circular. A one-constant leaf module has nothing to be circular with.
|
|
8
8
|
*/
|
|
9
|
-
export declare const VERSION = "0.
|
|
9
|
+
export declare const VERSION = "0.7.1";
|
|
10
10
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/cjs/version.js
CHANGED
|
@@ -9,5 +9,5 @@ exports.VERSION = void 0;
|
|
|
9
9
|
* itself imported BY index.ts, so index.ts cannot be the source: `guard.ts -> index.ts ->
|
|
10
10
|
* guard.ts` would be circular. A one-constant leaf module has nothing to be circular with.
|
|
11
11
|
*/
|
|
12
|
-
exports.VERSION = "0.
|
|
12
|
+
exports.VERSION = "0.7.1";
|
|
13
13
|
//# sourceMappingURL=version.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evidence.d.ts","sourceRoot":"","sources":["../../src/evidence.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"evidence.d.ts","sourceRoot":"","sources":["../../src/evidence.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,EAML,KAAK,KAAK,EACV,KAAK,IAAI,EACV,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,QAAQ,EAAiD,KAAK,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAKpH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAExC;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,EAAE,WAAW,CAAC,MAAM,CAuC5C,CAAC;AAEH;;;;GAIG;AACH,qBAAa,iBAAkB,SAAQ,KAAK;gBAC9B,OAAO,EAAE,MAAM;CAI5B;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,IAAI,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,OAAO,CAAC;IACZ,UAAU,EAAE,kBAAkB,EAAE,CAAC;CAClC;AAED;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,EAAE,WAAW,CAAC,MAAM,CAAmB,CAAC;AAe9E,MAAM,WAAW,MAAM;IACrB,CAAC,EAAE,MAAM,CAAC;IACV,IAAI,EAAE,KAAK,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,eAAe,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;CACd;AASD;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,SAAS,WAAW,EAAE,EAC/B,gBAAgB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,GACzC,eAAe,CAqBjB;AAED,gFAAgF;AAChF,wBAAgB,SAAS,CACvB,OAAO,EAAE,SAAS,WAAW,EAAE,EAC/B,MAAM,EAAE,MAAM,EACd,EAAE,GAAE,MAAM,GAAG,MAAU,GACtB,MAAM,CAcR;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAC3C,qEAAqE;IACrE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,qEAAqE;IACrE,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,QAAQ,GAAG,SAAS,WAAW,EAAE,EAC3C,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,aAAkB,GAC1B,MAAM,CAqCR;AAaD;;;;;;;;;GASG;AACH,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,IAAI,CAAC;IACV,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,IAAI,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAqJD,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,IAAI,CAAC;IACZ,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,EAAE,IAAI,CAAC;IACb,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChD;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,IAAI,CAAC;IACf,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACjC,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC5C;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,eAAe,CAwCxE;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,EAAE,IAAI,CAAC;IACZ,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,EAAE,IAAI,CAAC;IACZ,WAAW,EAAE,IAAI,CAAC;IAClB,MAAM,EAAE,IAAI,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,SAAS,EAAE,CAkC5D;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,aAAa,GAAG,UAAU,GAAG,QAAQ,CAAC;IAC9C,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,OAAO,CAAC;IACd,eAAe,EAAE,aAAa,GAAG,UAAU,GAAG,QAAQ,CAAC;CACxD;AA8ND,MAAM,MAAM,gBAAgB,GAIxB;IAAE,MAAM,EAAE,gBAAgB,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GACjD;IACE,SAAS,EAAE,OAAO,GAAG,YAAY,GAAG,QAAQ,CAAC;IAC7C,eAAe,EAAE,UAAU,GAAG,SAAS,GAAG,MAAM,CAAC;IACjD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,YAAY,GAAG,aAAa,CAAC,CAAC;IACpE,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,aAAa,GAAG,SAAS,GAAG,sBAAsB,CAAC,CAAC;IACrG,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC;AAmTN,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB;;;;OAIG;IACH,eAAe,EAAE,aAAa,EAAE,CAAC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,IAAI,CAAC;IACf,iBAAiB,EAAE,gBAAgB,CAAC;IACpC,uDAAuD;IACvD,gBAAgB,EAAE,iBAAiB,GAAG,eAAe,CAAC;CACvD;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,WAAW,mBAAmB;IAClC,0FAA0F;IAC1F,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC;IACvD,0FAA0F;IAC1F,YAAY,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;CACjD;AAED,wBAAgB,YAAY,CAC1B,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,EACvB,MAAM,GAAE,MAAM,GAAG,IAAW,EAC5B,OAAO,GAAE,mBAAwB,GAChC,YAAY,CAmOd;AAED,6EAA6E;AAC7E,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEhD"}
|
package/dist/esm/evidence.js
CHANGED
|
@@ -30,10 +30,11 @@
|
|
|
30
30
|
* point. This is byte-compatible with the Python library's
|
|
31
31
|
* `attenu_guard.evidence`.
|
|
32
32
|
*/
|
|
33
|
-
import { canonicalBytes, compareCodePoints, parseJson, toPlain, } from "./canonical.js";
|
|
33
|
+
import { canonicalBytes, compareCodePoints, parseJson, pyNumber, toPlain, } from "./canonical.js";
|
|
34
34
|
import { createHash } from "node:crypto";
|
|
35
35
|
import { AuditLog, SCHEMA_VERSION, chainIdOf, hashEntry, GENESIS } from "./audit.js";
|
|
36
36
|
import { Authority } from "./authority.js";
|
|
37
|
+
import { describe as describeCeiling } from "./ceilings.js";
|
|
37
38
|
import { CAPTURES, BODY_STATES, BodyState, Capture } from "./reasons.js";
|
|
38
39
|
import { PARAMS_HASH_REASONS } from "./params.js";
|
|
39
40
|
/**
|
|
@@ -256,6 +257,56 @@ class FailureLog {
|
|
|
256
257
|
* `node -> Authority` and `node -> parent`, reconstructed from `root` and
|
|
257
258
|
* `spawn` events alone. No engine state.
|
|
258
259
|
*/
|
|
260
|
+
/**
|
|
261
|
+
* Why `child` is not ⊆ `parent`, rendered for the monotonicity failure message.
|
|
262
|
+
*
|
|
263
|
+
* Called only once `Authority.isNarrowerThan` has already returned false, and it walks the
|
|
264
|
+
* dimensions in the ORDER that relation compares them — scopes, then ceilings by key, then ttl
|
|
265
|
+
* — so the message names the dimension that actually failed. Every dimension the relation can
|
|
266
|
+
* fail on has a branch here:
|
|
267
|
+
*
|
|
268
|
+
* scopes a scope the parent does not cover (wildcard-aware);
|
|
269
|
+
* ceilings a key the parent bounds and the child does not (child unbounded there, so MORE
|
|
270
|
+
* powerful), or one the child bounds more loosely than the parent;
|
|
271
|
+
* ttl a child that never expires under a parent that does, or one that outlives it.
|
|
272
|
+
*
|
|
273
|
+
* Reports the FIRST failing dimension: one message per unsound delegation. Byte-identical to
|
|
274
|
+
* the Python `evidence._monotonicity_detail`, since these strings are a published contract that
|
|
275
|
+
* both implementations are scored against.
|
|
276
|
+
*/
|
|
277
|
+
function monotonicityDetail(child, parent) {
|
|
278
|
+
// Unchanged since 0.1.0, byte for byte. A scope failure always leaves this list non-empty:
|
|
279
|
+
// a scope literally present in the parent's set is covered by it, so anything the parent
|
|
280
|
+
// does not cover is also absent from that set.
|
|
281
|
+
if (!Array.from(child.scopes).every((s) => parent.coversScope(s))) {
|
|
282
|
+
const extra = Array.from(child.scopes).filter((s) => !parent.scopes.has(s));
|
|
283
|
+
return (`child scopes [${extra.sort(compareCodePoints).map((s) => `'${s}'`).join(", ")}] ` +
|
|
284
|
+
`not held by parent`);
|
|
285
|
+
}
|
|
286
|
+
const childByKey = new Map(child.ceilings.map((c) => [String(c.key), c]));
|
|
287
|
+
const parentKeys = parent.ceilings.map((c) => String(c.key)).sort(compareCodePoints);
|
|
288
|
+
for (const key of parentKeys) {
|
|
289
|
+
const parentCeiling = parent.ceilings.find((c) => String(c.key) === key);
|
|
290
|
+
const childCeiling = childByKey.get(key);
|
|
291
|
+
if (childCeiling === undefined) {
|
|
292
|
+
return `ceiling ${key} unbounded, parent holds ${describeCeiling(parentCeiling)}`;
|
|
293
|
+
}
|
|
294
|
+
if (!parentCeiling.subsumes(childCeiling)) {
|
|
295
|
+
return (`ceiling ${describeCeiling(childCeiling)} looser than parent ` +
|
|
296
|
+
`${describeCeiling(parentCeiling)}`);
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
if (parent.ttl !== null) {
|
|
300
|
+
if (child.ttl === null)
|
|
301
|
+
return `ttl unbounded, parent ${pyNumber(parent.ttl)}`;
|
|
302
|
+
if (child.ttl > parent.ttl) {
|
|
303
|
+
return `ttl ${pyNumber(child.ttl)} > parent ${pyNumber(parent.ttl)}`;
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
// Only reachable if a future dimension is added to `isNarrowerThan` without a branch here;
|
|
307
|
+
// it exists so that such a dimension cannot fail SILENTLY.
|
|
308
|
+
return "child not narrower than parent";
|
|
309
|
+
}
|
|
259
310
|
function nodeAuthorities(entries) {
|
|
260
311
|
const auth = new Map();
|
|
261
312
|
const parent = new Map();
|
|
@@ -1020,12 +1071,14 @@ export function verifyBundle(bundle, signer = null, options = {}) {
|
|
|
1020
1071
|
continue;
|
|
1021
1072
|
const child = auth.get(node);
|
|
1022
1073
|
const p = auth.get(pid);
|
|
1023
|
-
|
|
1024
|
-
|
|
1074
|
+
// 0.6.x: the subsumption relation ALONE decides. This used to be gated on a literal,
|
|
1075
|
+
// non-wildcard-aware scope difference, which silently accepted a delegation that widened
|
|
1076
|
+
// only ttl or a ceiling whenever the child's scopes happened to be literally a subset of
|
|
1077
|
+
// the parent's — the child was more powerful and the bundle verified clean.
|
|
1078
|
+
if (!child.isNarrowerThan(p)) {
|
|
1025
1079
|
mono = false;
|
|
1026
1080
|
const spawnE = definedBy.get(node);
|
|
1027
|
-
log.add("monotonicity", `monotonicity: ${node} not ⊆ parent ${pid} (child
|
|
1028
|
-
`[${extra.sort(compareCodePoints).map((s) => `'${s}'`).join(", ")}] not held by parent)`, { seq: spawnE === undefined ? null : orNull(spawnE["seq"]), node });
|
|
1081
|
+
log.add("monotonicity", `monotonicity: ${node} not ⊆ parent ${pid} (${monotonicityDetail(child, p)})`, { seq: spawnE === undefined ? null : orNull(spawnE["seq"]), node });
|
|
1029
1082
|
}
|
|
1030
1083
|
}
|
|
1031
1084
|
checks.monotonicity = mono && afail.length === 0;
|
package/dist/esm/evidence.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evidence.js","sourceRoot":"","sources":["../../src/evidence.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"evidence.js","sourceRoot":"","sources":["../../src/evidence.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/version.d.ts
CHANGED
|
@@ -6,5 +6,5 @@
|
|
|
6
6
|
* itself imported BY index.ts, so index.ts cannot be the source: `guard.ts -> index.ts ->
|
|
7
7
|
* guard.ts` would be circular. A one-constant leaf module has nothing to be circular with.
|
|
8
8
|
*/
|
|
9
|
-
export declare const VERSION = "0.
|
|
9
|
+
export declare const VERSION = "0.7.1";
|
|
10
10
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/esm/version.js
CHANGED
|
@@ -6,5 +6,5 @@
|
|
|
6
6
|
* itself imported BY index.ts, so index.ts cannot be the source: `guard.ts -> index.ts ->
|
|
7
7
|
* guard.ts` would be circular. A one-constant leaf module has nothing to be circular with.
|
|
8
8
|
*/
|
|
9
|
-
export const VERSION = "0.
|
|
9
|
+
export const VERSION = "0.7.1";
|
|
10
10
|
//# sourceMappingURL=version.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "attenu-guard",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.1",
|
|
4
4
|
"description": "Attenu Guard for TypeScript: enforces per-agent permissions on every tool call and sub-agent handoff — a sub-agent never holds more than its parent — and writes a hash-chained audit log you verify offline. Same bundle format as the Python library.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "Attenu",
|