stitchkit 0.83.2 → 0.84.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -15,6 +15,97 @@ additive**; the first breaking change landed in 0.10.0. Grep the file for
15
15
 
16
16
  ## [Unreleased]
17
17
 
18
+ ## [0.84.1] — 2026-09-07
19
+
20
+ ### Added
21
+
22
+ - **`defineAsyncOperationContract` accepts `expose` per capability.** This
23
+ contract is built inside the framework, so an application that made tools
24
+ opt-in with `createContractFactory({ toolExposure: 'explicit' })` set that
25
+ default on its own factory and these endpoints never passed through it: it
26
+ was handed `start` and `cancel` — both effectful — as agent tools with no way
27
+ to say otherwise short of rebuilding the contract by hand. The same shape
28
+ that handed a project a `track_<prefix>` tool in 0.82.0. The default is
29
+ unchanged: unlike a browser event ingest, an async operation is a plausible
30
+ thing for an agent to start and follow, so this says who decides rather than
31
+ deciding for everyone.
32
+
33
+ ### Fixed
34
+
35
+ - **Agent-runtime reads no longer reserve SQLite's WAL writer slot.**
36
+ `loadSnapshot`, `loadRun`, `listActiveRuns`, recovery scans and conversation
37
+ reads now use a deferred read transaction, so they see one committed snapshot
38
+ while an independent `BEGIN IMMEDIATE` writer is active. Mutations retain
39
+ `BEGIN IMMEDIATE`, fail promptly on contention and are never retried by the
40
+ store. Custom `AgentRuntimeStoreDriver` implementations remain source
41
+ compatible: `transaction(work, { access: 'read' })` is additive and absent
42
+ options still mean write access.
43
+
44
+ - **The deferred tool catalog answers a multi-word query.** The whole query was
45
+ one substring needle, so a catalog holding `resource_clock: Current server
46
+ time and timezone.` returned `NO_MATCH` for `resource_clock time timezone` —
47
+ the tool's own name plus the words a model expects to find — while the bare
48
+ name selected it. Adding a true word could only ever subtract. The phrase pass
49
+ is unchanged and still wins, so every query that selected something selects
50
+ the same things in the same order; only when it finds nothing are the words
51
+ matched, ranked by how many an entry carries.
52
+
53
+ The rule now also reaches the model, which is the half that made the empty
54
+ answer a dead end: the generated `tool_search` description and the `query`
55
+ schema both state that the query is matched as a phrase first and word by word
56
+ after, and that an exact name always wins. An empty answer with no stated rule
57
+ is indistinguishable from "no such tool" and from "not allowed".
58
+
59
+ ## [0.84.0] — 2026-09-07
60
+
61
+ ### ⚠️ Breaking changes
62
+
63
+ **Who must act:** anyone using `createAgentCodingTools`. The separator fix
64
+ below reaches BOTH callbacks — the required `authorize({ operation, path })`
65
+ and the optional `authorizePath`. The recursion fix reaches `authorizePath`
66
+ only. Anyone passing a non-canonical `cwd` to `run_command` is affected by the
67
+ separator fix even if they implement neither policy shape.
68
+
69
+ - **A backslash in a requested path is refused instead of silently becoming a
70
+ separator.** `contained-files` splits a relative path on `[\/]`, so
71
+ `credentials\token.txt` reached `openat` as two segments while every
72
+ authorization callback was handed the string whole and read it as one name.
73
+ A rule denying `credentials/token.txt` refused that spelling and served — then
74
+ overwrote — the same file spelled with a backslash. This bypassed the
75
+ **required** `authorize` callback, not only the `authorizePath` added in
76
+ 0.83.2, and it has been reachable since 0.70.0. Requests carrying `\` now get
77
+ a typed `FORBIDDEN`; `run_command`'s `cwd` goes through the same segment and
78
+ separator validation as every file tool.
79
+ `// before: read_file('a\b.txt') → served past a rule denying 'a/b.txt'` →
80
+ `// after: read_file('a\b.txt') → FORBIDDEN, use 'a/b.txt'`
81
+
82
+ - **`authorizePath` denies a directory on every surface it governs.** Direct
83
+ read, write and edit asked the path policy only about the leaf, so `authorizePath: p => p !== 'credentials'`
84
+ hid the directory from `glob` and served `credentials/token.txt` to
85
+ `read_file`, created files under it through `write_file` and rewrote it
86
+ through `edit_file`; `list_directory` and `glob` given a base path *inside* a
87
+ denied directory disclosed its contents and disagreed about the refusal shape.
88
+ Direct access and discovery base paths now ask about `.` and each ancestor,
89
+ outermost first, short-circuiting on the first refusal — segment-wise, so
90
+ denying `credentials` does not deny `credentials-backup`.
91
+ `// before: authorizePath asked once, about the leaf` →
92
+ `// after: asked about '.', then each ancestor, then the leaf`
93
+
94
+ **The policy must now admit every directory on the way to a file**, the way
95
+ POSIX needs `+x` on each directory in a path. A DENY-list is unaffected:
96
+ refusing `credentials` now refuses everything under it, which is what the rule
97
+ always read as. An ALLOW-list must be widened to name the directories it
98
+ leads through — `p => p.startsWith('src/')` refuses `src` itself and so loses
99
+ `src/index.ts`; write `p => p === 'src' || p.startsWith('src/')`. The
100
+ workspace root is not asked about: it is the boundary the tools already own.
101
+ A path of depth N costs N questions, and a policy keeping an audit no longer
102
+ sees the leaf once an ancestor refused.
103
+
104
+ This recursion is `authorizePath` only. The required `authorize({ operation,
105
+ path })` is still asked once, about the operation's own path, and a broad
106
+ `search` or `glob` is still one decision covering every file the walk opens —
107
+ which is the reason `authorizePath` exists at all. → ADR 0172 (amended).
108
+
18
109
  ## [0.83.2] — 2026-09-07
19
110
 
20
111
  ### Added
@@ -15,6 +15,34 @@ export declare function editableCodingPath(root: string, requested: string, maxP
15
15
  export declare function authorizeCodingTool(config: AgentCodingToolConfig, request: AgentCodingToolAuthorization): Promise<void>;
16
16
  export declare function isCodingPathAuthorized(config: AgentCodingToolConfig, path: string): Promise<boolean>;
17
17
  export declare function authorizeCodingPath(config: AgentCodingToolConfig, path: string): Promise<void>;
18
+ /**
19
+ * Ask the policy about the target AND every directory above it.
20
+ *
21
+ * A denied directory means two different things until this exists. The walk
22
+ * refuses to descend into one, so denial is recursive during discovery; direct
23
+ * access asked only about the leaf, so a host writing the obvious rule —
24
+ * `path !== 'credentials'` — got a listing that hid the directory and a
25
+ * `read_file` that served the secret inside it, plus a `write_file` that
26
+ * created directories under it and an `edit_file` that rewrote it.
27
+ *
28
+ * Outermost first, so the broadest refusal is the one the caller is told about
29
+ * and nothing below a denied directory is ever asked about. Segment-wise, not
30
+ * `startsWith`: a rule denying `credentials` must not also deny
31
+ * `credentials-backup`.
32
+ *
33
+ * The chain asks about the ANCESTORS OF THE PATH, and `.` is one only when the
34
+ * path itself is `.`. Asking about `.` unconditionally looks symmetrical with
35
+ * the walk — `search_files` and `list_directory('.')` do ask it — but there `.`
36
+ * is the base path the caller named, not an ancestor of it. Asked on every
37
+ * direct access it silently inverts every ALLOW-list: a host exposing one
38
+ * subtree with `p => p.startsWith('src/')` answers `false` for `.` and loses
39
+ * `src/index.ts` too, having denied nothing.
40
+ *
41
+ * The cost is stated rather than hidden: a path of depth N costs N questions,
42
+ * and a policy that keeps an audit no longer sees the leaf once an ancestor has
43
+ * refused.
44
+ */
45
+ export declare function authorizeCodingPathChain(config: AgentCodingToolConfig, relative: string): Promise<void>;
18
46
  /** Serialize framework-owned compare-and-replace transactions for one canonical target. */
19
47
  export declare function withCodingPathLock<T>(target: string, work: () => Promise<T>): Promise<T>;
20
48
  export declare function textOccurrences(source: string, search: string): number;
@@ -1 +1 @@
1
- {"version":3,"file":"coding-tool-paths.d.ts","sourceRoot":"","sources":["../../src/agent-runtime/coding-tool-paths.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,4BAA4B,EAEjC,KAAK,qBAAqB,EAE3B,MAAM,wBAAwB,CAAC;AAkChC,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAezF;AAED,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM;;;GAKrB;AAED,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM;;;GAarB;AAED,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM;;;GAQrB;AAED,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,qBAAqB,EAC7B,OAAO,EAAE,4BAA4B,GACpC,OAAO,CAAC,IAAI,CAAC,CAGf;AAED,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,qBAAqB,EAC7B,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,OAAO,CAAC,CAIlB;AAED,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,qBAAqB,EAC7B,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC,CAIf;AAID,2FAA2F;AAC3F,wBAAsB,kBAAkB,CAAC,CAAC,EACxC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACrB,OAAO,CAAC,CAAC,CAAC,CAeZ;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAUtE"}
1
+ {"version":3,"file":"coding-tool-paths.d.ts","sourceRoot":"","sources":["../../src/agent-runtime/coding-tool-paths.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,4BAA4B,EAEjC,KAAK,qBAAqB,EAE3B,MAAM,wBAAwB,CAAC;AAkChC,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAmCzF;AAED,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM;;;GAKrB;AAED,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM;;;GAarB;AAED,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM;;;GAQrB;AAED,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,qBAAqB,EAC7B,OAAO,EAAE,4BAA4B,GACpC,OAAO,CAAC,IAAI,CAAC,CAGf;AAED,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,qBAAqB,EAC7B,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,OAAO,CAAC,CAIlB;AAED,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,qBAAqB,EAC7B,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC,CAWf;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,qBAAqB,EAC7B,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAMf;AAID,2FAA2F;AAC3F,wBAAsB,kBAAkB,CAAC,CAAC,EACxC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACrB,OAAO,CAAC,CAAC,CAAC,CAeZ;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAUtE"}
@@ -1 +1 @@
1
- {"version":3,"file":"coding-tool-search-patch.d.ts","sourceRoot":"","sources":["../../src/agent-runtime/coding-tool-search-patch.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,qBAAqB,EACrB,yBAAyB,EACzB,qBAAqB,EACtB,MAAM,wBAAwB,CAAC;AAyHhC,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,qBAAqB,EAC7B,MAAM,EAAE,qBAAqB,GAC5B,SAAS,yBAAyB,EAAE,CAuMtC"}
1
+ {"version":3,"file":"coding-tool-search-patch.d.ts","sourceRoot":"","sources":["../../src/agent-runtime/coding-tool-search-patch.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,qBAAqB,EACrB,yBAAyB,EACzB,qBAAqB,EACtB,MAAM,wBAAwB,CAAC;AA0HhC,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,qBAAqB,EAC7B,MAAM,EAAE,qBAAqB,GAC5B,SAAS,yBAAyB,EAAE,CAuMtC"}
@@ -1 +1 @@
1
- {"version":3,"file":"coding-tool-shell.d.ts","sourceRoot":"","sources":["../../src/agent-runtime/coding-tool-shell.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,yBAAyB,EAC9B,KAAK,qBAAqB,EAG3B,MAAM,wBAAwB,CAAC;AAgKhC,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,qBAAqB,EAC7B,MAAM,EAAE,qBAAqB,GAC5B,yBAAyB,CAkD3B"}
1
+ {"version":3,"file":"coding-tool-shell.d.ts","sourceRoot":"","sources":["../../src/agent-runtime/coding-tool-shell.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,yBAAyB,EAC9B,KAAK,qBAAqB,EAG3B,MAAM,wBAAwB,CAAC;AAoKhC,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,qBAAqB,EAC7B,MAAM,EAAE,qBAAqB,GAC5B,yBAAyB,CA4D3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"deferred-tool-search.d.ts","sourceRoot":"","sources":["../../src/agent-runtime/deferred-tool-search.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,+BAA+B,EACrC,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,KAAK,6BAA6B,EAGlC,8BAA8B,EAC9B,kCAAkC,EAClC,KAAK,uBAAuB,EAC7B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAExD,KAAK,gBAAgB,GAAG,+BAA+B,CACrD,OAAO,kCAAkC,EACzC,OAAO,8BAA8B,CACtC,CAAC;AAIF,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAmBxE;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAC9C,MAAM,EAAE,6BAA6B,CAAC,OAAO,CAAC,EAC9C,UAAU,EAAE,sBAAsB,CAAC,OAAO,CAAC,EAC3C,OAAO,EAAE,uBAAuB,GAC/B,gBAAgB,CA8GlB"}
1
+ {"version":3,"file":"deferred-tool-search.d.ts","sourceRoot":"","sources":["../../src/agent-runtime/deferred-tool-search.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,+BAA+B,EACrC,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,KAAK,6BAA6B,EAGlC,8BAA8B,EAC9B,kCAAkC,EAClC,KAAK,uBAAuB,EAC7B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAExD,KAAK,gBAAgB,GAAG,+BAA+B,CACrD,OAAO,kCAAkC,EACzC,OAAO,8BAA8B,CACtC,CAAC;AAiBF,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAmBxE;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAC9C,MAAM,EAAE,6BAA6B,CAAC,OAAO,CAAC,EAC9C,UAAU,EAAE,sBAAsB,CAAC,OAAO,CAAC,EAC3C,OAAO,EAAE,uBAAuB,GAC/B,gBAAgB,CA8GlB"}
@@ -7,6 +7,23 @@ export declare function uniqueKnown(names: readonly string[], surface: DeferredR
7
7
  rejected: number;
8
8
  };
9
9
  export declare function schemaBytes(names: readonly string[], surface: DeferredResolvedSurface): number;
10
+ /**
11
+ * Rank the catalog against a query, whole phrase first and words after.
12
+ *
13
+ * The whole trimmed query used to be the only needle, so a model that did the
14
+ * natural thing — naming the tool and adding the words it expected to find,
15
+ * `resource_clock time timezone` — got `NO_MATCH` from a catalog that held
16
+ * `resource_clock: Current server time and timezone.`, while the bare name
17
+ * selected it. An empty answer is indistinguishable from "no such tool" and
18
+ * from "you are not allowed", so the model learned nothing it could act on and
19
+ * the fix was to guess a shorter query.
20
+ *
21
+ * The phrase pass is unchanged and still wins: every query that selected
22
+ * something before selects the same things in the same order. Only when it
23
+ * finds nothing do the words get their turn, ranked by how many of them an
24
+ * entry matches — deterministic, and a fallback rather than a second ranking
25
+ * competing with the first.
26
+ */
10
27
  export declare function ranked(query: string, manifest: readonly DeferredAgentToolManifestEntry[]): string[];
11
28
  export declare function latestSelection(messages: readonly ModelMessage[], searchName: string, runId: string, surface: DeferredResolvedSurface, maxSelectedTools: number): {
12
29
  selected: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"deferred-tool-selection.d.ts","sourceRoot":"","sources":["../../src/agent-runtime/deferred-tool-selection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AACvC,OAAO,EACL,KAAK,8BAA8B,EAEnC,KAAK,uBAAuB,EAC7B,MAAM,uBAAuB,CAAC;AAG/B,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAEhD;AACD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAG1D;AACD,wBAAgB,WAAW,CACzB,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,OAAO,EAAE,uBAAuB,GAC/B;IAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAWvC;AACD,wBAAgB,WAAW,CACzB,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,OAAO,EAAE,uBAAuB,GAC/B,MAAM,CAQR;AACD,wBAAgB,MAAM,CACpB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,SAAS,8BAA8B,EAAE,GAClD,MAAM,EAAE,CAuBV;AACD,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,SAAS,YAAY,EAAE,EACjC,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,uBAAuB,EAChC,gBAAgB,EAAE,MAAM,GACvB;IAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE,SAAS,GAAG,SAAS,CAAA;CAAE,CA8BvD"}
1
+ {"version":3,"file":"deferred-tool-selection.d.ts","sourceRoot":"","sources":["../../src/agent-runtime/deferred-tool-selection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AACvC,OAAO,EACL,KAAK,8BAA8B,EAEnC,KAAK,uBAAuB,EAC7B,MAAM,uBAAuB,CAAC;AAG/B,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAEhD;AACD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAG1D;AACD,wBAAgB,WAAW,CACzB,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,OAAO,EAAE,uBAAuB,GAC/B;IAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAWvC;AACD,wBAAgB,WAAW,CACzB,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,OAAO,EAAE,uBAAuB,GAC/B,MAAM,CAQR;AACD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,MAAM,CACpB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,SAAS,8BAA8B,EAAE,GAClD,MAAM,EAAE,CAGV;AAyDD,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,SAAS,YAAY,EAAE,EACjC,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,uBAAuB,EAChC,gBAAgB,EAAE,MAAM,GACvB;IAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE,SAAS,GAAG,SAAS,CAAA;CAAE,CA8BvD"}
@@ -1 +1 @@
1
- {"version":3,"file":"deferred-tool-types.d.ts","sourceRoot":"","sources":["../../src/agent-runtime/deferred-tool-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deferred-tool-types.d.ts","sourceRoot":"","sources":["../../src/agent-runtime/deferred-tool-types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../src/agent-runtime/sqlite.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAe,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAGL,KAAK,uBAAuB,EAC7B,MAAM,iBAAiB,CAAC;AAIzB,OAAO,EAML,uBAAuB,EACxB,MAAM,gBAAgB,CAAC;AAExB,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEvF,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,EAAE,cAAc,CAAC;IACzB,sEAAsE;IACtE,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,UAAU,CAAC,OAAO,uBAAuB,CAAC,cAAc,CAAC,CAAC,CAAC;IAClE,aAAa,EAAE,uBAAuB,CAAC;IACvC,oFAAoF;IACpF,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAqGD;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,CAwF3E;AAED,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,6BAA6B,GACpC,uBAAuB,CA0azB"}
1
+ {"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../src/agent-runtime/sqlite.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAe,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAGL,KAAK,uBAAuB,EAC7B,MAAM,iBAAiB,CAAC;AAIzB,OAAO,EAML,uBAAuB,EACxB,MAAM,gBAAgB,CAAC;AAExB,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEvF,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,EAAE,cAAc,CAAC;IACzB,sEAAsE;IACtE,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,UAAU,CAAC,OAAO,uBAAuB,CAAC,cAAc,CAAC,CAAC,CAAC;IAClE,aAAa,EAAE,uBAAuB,CAAC;IACvC,oFAAoF;IACpF,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAqGD;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,CAwF3E;AAED,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,6BAA6B,GACpC,uBAAuB,CA+azB"}
@@ -587,7 +587,14 @@ export type AgentStoreCompareAndSwapResult = {
587
587
  };
588
588
  export interface AgentRuntimeStoreDriver<TRANSACTION> {
589
589
  conversations?: AgentConversationPurgeDriver<TRANSACTION>;
590
- transaction<RESULT>(work: (transaction: TRANSACTION) => Promise<RESULT>): Promise<RESULT>;
590
+ /**
591
+ * Run one coherent store operation. `read` lets an adapter take a stable
592
+ * snapshot without reserving its writer slot; absent options retain the
593
+ * write-safe transaction used by existing adapters.
594
+ */
595
+ transaction<RESULT>(work: (transaction: TRANSACTION) => Promise<RESULT>, options?: {
596
+ access: 'read' | 'write';
597
+ }): Promise<RESULT>;
591
598
  head: {
592
599
  load(transaction: TRANSACTION, conversationId: string): Promise<AgentRuntimeHead | undefined>;
593
600
  compareAndSwap(transaction: TRANSACTION, input: {
@@ -1 +1 @@
1
- {"version":3,"file":"store-driver.d.ts","sourceRoot":"","sources":["../../src/agent-runtime/store-driver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,KAAK,YAAY,EAIjB,KAAK,QAAQ,EAKd,MAAM,WAAW,CAAC;AACnB,OAAO,EAML,KAAK,oBAAoB,EAEzB,KAAK,iBAAiB,EAcvB,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,KAAK,4BAA4B,EAElC,MAAM,eAAe,CAAC;AAGvB,eAAO,MAAM,sBAAsB;;;;iBAIjC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAI/B,CAAC;AAEH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAOtC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAWrC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAO9E,MAAM,MAAM,8BAA8B,GACtC;IAAE,OAAO,EAAE,SAAS,CAAA;CAAE,GACtB;IAAE,OAAO,EAAE,UAAU,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnD,MAAM,WAAW,uBAAuB,CAAC,WAAW;IAClD,aAAa,CAAC,EAAE,4BAA4B,CAAC,WAAW,CAAC,CAAC;IAC1D,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,WAAW,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1F,IAAI,EAAE;QACJ,IAAI,CACF,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAAC;QACzC,cAAc,CACZ,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE;YACL,cAAc,EAAE,MAAM,CAAC;YACvB,eAAe,EAAE,MAAM,CAAC;YACxB,IAAI,EAAE,gBAAgB,CAAC;SACxB,GACA,OAAO,CAAC,8BAA8B,CAAC,CAAC;KAC5C,CAAC;IACF,IAAI,EAAE;QACJ,IAAI,CACF,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE;YAAE,cAAc,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,GAC/C,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC;QACvC,wBAAwB,CACtB,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE;YAAE,cAAc,EAAE,MAAM,CAAC;YAAC,kBAAkB,EAAE,MAAM,CAAA;SAAE,GAC5D,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC;QACvC,QAAQ,CACN,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE;YAAE,cAAc,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAA;SAAE,GAC3D,OAAO,CAAC,SAAS,cAAc,EAAE,CAAC,CAAC;QACtC,UAAU,CACR,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,SAAS,cAAc,EAAE,CAAC,CAAC;QACtC,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;KACvE,CAAC;IACF,UAAU,EAAE;QACV,IAAI,CACF,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE;YAAE,cAAc,EAAE,MAAM,CAAC;YAAC,cAAc,EAAE,MAAM,CAAA;SAAE,GACxD,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC,CAAC;QAC9C,oBAAoB,CAClB,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE;YAAE,cAAc,EAAE,MAAM,CAAC;YAAC,cAAc,EAAE,MAAM,CAAA;SAAE,GACxD,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC,CAAC;QAC9C,MAAM,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;KACjF,CAAC;IACF,OAAO,EAAE;QACP,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,YAAY,EAAE,CAAC,CAAC;QACzF,KAAK,CAAC,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;KAChF,CAAC;IACF,eAAe,CAAC,KAAK,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;CAC3F;AAyOD;;;;;;;;;GASG;AACH,eAAO,MAAM,uBAAuB,EAAE,SAAS,QAAQ,CAAC,OAAO,CAAC,EAI/D,CAAC;AAkfF,wBAAgB,uBAAuB,CAAC,WAAW,EACjD,MAAM,EAAE,uBAAuB,CAAC,WAAW,CAAC,GAC3C,iBAAiB,CA2OnB;AAwCD,oGAAoG;AACpG,wBAAgB,6BAA6B,IAAI,iBAAiB,CAqNjE"}
1
+ {"version":3,"file":"store-driver.d.ts","sourceRoot":"","sources":["../../src/agent-runtime/store-driver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,KAAK,YAAY,EAIjB,KAAK,QAAQ,EAKd,MAAM,WAAW,CAAC;AACnB,OAAO,EAML,KAAK,oBAAoB,EAEzB,KAAK,iBAAiB,EAcvB,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,KAAK,4BAA4B,EAElC,MAAM,eAAe,CAAC;AAGvB,eAAO,MAAM,sBAAsB;;;;iBAIjC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAI/B,CAAC;AAEH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAOtC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAWrC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAO9E,MAAM,MAAM,8BAA8B,GACtC;IAAE,OAAO,EAAE,SAAS,CAAA;CAAE,GACtB;IAAE,OAAO,EAAE,UAAU,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnD,MAAM,WAAW,uBAAuB,CAAC,WAAW;IAClD,aAAa,CAAC,EAAE,4BAA4B,CAAC,WAAW,CAAC,CAAC;IAC1D;;;;OAIG;IACH,WAAW,CAAC,MAAM,EAChB,IAAI,EAAE,CAAC,WAAW,EAAE,WAAW,KAAK,OAAO,CAAC,MAAM,CAAC,EACnD,OAAO,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,GACrC,OAAO,CAAC,MAAM,CAAC,CAAC;IACnB,IAAI,EAAE;QACJ,IAAI,CACF,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAAC;QACzC,cAAc,CACZ,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE;YACL,cAAc,EAAE,MAAM,CAAC;YACvB,eAAe,EAAE,MAAM,CAAC;YACxB,IAAI,EAAE,gBAAgB,CAAC;SACxB,GACA,OAAO,CAAC,8BAA8B,CAAC,CAAC;KAC5C,CAAC;IACF,IAAI,EAAE;QACJ,IAAI,CACF,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE;YAAE,cAAc,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,GAC/C,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC;QACvC,wBAAwB,CACtB,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE;YAAE,cAAc,EAAE,MAAM,CAAC;YAAC,kBAAkB,EAAE,MAAM,CAAA;SAAE,GAC5D,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC;QACvC,QAAQ,CACN,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE;YAAE,cAAc,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAA;SAAE,GAC3D,OAAO,CAAC,SAAS,cAAc,EAAE,CAAC,CAAC;QACtC,UAAU,CACR,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,SAAS,cAAc,EAAE,CAAC,CAAC;QACtC,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;KACvE,CAAC;IACF,UAAU,EAAE;QACV,IAAI,CACF,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE;YAAE,cAAc,EAAE,MAAM,CAAC;YAAC,cAAc,EAAE,MAAM,CAAA;SAAE,GACxD,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC,CAAC;QAC9C,oBAAoB,CAClB,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE;YAAE,cAAc,EAAE,MAAM,CAAC;YAAC,cAAc,EAAE,MAAM,CAAA;SAAE,GACxD,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC,CAAC;QAC9C,MAAM,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;KACjF,CAAC;IACF,OAAO,EAAE;QACP,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,YAAY,EAAE,CAAC,CAAC;QACzF,KAAK,CAAC,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;KAChF,CAAC;IACF,eAAe,CAAC,KAAK,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;CAC3F;AAyOD;;;;;;;;;GASG;AACH,eAAO,MAAM,uBAAuB,EAAE,SAAS,QAAQ,CAAC,OAAO,CAAC,EAI/D,CAAC;AAkfF,wBAAgB,uBAAuB,CAAC,WAAW,EACjD,MAAM,EAAE,uBAAuB,CAAC,WAAW,CAAC,GAC3C,iBAAiB,CAoPnB;AAwCD,oGAAoG;AACpG,wBAAgB,6BAA6B,IAAI,iBAAiB,CAqNjE"}
@@ -243,7 +243,13 @@ function inputPath(root, requested, maxPathBytes) {
243
243
  }
244
244
  function boundedCodingRelativePath(requested, maxPathBytes) {
245
245
  inputPath(path.parse(process.cwd()).root, requested, maxPathBytes);
246
- const segments = requested.split(/[\\/]/u);
246
+ if (requested.includes("\\")) {
247
+ codingRefusal("FORBIDDEN", "Path separators must be `/`", {
248
+ details: { path: requested },
249
+ hint: "Use `/` between segments; a backslash is refused because the workspace walk reads it as a separator."
250
+ });
251
+ }
252
+ const segments = requested.split("/");
247
253
  if (segments.some((segment) => segment === "" || segment === "." || segment === "..")) {
248
254
  codingRefusal("FORBIDDEN", "Path segments must name real entries under the root", {
249
255
  details: { path: requested },
@@ -271,7 +277,18 @@ async function isCodingPathAuthorized(config, path2) {
271
277
  }
272
278
  async function authorizeCodingPath(config, path2) {
273
279
  if (!await isCodingPathAuthorized(config, path2)) {
274
- forbidden("Coding tool path permission denied");
280
+ codingRefusal("FORBIDDEN", "Coding tool path permission denied", {
281
+ details: { path: path2 },
282
+ hint: "The host policy refused this path or a directory above it."
283
+ });
284
+ }
285
+ }
286
+ async function authorizeCodingPathChain(config, relative) {
287
+ if (!config.authorizePath)
288
+ return;
289
+ const segments = relative === "." ? ["."] : relative.split("/");
290
+ for (let depth = 1;depth <= segments.length; depth += 1) {
291
+ await authorizeCodingPath(config, segments.slice(0, depth).join("/"));
275
292
  }
276
293
  }
277
294
  var codingPathLocks = new Map;
@@ -332,7 +349,7 @@ function createFileCodingTools(config, limits) {
332
349
  handler: async ({ input }) => {
333
350
  const root = await realpath2(config.root);
334
351
  const relative = boundedCodingRelativePath(input.path, limits.maxPathBytes);
335
- await authorizeCodingPath(config, relative);
352
+ await authorizeCodingPathChain(config, relative);
336
353
  const handle = await openContainedFile(root, relative).catch((error) => refuseMissingCodingPath(error, relative));
337
354
  const maximum = Math.min(input.maxBytes ?? limits.maxReadBytes, limits.maxReadBytes);
338
355
  let selected;
@@ -379,7 +396,7 @@ function createFileCodingTools(config, limits) {
379
396
  handler: async ({ input }) => {
380
397
  const root = await realpath2(config.root);
381
398
  const relative = boundedCodingRelativePath(input.path, limits.maxPathBytes);
382
- await authorizeCodingPath(config, relative);
399
+ await authorizeCodingPathChain(config, relative);
383
400
  const bytes = Buffer.byteLength(input.content);
384
401
  if (bytes > limits.maxWriteBytes) {
385
402
  codingPathRefusal("BAD_REQUEST", `The content is ${bytes} bytes, over the ${limits.maxWriteBytes}-byte limit`, relative, {
@@ -514,7 +531,7 @@ function createListingCodingTools(config, limits) {
514
531
  handler: async ({ input }) => {
515
532
  const root = await realpath3(config.root);
516
533
  const relative = input.path === "." ? "." : boundedCodingRelativePath(input.path, limits.maxPathBytes);
517
- await authorizeCodingPath(config, relative);
534
+ await authorizeCodingPathChain(config, relative);
518
535
  await authorizeCodingTool(config, { operation: "list", path: relative });
519
536
  const listing = await listContainedDirectory(root, relative, limits.maxListEntries, (candidate) => isCodingPathAuthorized(config, candidate)).catch((error) => {
520
537
  if (error instanceof Error && error.message.includes("ancestor is not a directory")) {
@@ -548,7 +565,7 @@ function createListingCodingTools(config, limits) {
548
565
  transports: ["AGENT"],
549
566
  handler: async ({ input }) => {
550
567
  const relative = input.path === "." ? "." : boundedCodingRelativePath(input.path, limits.maxPathBytes);
551
- await authorizeCodingPath(config, relative);
568
+ await authorizeCodingPathChain(config, relative);
552
569
  await authorizeCodingTool(config, {
553
570
  operation: "glob",
554
571
  pattern: input.pattern,
@@ -745,7 +762,7 @@ function createSearchAndPatchCodingTools(config, limits) {
745
762
  handler: async ({ input }) => {
746
763
  const root = await realpath4(config.root);
747
764
  const relative = boundedCodingRelativePath(input.path, limits.maxPathBytes);
748
- await authorizeCodingPath(config, relative);
765
+ await authorizeCodingPathChain(config, relative);
749
766
  const parent = await openContainedParent(root, relative).catch((error) => refuseMissingCodingPath(error, relative));
750
767
  try {
751
768
  return await withCodingPathLock(`${root}:${relative}`, async () => {
@@ -989,7 +1006,7 @@ function createShellCodingTool(config, limits) {
989
1006
  if (!executable)
990
1007
  throw new Error("Coding tool executable is not declared");
991
1008
  const root = await realpath5(config.root);
992
- const cwd = await existingCodingPath(root, input.cwd, limits.maxPathBytes);
1009
+ const cwd = await existingCodingPath(root, input.cwd === "." ? "." : boundedCodingRelativePath(input.cwd, limits.maxPathBytes), limits.maxPathBytes);
993
1010
  if (!(await stat(cwd.absolute)).isDirectory()) {
994
1011
  throw new Error("Coding tool cwd is not a directory");
995
1012
  }
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  createSqliteAgentRuntimeStore,
3
3
  initializeAgentRuntimeSqlite
4
- } from "./index-cksjz4eg.js";
5
- import"./index-19eet1qx.js";
4
+ } from "./index-devfkwfm.js";
5
+ import"./index-11vzj2sk.js";
6
6
  import"./index-y2s6h5bf.js";
7
7
  import"./index-x1th9s8c.js";
8
8
 
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  createSqliteAgentRuntimeStore,
3
3
  initializeAgentRuntimeSqlite
4
- } from "./index-cksjz4eg.js";
5
- import"./index-19eet1qx.js";
4
+ } from "./index-devfkwfm.js";
5
+ import"./index-11vzj2sk.js";
6
6
  import"./index-y2s6h5bf.js";
7
7
  import"./index-x1th9s8c.js";
8
8
 
@@ -31,7 +31,7 @@ import {
31
31
  createAgentRuntimeStore,
32
32
  createMemoryAgentRuntimeStore,
33
33
  purgeAgentConversation
34
- } from "./index-19eet1qx.js";
34
+ } from "./index-11vzj2sk.js";
35
35
  import {
36
36
  AgentContextOverflowError,
37
37
  AgentRuntimeConflictError,
@@ -258,7 +258,7 @@ function structuredCompaction(config) {
258
258
  // src/agent-runtime/deferred-tool-types.ts
259
259
  import { z } from "zod";
260
260
  var DeferredAgentToolSearchInputSchema = z.object({
261
- query: z.string().min(1),
261
+ query: z.string().min(1).describe("An exact tool name, or words describing the tool. Matched as one phrase first, then word by word."),
262
262
  reason: z.enum(["inactive_call"]).optional()
263
263
  });
264
264
  var DeferredAgentToolMatchSchema = z.object({
@@ -316,6 +316,22 @@ function schemaBytes(names, surface) {
316
316
  return bytes;
317
317
  }
318
318
  function ranked(query, manifest) {
319
+ const phrase = rankedByPhrase(query, manifest);
320
+ return phrase.length > 0 ? phrase : rankedByWords(query, manifest);
321
+ }
322
+ function rankedByWords(query, manifest) {
323
+ const words = [
324
+ ...new Set(query.trim().toLocaleLowerCase().split(/\s+/u).filter((word) => word.length > 0))
325
+ ];
326
+ if (words.length < 2)
327
+ return [];
328
+ return manifest.map((entry, order) => {
329
+ const haystack = `${entry.name} ${entry.description}`.toLocaleLowerCase();
330
+ const hits = words.filter((word) => haystack.includes(word)).length;
331
+ return { name: entry.name, order, hits };
332
+ }).filter((entry) => entry.hits > 0).sort((left, right) => right.hits - left.hits || left.order - right.order).map((entry) => entry.name);
333
+ }
334
+ function rankedByPhrase(query, manifest) {
319
335
  const needle = query.trim().toLocaleLowerCase();
320
336
  return manifest.map((entry, order) => {
321
337
  const name = entry.name.toLocaleLowerCase();
@@ -358,7 +374,7 @@ function latestSelection(messages, searchName, runId, surface, maxSelectedTools)
358
374
  }
359
375
 
360
376
  // src/agent-runtime/deferred-tool-search.ts
361
- var description = "Search the available tool catalog and select exact tools for the next step.";
377
+ var description = "Search the available tool catalog and select exact tools for the next step. " + "The query is matched as one phrase against tool names and descriptions; " + "if nothing matches the phrase, its individual words are matched and the " + "tools matching the most words rank first. An exact tool name always wins, " + "so prefer one when you know it.";
362
378
  function placeholderDeferredSearch(name) {
363
379
  return defineRuntimeTool({
364
380
  name,
@@ -640,7 +640,7 @@ function createAgentRuntimeStore(driver) {
640
640
  runIds: referencedRunIds(messages)
641
641
  });
642
642
  return snapshotOf(head, messages, mergeRunRecords(activeRecords, referencedRecords));
643
- });
643
+ }, { access: "read" });
644
644
  const loadRun = (input) => driver.transaction(async (transaction) => {
645
645
  const [stored, record] = await Promise.all([
646
646
  driver.head.load(transaction, input.conversationId),
@@ -658,7 +658,7 @@ function createAgentRuntimeStore(driver) {
658
658
  run: parsed.run,
659
659
  ...parsed.terminalAssistant && { assistant: parsed.terminalAssistant }
660
660
  });
661
- });
661
+ }, { access: "read" });
662
662
  const listActiveRuns = (conversationId) => driver.transaction(async (transaction) => {
663
663
  const [records, messages] = await Promise.all([
664
664
  driver.runs.listActive(transaction, conversationId),
@@ -674,7 +674,7 @@ function createAgentRuntimeStore(driver) {
674
674
  }
675
675
  }
676
676
  return orderRuns(messages, runs);
677
- });
677
+ }, { access: "read" });
678
678
  const mutate = (operation) => driver.transaction(async (transaction) => {
679
679
  const conversationId = operationConversationId(operation);
680
680
  if (await driver.conversations?.isPurged(transaction, conversationId)) {
@@ -8,7 +8,7 @@ import {
8
8
  AgentRuntimeHeadSchema,
9
9
  AgentStoredRunSchema,
10
10
  createAgentRuntimeStore
11
- } from "./index-19eet1qx.js";
11
+ } from "./index-11vzj2sk.js";
12
12
  import {
13
13
  AgentMessageSchema,
14
14
  AgentRunSchema
@@ -244,19 +244,20 @@ function createSqliteAgentRuntimeStore(config) {
244
244
  });
245
245
  return result;
246
246
  };
247
+ const runTransaction = (access, work) => serial(async () => {
248
+ database.exec(access === "read" ? "BEGIN" : "BEGIN IMMEDIATE");
249
+ try {
250
+ const result = await work(database);
251
+ database.exec("COMMIT");
252
+ return result;
253
+ } catch (error) {
254
+ database.exec("ROLLBACK");
255
+ throw error;
256
+ }
257
+ });
247
258
  const driver = {
248
259
  conversations: sqliteConversationPurge(database),
249
- transaction: (work) => serial(async () => {
250
- database.exec("BEGIN IMMEDIATE");
251
- try {
252
- const result = await work(database);
253
- database.exec("COMMIT");
254
- return result;
255
- } catch (error) {
256
- database.exec("ROLLBACK");
257
- throw error;
258
- }
259
- }),
260
+ transaction: (work, options) => runTransaction(options?.access ?? "write", work),
260
261
  head: {
261
262
  async load(transaction, conversationId) {
262
263
  const value = transaction.prepare("SELECT version FROM stitchkit_agent_runtime_heads WHERE conversation_id = ?").get(conversationId);
@@ -437,7 +438,7 @@ function createSqliteAgentRuntimeStore(config) {
437
438
  `).run(message.conversationId, message.id, position, encodeJson(message));
438
439
  }
439
440
  },
440
- scanRecoverable: (input) => serial(async () => {
441
+ scanRecoverable: (input) => runTransaction("read", async () => {
441
442
  const cursor = input.cursor ? parseRecoveryCursor(input.cursor) : undefined;
442
443
  const values = cursor ? [cursor[0], cursor[0], cursor[1], input.limit + 1] : [input.limit + 1];
443
444
  const rows = database.prepare(`
@@ -466,7 +467,7 @@ function createSqliteAgentRuntimeStore(config) {
466
467
  return {
467
468
  store: createAgentRuntimeStore(driver),
468
469
  conversations: {
469
- list: (input) => serial(async () => {
470
+ list: (input) => runTransaction("read", async () => {
470
471
  if (!Number.isSafeInteger(input.limit) || input.limit < 1 || input.limit > 1000) {
471
472
  throw new TypeError("Conversation page limit must be between 1 and 1000");
472
473
  }
@@ -517,7 +518,7 @@ function createSqliteAgentRuntimeStore(config) {
517
518
  ...hasMore && last ? { nextCursor: conversationCursor(last.conversation_id) } : {}
518
519
  });
519
520
  }),
520
- messages: (input) => serial(async () => {
521
+ messages: (input) => runTransaction("read", async () => {
521
522
  if (!Number.isSafeInteger(input.limit) || input.limit < 1 || input.limit > 1000) {
522
523
  throw new TypeError("Conversation message page limit must be between 1 and 1000");
523
524
  }
@@ -1,7 +1,7 @@
1
1
  import { type ZodObject, type ZodType, z } from 'zod';
2
2
  import { AsyncOperationCancelResultSchema, type AsyncOperationCapability } from './async-operation-contract.js';
3
3
  export { type AsyncOperationCancelResult, AsyncOperationCancelResultSchema, type AsyncOperationCapability, type AsyncOperationSnapshotSchema, type AsyncOperationSnapshotSchemaWithProgress, createAsyncOperationSnapshotSchema, } from './async-operation-contract.js';
4
- import type { ContractDef, EndpointDef, EndpointToolAnnotations, HttpMethod } from '../contract/index.js';
4
+ import type { ContractDef, EndpointDef, EndpointToolAnnotations, HttpMethod, Transport } from '../contract/index.js';
5
5
  import type { Handlers } from '../server/types.js';
6
6
  import { type RuntimeToolDefinition, type RuntimeToolDefinitionWithOutput, type RuntimeToolHandlerContext, type RuntimeToolTransport } from './runtime-tool.js';
7
7
  export interface AsyncOperationIdentity {
@@ -148,6 +148,23 @@ interface AsyncOperationContractBaseConfig<TStartInput extends ZodType, TId exte
148
148
  artifacts?: TArtifacts;
149
149
  descriptions?: Partial<Record<AsyncOperationCapability, string>>;
150
150
  scopes?: TScopes;
151
+ /**
152
+ * Which transports carry each capability. Absent, an endpoint is a tool on
153
+ * every transport, which is the framework default.
154
+ *
155
+ * It has to be declarable HERE because this contract is built inside the
156
+ * framework: an application that made tools opt-in with
157
+ * `createContractFactory({ toolExposure: 'explicit' })` set that default on
158
+ * its OWN factory, and these endpoints never pass through it. Without this
159
+ * field a consumer who had decided that agents get only the tools it names
160
+ * was still handed `start` and `cancel` — both effectful — with no way to say
161
+ * otherwise short of rebuilding the contract by hand.
162
+ *
163
+ * The default is unchanged on purpose. Unlike the tracking ingest, an async
164
+ * operation is a plausible thing for an agent to start and follow, so this
165
+ * says who decides rather than deciding for everyone.
166
+ */
167
+ expose?: Partial<Record<AsyncOperationCapability, readonly Transport[]>>;
151
168
  }
152
169
  export type AsyncOperationContractConfig<TStartInput extends ZodType, TId extends ZodType, TSnapshot extends ZodType, TCancel extends true | undefined = undefined, TResult extends ZodType | undefined = undefined, TArtifacts extends ZodType | undefined = undefined, TScope extends string = 'public', TScopes extends Partial<Record<AsyncOperationCapability, string>> = Record<never, never>> = AsyncOperationContractBaseConfig<TStartInput, TId, TSnapshot, TCancel, TResult, TArtifacts, TScope, TScopes> & {
153
170
  startOutput?: never;
@@ -1 +1 @@
1
- {"version":3,"file":"async-operation.d.ts","sourceRoot":"","sources":["../../src/tools/async-operation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"async-operation.d.ts","sourceRoot":"","sources":["../../src/tools/async-operation.ts"],"names":[],"mappings":"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"}
package/dist/tools.js CHANGED
@@ -340,13 +340,15 @@ function defineAsyncOperationContract(config) {
340
340
  const description = (capability) => config.descriptions?.[capability] ?? `${config.description}: ${capability}`;
341
341
  const endpoint = (capability, method, path, input, output) => {
342
342
  const scope = config.scopes?.[capability];
343
+ const expose = config.expose?.[capability];
343
344
  return {
344
345
  method,
345
346
  path,
346
347
  desc: description(capability),
347
348
  input,
348
349
  output,
349
- ...scope !== undefined && { scope }
350
+ ...scope !== undefined && { scope },
351
+ ...expose !== undefined && { expose }
350
352
  };
351
353
  };
352
354
  const startOutput = config.startOutput ?? config.id;
package/llms-full.txt CHANGED
@@ -63,11 +63,11 @@ own, recorded as an ADR.
63
63
  | `stitchkit/tracking/server` | server (Bun or Node) | evolving | the decisions a tracking backend makes — dispositions, visit lease over an application-owned store, active intervals, presence; no database |
64
64
  | `stitchkit/release` | browser **and** server | evolving | a page follows the release it was built for — `createReleaseMarker` on the server, `createReleaseWatcher` in the browser, the `X-Build-Id` header and a socket event between them |
65
65
  | `stitchkit/geo` | server (Bun or Node) | evolving | managed GeoIP reader generations, last-known-good reload and the optional MaxMind adapter |
66
- | `stitchkit/observability` | server | stable<br>_redefined in 1 of the 28 minors since 0.56.2, most recently 0.83.0_ | request/tool event projections — `createObservability`, trace context, sanitisation |
66
+ | `stitchkit/observability` | server | stable<br>_redefined in 1 of the 29 minors since 0.56.2, most recently 0.83.0_ | request/tool event projections — `createObservability`, trace context, sanitisation |
67
67
  | `stitchkit/testing` | tests on Bun or Node | stable | in-process generated clients over a real Fetch handler, plus the store and managed-resource conformance kits |
68
68
  | `stitchkit/declaration` | browser + build and deployment tooling (Bun or Node) | evolving | `ProjectDeclarationSchema` — the one machine-readable statement a repository makes about itself |
69
69
  | `stitchkit/react` | browser + server rendering | stable | `createCursorQuery`, `createCacheBridge`, QueryClient and `ApiError` retry policy |
70
- | `stitchkit/agent-runtime` | server | evolving<br>_redefined in 12 of the 28 minors since 0.56.2, most recently 0.83.0_ | optional durable conversation/run loop, history, models, prompts, fencing and events |
70
+ | `stitchkit/agent-runtime` | server | evolving<br>_redefined in 15 of the 29 minors since 0.56.2, most recently 0.84.0_ | optional durable conversation/run loop, history, models, prompts, fencing and events |
71
71
  | `stitchkit/agent-runtime/harness` | server | evolving | resource-aware process-local facade over the canonical Agent runtime; supervision stays outside |
72
72
  | `stitchkit/agent-runtime/coding-tools` | server (Bun or Node) | evolving | bounded host-authorized direct file and shell tools; a root boundary, not an OS sandbox |
73
73
  | `stitchkit/agent-runtime/openrouter` | server | evolving | isolated OpenRouter language-model adapter |
@@ -75,7 +75,7 @@ own, recorded as an ADR.
75
75
  | `stitchkit/agent-runtime/sqlite/bun` | server (Bun) | evolving | durable built-in SQLite store for the agent runtime |
76
76
  | `stitchkit/agent-runtime/sqlite/node` | server (Node ≥ 22.5) | evolving | durable built-in SQLite store for the agent runtime |
77
77
  | `stitchkit-tui` | terminal (Bun) | evolving | optional official OpenTUI host over a caller-composed headless runtime |
78
- | `stitchkit/application` | browser + server | evolving<br>_redefined in 7 of the 28 minors since 0.56.2, most recently 0.83.0_ | managed resource graph, readiness, admission, schedules, subtree restart and bounded shutdown |
78
+ | `stitchkit/application` | browser + server | evolving<br>_redefined in 7 of the 29 minors since 0.56.2, most recently 0.83.0_ | managed resource graph, readiness, admission, schedules, subtree restart and bounded shutdown |
79
79
  | `stitchkit/application/grammy` | server | evolving | isolated grammY polling and webhook lifecycle adapters |
80
80
  | `stitchkit/application/opentelemetry` | server | evolving | maps application snapshots onto an injected OpenTelemetry `Meter` |
81
81
  | `stitchkit/application/schemas` | browser + server | evolving | the application's snapshot, health and shutdown schemas alone, without the kernel |
@@ -4719,8 +4719,13 @@ approval input fails the run with a private diagnostic rather than starting a fr
4719
4719
  `read_output`. Every call passes a required host authorization callback. An optional async/sync
4720
4720
  `authorizePath({ path })` is the one operation-independent policy for direct file access and
4721
4721
  discovery: direct read/write/edit refuses a denied path, while listing, glob and search omit it.
4722
- Directory decisions happen before descent; file decisions and `search_files.include` happen before
4723
- opening content. File paths are relative, bounded and contained after
4722
+ Denial is recursive on every surface direct access and discovery base paths ask about `.` and each
4723
+ ancestor, outermost first, stopping at the first refusal, so denying `credentials` denies everything
4724
+ under it. The comparison is segment-wise, so it does not deny `credentials-backup`, and a path of
4725
+ depth N costs N+1 questions. Directory decisions happen before descent; file decisions and
4726
+ `search_files.include` happen before opening content. Requested paths use `/`: a backslash is
4727
+ refused rather than normalised, because the workspace walk reads it as a separator and every
4728
+ authorization callback would otherwise be asked about a different decomposition than the one opened. File paths are relative, bounded and contained after
4724
4729
  descriptor-relative resolution: each ancestor is opened without following symlinks and remains
4725
4730
  pinned through authorization and the filesystem effect. Reads revalidate the pinned file identity;
4726
4731
  writes and patches revalidate the pinned parent identity; search and resource discovery descend
@@ -4808,7 +4813,10 @@ provide one database transaction driver:
4808
4813
 
4809
4814
  ```ts
4810
4815
  const store = createAgentRuntimeStore({
4811
- transaction: work => db.transaction(tx => work(tx)),
4816
+ transaction: (work, options) =>
4817
+ options?.access === 'read'
4818
+ ? db.readTransaction(tx => work(tx))
4819
+ : db.writeTransaction(tx => work(tx)),
4812
4820
  head: {
4813
4821
  load: (tx, conversationId) => loadRuntimeHead(tx, conversationId),
4814
4822
  compareAndSwap: (tx, operation) => casRuntimeHead(tx, operation),
@@ -4887,6 +4895,13 @@ SQLite's lock error, so an awaited transaction can resume and commit or roll
4887
4895
  back. Retry that explicit error with an application-owned bounded policy; do
4888
4896
  not configure a blocking busy timeout on the same JavaScript thread.
4889
4897
 
4898
+ Aggregate reads and catalog pages use `BEGIN`, so a WAL writer may remain active
4899
+ while the reader sees one committed snapshot. Mutations and purge use
4900
+ `BEGIN IMMEDIATE`: they reserve the writer slot before reading state for CAS and
4901
+ never attempt a deferred read-to-write upgrade. A custom driver may inspect the
4902
+ additive `transaction` option `{ access: 'read' }`; ignoring it preserves the
4903
+ previous write-safe behavior.
4904
+
4890
4905
  The adapter proves canonical durability across reopen and process restart. It
4891
4906
  does not make external tool effects exactly once, join application projections
4892
4907
  atomically or replace an application outbox. If a product row must commit with
@@ -11031,6 +11046,59 @@ makes one thing your job rather than the resolver's:
11031
11046
  The mechanical part is identical either way. Only the *noticing* differs, and an
11032
11047
  exact pin moves it onto you.
11033
11048
 
11049
+ ## Released migration: 0.84.0
11050
+
11051
+ Only if you call `createAgentCodingTools`.
11052
+
11053
+ ```bash
11054
+ rg -n "createAgentCodingTools"
11055
+ ```
11056
+
11057
+ **1. Backslashes are refused.** If anything in your system hands the tools a Windows-style path,
11058
+ it now gets `FORBIDDEN`. Convert to `/` at the boundary:
11059
+
11060
+ ```ts
11061
+ // before: read_file({ path: 'src\\index.ts' }) // reached openat as two segments
11062
+ // after: read_file({ path: 'src/index.ts' })
11063
+ ```
11064
+
11065
+ This is the half that matters most: until now a backslash bypassed your **required**
11066
+ `authorize({ operation, path })` callback, not just `authorizePath`. A rule denying
11067
+ `credentials/token.txt` refused that spelling and served — and overwrote — the same file spelled
11068
+ `credentials\token.txt`. If your policy denies specific files, re-read your audit logs for
11069
+ backslash spellings.
11070
+
11071
+ **2. Denying a directory now denies everything under it — and a policy must admit every directory
11072
+ on the way to a file**, the way POSIX needs `+x` on each directory in a path.
11073
+
11074
+ If your policy is a DENY-list, it now does what it read as:
11075
+
11076
+ ```ts
11077
+ authorizePath: ({ path }) => path !== 'credentials'
11078
+ // before: hid `credentials` from glob, served `credentials/token.txt` to read_file
11079
+ // after: refuses `credentials/token.txt`, `credentials/nested/deep.txt` and writes under it
11080
+ ```
11081
+
11082
+ If you relied on the old behaviour — a directory hidden from discovery but readable directly — you
11083
+ were relying on a defect, and the two halves of one callback disagreeing. Name the paths you
11084
+ actually want reachable instead.
11085
+
11086
+ If your policy is an ALLOW-list, widen it to the directories it leads through, or nothing under
11087
+ them is reachable:
11088
+
11089
+ ```ts
11090
+ // before: allowed src/index.ts, because only the leaf was ever asked
11091
+ authorizePath: ({ path }) => path.startsWith('src/')
11092
+ // after: `src` itself is asked first and refused, so the file is refused too
11093
+ authorizePath: ({ path }) => path === 'src' || path.startsWith('src/')
11094
+ ```
11095
+
11096
+ The workspace root is not asked about — it is the boundary the tools already own.
11097
+
11098
+ **3. The policy is called more often.** A path of depth N costs N+1 calls (`.`, then each ancestor,
11099
+ then the leaf), outermost first, stopping at the first refusal. A policy that logs or meters will
11100
+ see a different sequence, and will no longer see the leaf once an ancestor has refused.
11101
+
11034
11102
  ## Released migration: 0.83.0
11035
11103
 
11036
11104
  Two things, both mechanical, and only if you touch an observability sink.
@@ -15023,7 +15091,7 @@ Server-only optional application runtime. See the
15023
15091
  | `AgentRunQueuePrioritySchema` | schema | durable opt-in priority for queued `interrupt-next` runs |
15024
15092
  | `AgentRuntimeStore` | _type_ | aggregate CAS transaction boundary for message, run and compaction mutations |
15025
15093
  | `createAgentRuntimeStore` | function | build the aggregate store from one coherent transaction driver; framework owns every state transition |
15026
- | `AgentRuntimeStoreDriver` | _type_ | ORM-neutral transaction over a bounded head, normalized runs/admissions, product history and indexed run recovery |
15094
+ | `AgentRuntimeStoreDriver` | _type_ | ORM-neutral transaction over a bounded head, normalized runs/admissions, product history and indexed run recovery; optional `{ access: 'read' }` selects a coherent read transaction while absent options remain write-safe |
15027
15095
  | `AgentRuntimeHeadSchema` | schema | constant-size conversation identity plus monotonic runtime version |
15028
15096
  | `AgentStoredRunSchema` | schema | canonical normalized run with an optional retained terminal assistant |
15029
15097
  | `AgentAdmissionReceiptSchema` | schema | durable idempotency receipt with canonical input and assigned run/assistant identities |
@@ -15274,8 +15342,12 @@ boundary, not an OS sandbox; executable behavior, process
15274
15342
  isolation, credentials and external-effect idempotency remain host responsibilities.
15275
15343
 
15276
15344
  When `authorizePath` denies a path, direct read/write/edit returns `FORBIDDEN`, while
15277
- `list_directory`, `glob` and `search_files` omit it. Directory admission happens before descent and
15278
- file admission before opening; `search_files.include` is also applied before content is read.
15345
+ `list_directory`, `glob` and `search_files` omit it. Denial is recursive: direct access and
15346
+ discovery base paths are checked against `.` and every ancestor, outermost first and segment-wise,
15347
+ so denying `credentials` denies `credentials/token.txt` but not `credentials-backup`. Directory
15348
+ admission happens before descent and file admission before opening; `search_files.include` is also
15349
+ applied before content is read. Requested paths must use `/` — a backslash is refused, because the
15350
+ containment walk reads it as a separator while a callback would read it as one name.
15279
15351
  `run_command` is intentionally outside this guarantee because an executable needs process isolation,
15280
15352
  not path filtering, to constrain its filesystem access. → ADR 0172.
15281
15353
 
@@ -15623,7 +15695,7 @@ runtime-tool runner, plus deliberate raw MCP adapters over the same mechanics.
15623
15695
  | `AsyncOperationOutputCapability` | _type_ | optional result/artifact schema plus handler |
15624
15696
  | `RuntimeAsyncOperationConfig` | _type_ | runtime-only descriptor configuration |
15625
15697
  | `RuntimeAsyncOperation` | _type_ | inferred generated definitions and schemas |
15626
- | `AsyncOperationContractConfig` | _type_ | canonical contract config where start returns the operation id |
15698
+ | `AsyncOperationContractConfig` | _type_ | canonical contract config where start returns the operation id; optional `expose` names the transports per capability, because this contract is built inside the framework and never passes through a consumer's `toolExposure: 'explicit'` factory |
15627
15699
  | `AsyncOperationContractWithStartOutputConfig` | _type_ | canonical contract config with an application start envelope and typed id extractor |
15628
15700
  | `DefinedAsyncOperationContract` | _type_ | generated contract, capability keys, schemas and parsed adapters |
15629
15701
  | `ContractAsyncOperationConfig` | _type_ | literal contract method binding and handlers |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "stitchkit",
3
- "version": "0.83.2",
3
+ "version": "0.84.1",
4
4
  "description": "Contract-first backend framework — one defineContract() into an HTTP API, MCP tools, AI-agent tools and a typed client. Bun and Node.",
5
5
  "keywords": [
6
6
  "bun",