@inventarch/steward-hook 3.1.0 → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LANGUAGE.md CHANGED
@@ -22,7 +22,7 @@ Spec source locators do not load documents. Resource capture and disclosure requ
22
22
  | @convention | governance-system | Declares a convention in the shared governance shape. |
23
23
  | @decision | work-system | Represents a choice that is needed or has been made: the question, options and decider, and once made, the choice and rationale. |
24
24
  | @dimension | taxonomy | Defines a supported record dimension used by conditions and lookup. |
25
- | @distribution | workspace-system | Declares root records from which a distributable closure is selected. |
25
+ | @distribution | workspace-system | Declares root records from which a distributable closure is selected, and optionally the host plugin product it describes. |
26
26
  | @execution-binding | agent-composition-system | Connects a native target to a host-installed entry or operation descriptor. |
27
27
  | @harness | agent-composition-system | Composes profiles and execution bindings in a workspace under a host contract. |
28
28
  | @hook | hook-authoring-system | Represents a host event, tool/path selection and guard message. Registration and executing a guard require a host adapter. |
@@ -40,7 +40,7 @@ Spec source locators do not load documents. Resource capture and disclosure requ
40
40
  | @placement | taxonomy | Defines source authority and reach metadata. |
41
41
  | @plan | work-system | Represents an arrangement of milestones toward an intent; it heads the work hierarchy and has no parent. Plans do not nest. |
42
42
  | @playbook | governance-system | Represents a procedure as phase/primitive cells. Cell delivery is generic; the authored method belongs to its author. |
43
- | @predicate | taxonomy | Defines a directed relationship and its inverse spelling. |
43
+ | @predicate | taxonomy | Defines a directed relationship, its inverse spelling and its present phrase. |
44
44
  | @primitive | taxonomy | Defines a cognitive primitive coordinate; a cell is selected using its phase and primitive. |
45
45
  | @principle | governance-system | Declares a governing rationale in the shared governance shape. |
46
46
  | @run | session-system | Represents a governed run identity, declared phase, status and owner. Declaration does not start execution. |
package/README.md CHANGED
@@ -1,3 +1,82 @@
1
1
  # @inventarch/steward-hook
2
2
 
3
- See [the package contract](SPEC.md) and the exported TypeScript declarations.
3
+ [![npm](https://img.shields.io/npm/v/@inventarch/steward-hook?label=npm)](https://www.npmjs.com/package/@inventarch/steward-hook) [![Public quality](https://github.com/inventarch/ia/actions/workflows/platform-quality.yml/badge.svg?branch=main)](https://github.com/inventarch/ia/actions/workflows/platform-quality.yml) [![License](https://img.shields.io/badge/license-Apache--2.0-green)](LICENSE) [![Node](https://img.shields.io/badge/node-22.x-brightgreen)](package.json)
4
+
5
+ > The edit guard IA registers in Claude Code. For each authored `@hook`, it refuses a file edit the hook selects when a `@mandate` governs the path and none grants the acting agent Synthesis (an edit no mandate governs is allowed), and it protects the files IA generates and owns. `ia host claude` registers it through [`@inventarch/distribution`](../distribution/README.md); you do not run it by hand.
6
+
7
+ ## ⚡ Quick start
8
+
9
+ Declare what to guard in `.ia/src/hook.ia`. A `@hook` is an owner edit in source, so write the file by hand; `ia author` refuses `hook` records:
10
+
11
+ ```ia
12
+ #! ia 1.0
13
+
14
+ @hook guard-records
15
+ meaning
16
+ says "Guard edits to this workspace's IA records."
17
+ answers "Which edits to .ia/src does the edit guard decide?"
18
+ hook
19
+ event PreToolUse
20
+ tools [Write, Edit, MultiEdit]
21
+ paths [".ia/src/**"]
22
+ message "Edits to .ia/src need a mandate that grants Synthesis."
23
+ ```
24
+
25
+ Check the workspace, preview the registration, then apply it:
26
+
27
+ ```sh
28
+ ia validate
29
+ ia host claude
30
+ ia host claude --apply --yes
31
+ ```
32
+
33
+ The plan lists `hook-authoring-system/binding/hook/guard-records hook group create`. The apply adds one `PreToolUse` group to `.claude/settings.local.json` that matches `Write|Edit|MultiEdit` and runs the installed launcher as `guard --root <root> --hook <identity>`. `ia host claude --remove --apply --yes` removes every group and restores editing.
34
+
35
+ To check a decision without Claude Code, install the package in the project and call the same entry from the workspace root:
36
+
37
+ ```js
38
+ import { runHook } from '@inventarch/steward-hook';
39
+
40
+ const root = process.cwd();
41
+ const event = {
42
+ hook_event_name: 'PreToolUse',
43
+ tool_name: 'Edit',
44
+ cwd: root,
45
+ tool_input: { file_path: `${root}/.ia/src/decision.ia` },
46
+ };
47
+ const args = ['--root', root, '--hook', 'hook-authoring-system/binding/hook/guard-records'];
48
+ const decision = runHook(args, JSON.stringify(event));
49
+ console.log(decision.hookSpecificOutput?.permissionDecisionReason ?? 'allowed');
50
+ ```
51
+
52
+ In the root quick start's `my-project` workspace, whose starter mandate grants Synthesis, this prints `allowed`. With that mandate's `moves` cut to `[Observation, Verification]`, it prints a refusal that begins `IA-HOOK-NOT-MANDATED: Edits to .ia/src need a mandate that grants Synthesis.` and names `ia position --seat agent-system/policy/mandate/my-project-mandate --shape governance` as the next command.
53
+
54
+ ## 🧭 What it does
55
+
56
+ | Part | Behavior |
57
+ | --- | --- |
58
+ | Selection | A registration for one `@hook` decides an edit only when the hook's `tools` name the tool and its `paths` select the file. Any other edit is allowed; nothing is decided just because it is under `.ia/src`. |
59
+ | Mandate decision | A selected edit is governed by the mandates whose `authority.covers` claims the path or that are scoped to its `@workspace`. With none it is allowed. Otherwise the acting agent needs Synthesis, else `IA-HOOK-NOT-MANDATED` with the hook's message. |
60
+ | Acting agent | A subagent acts as the `composition.agent` of the one authored `@agent-profile` its `agent_type` names; the main session acts as the workspace's steward, else its single participant. An unknown subagent or an ambiguous default actor is `IA-HOOK-IDENTITY-UNAVAILABLE`. |
61
+ | Projection protection | Runs first, whatever the hook selects. Refuses edits to `.ia/distributions.lock.json`, `.ia/distributions/`, the packet and generated files a projection state owns (with no state, the packet's files, `CLAUDE.md` and both `ia-authoring` skills) and, while a hook registration is owned, both Claude settings files and the launcher they name (`IA-HOOK-PROJECTION-MANAGED`). |
62
+ | Path safety | Refuses a selected path reached through a link, junction or short name, any dangling link or Windows alternate data stream, and in `--hook` mode any file under the root with more than one hard link (`IA-HOOK-PATH-UNSAFE`). |
63
+ | Failing closed | When the hook is not an admitted authored `@hook` or the records cannot be read, refuses edits under the selection last registered for it, or every edit under the root when none is recorded (`IA-HOOK-DECLARATION-UNAVAILABLE`, `IA-HOOK-MANDATE-UNAVAILABLE`). While an authored `@mandate` fails admission, refuses every edit the hook selects. Each reason names commands that work from a shell in that state. |
64
+ | Legacy 1.x guard | Without `--hook`, applies managed-state protection and the retired steward rule for `.ia/src/systems/<name>/`, for a 1.x registration that survives. A 1.x steward file under `.claude/agents/` stays protected until removed. `ia host claude --apply` retires the 1.x registration and removes the marked steward files it owns. |
65
+ | Exports | `runHook`, `evaluateMandateHook`, `evaluateHook`, `printable`, `deny` and `streamed`; `printable` strips terminal escapes and control characters from every refusal reason. `./context` holds the lifecycle context hook; `ia host claude --context` refuses in this release. |
66
+
67
+ ## ⚖️ What it does not do
68
+
69
+ - **Not authentication or a sandbox.** The guard is a cooperative restriction. It grants no host permission and no filesystem isolation, and anyone who can edit `.ia/src` can change the mandates it reads.
70
+ - **Only file-tool edits.** It sees the `Write`, `Edit` and `MultiEdit` calls Claude Code sends it. A shell command or another program that writes a file is not checked.
71
+ - **Only Synthesis.** It checks the move, not a mandate's excluded words, and reads records, never the bytes being written. Record authoring with `ia preview` and `ia author` enforces excluded words.
72
+ - **Only declared hooks.** A workspace with no authored `@hook` gets no guard group. A `@hook` record is a declaration; `ia doctor` reports whether its group is registered.
73
+ - **No Codex hooks.** `ia host codex` reports each `@hook` as not taken. Where `disableAllHooks` turns hooks off, `ia host` writes no new group.
74
+ - **Fails open on a missing Node.** On Windows, Claude Code runs the guard's direct form, which fails open when its Node cannot start.
75
+
76
+ ## 📚 Learn more
77
+
78
+ - [Package contract](SPEC.md) · [language summary](LANGUAGE.md)
79
+ - [Root README](../../README.md) · [architecture reference](../../docs/reference/architecture/README.md) · [CLI guide](../cli/README.md)
80
+ - [`@inventarch/distribution`](../distribution/README.md), which registers, owns and recovers the hook groups
81
+ - [`@inventarch/runtime`](../../packages/runtime/SPEC.md), which decides a selected edit against the governing mandates
82
+ - [hook-authoring-system](../../.ia/src/systems/hook-authoring-system/SPEC.md), owner of `@hook`, and [agent-system](../../.ia/src/systems/agent-system/SPEC.md), owner of `@agent` and `@mandate`
package/SPEC.md CHANGED
@@ -6,8 +6,10 @@ Shell-safe recovery roots: a guard's suggested removal, registration and validat
6
6
 
7
7
  Public language mechanism. The [language reference](LANGUAGE.md) defines vocabulary and evaluation limits. Package exports describe the installed API. Curated agent methods and hosted services are supplied independently.
8
8
 
9
- Projection protection (2026-10-09, milestone position-packet task replace-renderers, plan amendments B9 and B12): the hook denies file-tool edits to the position packet's files, `CLAUDE.md` and both `ia-authoring` skills in a workspace with no projection ownership state, and in a consumer workspace only the files its `<host>-projection.json` state owns; the receipt beside that state, like all of `.ia/distributions/`, is protected. A 1.x per-system steward file under `.claude/agents/` stays protected until it is removed: in a consumer workspace while the state lists it, elsewhere while the file carries a 1.x renderer's marker. Any other agent file is the user's. Since milestone generation-binding task host-consumes-generated-set the state's allowlist also admits the generated files apps/distribution's `GENERATED_PATHS` names (a generated agent is the agent pattern above; a generated skill `.claude/skills/<name>/SKILL.md` or `.agents/skills/<name>/SKILL.md`), so a state listing them protects them and stays readable. The retired steward rule for `.ia/src/systems/<name>/` applies only where a 1.x registration survives; the guard registered now is the `@mandate` guard below.
9
+ Projection protection (2026-10-09): the hook denies file-tool edits to the position packet's files, `CLAUDE.md` and both `ia-authoring` skills in a workspace with no projection ownership state, and in a consumer workspace only the files its `<host>-projection.json` state owns; the receipt beside that state, like all of `.ia/distributions/`, is protected. A 1.x per-system steward file under `.claude/agents/` stays protected until it is removed: in a consumer workspace while the state lists it, elsewhere while the file carries a 1.x renderer's marker. Any other agent file is the user's. The state's allowlist also admits the generated files apps/distribution's `GENERATED_PATHS` names (a generated agent is the agent pattern above; a generated skill `.claude/skills/<name>/SKILL.md` or `.agents/skills/<name>/SKILL.md`), so a state listing them protects them and stays readable. The retired steward rule for `.ia/src/systems/<name>/` applies only where a 1.x registration survives; the guard registered now is the `@mandate` guard below.
10
10
 
11
11
  Legacy steward marker recognition reads at most 1 MiB plus one sentinel byte from a single opened handle. It checks that the regular file and its unaliased pathname retain identity, size, link count and timestamps through the read; concurrent replacement or growth fails closed. Stable personal, missing and oversized files retain the existing unowned decision, and a stable marked hardlink retains the existing managed decision.
12
12
 
13
- Mandate guard (2026-10-11, milestone generation-binding plan amendments C9 and C10; operator decision OD4): the guard entry also accepts `--root <fixed absolute root> --hook <@hook identity>`, which a registration for one authored `@hook` runs through the launcher's `guard` mode for every edit tool (its group matches `Write|Edit|MultiEdit`), and `evaluateMandateHook(root, hook, event)` is exported beside `evaluateHook`. The input checks, the path safety (`IA-HOOK-PATH-UNSAFE`) and the managed-state protection above run first, for every edit tool whatever the hook's own tools, so no hook leaves the installation state, the owned projection files, or the settings and launcher an owned registration runs open to an edit (C9's ownership protection); the retired steward rule for `.ia/src/systems/<name>/` is not applied in this mode and is not a fallback. The `@hook` the registration names must be one admitted authored record that hook generation declares (PreToolUse; Write, Edit or MultiEdit; one or more `/` path selections; a message); otherwise an edit under the root is refused with `IA-HOOK-DECLARATION-UNAVAILABLE` only when it falls under the selection the hook ownership state recorded for that hook at registration, and every edit under the root when no selection is recorded (an edit outside the root is never decided), and so is an edit, with `IA-HOOK-MANDATE-UNAVAILABLE`, when the workspace's records cannot be read at all, such as a descriptor the db cannot read or a lock a Windows checkout rewrote with CRLF line ends (review finding H-R8). Each such refusal names only commands that work from a shell in that state: `ia host claude --root <root> --remove --apply --yes`, which removes the registration and restores editing and needs neither an admitting workspace nor readable records; where the workspace admits, `ia host claude --root <root> --apply --yes`, which registers its current hooks and so removes a group whose record is gone; and where it does not, `ia validate --root <root>`, which shows why (H-R2), or, while an authored `@mandate`, or a record an admitted mandate or workspace depends on, is among what admission refused (runtime R23), the admission report runtime `admissionReport` spells (`ia report --root <root>` when the root is inert unquoted, else `ia report` from the workspace root), since `ia validate`, mandate-gated, refuses in that state (lane D). Which one is named follows what could be read (review D-R4): when the database cannot open at all, the removal and `ia validate --root <root>`; when it opens but its records then cannot be read, the admission it read first decides, the report while a refused mandate or dependency is among what admission refused, else `ia validate --root <root>`. When the hook ownership state itself cannot be read, which the removal refuses too, the refusal names that state's repair instead: delete the state file and every IA hook group in `.claude/settings.local.json` from a shell, which restores editing, then run the removal for the rest of the registration (A-F3). Runtime's `evaluateMandateGuard` (runtime R22) then decides the edit, which the hook decides only when its `hook.paths` select the file and its `hook.tools` name the tool (a workspace guards its `.ia/src` records by selecting them), with db `pathKey` as the fold for `hook.paths` and `authority.covers` alike, so where the volume folds names `DOCS/x.md` is under `docs/**` and `Docs/**`, and elsewhere each case is its own path. The file is matched by its on-disk name as well as its typed one: each existing component as the volume stores it (the deepest existing ancestor through `realpathSync.native`) with the typed tail, so a case variant of an existing folder is that folder, and a typed spelling that differs from the on-disk name other than by case, such as a Windows 8.3 short name (`RESTRI~1`), is refused with `IA-HOOK-PATH-UNSAFE` when the hook selects the file, never matched or decided as typed. A selected path reached through a link or junction is refused with `IA-HOOK-PATH-UNSAFE`, and so is a file with more than one hard link wherever it is under the root, selected or not (a pnpm store link included), since another of its names may be selected and the guard cannot find it (G-N3, H-N13); records that cannot be read as above refuse with `IA-HOOK-MANDATE-UNAVAILABLE` naming what that paragraph says, and a failure while the edit is decided refuses so, naming the admission report as `admissionReport` spells it. The request passes the registration's root (`MandateGuardRequest.root`), so while an authored `@mandate` fails admission, or a refused `@agent` or `@workspace` an admitted mandate's participant or scope or a workspace's steward names (runtime R23's D9, where the reason names the refused record's `path:line` and the record that depends on it), every edit the hook selects is refused with `IA-HOOK-MANDATE-UNAVAILABLE`, whoever acts, naming the refused record's `path:line`, its admission finding and the admission report, not `ia validate`, which is mandate-gated (lane D, operator ruling 2026-10-12); a hook that is not admitted, or not a declaration the guard can decide, refuses the same way in that state, naming the refused record, rather than with `IA-HOOK-DECLARATION-UNAVAILABLE` (review D-N1: the hook may share the refused mandate's file); the main session's refusal still also names `ia host claude --root <root> --remove --apply --yes`, and an edit the hook does not select is still not decided. Every refusal reason is printed without terminal escape sequences, and with each other C0 or C1 control, line or paragraph separator and bidirectional control replaced by a space (`printable`), so an authored message cannot drive the host's display. The `@hook` group ownership state (`.ia/distributions/hosts/claude-hooks-<id>.json`, format `ia.hook-registration-state.v1`) and the hook journal format in `guard-pending.json` (`ia.hook-registration-pending.v1`) are read as the retired guard's were: while either exists, `.claude/settings.local.json`, `.claude/settings.json` and the cache launcher they name are managed. Hook groups are JSON entries owned by their own state, not projection files; the projection allowlist (`PROJECTION_OWNED`) admits the generated files (Projection protection above; review finding H-R9).
13
+ Descriptor reads (2026-10-16): the context ownership markers and their pending journals, the `--actors` map, the context hook binding and each code file of the hook implementation inventory are opened first, without following a leaf link or waiting on a FIFO where the platform has those flags, and judged by the opened descriptor, so the file checked is the file read (CodeQL js/file-system-race); no read goes past the opened size plus one byte. A marker or the actor map must be a regular, single-link, unaliased file of at most 1 MiB, or 8 MiB for a pending journal. An actor map named by a relative path, or by a path that is or passes through a link or junction, refuses first with `Actor map must be an absolute unaliased file`; otherwise a marker or map that is not such a file refuses with `Unsafe context ownership marker` or `Invalid actor map file`, also when the open itself refuses it (a link, a socket, anything else that is not such a file), and so does a marker gone after its directory is listed or a missing actor map. The binding, after its path check, must be a regular single-link file of at most 64 KiB whose name is still the opened file before and after the read; a link swapped in after the path check fails closed, refused as not a bounded regular file where the open refuses links and as a changed identity where the open follows it (Windows). The inventory classifies entries by the directory listing's own types, except that `lstat` classifies an entry listed as a link (Windows lists every reparse point as one), a file the inventory never reads and each directory as the inventory enters it, so only a real link or junction refuses as an alias, and a directory replaced after its parent is listed by a link, or by a junction other than a Windows volume mount point (which `lstat` reports as a directory), refuses as an alias before anything is listed or read through it (no snapshot of the tree: a directory can still change once it is judged); it judges each code file's 8 MiB and the package's 32 MiB bounds by the descriptor's size, admits hard links, and refuses a file that changes while it is read, whose name is no longer the opened file, or that is reached through a link. Any other failed open keeps its own error.
14
+
15
+ Mandate guard (2026-10-11): the guard entry also accepts `--root <fixed absolute root> --hook <@hook identity>`, which a registration for one authored `@hook` runs through the launcher's `guard` mode for every edit tool (its group matches `Write|Edit|MultiEdit`), and `evaluateMandateHook(root, hook, event)` is exported beside `evaluateHook`. The input checks, the path safety (`IA-HOOK-PATH-UNSAFE`) and the managed-state protection above run first, for every edit tool whatever the hook's own tools, so no hook leaves the installation state, the owned projection files, or the settings and launcher an owned registration runs open to an edit; the retired steward rule for `.ia/src/systems/<name>/` is not applied in this mode and is not a fallback. The `@hook` the registration names must be one admitted authored record that hook generation declares (PreToolUse; Write, Edit or MultiEdit; one or more `/` path selections; a message); otherwise an edit under the root is refused with `IA-HOOK-DECLARATION-UNAVAILABLE` only when it falls under the selection the hook ownership state recorded for that hook at registration, and every edit under the root when no selection is recorded (an edit outside the root is never decided), and so is an edit, with `IA-HOOK-MANDATE-UNAVAILABLE`, when the workspace's records cannot be read at all, such as a descriptor the db cannot read or a lock a Windows checkout rewrote with CRLF line ends. Each such refusal names only commands that work from a shell in that state: `ia host claude --root <root> --remove --apply --yes`, which removes the registration and restores editing and needs neither an admitting workspace nor readable records; where the workspace admits, `ia host claude --root <root> --apply --yes`, which registers its current hooks and so removes a group whose record is gone; and where it does not, `ia validate --root <root>`, which shows why, or, while an authored `@mandate`, or a record an admitted mandate or workspace depends on, is among what admission refused (runtime R23), the admission report runtime `admissionReport` spells (`ia report --root <root>` when the root is inert unquoted, else `ia report` from the workspace root), since `ia validate`, mandate-gated, refuses in that state. Which one is named follows what could be read: when the database cannot open at all, the removal and `ia validate --root <root>`; when it opens but its records then cannot be read, the admission it read first decides, the report while a refused mandate or dependency is among what admission refused, else `ia validate --root <root>`. When the hook ownership state itself cannot be read, which the removal refuses too, the refusal names that state's repair instead: delete the state file and every IA hook group in `.claude/settings.local.json` from a shell, which restores editing, then run the removal for the rest of the registration. Runtime's `evaluateMandateGuard` (runtime R22) then decides the edit, which the hook decides only when its `hook.paths` select the file and its `hook.tools` name the tool (a workspace guards its `.ia/src` records by selecting them), with db `pathKey` as the fold for `hook.paths` and `authority.covers` alike, so where the volume folds names `DOCS/x.md` is under `docs/**` and `Docs/**`, and elsewhere each case is its own path. The file is matched by its on-disk name as well as its typed one: each existing component as the volume stores it (the deepest existing ancestor through `realpathSync.native`) with the typed tail, so a case variant of an existing folder is that folder, and a typed spelling that differs from the on-disk name other than by case, such as a Windows 8.3 short name (`RESTRI~1`), is refused with `IA-HOOK-PATH-UNSAFE` when the hook selects the file, never matched or decided as typed. A selected path reached through a link or junction is refused with `IA-HOOK-PATH-UNSAFE`, and so is a file with more than one hard link wherever it is under the root, selected or not (a pnpm store link included), since another of its names may be selected and the guard cannot find it; records that cannot be read as above refuse with `IA-HOOK-MANDATE-UNAVAILABLE` naming what that paragraph says, and a failure while the edit is decided refuses so, naming the admission report as `admissionReport` spells it. The request passes the registration's root (`MandateGuardRequest.root`), so while an authored `@mandate` fails admission, or a refused `@agent` or `@workspace` an admitted mandate's participant or scope or a workspace's steward names (runtime R23, where the reason names the refused record's `path:line` and the record that depends on it), every edit the hook selects is refused with `IA-HOOK-MANDATE-UNAVAILABLE`, whoever acts, naming the refused record's `path:line`, its admission finding and the admission report, not `ia validate`, which is mandate-gated; a hook that is not admitted, or not a declaration the guard can decide, refuses the same way in that state, naming the refused record, rather than with `IA-HOOK-DECLARATION-UNAVAILABLE` (the hook may share the refused mandate's file); the main session's refusal still also names `ia host claude --root <root> --remove --apply --yes`, and an edit the hook does not select is still not decided. Every refusal reason is printed without terminal escape sequences, and with each other C0 or C1 control, line or paragraph separator and bidirectional control replaced by a space (`printable`), so an authored message cannot drive the host's display. The `@hook` group ownership state (`.ia/distributions/hosts/claude-hooks-<id>.json`, format `ia.hook-registration-state.v1`) and the hook journal format in `guard-pending.json` (`ia.hook-registration-pending.v1`) are read as the retired guard's were: while either exists, `.claude/settings.local.json`, `.claude/settings.json` and the cache launcher they name are managed. Hook groups are JSON entries owned by their own state, not projection files; the projection allowlist (`PROJECTION_OWNED`) admits the generated files (Projection protection above).
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,iDAAiD,CAAC;AAExG,OAAO,KAAK,EACV,gBAAgB,EAChB,sBAAsB,EACtB,eAAe,EACf,aAAa,EACb,eAAe,EACf,uBAAuB,EACxB,MAAM,yCAAyC,CAAC;AACjD,OAAO,KAAK,EAAmB,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAGpG,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,MAAM,EAAE,4BAA4B,CAAC;IAC9C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAAA;KAAE,CAAC;IACzF,QAAQ,CAAC,IAAI,EAAE;QACb,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,OAAO,EAAE,SAAS;YAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;QAC5E,QAAQ,CAAC,SAAS,EAAE,SAAS;YAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;KACnF,CAAC;IACF,QAAQ,CAAC,SAAS,EAAE;QAClB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QACjC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,mBAAmB,EAAE,MAAM,GAAG,UAAU,CAAC,GAAG,IAAI,CAAC;KAC3E,CAAC;IACF,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACvD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AACD,sHAAsH;AACtH,eAAO,MAAM,4BAA4B,EAAE,gBAKzC,CAAC;AACH,MAAM,WAAW,kBAAmB,SAAQ,uBAAuB;IACjE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AACD,MAAM,WAAW,eAAe;IAC9B,cAAc,IAAI,MAAM,CAAC;IACzB,eAAe,CAAC,OAAO,EAAE,kBAAkB,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IACjH,aAAa,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3G,WAAW,CAAC,CACV,QAAQ,EAAE,sBAAsB,EAChC,OAAO,EAAE,kBAAkB,EAC3B,MAAM,EAAE,WAAW,GAClB,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzB;AACD,MAAM,MAAM,iBAAiB,GACzB;IACE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,eAAe,GAAG,uBAAuB,CAAC;IAC7D,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;CAClC,GACD;IACE,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC;CACrD,CAAC;AAkGN,4GAA4G;AAC5G,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,uBAAuB,GAAG,kBAAkB,CAyF3F;AASD,uFAAuF;AACvF,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,kBAAkB,CAmD/F;AACD,iGAAiG;AACjG,wBAAgB,+BAA+B,CAAC,SAAS,SAAsB,GAAG,MAAM,CA+CvF;AACD,uFAAuF;AACvF,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,kBAAkB,EACzB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,eAAe,EACrB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,iBAAiB,CAAC,CAE5B;AACD,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,kBAAkB,EACzB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,eAAe,EACrB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,iBAAiB,CAAC,CAE5B;AAuHD,4GAA4G;AAC5G,wBAAgB,oBAAoB,IAAI,eAAe,CAsDtD;AAED,0FAA0F;AAC1F,wBAAsB,cAAc,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAwB7F"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
package/dist/context.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { createHash } from 'node:crypto';
2
- import { closeSync, constants, fstatSync, lstatSync, openSync, readdirSync, readFileSync, readSync, realpathSync, } from 'node:fs';
2
+ import { closeSync, constants, fstatSync, lstatSync, openSync, readdirSync, readSync, realpathSync } from 'node:fs';
3
3
  import { dirname, isAbsolute, relative, resolve, sep } from 'node:path';
4
4
  import { pathKey, unaliased } from '@inventarch/db';
5
5
  import { canonicalDistributionJson, decodeDistributionJson, platformDebris } from '@inventarch/db/distribution';
@@ -34,7 +34,7 @@ const fields = [
34
34
  'policy',
35
35
  'implementation',
36
36
  ];
37
- /** Paths compare as the volume compares names: case on win32; normalization and full case folding on darwin (#315, #323). */
37
+ /** Paths compare as the volume compares names: case on win32; normalization and full case folding on darwin. */
38
38
  const fold = pathKey;
39
39
  const hash = (value) => createHash('sha256').update(value).digest('hex');
40
40
  function fail(message) {
@@ -205,22 +205,37 @@ export function readContextHookBinding(rootInput, pathInput) {
205
205
  !unaliased(path, realpathSync.native(path)))
206
206
  fail('Context binding path is outside its fixed managed location');
207
207
  physicalDirectory(dirname(path));
208
- const maximum = 64 * 1024, stat = lstatSync(path);
209
- const regular = (value) => value.isFile() && !value.isSymbolicLink() && value.nlink === 1 && value.size <= maximum;
210
- const same = (value) => regular(value) &&
211
- value.dev === stat.dev &&
212
- value.ino === stat.ino &&
213
- value.size === stat.size &&
214
- value.mtimeMs === stat.mtimeMs &&
215
- value.ctimeMs === stat.ctimeMs;
216
- if (!regular(stat))
217
- fail('Context binding is not a bounded regular file');
218
- const fd = openSync(path, constants.O_RDONLY | constants.O_NOFOLLOW);
208
+ const maximum = 64 * 1024;
209
+ const regular = (value) => value.isFile() && !value.isSymbolicLink() && value.nlink === 1n && value.size <= BigInt(maximum);
210
+ let fd;
211
+ try {
212
+ // Opened before it is judged, so the checks and the read are of one file (CodeQL js/file-system-race): never
213
+ // through a leaf link, and never waiting on a FIFO, where the platform has the flag.
214
+ fd = openSync(path, constants.O_RDONLY | (constants.O_NOFOLLOW ?? 0) | (constants.O_NONBLOCK ?? 0));
215
+ }
216
+ catch (error) {
217
+ // A name the open refuses that is not a bounded regular file (a link, a socket, anything else) is refused as not
218
+ // one; a binding gone since its path was checked fails with lstat's own error, and any other failure keeps its own.
219
+ if (!regular(lstatSync(path, { bigint: true })))
220
+ fail('Context binding is not a bounded regular file');
221
+ throw error;
222
+ }
219
223
  let bytes;
220
224
  try {
221
- if (!same(fstatSync(fd)))
225
+ const stat = fstatSync(fd, { bigint: true });
226
+ const same = (value) => regular(value) &&
227
+ value.dev === stat.dev &&
228
+ value.ino === stat.ino &&
229
+ value.size === stat.size &&
230
+ value.mtimeNs === stat.mtimeNs &&
231
+ value.ctimeNs === stat.ctimeNs;
232
+ if (!regular(stat))
233
+ fail('Context binding is not a bounded regular file');
234
+ // The name must be the opened file: on Windows, which has neither flag, this and the realpath check after the read
235
+ // are what refuse a link swapped in after the path check.
236
+ if (!same(lstatSync(path, { bigint: true })))
222
237
  fail('Context binding identity changed before read');
223
- const buffer = Buffer.alloc(maximum + 1);
238
+ const buffer = Buffer.alloc(Number(stat.size) + 1);
224
239
  let length = 0;
225
240
  while (length < buffer.length) {
226
241
  const count = readSync(fd, buffer, length, buffer.length - length, length);
@@ -228,10 +243,10 @@ export function readContextHookBinding(rootInput, pathInput) {
228
243
  break;
229
244
  length += count;
230
245
  }
231
- if (length !== stat.size ||
246
+ if (BigInt(length) !== stat.size ||
232
247
  length > maximum ||
233
- !same(fstatSync(fd)) ||
234
- !same(lstatSync(path)) ||
248
+ !same(fstatSync(fd, { bigint: true })) ||
249
+ !same(lstatSync(path, { bigint: true })) ||
235
250
  !unaliased(path, realpathSync.native(path)))
236
251
  fail('Context binding changed during read');
237
252
  physicalDirectory(dirname(path));
@@ -245,6 +260,58 @@ export function readContextHookBinding(rootInput, pathInput) {
245
260
  fail('Context binding names another root');
246
261
  return result;
247
262
  }
263
+ /**
264
+ * The bytes of a code file the inventory listed as a regular file, read through one descriptor: opened before it is
265
+ * judged (CodeQL js/file-system-race), never through a leaf link or waiting on a FIFO where the platform has the flag,
266
+ * of at most `limit` bytes by that descriptor, unchanged by the read, and after it still the file at `path` by device
267
+ * and inode, with no link at or on the way to `path` (on Windows, which has neither flag, these two checks are what
268
+ * refuse a link).
269
+ */
270
+ function implementationBytes(path, limit) {
271
+ let fd;
272
+ try {
273
+ fd = openSync(path, constants.O_RDONLY | (constants.O_NOFOLLOW ?? 0) | (constants.O_NONBLOCK ?? 0));
274
+ }
275
+ catch (error) {
276
+ // A link or another nonregular file in the listed entry's place, whatever the open refused, is refused as the
277
+ // listing would have refused it; a file gone since the listing fails with lstat's own error.
278
+ const named = lstatSync(path, { bigint: true });
279
+ if (named.isSymbolicLink())
280
+ fail('Hook implementation aliases are unsupported');
281
+ if (!named.isFile())
282
+ fail('Hook implementation has a nonregular file');
283
+ throw error;
284
+ }
285
+ try {
286
+ const opened = fstatSync(fd, { bigint: true });
287
+ if (!opened.isFile())
288
+ fail('Hook implementation has a nonregular file');
289
+ if (opened.size > BigInt(limit))
290
+ fail('Hook implementation bytes exceed their bound');
291
+ // The opened size plus one byte: growth during the read shows, and nothing past the bound is ever read.
292
+ const buffer = Buffer.alloc(Number(opened.size) + 1);
293
+ let length = 0;
294
+ while (length < buffer.length) {
295
+ const count = readSync(fd, buffer, length, buffer.length - length, null);
296
+ if (!count)
297
+ break;
298
+ length += count;
299
+ }
300
+ const after = fstatSync(fd, { bigint: true });
301
+ if (BigInt(length) !== opened.size || after.size !== opened.size || after.mtimeNs !== opened.mtimeNs)
302
+ fail('Hook implementation changed while it was read');
303
+ const named = lstatSync(path, { bigint: true });
304
+ // A directory on the way that became a link after it was listed is walked through it; such a path is not its own.
305
+ if (named.dev !== opened.dev || named.ino !== opened.ino || !unaliased(path, realpathSync.native(path)))
306
+ fail('Hook implementation aliases are unsupported');
307
+ return buffer.subarray(0, length);
308
+ }
309
+ finally {
310
+ closeSync(fd);
311
+ }
312
+ }
313
+ /** Whether the inventory reads and hashes a file of this name: code, never a declaration or a platform's own file. */
314
+ const hashed = (name) => /\.(?:[cm]?[jt]s|json|node|wasm)$/.test(name) && !/\.d\.[cm]?ts$/.test(name) && !platformDebris(name);
248
315
  /** Fixed module inventory; no import-time I/O. Root override is for isolated host tests only. */
249
316
  export function contextHookImplementationDigest(directory = import.meta.dirname) {
250
317
  const root = physicalDirectory(directory), files = [], names = new Set();
@@ -261,18 +328,28 @@ export function contextHookImplementationDigest(directory = import.meta.dirname)
261
328
  names.has(path.toLowerCase()))
262
329
  fail('Hook implementation has aliased paths');
263
330
  names.add(path.toLowerCase());
264
- const absolute = resolve(directory, name), stat = lstatSync(absolute);
265
- if (stat.isSymbolicLink())
331
+ const absolute = resolve(directory, name);
332
+ // The listing's own entry types classify each name, and a code file is admitted only by the descriptor it is read
333
+ // through, which also bounds its bytes. An entry listed as a link, a directory and a file the walk never reads are
334
+ // classified by lstat, as every entry was before the walk opened files: Windows lists every reparse point as a link,
335
+ // a cloud placeholder or a deduplicated file among them; a directory is judged by its name as the walk enters it, so
336
+ // one replaced by a link or junction since its parent was listed is refused, never walked through; and a file never
337
+ // read has no descriptor to judge it. That lstat decides only whether the entry is refused or how it is walked, never
338
+ // that a file is admitted, and it is no snapshot of the tree: a directory can still change once it is judged.
339
+ const listed = entry.isSymbolicLink() || entry.isDirectory() || (entry.isFile() && !hashed(name))
340
+ ? lstatSync(absolute)
341
+ : entry;
342
+ if (listed.isSymbolicLink())
266
343
  fail('Hook implementation aliases are unsupported');
267
- if (stat.isDirectory())
344
+ if (listed.isDirectory())
268
345
  visit(absolute, path + '/', depth + 1);
269
- else if (!stat.isFile())
346
+ else if (!listed.isFile())
270
347
  fail('Hook implementation has a nonregular file');
271
- // A Finder or AppleDouble file is never code: the launcher skips it, so the identity must too (#323).
272
- else if (/\.(?:[cm]?[jt]s|json|node|wasm)$/.test(name) && !/\.d\.[cm]?ts$/.test(name) && !platformDebris(name)) {
273
- if (stat.size > 8 * 1024 * 1024 || (total += stat.size) > 32 * 1024 * 1024)
274
- fail('Hook implementation bytes exceed their bound');
275
- files.push({ path, digest: hash(readFileSync(absolute)) });
348
+ // A Finder or AppleDouble file is never code: the launcher skips it, so the identity must too.
349
+ else if (hashed(name)) {
350
+ const bytes = implementationBytes(absolute, Math.min(8 * 1024 * 1024, 32 * 1024 * 1024 - total));
351
+ total += bytes.length;
352
+ files.push({ path, digest: hash(bytes) });
276
353
  }
277
354
  }
278
355
  };
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,YAAY,GACb,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAEhH,OAAO,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,kDAAkD,CAAC;AAC1F,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AACnH,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAC7F,OAAO,EACL,cAAc,EACd,sBAAsB,EACtB,gBAAgB,EAChB,4BAA4B,GAC7B,MAAM,iDAAiD,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iDAAiD,CAAC;AAEvF,OAAO,EAAE,uBAAuB,EAAE,+BAA+B,EAAE,MAAM,yCAAyC,CAAC;AAUnH,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AA0BrF,sHAAsH;AACtH,MAAM,CAAC,MAAM,4BAA4B,GAAqB,MAAM,CAAC,MAAM,CAAC;IAC1E,MAAM,EAAE,MAAM;IACd,OAAO,EAAE,EAAE;IACX,KAAK,EAAE,MAAM;IACb,SAAS,EAAE,MAAM;CAClB,CAAC,CAAC;AA2BH,MAAM,MAAM,GAAG;IACb,QAAQ;IACR,MAAM;IACN,OAAO;IACP,OAAO;IACP,WAAW;IACX,SAAS;IACT,OAAO;IACP,MAAM;IACN,WAAW;IACX,YAAY;IACZ,WAAW;IACX,SAAS;IACT,QAAQ;IACR,gBAAgB;CACjB,CAAC;AACF,6HAA6H;AAC7H,MAAM,IAAI,GAAG,OAAO,CAAC;AACrB,MAAM,IAAI,GAAG,CAAC,KAA0B,EAAU,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACtG,SAAS,IAAI,CAAC,OAAe;IAC3B,MAAM,IAAI,cAAc,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;AAC5D,CAAC;AACD,SAAS,KAAK,CAAC,KAAc,EAAE,MAAyB;IACtD,IACE,KAAK,KAAK,IAAI;QACd,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACpB,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAEhE,IAAI,CAAC,8BAA8B,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EACjC,WAAW,GAAG,MAAM,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC;IACxD,IACE,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM;QAC7B,IAAI,CAAC,IAAI,CACP,CAAC,GAAG,EAAE,EAAE,CACN,OAAO,GAAG,KAAK,QAAQ;YACvB,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;YACrB,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,UAAU;YAC7B,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAE,EAAE,OAAO,CAAC,CAC7C;QAED,IAAI,CAAC,yDAAyD,CAAC,CAAC;IAClE,OAAO,KAAgC,CAAC;AAC1C,CAAC;AACD,SAAS,IAAI,CAAC,KAAc,EAAE,OAAO,GAAG,IAAI;IAC1C,IACE,OAAO,KAAK,KAAK,QAAQ;QACzB,CAAC,KAAK;QACN,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;QACpB,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,OAAO;QAClC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,KAAK;QAE7C,IAAI,CAAC,sCAAsC,CAAC,CAAC;IAC/C,OAAO,KAAK,CAAC;AACf,CAAC;AACD,SAAS,GAAG,CAAC,KAAc;IACzB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC/B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,IAAI,CAAC,gCAAgC,CAAC,CAAC;IAC3E,OAAO,MAAM,CAAC;AAChB,CAAC;AACD,SAAS,MAAM,CAAI,KAAQ;IACzB,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AACD,SAAS,iBAAiB,CAAC,KAAa;IACtC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QAAE,IAAI,CAAC,gDAAgD,CAAC,CAAC;IAC/E,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAC5B,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,SAAS,CAAC;QACR,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACnG,IAAI,CAAC,qDAAqD,CAAC,CAAC;QAC9D,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAChC,IAAI,MAAM,KAAK,OAAO;YAAE,MAAM;QAC9B,OAAO,GAAG,MAAM,CAAC;IACnB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AACD,SAAS,MAAM,CAAC,IAAY,EAAE,MAAc;IAC1C,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAChD,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;AAC5E,CAAC;AACD,SAAS,SAAS,CAAC,KAAc;IAC/B,IAAI,KAAK,KAAK,EAAE;QAAE,OAAO,EAAE,CAAC;IAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACjC,IACE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QACrB,UAAU,CAAC,MAAM,CAAC;QAClB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAE/E,IAAI,CAAC,2BAA2B,CAAC,CAAC;IACpC,OAAO,MAAM,CAAC;AAChB,CAAC;AACD,4GAA4G;AAC5G,MAAM,UAAU,wBAAwB,CAAC,KAA8B;IACrE,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACrB,IAAI,KAAK,CAAC,MAAM,KAAK,4BAA4B;QAAE,IAAI,CAAC,gCAAgC,CAAC,CAAC;IAC1F,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAC9C,OAAO,GAAG,sBAAsB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAClD,IAAI,OAAO,CAAC,IAAI,KAAK,aAAa;QAAE,IAAI,CAAC,yDAAyD,CAAC,CAAC;IACpG,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,EACtD,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;IAC1E,MAAM,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;IACvC,IACE,UAAU,KAAK,IAAI;QACnB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,MAAM,GAAG,GAAG,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,MAAM,CAAC;QAEzG,IAAI,CAAC,0CAA0C,CAAC,CAAC;IACnD,MAAM,kBAAkB,GAAG,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,UAAwB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAClH,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;IAClE,IACE,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAClC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,EAAE;QAC9B,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACpC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,MAAM;QAC5B,OAAO,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,EAAE;QAEhC,IAAI,CAAC,8CAA8C,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,KAAc,EAAE,EAAE;QACxD,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QACzC,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IACjF,CAAC,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,KAAc,EAAE,EAAE;QAC5D,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;QAC7C,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IACzF,CAAC,CAAC,CAAC;IACH,IACE,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,MAAM;QAC7D,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,MAAM;QAErE,IAAI,CAAC,sCAAsC,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,EAC5C,QAAQ,GAAG,SAAS,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,CAAC;IACtF,MAAM,SAAS,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;IACzC,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;QAC3G,KAAK,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC;YAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;QACjF,IACE,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACtC,GAAG,CAAC,WAAW,CAAY,GAAG,CAAC;YAC/B,GAAG,CAAC,WAAW,CAAY,GAAG,SAAS;YAExC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QACtC,KAAK,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,WAAW,CAAU;YAChD,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC/E,IAAI,CAAC,qCAAqC,CAAC,CAAC;IAClD,CAAC;IACD,MAAM,UAAU,GAAG,iBAAiB,CAAC,EAAE,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IAC3D,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS;QAC1D,IAAI,CAAC,uDAAuD,CAAC,CAAC;IAChE,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;IAClE,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI;QAC5B,CAAC,QAAQ,EAAE,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC;QACzB,CAAC,SAAS,EAAE,CAAC,EAAE,GAAG,CAAC;QACnB,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,GAAG,IAAI,CAAC;QAC3B,CAAC,WAAW,EAAE,CAAC,EAAE,MAAM,CAAC;KAChB;QACR,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG;YACnG,IAAI,CAAC,iDAAiD,CAAC,CAAC;IAC5D,MAAM,IAAI,GAA4B;QACpC,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,IAAI;QACJ,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC;QAC7B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC;QAC7B,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,CAAC;QACrC,OAAO;QACP,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,UAAU,EAAE,kBAAkB,EAAE;QACzE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE;QACzD,SAAS,EAAE;YACT,MAAM;YACN,QAAQ;YACR,SAAS,EACP,SAAS,KAAK,IAAI;gBAChB,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,EAAE,GAAI,SAA4E,EAAE;SAC3F;QACD,UAAU,EAAE,EAAE,GAAG,KAAK,CAAC,UAAU,EAAE;QACnC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,cAAc,CAAC;QACxD,OAAO,EAAE,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE;QAC7B,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;QACzB,cAAc,EAAE,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC;KAC1C,CAAC;IACF,OAAO,MAAM,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;AAC5E,CAAC;AACD,SAAS,aAAa,CAAC,KAAyB;IAC9C,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IACpC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,EAC/B,QAAQ,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,IAAI,yBAAyB,CAAC,QAAQ,CAAC,KAAK,yBAAyB,CAAC,KAAK,CAAC;QAC7G,IAAI,CAAC,kDAAkD,CAAC,CAAC;IAC3D,OAAO,QAAQ,CAAC;AAClB,CAAC;AACD,uFAAuF;AACvF,MAAM,UAAU,sBAAsB,CAAC,SAAiB,EAAE,SAAiB;IACzE,MAAM,IAAI,GAAG,iBAAiB,CAAC,SAAS,CAAC,EACvC,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,EACzB,GAAG,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACnD,IACE,CAAC,UAAU,CAAC,SAAS,CAAC;QACtB,CAAC,kFAAkF,CAAC,IAAI,CAAC,GAAG,CAAC;QAC7F,CAAC,SAAS,CAAC,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAE3C,IAAI,CAAC,4DAA4D,CAAC,CAAC;IACrE,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACjC,MAAM,OAAO,GAAG,EAAE,GAAG,IAAI,EACvB,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IACzB,MAAM,OAAO,GAAG,CAAC,KAAY,EAAW,EAAE,CACxC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,IAAI,KAAK,CAAC,KAAK,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,OAAO,CAAC;IAC1F,MAAM,IAAI,GAAG,CAAC,KAAY,EAAW,EAAE,CACrC,OAAO,CAAC,KAAK,CAAC;QACd,KAAK,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG;QACtB,KAAK,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG;QACtB,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI;QACxB,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO;QAC9B,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,CAAC;IACjC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,IAAI,CAAC,+CAA+C,CAAC,CAAC;IAC1E,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;IACrE,IAAI,KAAa,CAAC;IAClB,IAAI,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YAAE,IAAI,CAAC,8CAA8C,CAAC,CAAC;QAC/E,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;QACzC,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,OAAO,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC9B,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,CAAC;YAC3E,IAAI,CAAC,KAAK;gBAAE,MAAM;YAClB,MAAM,IAAI,KAAK,CAAC;QAClB,CAAC;QACD,IACE,MAAM,KAAK,IAAI,CAAC,IAAI;YACpB,MAAM,GAAG,OAAO;YAChB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YACpB,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACtB,CAAC,SAAS,CAAC,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAE3C,IAAI,CAAC,qCAAqC,CAAC,CAAC;QAC9C,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACjC,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC;YAAS,CAAC;QACT,SAAS,CAAC,EAAE,CAAC,CAAC;IAChB,CAAC;IACD,MAAM,MAAM,GAAG,sBAAsB,CAAC,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAuB,EAClH,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACjC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC;QAAE,IAAI,CAAC,oCAAoC,CAAC,CAAC;IACjF,OAAO,MAAM,CAAC;AAChB,CAAC;AACD,iGAAiG;AACjG,MAAM,UAAU,+BAA+B,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO;IAC7E,MAAM,IAAI,GAAG,iBAAiB,CAAC,SAAS,CAAC,EACvC,KAAK,GAAuC,EAAE,EAC9C,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAC5B,IAAI,KAAK,GAAG,CAAC,EACX,KAAK,GAAG,CAAC,CAAC;IACZ,MAAM,KAAK,GAAG,CAAC,SAAiB,EAAE,MAAM,GAAG,EAAE,EAAE,KAAK,GAAG,CAAC,EAAQ,EAAE;QAChE,IAAI,KAAK,GAAG,EAAE;YAAE,IAAI,CAAC,iDAAiD,CAAC,CAAC;QACxE,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YACpE,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EACrB,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC;YACvB,IACE,EAAE,KAAK,GAAG,IAAI;gBACd,IAAI,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;gBAC9B,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC;gBAChC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;gBAClB,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBAE7B,IAAI,CAAC,uCAAuC,CAAC,CAAC;YAChD,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;YAC9B,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,EACvC,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;YAC7B,IAAI,IAAI,CAAC,cAAc,EAAE;gBAAE,IAAI,CAAC,6CAA6C,CAAC,CAAC;YAC/E,IAAI,IAAI,CAAC,WAAW,EAAE;gBAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,GAAG,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;iBAC1D,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBAAE,IAAI,CAAC,2CAA2C,CAAC,CAAC;YAC3E,sGAAsG;iBACjG,IAAI,kCAAkC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/G,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI;oBACxE,IAAI,CAAC,8CAA8C,CAAC,CAAC;gBACvD,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,CAAC;IACZ,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvE,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAC7C,MAAM,GAAG,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAC7D,OAAO,GAAG,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACjE,IAAI,MAAM,KAAK,OAAO;QAAE,IAAI,CAAC,yCAAyC,CAAC,CAAC;IACxE,OAAO,IAAI,CACT,yBAAyB,CAAC;QACxB,MAAM,EAAE,mCAAmC;QAC3C,MAAM,EAAE,6BAA6B,EAAE;QACvC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;QACnC,KAAK;KACN,CAAC,CACH,CAAC;AACJ,CAAC;AACD,uFAAuF;AACvF,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,KAAyB,EACzB,IAAY,EACZ,IAAqB,EACrB,MAAoB;IAEpB,OAAO,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;AACxD,CAAC;AACD,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,KAAyB,EACzB,IAAY,EACZ,IAAY,EACZ,IAAqB,EACrB,MAAoB;IAEpB,OAAO,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;AACnD,CAAC;AACD,KAAK,UAAU,QAAQ,CACrB,KAAyB,EACzB,IAAY,EACZ,IAAqB,EACrB,IAAwB,EACxB,MAAoB;IAEpB,IAAI,CAAC;QACH,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;YAC/E,IAAI,CAAC,8BAA8B,CAAC,CAAC;QACvC,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,EAClC,KAAK,GAAG,oBAAoB,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,EACnD,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAC1C,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EACrC,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,GAAG,GAAG,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;YAAE,IAAI,CAAC,4CAA4C,CAAC,CAAC;QACnF,IAAI,OAAO,EAAE,KAAK,OAAO,CAAC,cAAc;YAAE,IAAI,CAAC,uCAAuC,CAAC,CAAC;QACxF,MAAM,OAAO,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,+BAA+B,CAAC;QAC/F,MAAM,QAAQ,GAAG,MAAM,OAAO,CAC5B;YACE,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,OAAO,EAAE,OAAO,CAAC,MAAM;YACvB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,cAAc,EAAE,OAAO,CAAC,cAAc;SACvC,EACD,KAAK,EACL;YACE,eAAe,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC;YACzE,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC7C,IAAI,OAAO,EAAE,KAAK,OAAO,CAAC,cAAc,IAAI,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,IAAI;oBAC1F,IAAI,CAAC,gCAAgC,CAAC,CAAC;gBACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC/D,IACE,QAAQ,CAAC,IAAI,KAAK,OAAO,CAAC,KAAK,CAAC,IAAI;oBACpC,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,KAAK,IAAI;wBAChC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,UAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAEtF,IAAI,CAAC,kDAAkD,CAAC,CAAC;gBAC3D,MAAM,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YACrC,CAAC;YACD,GAAG,CAAC,MAAM;gBACR,CAAC,CAAC;oBACE,WAAW,EAAE,CAAC,QAAgC,EAAE,MAAmB,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC;iBAC1G;gBACH,CAAC,CAAC,EAAE,CAAC;SACR,EACD,MAAM,CACP,CAAC;QACF,OAAO;YACL,MAAM,EAAE,WAAW;YACnB,QAAQ,EAAE,aAAa;YACvB,QAAQ;YACR,MAAM,EAAE,SAAS,IAAI,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAK,CAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM;SAC3E,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,KAAK,GAAG,IAAI,GAAG,CACnB;YACE,OAAO;YACP,aAAa;YACb,OAAO;YACP,UAAU;YACV,QAAQ;YACR,YAAY;YACZ,SAAS;YACT,WAAW;YACX,UAAU;YACV,SAAS;SACV,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,IAAI,EAAE,CAAC,CACxC,CAAC;QACF,MAAM,IAAI,GAAG,KAAK,YAAY,cAAc,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,0BAA0B,CAAC;QAChH,OAAO;YACL,MAAM,EAAE,aAAa;YACrB,QAAQ,EAAE,eAAe;YACzB,IAAI;YACJ,MAAM,EAAE,EAAE,aAAa,EAAE,qCAAqC,IAAI,8BAA8B,EAAE;SACnG,CAAC;IACJ,CAAC;AACH,CAAC;AAED,iHAAiH;AACjH,SAAS,YAAY,CAAI,GAAY;IACnC,IAAI,CAAC;QACH,OAAO,GAAG,EAAE,CAAC;IACf,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,cAAc,IAAI,KAAK,CAAC,IAAI,KAAK,oBAAoB;YACxE,MAAM,IAAI,cAAc,CAAC,uBAAuB,EAAE,2CAA2C,CAAC,CAAC;QACjG,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AACD;;yHAEyH;AACzH,MAAM,YAAY,GAAwB,IAAI,GAAG,CAAC;IAChD,0DAA0D;IAC1D,0CAA0C;IAC1C,kCAAkC;IAClC,4CAA4C;IAC5C,2DAA2D;CAC5D,CAAC,CAAC;AACH,MAAM,WAAW,GAAG,CAAC,KAAc,EAAW,EAAE,CAC9C,KAAK,YAAY,aAAa;IAC5B,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;IACjC,CAAC,CAAC,KAAK,YAAY,KAAK,IAAK,KAA4B,CAAC,IAAI,KAAK,sBAAsB,CAAC;AAC9F,uJAAuJ;AACvJ,SAAS,SAAS,CAAC,KAAiB;IAClC,IAAI,CAAC;QACH,KAAK,EAAE,CAAC;IACV,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,WAAW,CAAC,KAAK,CAAC;YACpB,MAAM,IAAI,cAAc,CAAC,oBAAoB,EAAE,sDAAsD,CAAC,CAAC;QACzG,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AACD,4GAA4G;AAC5G,MAAM,UAAU,oBAAoB;IAClC,MAAM,MAAM,GAAG,IAAI,OAAO,EAA6B,CAAC;IACxD,OAAO;QACL,cAAc,EAAE,GAAG,EAAE,CAAC,+BAA+B,EAAE;QACvD,eAAe,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACjC,MAAM,KAAK,GAAG,sBAAsB,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;YACpG,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,MAAM,CACvE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAC,SAAS,CAAC,MAAM,CACrD,CAAC;gBACF,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;oBAAE,IAAI,CAAC,yDAAyD,CAAC,CAAC;gBAC9F,MAAM,MAAM,GAAoB,WAAW,CAAC,CAAC,CAAE,CAAC;gBAChD,MAAM,SAAS,GAAG,gBAAgB,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,KAAK,EAAE;oBAC9E,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,gBAAgB,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC;oBAC/D,cAAc,EAAE,KAAK,CAAC,OAAO;oBAC7B,oBAAoB,EAAE,KAAK,CAAC,aAAa;oBACzC,gBAAgB,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACtE,gBAAgB,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;iBACvE,CAAC,CAAC;gBACH,MAAM,IAAI,GAAG;oBACX,OAAO,EAAE,OAAO,CAAC,MAAM;oBACvB,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ;oBAC9B,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ;oBAC9D,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM;oBACjC,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,UAAU,IAAI,IAAI;oBAC1D,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM;oBAC/B,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,cAAc,EAAE,OAAO,CAAC,cAAc;iBACvC,CAAC;gBACF,MAAM,IAAI,GAAkB;oBAC1B,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,IAAI;oBACJ,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE;wBACvB,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,EAAE,CAAC,sBAAsB,CAAC,SAAS,EAAE,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;wBACvG,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;oBACjG,CAAC;oBACD,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE;iBAC3B,CAAC;gBACF,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC;gBAC9C,OAAO,IAAI,CAAC;YACd,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,KAAK,CAAC,KAAK,EAAE,CAAC;gBACd,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QACD,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE;YACtB,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC/B,IAAI,CAAC,KAAK;gBAAE,IAAI,CAAC,mCAAmC,CAAC,CAAC;YACtD,SAAS,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,0FAA0F;AAC1F,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAuB,EAAE,KAAa;IACzE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,UAAU,EAAE,CAAC;QAChD,MAAM,OAAO,GAAG,gBAAgB,CAAC,aAAa,EAAE,4BAA4B,CAAC,CAAC;QAC9E,OAAO;YACL,MAAM,EAAE,6BAA6B;YACrC,cAAc,EAAE,+BAA+B,EAAE;YACjD,OAAO,EAAE,OAAO,CAAC,MAAM;YACvB,KAAK,EAAE,OAAO,CAAC,eAAe;YAC9B,UAAU,EAAE,OAAO,CAAC,oBAAoB;SACzC,CAAC;IACJ,CAAC;IACD,IACE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ;QACpB,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW;QACvB,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC;QAEpF,IAAI,CAAC,iEAAiE,CAAC,CAAC;IAC1E,MAAM,OAAO,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAE,EAAE,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC;IAC3D,OAAO,CACL,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;QACtB,CAAC,CAAC,uBAAuB,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,CAAC;QAClF,CAAC,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC,CACjE,CAAC,MAAM,CAAC;AACX,CAAC;AACD,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IAC9C,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,CAAC;QACH,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,UAAU;YAChC,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBACxC,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAClE,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,IAAI;oBAAE,IAAI,CAAC,0BAA0B,CAAC,CAAC;gBAC3E,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QACtF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3F,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,IAAI,CAAC,SAAS,CAAC;YACb,aAAa,EAAE,wFAAwF;SACxG,CAAC,CACH,CAAC;QACF,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,UAAU;YAAE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
package/dist/main.d.ts CHANGED
@@ -21,17 +21,16 @@ export declare function streamed(path: string): boolean;
21
21
  /** The legacy guard: managed-state protection and the retired steward rule for `.ia/src/systems/<name>/`. */
22
22
  export declare function evaluateHook(root: string, event: unknown, actorsPath?: string): HookOutput;
23
23
  /**
24
- * The `@mandate` guard (milestone generation-binding, plan amendments C9 and C10): one authored `@hook`'s group runs
25
- * `guard --root <root> --hook <identity>` for every edit tool. The same input checks, path safety and managed-state
26
- * protection as the legacy guard run first, whatever tools the hook names, so no hook leaves the guard's own
27
- * registration, the installation state or the owned projection open (the retired steward rule is not one of them). Then
28
- * the admitted authored `@hook` the registration names is read as hook generation declares it, and runtime's
29
- * evaluateMandateGuard decides the edit: allowed unless the hook selects it (its paths select the file and its tools
30
- * name the tool) and the actor is unknown or holds no governing mandate that grants Synthesis there. A selected path
31
- * reached through an alias is refused. What cannot be read refuses with a code; nothing is allowed because something was
32
- * unreadable once the hook is known to select the edit. When the hook's record, or the workspace's records at all,
33
- * cannot be read, the registration refuses only the edits under the selection last registered for it, or every edit
34
- * under the root when none is recorded (review findings G-N4 and H-R8).
24
+ * The `@mandate` guard: one authored `@hook`'s group runs `guard --root <root> --hook <identity>` for every edit tool.
25
+ * The same input checks, path safety and managed-state protection as the legacy guard run first, whatever tools the
26
+ * hook names, so no hook leaves the guard's own registration, the installation state or the owned projection open (the
27
+ * retired steward rule is not one of them). Then the admitted authored `@hook` the registration names is read as hook
28
+ * generation declares it, and runtime's evaluateMandateGuard decides the edit: allowed unless the hook selects it (its
29
+ * paths select the file and its tools name the tool) and the actor is unknown or holds no governing mandate that grants
30
+ * Synthesis there. A selected path reached through an alias is refused. What cannot be read refuses with a code;
31
+ * nothing is allowed because something was unreadable once the hook is known to select the edit. When the hook's
32
+ * record, or the workspace's records at all, cannot be read, the registration refuses only the edits under the
33
+ * selection last registered for it, or every edit under the root when none is recorded.
35
34
  */
36
35
  export declare function evaluateMandateHook(root: string, hook: string, event: unknown): HookOutput;
37
36
  export declare function runHook(args: readonly string[], input: string): HookOutput;
@@ -1 +1 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAKpD,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,kBAAkB,CAAC,EAAE;QAC5B,QAAQ,CAAC,aAAa,EAAE,YAAY,CAAC;QACrC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;QACpC,QAAQ,CAAC,wBAAwB,EAAE,MAAM,CAAC;KAC3C,CAAC;CACH;AACD,wBAAgB,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,CAQhE;AAOD;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE9C;AA2lBD;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAG9C;AAkHD,6GAA6G;AAC7G,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,UAAU,CAsC1F;AAoCD;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,UAAU,CAyJ1F;AAGD,wBAAgB,OAAO,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,CAe1E"}
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAKpD,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,kBAAkB,CAAC,EAAE;QAC5B,QAAQ,CAAC,aAAa,EAAE,YAAY,CAAC;QACrC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;QACpC,QAAQ,CAAC,wBAAwB,EAAE,MAAM,CAAC;KAC3C,CAAC;CACH;AACD,wBAAgB,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,CAQhE;AAOD;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE9C;AAymBD;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAG9C;AAkHD,6GAA6G;AAC7G,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,UAAU,CAsC1F;AAoCD;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,UAAU,CAuJ1F;AAGD,wBAAgB,OAAO,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,CAe1E"}
package/dist/main.js CHANGED
@@ -1,4 +1,4 @@
1
- import { closeSync, constants, fstatSync, lstatSync, openSync, readSync, readdirSync, readFileSync, realpathSync, } from 'node:fs';
1
+ import { closeSync, constants, fstatSync, lstatSync, openSync, readSync, readdirSync, realpathSync, } from 'node:fs';
2
2
  import { basename, dirname, isAbsolute, relative, resolve, sep } from 'node:path';
3
3
  import { admissionReport, inertCommandRoot, evaluateMandateGuard, evaluateSteward, isAdmissionRefusal, isEntry, mandateGuardSelects, openDatabase, refusedDependencies, refusedMandates, requireMandatesAdmitted, } from '@inventarch/runtime';
4
4
  import { pathKey, sameFile, unaliased } from '@inventarch/db';
@@ -27,7 +27,7 @@ function object(value) {
27
27
  return typeof value === 'object' && value !== null && !Array.isArray(value);
28
28
  }
29
29
  /**
30
- * Rules key names with db `pathKey`: case on win32; normalization and full case folding on darwin (#315, #323). It folds
30
+ * Rules key names with db `pathKey`: case on win32; normalization and full case folding on darwin. It folds
31
31
  * by platform, whatever the volume, so on a case-sensitive directory there a sibling spelled in another case matches too.
32
32
  */
33
33
  const fold = pathKey;
@@ -57,7 +57,7 @@ function installation(path) {
57
57
  }
58
58
  /**
59
59
  * The projection list written for this repository; in a consumer workspace only its owned subset stays protected. The
60
- * position packet's files (milestone position-packet): `CLAUDE.md` and both `ia-authoring` skills here, and a consumer's
60
+ * position packet's files: `CLAUDE.md` and both `ia-authoring` skills here, and a consumer's
61
61
  * `.claude/rules/ia-workspace.md`, `AGENTS.md` and skills; its receipt sits under `.ia/distributions/`.
62
62
  */
63
63
  function projectionCandidate(path) {
@@ -71,7 +71,7 @@ function projectionCandidate(path) {
71
71
  fold('AGENTS.md') === path);
72
72
  }
73
73
  /**
74
- * B9: a 1.x per-system steward file. No projection writes one any more, so one stays protected only until it is removed:
74
+ * A 1.x per-system steward file. No projection writes one any more, so one stays protected only until it is removed:
75
75
  * in a consumer workspace while its projection state lists it, and elsewhere while it carries a 1.x renderer's marker,
76
76
  * which `pnpm projections:generate` or the next projection apply deletes. Any other agent file is the user's.
77
77
  */
@@ -130,13 +130,16 @@ function legacySteward(target) {
130
130
  closeSync(fd);
131
131
  }
132
132
  }
133
+ /** The bound of an ownership state, the actor map and a context ownership marker other than a pending journal. */
134
+ const STATE_LIMIT = 1024 * 1024;
133
135
  /**
134
- * The bytes of the ownership state at the absolute `path`, or undefined when there is none. A state must be a plain,
135
- * unaliased, single-link file within 1 MiB. It is opened before it is judged, so the checks and the read are of one
136
- * file (CodeQL js/file-system-race), and it must still be that file after the read. Anything else throws `unsafe`, and
137
- * the caller fails closed.
136
+ * The bytes of the ownership state, context ownership marker or actor map at the absolute `path`, or undefined when there
137
+ * is none. It must be a plain, unaliased, single-link file within `limit` bytes. It is opened before it is judged, so the
138
+ * checks and the read are of one file (CodeQL js/file-system-race), and it must still be that file after the read.
139
+ * Anything else throws `unsafe`, and the caller fails closed; an open that fails other than for a missing file throws its
140
+ * own error.
138
141
  */
139
- function readState(path, unsafe) {
142
+ function readState(path, unsafe, limit = STATE_LIMIT) {
140
143
  let fd;
141
144
  try {
142
145
  fd = openSync(path, constants.O_RDONLY | (constants.O_NOFOLLOW ?? 0) | (constants.O_NONBLOCK ?? 0));
@@ -147,7 +150,7 @@ function readState(path, unsafe) {
147
150
  throw error;
148
151
  }
149
152
  try {
150
- const stat = fstatSync(fd, { bigint: true }), limit = 1024 * 1024;
153
+ const stat = fstatSync(fd, { bigint: true });
151
154
  const same = (value) => value.isFile() &&
152
155
  value.nlink === 1n &&
153
156
  value.dev === stat.dev &&
@@ -160,7 +163,8 @@ function readState(path, unsafe) {
160
163
  !same(lstatSync(path, { bigint: true })) ||
161
164
  !unaliased(path, physical(path)))
162
165
  throw new Error(unsafe);
163
- const content = Buffer.alloc(limit + 1);
166
+ // The opened size plus one byte: growth during the read shows, and nothing past the bound is ever read.
167
+ const content = Buffer.alloc(Number(stat.size) + 1);
164
168
  let size = 0;
165
169
  for (;;) {
166
170
  const count = readSync(fd, content, size, content.length - size, null);
@@ -179,6 +183,25 @@ function readState(path, unsafe) {
179
183
  closeSync(fd);
180
184
  }
181
185
  }
186
+ /**
187
+ * `readState` for a reader that refuses as `unsafe` whatever is not a plain single-link file within `limit` bytes, also
188
+ * when the open fails on it: a failed open has the name examined, so a link (`O_NOFOLLOW`), a socket or anything else
189
+ * the open refuses that is not such a file gets the refusal an opened one does. A failed open of such a file throws its
190
+ * own error, as before.
191
+ */
192
+ function stateBytes(path, unsafe, limit = STATE_LIMIT) {
193
+ try {
194
+ return readState(path, unsafe, limit);
195
+ }
196
+ catch (error) {
197
+ if (error.syscall !== 'open')
198
+ throw error;
199
+ const named = lstatSync(path, { bigint: true });
200
+ if (!named.isFile() || named.nlink !== 1n || named.size > BigInt(limit))
201
+ throw new Error(unsafe);
202
+ throw error;
203
+ }
204
+ }
182
205
  /**
183
206
  * `ownership` is undefined in a legacy workspace (no projection state) and is read only when a candidate path needs it;
184
207
  * `steward` says whether the edited file, at a legacy-mode agent path, is still a 1.x steward file. `systems` locates the
@@ -222,15 +245,15 @@ function hostsArea(root) {
222
245
  }
223
246
  /**
224
247
  * The same projection allowlist `@inventarch/distribution` validates a state against (projection.ts), so a state cannot
225
- * claim other paths: the packet's two files per host, the agents and skills authored generation writes (milestone
226
- * generation-binding: claude agents and skills, codex skills), and for claude a 1.x steward file a state still lists
227
- * until the next apply removes it (B9). The state format name is unchanged.
248
+ * claim other paths: the packet's two files per host, the agents and skills authored generation writes (claude agents
249
+ * and skills, codex skills), and for claude a 1.x steward file a state still lists until the next apply removes it. The
250
+ * state format name is unchanged.
228
251
  */
229
252
  const PROJECTION_OWNED = {
230
253
  claude: (path) => path === '.claude/rules/ia-workspace.md' ||
231
254
  path === '.claude/skills/ia-authoring/SKILL.md' ||
232
255
  /^\.claude\/agents\/[a-z][a-z0-9-]*\.md$/.test(path) ||
233
- // Milestone generation-binding: a generated skill (distribution's GENERATED_PATHS); a generated agent is the pattern above.
256
+ // A generated skill (distribution's GENERATED_PATHS); a generated agent is the pattern above.
234
257
  /^\.claude\/skills\/[a-z][a-z0-9-]*\/SKILL\.md$/.test(path),
235
258
  codex: (path) => path === 'AGENTS.md' ||
236
259
  path === '.agents/skills/ia-authoring/SKILL.md' ||
@@ -305,7 +328,7 @@ function registeredSelection(root, hook) {
305
328
  throw new Error('Invalid hook ownership state');
306
329
  }
307
330
  catch (error) {
308
- // The state file that could not be read, root-relative, so a refusal can name its repair (review finding A-F3).
331
+ // The state file that could not be read, root-relative, so a refusal can name its repair.
309
332
  throw new UnreadableHookState(`.ia/distributions/hosts/${name}`, error);
310
333
  }
311
334
  for (const group of row['groups'])
@@ -348,16 +371,13 @@ function contextSettingsManaged(root, includeContext = true) {
348
371
  const guard = /^claude-guard-([a-z][a-z0-9-]{0,63})\.json$/.exec(fold(name)), guardPending = fold(name) === 'guard-pending.json', hooks = /^claude-hooks-([a-z][a-z0-9-]{0,63})\.json$/.exec(fold(name));
349
372
  if (!guard && !guardPending && !hooks && (!includeContext || (!match && !pending)))
350
373
  continue;
351
- const path = resolve(directory, name), stat = lstatSync(path), limit = pending || guardPending ? 8 * 1024 * 1024 : 1024 * 1024;
352
- if (name !== name.toLowerCase() ||
353
- !stat.isFile() ||
354
- stat.nlink !== 1 ||
355
- stat.size > limit ||
356
- !unaliased(path, physical(path)))
374
+ // A marker is a plain, unaliased, single-link file of at most 1 MiB, or 8 MiB for a pending journal, read through
375
+ // the descriptor that judged it; one named in another case, or gone since the listing, is as unsafe.
376
+ if (name !== name.toLowerCase())
377
+ throw new Error('Unsafe context ownership marker');
378
+ const content = stateBytes(resolve(directory, name), 'Unsafe context ownership marker', pending || guardPending ? 8 * 1024 * 1024 : STATE_LIMIT);
379
+ if (content === undefined)
357
380
  throw new Error('Unsafe context ownership marker');
358
- const content = readFileSync(path);
359
- if (content.length > limit)
360
- throw new Error('Context ownership marker exceeds its bound');
361
381
  const row = decodeDistributionJson(new TextDecoder('utf-8', { fatal: true }).decode(content));
362
382
  if (!object(row) || typeof row['id'] !== 'string' || !/^[a-z][a-z0-9-]{0,63}$/.test(row['id']))
363
383
  throw new Error('Invalid context ownership marker');
@@ -400,8 +420,8 @@ function contextSettingsManaged(root, includeContext = true) {
400
420
  }
401
421
  }
402
422
  else if (hooks) {
403
- // The `@hook` groups' ownership state (plan amendment C9): the settings that hold them, and the launcher they run,
404
- // are managed as the retired guard's were.
423
+ // The `@hook` groups' ownership state: the settings that hold them, and the launcher they run, are managed as the
424
+ // retired guard's were.
405
425
  if (Object.keys(row)
406
426
  .filter((key) => key !== 'existing')
407
427
  .sort()
@@ -549,12 +569,10 @@ function sourceGuardRegistered(root) {
549
569
  function actorMap(path, revision) {
550
570
  if (!isAbsolute(path) || !unaliased(path, physical(path)))
551
571
  throw new Error('Actor map must be an absolute unaliased file');
552
- const stat = lstatSync(path);
553
- if (!stat.isFile() || stat.nlink !== 1 || stat.size > 1024 * 1024)
572
+ // A plain single-link file of at most 1 MiB, read through the descriptor that judged it; a missing map is as invalid.
573
+ const content = stateBytes(path, 'Invalid actor map file');
574
+ if (content === undefined)
554
575
  throw new Error('Invalid actor map file');
555
- const content = readFileSync(path);
556
- if (content.length > 1024 * 1024)
557
- throw new Error('Actor map exceeds 1 MiB');
558
576
  const value = JSON.parse(new TextDecoder('utf-8', { fatal: true }).decode(content));
559
577
  if (!object(value) ||
560
578
  Object.keys(value).sort().join('|') !== 'actors|format|revision' ||
@@ -723,13 +741,13 @@ const admissionOf = (db) => !db.report.findings.some((finding) => finding.severi
723
741
  ? 'mandate'
724
742
  : 'refuses';
725
743
  /**
726
- * The commands that bring a registration whose hook or records cannot be read back in step, each runnable from a shell in
727
- * that very state (review findings G-R7, H-R2 and H-R8): removing the host registration, which restores editing and
728
- * needs neither an admitting workspace nor readable records; and, only where the workspace admits, re-registering its
729
- * current hooks, which removes a group whose record is gone. Where it does not admit, `ia validate` shows why; where an
730
- * authored `@mandate`, or a record a mandate resolution reads, failed admission, `ia validate` refuses like every
731
- * mandate-gated command (lane D), so the admission report, the version 1 machine route `ia report`, shows it instead,
732
- * its root spelled only when inert unquoted, else run from the workspace root (runtime `admissionReport`; review D-R1).
744
+ * The commands that bring a registration whose hook or records cannot be read back in step, each runnable from a shell
745
+ * in that very state: removing the host registration, which restores editing and needs neither an admitting workspace
746
+ * nor readable records; and, only where the workspace admits, re-registering its current hooks, which removes a group
747
+ * whose record is gone. Where it does not admit, `ia validate` shows why; where an authored `@mandate`, or a record a
748
+ * mandate resolution reads, failed admission, `ia validate` refuses like every mandate-gated command, so the admission
749
+ * report, the version 1 machine route `ia report`, shows it instead, its root spelled only when inert unquoted, else
750
+ * run from the workspace root (runtime `admissionReport`).
733
751
  */
734
752
  const rootCommand = (command, root, tail = '') => inertCommandRoot(root)
735
753
  ? `"${command} --root ${JSON.stringify(root)}${tail}"`
@@ -745,17 +763,16 @@ const recovery = (root, admission) => {
745
763
  return `run ${remove} from a shell to remove the registration and restore editing, and ${rootCommand('ia validate', root)} to see why the workspace does not admit before registering again`;
746
764
  };
747
765
  /**
748
- * The `@mandate` guard (milestone generation-binding, plan amendments C9 and C10): one authored `@hook`'s group runs
749
- * `guard --root <root> --hook <identity>` for every edit tool. The same input checks, path safety and managed-state
750
- * protection as the legacy guard run first, whatever tools the hook names, so no hook leaves the guard's own
751
- * registration, the installation state or the owned projection open (the retired steward rule is not one of them). Then
752
- * the admitted authored `@hook` the registration names is read as hook generation declares it, and runtime's
753
- * evaluateMandateGuard decides the edit: allowed unless the hook selects it (its paths select the file and its tools
754
- * name the tool) and the actor is unknown or holds no governing mandate that grants Synthesis there. A selected path
755
- * reached through an alias is refused. What cannot be read refuses with a code; nothing is allowed because something was
756
- * unreadable once the hook is known to select the edit. When the hook's record, or the workspace's records at all,
757
- * cannot be read, the registration refuses only the edits under the selection last registered for it, or every edit
758
- * under the root when none is recorded (review findings G-N4 and H-R8).
766
+ * The `@mandate` guard: one authored `@hook`'s group runs `guard --root <root> --hook <identity>` for every edit tool.
767
+ * The same input checks, path safety and managed-state protection as the legacy guard run first, whatever tools the
768
+ * hook names, so no hook leaves the guard's own registration, the installation state or the owned projection open (the
769
+ * retired steward rule is not one of them). Then the admitted authored `@hook` the registration names is read as hook
770
+ * generation declares it, and runtime's evaluateMandateGuard decides the edit: allowed unless the hook selects it (its
771
+ * paths select the file and its tools name the tool) and the actor is unknown or holds no governing mandate that grants
772
+ * Synthesis there. A selected path reached through an alias is refused. What cannot be read refuses with a code;
773
+ * nothing is allowed because something was unreadable once the hook is known to select the edit. When the hook's
774
+ * record, or the workspace's records at all, cannot be read, the registration refuses only the edits under the
775
+ * selection last registered for it, or every edit under the root when none is recorded.
759
776
  */
760
777
  export function evaluateMandateHook(root, hook, event) {
761
778
  if (!editEvent(event))
@@ -780,8 +797,7 @@ export function evaluateMandateHook(root, hook, event) {
780
797
  if (paths.length === 0)
781
798
  return {};
782
799
  // A file with more than one link has another name a hook may select, which the guard cannot find: the edit is refused
783
- // wherever it is under the root rather than decided by the name it was typed with (guard review finding G-N3; a pnpm
784
- // store link is such a file, H-N13).
800
+ // wherever it is under the root rather than decided by the name it was typed with (a pnpm store link is such a file).
785
801
  try {
786
802
  const linked = lstatSync(edit.actual, { throwIfNoEntry: false });
787
803
  if (linked !== undefined && linked.isFile() && linked.nlink > 1)
@@ -791,8 +807,8 @@ export function evaluateMandateHook(root, hook, event) {
791
807
  return deny('IA-HOOK-PATH-UNSAFE', error instanceof Error ? error.message : String(error));
792
808
  }
793
809
  // What cannot be read refuses no more than the selection the hook was registered with, which the hook ownership state
794
- // recorded (guard review finding G-N4, review finding H-R8): edits elsewhere, the repair among them unless that
795
- // selection holds it, proceed. With no recorded selection, every edit under the root is refused.
810
+ // recorded: edits elsewhere, the repair among them unless that selection holds it, proceed. With no recorded
811
+ // selection, every edit under the root is refused.
796
812
  const unavailable = (code, why, admission) => {
797
813
  let selection, unreadable;
798
814
  try {
@@ -811,8 +827,8 @@ export function evaluateMandateHook(root, hook, event) {
811
827
  fold,
812
828
  }))
813
829
  return {};
814
- // An unreadable state is one the removal refuses too: its repair, from a shell, is deleting the state and the groups
815
- // it owns, which restores editing; the removal then takes the rest of the registration (review finding A-F3).
830
+ // An unreadable state is one the removal refuses too: its repair, from a shell, is deleting the state and the
831
+ // groups it owns, which restores editing; the removal then takes the rest of the registration.
816
832
  if (unreadable !== undefined)
817
833
  return deny(code, `${why}; the hook ownership state ${unreadable} cannot be read, so every edit under the root is refused; from a shell, delete ${unreadable} and every IA hook group in .claude/settings.local.json (each runs the guard for one authored @hook) to restore editing, then run ${rootCommand('ia host claude', edit.base, ' --remove --apply --yes')} to remove the rest of the registration`);
818
834
  return deny(code, `${why}; ${selection === undefined ? 'no registered selection is recorded, so every edit under the root is refused' : 'this edit is under its last registered selection'}; ${recovery(edit.base, admission)}`);
@@ -827,7 +843,7 @@ export function evaluateMandateHook(root, hook, event) {
827
843
  }
828
844
  try {
829
845
  let within, nodes;
830
- // Review D-R4: the admission is read first, so records that then cannot be read still name what runs there.
846
+ // The admission is read first, so records that then cannot be read still name what runs there.
831
847
  let admission = 'refuses';
832
848
  try {
833
849
  admission = admissionOf(db);
@@ -840,8 +856,8 @@ export function evaluateMandateHook(root, hook, event) {
840
856
  return unavailable('IA-HOOK-MANDATE-UNAVAILABLE', `The workspace's records cannot be read: ${message(error)}`, admission);
841
857
  }
842
858
  /**
843
- * Review D-N1: a hook that cannot be decided while a record a mandate resolution reads failed admission (the hook in
844
- * the refused mandate's own file, say) fails closed at that record, as a decided edit would.
859
+ * A hook that cannot be decided while a record a mandate resolution reads failed admission (the hook in the refused
860
+ * mandate's own file, say) fails closed at that record, as a decided edit would.
845
861
  */
846
862
  const undecided = (why) => {
847
863
  try {
@@ -863,7 +879,7 @@ export function evaluateMandateHook(root, hook, event) {
863
879
  catch (error) {
864
880
  return undecided(message(error));
865
881
  }
866
- // `root` spells the registration's root into a next command that cannot find it (`ia report`; lane D, D4).
882
+ // `root` spells the registration's root into a next command that cannot find it (`ia report`).
867
883
  const request = {
868
884
  hook: declaration,
869
885
  tool: event.tool_name,
@@ -880,17 +896,16 @@ export function evaluateMandateHook(root, hook, event) {
880
896
  const decision = evaluateMandateGuard(db, within, request);
881
897
  if (decision.allowed)
882
898
  return {};
883
- // Guard review finding G-N1: a refusal of the main session names the shell command that lifts every hook, which
884
- // needs neither an admitting workspace nor readable records (H-R2, H-R8); a subagent's refusal is the main
885
- // session's to resolve.
899
+ // A refusal of the main session names the shell command that lifts every hook, which needs neither an admitting
900
+ // workspace nor readable records; a subagent's refusal is the main session's to resolve.
886
901
  const lift = event['agent_id'] === undefined
887
902
  ? `; the main session can lift every hook from a shell with ${rootCommand('ia host claude', edit.base, ' --remove --apply --yes')}`
888
903
  : '';
889
904
  return deny(decision.code, decision.message + lift);
890
905
  }
891
906
  catch (error) {
892
- // `ia validate` is mandate-gated and may refuse in the very state that failed here (lane D); the admission report,
893
- // the version 1 machine route, never is. Its root is spelled only when inert unquoted (review D-R1, D-N2).
907
+ // `ia validate` is mandate-gated and may refuse in the very state that failed here; the admission report, the
908
+ // version 1 machine route, never is. Its root is spelled only when inert unquoted.
894
909
  const report = admissionReport(edit.base);
895
910
  return deny('IA-HOOK-MANDATE-UNAVAILABLE', `The records that decide this edit cannot be read: ${message(error)}. Next: ${report.command}${report.fromRoot ? ', run from the workspace root' : ''}`);
896
911
  }
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inventarch/steward-hook",
3
- "version": "3.1.0",
3
+ "version": "3.2.0",
4
4
  "type": "module",
5
5
  "main": "./dist/main.js",
6
6
  "types": "./dist/main.d.ts",
@@ -13,9 +13,9 @@
13
13
  "LANGUAGE.md"
14
14
  ],
15
15
  "dependencies": {
16
- "@inventarch/runtime": "3.1.0",
17
- "@inventarch/workspace-runtime": "3.1.0",
18
- "@inventarch/db": "3.1.0"
16
+ "@inventarch/runtime": "3.2.0",
17
+ "@inventarch/workspace-runtime": "3.2.0",
18
+ "@inventarch/db": "3.2.0"
19
19
  },
20
20
  "devDependencies": {
21
21
  "@types/node": "^22.19.0",