@inventarch/steward-hook 2.0.0 → 3.1.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/SPEC.md CHANGED
@@ -1,7 +1,13 @@
1
1
  # @inventarch/steward-hook
2
2
 
3
+ Both guard modes refuse a path with an existing symbolic link or junction whose target cannot be resolved, including a dangling ancestor of a missing leaf and a chain ending at an absent target. Only a component that `lstat` itself reports missing is rebuilt beneath its resolved parent. A `realpath` failure for an existing component remains `IA-HOOK-PATH-UNSAFE`; it cannot erase that component's alias and bypass selected-path or managed-state protection. Ordinary missing files under a resolvable parent keep their existing decisions.
4
+
5
+ Shell-safe recovery roots: a guard's suggested removal, registration and validation commands substitute `--root .` and explicitly say to run from the workspace root when its fixed registration path contains shell-active characters. JSON quoting alone is not a shell escape. Ordinary roots, including spaces, retain existing quoting; the admission report retains its stricter unquoted-root rule. This changes only guidance, not the guard's decision, authority resolution or ownership recovery.
6
+
3
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.
4
8
 
5
- 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. The state's parsing and allowlist are unchanged. The `ia guard` entry and this package are kept for milestone generation-binding, which re-keys the guard to `@mandate` scope; until then no release registers the guard, so edits under `.ia/src/systems/<name>/` reach this hook only where an earlier registration survives.
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.
6
10
 
7
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
+
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).
package/dist/main.d.ts CHANGED
@@ -7,6 +7,32 @@ export interface HookOutput {
7
7
  };
8
8
  }
9
9
  export declare function deny(code: HookCode, message: string): HookOutput;
10
+ /**
11
+ * A refusal as the host may display it: authored text (a `@hook`'s message) and paths reach the reason, so terminal
12
+ * escape sequences are removed and every other C0 or C1 control, line or paragraph separator and bidirectional control
13
+ * becomes a space; the reason is bounded.
14
+ */
15
+ export declare function printable(text: string): string;
16
+ /**
17
+ * Whether a win32 path holds a `:` other than its drive designator's: after an optional `\\?\` or `\\.\` prefix and an
18
+ * optional `X:` drive, any further `:` names a stream or a drive-relative spelling.
19
+ */
20
+ export declare function streamed(path: string): boolean;
21
+ /** The legacy guard: managed-state protection and the retired steward rule for `.ia/src/systems/<name>/`. */
10
22
  export declare function evaluateHook(root: string, event: unknown, actorsPath?: string): HookOutput;
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).
35
+ */
36
+ export declare function evaluateMandateHook(root: string, hook: string, event: unknown): HookOutput;
11
37
  export declare function runHook(args: readonly string[], input: string): HookOutput;
12
38
  //# sourceMappingURL=main.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAIpD,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;AAieD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,UAAU,CAuH1F;AACD,wBAAgB,OAAO,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,CAgB1E"}
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"}
package/dist/main.js CHANGED
@@ -1,21 +1,35 @@
1
1
  import { closeSync, constants, fstatSync, lstatSync, openSync, readSync, readdirSync, readFileSync, realpathSync, } from 'node:fs';
2
2
  import { basename, dirname, isAbsolute, relative, resolve, sep } from 'node:path';
3
- import { evaluateSteward, isEntry, openDatabase } from '@inventarch/runtime';
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';
5
5
  import { decodeDistributionJson } from '@inventarch/db/distribution';
6
+ import { hookDeclaration, registrableHook } from '@inventarch/workspace-runtime/internal/generate';
6
7
  export function deny(code, message) {
7
8
  return {
8
9
  hookSpecificOutput: {
9
10
  hookEventName: 'PreToolUse',
10
11
  permissionDecision: 'deny',
11
- permissionDecisionReason: `${code}: ${message}`,
12
+ permissionDecisionReason: printable(`${code}: ${message}`),
12
13
  },
13
14
  };
14
15
  }
16
+ // Built from strings: the classes name the control characters themselves.
17
+ const ESCAPES = new RegExp('\\u001b(?:\\[[0-?]*[ -/]*[@-~]|\\][^\\u0007\\u001b]*(?:\\u0007|\\u001b\\\\)?|[@-_])', 'g'), CONTROLS = new RegExp('[\\u0000-\\u001f\\u007f-\\u009f\\u061c\\u200e\\u200f\\u2028\\u2029\\u202a-\\u202e\\u2066-\\u2069]', 'g');
18
+ /**
19
+ * A refusal as the host may display it: authored text (a `@hook`'s message) and paths reach the reason, so terminal
20
+ * escape sequences are removed and every other C0 or C1 control, line or paragraph separator and bidirectional control
21
+ * becomes a space; the reason is bounded.
22
+ */
23
+ export function printable(text) {
24
+ return text.replace(ESCAPES, '').replace(CONTROLS, ' ').slice(0, 4096);
25
+ }
15
26
  function object(value) {
16
27
  return typeof value === 'object' && value !== null && !Array.isArray(value);
17
28
  }
18
- /** Rules match names as the volume does: case on win32; normalization and full case folding on darwin (#315, #323). */
29
+ /**
30
+ * Rules key names with db `pathKey`: case on win32; normalization and full case folding on darwin (#315, #323). It folds
31
+ * by platform, whatever the volume, so on a case-sensitive directory there a sibling spelled in another case matches too.
32
+ */
19
33
  const fold = pathKey;
20
34
  function local(root, target) {
21
35
  const rel = relative(fold(root), fold(target));
@@ -24,7 +38,6 @@ function local(root, target) {
24
38
  function physical(path) {
25
39
  try {
26
40
  lstatSync(path);
27
- return realpathSync.native(path);
28
41
  }
29
42
  catch (error) {
30
43
  if (error.code !== 'ENOENT')
@@ -34,6 +47,9 @@ function physical(path) {
34
47
  throw error;
35
48
  return resolve(physical(parent), relative(parent, path));
36
49
  }
50
+ // An existing link whose target is absent is not an ordinary missing component. Its realpath failure must refuse
51
+ // the edit, including when this is an ancestor of a missing leaf or another link; never rebuild its lexical name.
52
+ return realpathSync.native(path);
37
53
  }
38
54
  /** Paths every workspace protects: the native installation state. */
39
55
  function installation(path) {
@@ -114,11 +130,61 @@ function legacySteward(target) {
114
130
  closeSync(fd);
115
131
  }
116
132
  }
133
+ /**
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.
138
+ */
139
+ function readState(path, unsafe) {
140
+ let fd;
141
+ try {
142
+ fd = openSync(path, constants.O_RDONLY | (constants.O_NOFOLLOW ?? 0) | (constants.O_NONBLOCK ?? 0));
143
+ }
144
+ catch (error) {
145
+ if (error.code === 'ENOENT')
146
+ return undefined;
147
+ throw error;
148
+ }
149
+ try {
150
+ const stat = fstatSync(fd, { bigint: true }), limit = 1024 * 1024;
151
+ const same = (value) => value.isFile() &&
152
+ value.nlink === 1n &&
153
+ value.dev === stat.dev &&
154
+ value.ino === stat.ino &&
155
+ value.size === stat.size &&
156
+ value.mtimeNs === stat.mtimeNs &&
157
+ value.ctimeNs === stat.ctimeNs;
158
+ if (!same(stat) ||
159
+ stat.size > BigInt(limit) ||
160
+ !same(lstatSync(path, { bigint: true })) ||
161
+ !unaliased(path, physical(path)))
162
+ throw new Error(unsafe);
163
+ const content = Buffer.alloc(limit + 1);
164
+ let size = 0;
165
+ for (;;) {
166
+ const count = readSync(fd, content, size, content.length - size, null);
167
+ size += count;
168
+ if (count === 0 || size === content.length)
169
+ break;
170
+ }
171
+ if (size > limit ||
172
+ BigInt(size) !== stat.size ||
173
+ !same(fstatSync(fd, { bigint: true })) ||
174
+ !same(lstatSync(path, { bigint: true })))
175
+ throw new Error(unsafe);
176
+ return content.subarray(0, size);
177
+ }
178
+ finally {
179
+ closeSync(fd);
180
+ }
181
+ }
117
182
  /**
118
183
  * `ownership` is undefined in a legacy workspace (no projection state) and is read only when a candidate path needs it;
119
- * `steward` says whether the edited file, at a legacy-mode agent path, is still a 1.x steward file.
184
+ * `steward` says whether the edited file, at a legacy-mode agent path, is still a 1.x steward file. `systems` locates the
185
+ * retired steward rule's system folders, which only the legacy mode enforces.
120
186
  */
121
- function protection(path, ownership, steward) {
187
+ function protection(path, ownership, steward, systems = true) {
122
188
  if (path === undefined)
123
189
  return undefined;
124
190
  if (installation(path))
@@ -133,7 +199,7 @@ function protection(path, ownership, steward) {
133
199
  if (owned === undefined ? steward() : owned.files.has(path))
134
200
  return { projection: true };
135
201
  }
136
- if (path === '.ia/src/systems' || path.startsWith('.ia/src/systems/')) {
202
+ if (systems && (path === '.ia/src/systems' || path.startsWith('.ia/src/systems/'))) {
137
203
  const system = path.split('/')[3];
138
204
  return system !== undefined && /^[a-z][a-z0-9-]*$/.test(system) ? { system } : { invalid: true };
139
205
  }
@@ -156,14 +222,19 @@ function hostsArea(root) {
156
222
  }
157
223
  /**
158
224
  * The same projection allowlist `@inventarch/distribution` validates a state against (projection.ts), so a state cannot
159
- * claim other paths: the packet's two files per host, and for claude a 1.x steward file a state still lists until the
160
- * next apply removes it (B9). The state format is unchanged.
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.
161
228
  */
162
229
  const PROJECTION_OWNED = {
163
230
  claude: (path) => path === '.claude/rules/ia-workspace.md' ||
164
231
  path === '.claude/skills/ia-authoring/SKILL.md' ||
165
- /^\.claude\/agents\/[a-z][a-z0-9-]*\.md$/.test(path),
166
- codex: (path) => path === 'AGENTS.md' || path === '.agents/skills/ia-authoring/SKILL.md',
232
+ /^\.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.
234
+ /^\.claude\/skills\/[a-z][a-z0-9-]*\/SKILL\.md$/.test(path),
235
+ codex: (path) => path === 'AGENTS.md' ||
236
+ path === '.agents/skills/ia-authoring/SKILL.md' ||
237
+ /^\.agents\/skills\/[a-z][a-z0-9-]*\/SKILL\.md$/.test(path),
167
238
  };
168
239
  /**
169
240
  * A bounded read of the projection ownership states, not a validation of the projected bytes. Undefined when neither
@@ -176,21 +247,9 @@ function projectionOwnership(root) {
176
247
  const files = new Set();
177
248
  let found = false;
178
249
  for (const host of ['claude', 'codex']) {
179
- const path = resolve(directory, `${host}-projection.json`);
180
- let stat;
181
- try {
182
- stat = lstatSync(path);
183
- }
184
- catch (error) {
185
- if (error.code === 'ENOENT')
186
- continue;
187
- throw error;
188
- }
189
- if (!stat.isFile() || stat.nlink !== 1 || stat.size > 1024 * 1024 || !unaliased(path, physical(path)))
190
- throw new Error('Unsafe projection ownership state');
191
- const content = readFileSync(path);
192
- if (content.length > 1024 * 1024)
193
- throw new Error('Projection ownership state exceeds its bound');
250
+ const content = readState(resolve(directory, `${host}-projection.json`), 'Unsafe projection ownership state');
251
+ if (content === undefined)
252
+ continue;
194
253
  const row = decodeDistributionJson(new TextDecoder('utf-8', { fatal: true }).decode(content));
195
254
  if (!object(row) ||
196
255
  Object.keys(row).sort().join('|') !== 'files|format|host' ||
@@ -223,6 +282,50 @@ function projectionOwnership(root) {
223
282
  }
224
283
  return { files, codex };
225
284
  }
285
+ /**
286
+ * The selection a hook ownership state (`claude-hooks-<id>.json`) recorded for `hook` when its group was registered, or
287
+ * undefined when none records one. The state is read as the other ownership states are: a plain, unaliased, single-link,
288
+ * bounded file of the expected format, else this throws and the caller refuses.
289
+ */
290
+ function registeredSelection(root, hook) {
291
+ const directory = hostsArea(root);
292
+ if (directory === undefined)
293
+ return undefined;
294
+ for (const name of readdirSync(directory).sort()) {
295
+ if (!/^claude-hooks-[a-z][a-z0-9-]{0,63}\.json$/.test(name))
296
+ continue;
297
+ let row;
298
+ try {
299
+ // A state the listing named that is gone by the read refuses, as one that changed does.
300
+ const content = readState(resolve(directory, name), 'Unsafe hook ownership state');
301
+ if (content === undefined)
302
+ throw new Error('Hook ownership state disappeared while read');
303
+ row = decodeDistributionJson(new TextDecoder('utf-8', { fatal: true }).decode(content));
304
+ if (!object(row) || row['format'] !== 'ia.hook-registration-state.v1' || !Array.isArray(row['groups']))
305
+ throw new Error('Invalid hook ownership state');
306
+ }
307
+ catch (error) {
308
+ // The state file that could not be read, root-relative, so a refusal can name its repair (review finding A-F3).
309
+ throw new UnreadableHookState(`.ia/distributions/hosts/${name}`, error);
310
+ }
311
+ for (const group of row['groups'])
312
+ if (object(group) &&
313
+ group['hook'] === hook &&
314
+ Array.isArray(group['paths']) &&
315
+ group['paths'].length > 0 &&
316
+ group['paths'].every((path) => typeof path === 'string'))
317
+ return group['paths'];
318
+ }
319
+ return undefined;
320
+ }
321
+ /** A hook ownership state the guard could not read, by its root-relative path. */
322
+ class UnreadableHookState extends Error {
323
+ path;
324
+ constructor(path, cause) {
325
+ super(`${path} cannot be read: ${cause instanceof Error ? cause.message : String(cause)}`);
326
+ this.path = path;
327
+ }
328
+ }
226
329
  function contextSettingsManaged(root, includeContext = true) {
227
330
  const directory = resolve(root, '.ia/distributions/hosts');
228
331
  let names;
@@ -242,8 +345,8 @@ function contextSettingsManaged(root, includeContext = true) {
242
345
  const launchers = [];
243
346
  for (const name of names) {
244
347
  const match = /^claude-context-([a-z][a-z0-9-]{0,63})\.json$/.exec(fold(name)), pending = fold(name) === 'lifecycle-pending.json';
245
- const guard = /^claude-guard-([a-z][a-z0-9-]{0,63})\.json$/.exec(fold(name)), guardPending = fold(name) === 'guard-pending.json';
246
- if (!guard && !guardPending && (!includeContext || (!match && !pending)))
348
+ 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
+ if (!guard && !guardPending && !hooks && (!includeContext || (!match && !pending)))
247
350
  continue;
248
351
  const path = resolve(directory, name), stat = lstatSync(path), limit = pending || guardPending ? 8 * 1024 * 1024 : 1024 * 1024;
249
352
  if (name !== name.toLowerCase() ||
@@ -271,8 +374,11 @@ function contextSettingsManaged(root, includeContext = true) {
271
374
  }
272
375
  }
273
376
  else if (guardPending) {
377
+ // One journal serves the retired steward guard's registration and the `@hook` groups' (distribution
378
+ // guard-registration.ts): each names its own state format.
379
+ const hookJournal = row['format'] === 'ia.hook-registration-pending.v1';
274
380
  if (Object.keys(row).sort().join('|') !== 'after|before|format|id' ||
275
- row['format'] !== 'ia.guard-registration-pending.v1')
381
+ (row['format'] !== 'ia.guard-registration-pending.v1' && !hookJournal))
276
382
  throw new Error('Invalid pending guard ownership');
277
383
  for (const key of ['before', 'after']) {
278
384
  const side = row[key];
@@ -284,7 +390,7 @@ function contextSettingsManaged(root, includeContext = true) {
284
390
  if (typeof side['state'] === 'string') {
285
391
  const state = decodeDistributionJson(side['state']);
286
392
  if (!object(state) ||
287
- state['format'] !== 'ia.guard-registration-state.v1' ||
393
+ state['format'] !== (hookJournal ? 'ia.hook-registration-state.v1' : 'ia.guard-registration-state.v1') ||
288
394
  state['id'] !== row['id'] ||
289
395
  typeof state['cache'] !== 'string' ||
290
396
  !isAbsolute(state['cache']))
@@ -293,6 +399,26 @@ function contextSettingsManaged(root, includeContext = true) {
293
399
  }
294
400
  }
295
401
  }
402
+ 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.
405
+ if (Object.keys(row)
406
+ .filter((key) => key !== 'existing')
407
+ .sort()
408
+ .join('|') !== 'cache|created|format|groups|id|release' ||
409
+ (row['existing'] !== undefined && !Array.isArray(row['existing'])) ||
410
+ row['format'] !== 'ia.hook-registration-state.v1' ||
411
+ row['id'] !== hooks[1] ||
412
+ typeof row['cache'] !== 'string' ||
413
+ !isAbsolute(row['cache']) ||
414
+ typeof row['created'] !== 'boolean' ||
415
+ !Array.isArray(row['groups']) ||
416
+ typeof row['release'] !== 'string' ||
417
+ !/^[a-f0-9]{64}$/.test(row['release']))
418
+ throw new Error('Invalid hook ownership state');
419
+ guardManaged = true;
420
+ launchers.push(resolve(row['cache'], 'scripts/ia.mjs'));
421
+ }
296
422
  else if (guard) {
297
423
  if (Object.keys(row)
298
424
  .filter((key) => key !== 'existing')
@@ -467,18 +593,32 @@ function anchored(root, target) {
467
593
  current = parent;
468
594
  }
469
595
  }
470
- export function evaluateHook(root, event, actorsPath) {
471
- if (!object(event) ||
472
- event['hook_event_name'] !== 'PreToolUse' ||
473
- !['Write', 'Edit', 'MultiEdit'].includes(String(event['tool_name'])) ||
474
- !object(event['tool_input']) ||
475
- typeof event['tool_input']['file_path'] !== 'string' ||
476
- !event['tool_input']['file_path'].trim() ||
477
- event['tool_input']['file_path'].includes('\0') ||
478
- (event['tool_name'] === 'MultiEdit' && !Array.isArray(event['tool_input']['edits'])))
479
- return deny('IA-HOOK-INPUT-INVALID', 'Expected a PreToolUse file edit event');
596
+ /**
597
+ * Whether a win32 path holds a `:` other than its drive designator's: after an optional `\\?\` or `\\.\` prefix and an
598
+ * optional `X:` drive, any further `:` names a stream or a drive-relative spelling.
599
+ */
600
+ export function streamed(path) {
601
+ const rest = path.replace(/^[\\/]{2}[?.][\\/]/, '').replace(/^[A-Za-z]:/, '');
602
+ return rest.includes(':');
603
+ }
604
+ function editEvent(event) {
605
+ return (object(event) &&
606
+ event['hook_event_name'] === 'PreToolUse' &&
607
+ ['Write', 'Edit', 'MultiEdit'].includes(String(event['tool_name'])) &&
608
+ object(event['tool_input']) &&
609
+ typeof event['tool_input']['file_path'] === 'string' &&
610
+ !!event['tool_input']['file_path'].trim() &&
611
+ !event['tool_input']['file_path'].includes('\0') &&
612
+ !(event['tool_name'] === 'MultiEdit' && !Array.isArray(event['tool_input']['edits'])));
613
+ }
614
+ /**
615
+ * The path safety and managed-state protection both modes share. Throws, for IA-HOOK-PATH-UNSAFE, on an unusable root,
616
+ * a relative path without a cwd inside it, unreadable ownership, and a protected path reached through an alias. With
617
+ * `systems`, the retired steward rule's `.ia/src/systems/<name>/` folders are located too (the legacy mode only).
618
+ */
619
+ function editTarget(root, event, systems) {
480
620
  let rule, base;
481
- try {
621
+ {
482
622
  if (!isAbsolute(root))
483
623
  throw new Error('Binding requires an absolute fixed project root');
484
624
  // The registered root as the volume stores it: another case or normalization of the same directory is the same
@@ -489,6 +629,11 @@ export function evaluateHook(root, event, actorsPath) {
489
629
  throw new Error('Project root is aliased');
490
630
  base = real;
491
631
  const path = event['tool_input']['file_path'];
632
+ // On win32 a `:` after the drive designator names an alternate data stream (`x.md::$DATA`, `x.md:s`) or a
633
+ // drive-relative path: the write lands on a file the typed spelling does not name, so it is refused before any rule
634
+ // or selection reads it.
635
+ if (process.platform === 'win32' && streamed(path))
636
+ throw new Error('A path naming an alternate data stream or a drive-relative path is refused');
492
637
  if (!isAbsolute(path) &&
493
638
  (typeof event['cwd'] !== 'string' ||
494
639
  !isAbsolute(event['cwd']) ||
@@ -511,7 +656,7 @@ export function evaluateHook(root, event, actorsPath) {
511
656
  }
512
657
  return owned;
513
658
  };
514
- rule = spellings.reduce((found, spelling) => found ?? protection(spelling, ownership, () => legacySteward(actual)), undefined);
659
+ rule = spellings.reduce((found, spelling) => found ?? protection(spelling, ownership, () => legacySteward(actual), systems), undefined);
515
660
  const localSettings = spellings.includes('.claude/settings.local.json'), projectSettings = spellings.includes('.claude/settings.json');
516
661
  const sourceLauncher = spellings.includes('.claude/hooks/steward-write.mjs');
517
662
  // A cached launcher can be outside the consumer root. Only the exact path in its owned guard marker is managed.
@@ -530,12 +675,24 @@ export function evaluateHook(root, event, actorsPath) {
530
675
  throw new Error('Protected path has an aliased ancestor or target');
531
676
  if (rule?.invalid)
532
677
  throw new Error('Cannot identify the owning system');
678
+ return { base, target, actual, spellings, rule };
679
+ }
680
+ }
681
+ const MANAGED = 'Use the owning command for generated state. Guard settings require a trusted operator edit outside intercepted assistant tools, preserving the guard, followed by registration qualification';
682
+ /** The legacy guard: managed-state protection and the retired steward rule for `.ia/src/systems/<name>/`. */
683
+ export function evaluateHook(root, event, actorsPath) {
684
+ if (!editEvent(event))
685
+ return deny('IA-HOOK-INPUT-INVALID', 'Expected a PreToolUse file edit event');
686
+ let edit;
687
+ try {
688
+ edit = editTarget(root, event, true);
533
689
  }
534
690
  catch (error) {
535
691
  return deny('IA-HOOK-PATH-UNSAFE', error instanceof Error ? error.message : String(error));
536
692
  }
693
+ const { base, rule } = edit;
537
694
  if (rule?.projection)
538
- return deny('IA-HOOK-PROJECTION-MANAGED', 'Use the owning command for generated state. Guard settings require a trusted operator edit outside intercepted assistant tools, preserving the guard, followed by registration qualification');
695
+ return deny('IA-HOOK-PROJECTION-MANAGED', MANAGED);
539
696
  if (rule?.system === undefined)
540
697
  return {};
541
698
  try {
@@ -559,14 +716,199 @@ export function evaluateHook(root, event, actorsPath) {
559
716
  return deny('IA-HOOK-STEWARD-UNAVAILABLE', error instanceof Error ? error.message : String(error));
560
717
  }
561
718
  }
719
+ /** The workspace's admission as `recovery` names it, read from an open database. */
720
+ const admissionOf = (db) => !db.report.findings.some((finding) => finding.severity === 'error')
721
+ ? 'admits'
722
+ : refusedMandates(db).length > 0 || refusedDependencies(db).length > 0
723
+ ? 'mandate'
724
+ : 'refuses';
725
+ /**
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).
733
+ */
734
+ const rootCommand = (command, root, tail = '') => inertCommandRoot(root)
735
+ ? `"${command} --root ${JSON.stringify(root)}${tail}"`
736
+ : `"${command} --root .${tail}" from the workspace root`;
737
+ const recovery = (root, admission) => {
738
+ const remove = rootCommand('ia host claude', root, ' --remove --apply --yes');
739
+ if (admission === 'admits')
740
+ return `run ${rootCommand('ia host claude', root, ' --apply --yes')} from a shell to register the workspace's current hooks, or ${remove} to remove the registration and restore editing`;
741
+ if (admission === 'mandate') {
742
+ const report = admissionReport(root);
743
+ return `run ${remove} from a shell to remove the registration and restore editing, and "${report.command}"${report.fromRoot ? ' from the workspace root' : ''} for the admission findings, the refused record's among them, before registering again`;
744
+ }
745
+ 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
+ };
747
+ /**
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).
759
+ */
760
+ export function evaluateMandateHook(root, hook, event) {
761
+ if (!editEvent(event))
762
+ return deny('IA-HOOK-INPUT-INVALID', 'Expected a PreToolUse file edit event');
763
+ if (!registrableHook(hook))
764
+ return deny('IA-HOOK-INPUT-INVALID', 'Expected --hook <canonical @hook identity>');
765
+ let edit;
766
+ try {
767
+ edit = editTarget(root, event, false);
768
+ }
769
+ catch (error) {
770
+ return deny('IA-HOOK-PATH-UNSAFE', error instanceof Error ? error.message : String(error));
771
+ }
772
+ if (edit.rule?.projection)
773
+ return deny('IA-HOOK-PROJECTION-MANAGED', MANAGED);
774
+ // Folded root-relative spellings, the physical one first: its existing components are the names on disk (the deepest
775
+ // existing ancestor through realpathSync.native, which also expands a Windows 8.3 short name), its missing tail as
776
+ // typed. Selections and claims fold too (`fold`), so on win32 and darwin, whatever the volume, `DOCS/x.md` is under
777
+ // `docs/**` and `Docs/**` alike, and on other platforms each case is its own path. A selected file typed any other way than its on-disk name
778
+ // but by case (an 8.3 short name) fails the alias check below and is refused, never decided as typed.
779
+ const paths = [...new Set([edit.spellings[1], edit.spellings[0], ...edit.spellings.slice(2)])].filter((spelling) => spelling !== undefined);
780
+ if (paths.length === 0)
781
+ return {};
782
+ // 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).
785
+ try {
786
+ const linked = lstatSync(edit.actual, { throwIfNoEntry: false });
787
+ if (linked !== undefined && linked.isFile() && linked.nlink > 1)
788
+ return deny('IA-HOOK-PATH-UNSAFE', 'A file with more than one link is refused: another of its names may be guarded');
789
+ }
790
+ catch (error) {
791
+ return deny('IA-HOOK-PATH-UNSAFE', error instanceof Error ? error.message : String(error));
792
+ }
793
+ // 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.
796
+ const unavailable = (code, why, admission) => {
797
+ let selection, unreadable;
798
+ try {
799
+ selection = registeredSelection(edit.base, hook);
800
+ }
801
+ catch (error) {
802
+ selection = undefined;
803
+ unreadable =
804
+ error instanceof UnreadableHookState ? error.path : '.ia/distributions/hosts/claude-hooks-workspace.json';
805
+ }
806
+ if (selection !== undefined &&
807
+ !mandateGuardSelects({
808
+ hook: { identity: hook, tools: ['Write', 'Edit', 'MultiEdit'], paths: selection, message: '' },
809
+ tool: event.tool_name,
810
+ paths,
811
+ fold,
812
+ }))
813
+ 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).
816
+ if (unreadable !== undefined)
817
+ 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
+ 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)}`);
819
+ };
820
+ const message = (error) => (error instanceof Error ? error.message : String(error));
821
+ let db;
822
+ try {
823
+ db = openDatabase(edit.base, { cache: false });
824
+ }
825
+ catch (error) {
826
+ return unavailable('IA-HOOK-MANDATE-UNAVAILABLE', `The workspace's records cannot be read: ${message(error)}`, 'refuses');
827
+ }
828
+ try {
829
+ let within, nodes;
830
+ // Review D-R4: the admission is read first, so records that then cannot be read still name what runs there.
831
+ let admission = 'refuses';
832
+ try {
833
+ admission = admissionOf(db);
834
+ within = db.resolveScope().token;
835
+ nodes = db
836
+ .records({ within })
837
+ .filter((node) => node.discriminator === 'hook' && node.band === 100 && node.identity === hook);
838
+ }
839
+ catch (error) {
840
+ return unavailable('IA-HOOK-MANDATE-UNAVAILABLE', `The workspace's records cannot be read: ${message(error)}`, admission);
841
+ }
842
+ /**
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.
845
+ */
846
+ const undecided = (why) => {
847
+ try {
848
+ requireMandatesAdmitted(db, within);
849
+ }
850
+ catch (error) {
851
+ if (isAdmissionRefusal(error))
852
+ return unavailable('IA-HOOK-MANDATE-UNAVAILABLE', `${why}, and the mandates that would decide it cannot be read: ${error.message}`, admission);
853
+ throw error;
854
+ }
855
+ return unavailable('IA-HOOK-DECLARATION-UNAVAILABLE', why, admission);
856
+ };
857
+ if (nodes.length !== 1)
858
+ return undecided(`${hook} is not an admitted authored @hook`);
859
+ let declaration;
860
+ try {
861
+ declaration = hookDeclaration(nodes[0]);
862
+ }
863
+ catch (error) {
864
+ return undecided(message(error));
865
+ }
866
+ // `root` spells the registration's root into a next command that cannot find it (`ia report`; lane D, D4).
867
+ const request = {
868
+ hook: declaration,
869
+ tool: event.tool_name,
870
+ paths,
871
+ agentId: event['agent_id'],
872
+ agentType: event['agent_type'],
873
+ fold,
874
+ root: edit.base,
875
+ };
876
+ if (!mandateGuardSelects(request))
877
+ return {};
878
+ if (!unaliased(edit.target, edit.actual))
879
+ return deny('IA-HOOK-PATH-UNSAFE', 'Selected path has an aliased ancestor or target');
880
+ const decision = evaluateMandateGuard(db, within, request);
881
+ if (decision.allowed)
882
+ 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.
886
+ const lift = event['agent_id'] === undefined
887
+ ? `; the main session can lift every hook from a shell with ${rootCommand('ia host claude', edit.base, ' --remove --apply --yes')}`
888
+ : '';
889
+ return deny(decision.code, decision.message + lift);
890
+ }
891
+ 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).
894
+ const report = admissionReport(edit.base);
895
+ 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
+ }
897
+ finally {
898
+ db.close();
899
+ }
900
+ }
901
+ const USAGE = 'Usage: steward-hook --root <fixed absolute root> [--actors <trusted absolute mapping> | --hook <@hook identity>] (input limit 1 MiB)';
562
902
  export function runHook(args, input) {
563
903
  try {
564
- if (!(args.length === 2 || (args.length === 4 && args[2] === '--actors' && args[3])) ||
904
+ const mode = args.length === 4 ? args[2] : undefined;
905
+ if (!(args.length === 2 || ((mode === '--actors' || mode === '--hook') && args[3])) ||
565
906
  args[0] !== '--root' ||
566
907
  !args[1] ||
567
908
  Buffer.byteLength(input) > 1024 * 1024)
568
- return deny('IA-HOOK-INPUT-INVALID', 'Usage: steward-hook --root <fixed absolute root> [--actors <trusted absolute mapping>] (input limit 1 MiB)');
569
- return evaluateHook(args[1], JSON.parse(input), args[3]);
909
+ return deny('IA-HOOK-INPUT-INVALID', USAGE);
910
+ const event = JSON.parse(input);
911
+ return mode === '--hook' ? evaluateMandateHook(args[1], args[3], event) : evaluateHook(args[1], event, args[3]);
570
912
  }
571
913
  catch {
572
914
  return deny('IA-HOOK-INPUT-INVALID', 'Invalid JSON input');
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": "2.0.0",
3
+ "version": "3.1.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": "2.0.0",
17
- "@inventarch/workspace-runtime": "2.0.0",
18
- "@inventarch/db": "2.0.0"
16
+ "@inventarch/runtime": "3.1.0",
17
+ "@inventarch/workspace-runtime": "3.1.0",
18
+ "@inventarch/db": "3.1.0"
19
19
  },
20
20
  "devDependencies": {
21
21
  "@types/node": "^22.19.0",