@chances-ai/engine 24.3.0 → 25.0.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/dist/core/index.d.ts +2 -2
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +2 -2
- package/dist/core/index.js.map +1 -1
- package/dist/core/task-tool.d.ts +5 -0
- package/dist/core/task-tool.d.ts.map +1 -1
- package/dist/core/task-tool.js +3 -2
- package/dist/core/task-tool.js.map +1 -1
- package/dist/core/workspace-query.d.ts +39 -0
- package/dist/core/workspace-query.d.ts.map +1 -1
- package/dist/core/workspace-query.js +98 -2
- package/dist/core/workspace-query.js.map +1 -1
- package/dist/session/index.d.ts +5 -0
- package/dist/session/index.d.ts.map +1 -1
- package/dist/session/index.js +7 -0
- package/dist/session/index.js.map +1 -1
- package/dist/tools/builtins/_shared.d.ts +38 -46
- package/dist/tools/builtins/_shared.d.ts.map +1 -1
- package/dist/tools/builtins/_shared.js +63 -122
- package/dist/tools/builtins/_shared.js.map +1 -1
- package/dist/tools/builtins/edit.js +4 -4
- package/dist/tools/builtins/edit.js.map +1 -1
- package/dist/tools/builtins/write.d.ts.map +1 -1
- package/dist/tools/builtins/write.js +5 -6
- package/dist/tools/builtins/write.js.map +1 -1
- package/package.json +3 -3
package/dist/core/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { AgentEngine, DEFAULT_MAX_TURNS, type AgentEngineOptions, type AgentResult, } from "./engine.js";
|
|
2
|
-
export { createTaskTool, type TaskToolDeps, TASK_TOOL_NAME } from "./task-tool.js";
|
|
2
|
+
export { createTaskTool, type TaskToolDeps, TASK_TOOL_NAME, PTY_TOOL_NAME } from "./task-tool.js";
|
|
3
3
|
export { CircuitBreaker, Compactor, type CompactResult, type CompactorDeps, type PruneResult, type PruneSettings, type ShouldCompactInput, estimateTokens, pruneToolOutputs, } from "./compaction/index.js";
|
|
4
4
|
export { cleanupStaleWorktrees, createAgentWorktree, findCanonicalRoot, refreshActiveMarker, WorktreeError, type AgentWorktreeHandle, type CreateAgentWorktreeOptions, type GcOptions, type GcResult, type WorktreeErrorCode, } from "./worktree/index.js";
|
|
5
|
-
export { DIFF_BYTE_CAP, READ_FILE_BYTE_CAP, WorkspaceEscapeError, gitDiff, gitStatus, listFiles, parseShortstat, readWorkspaceFile, type FileEntry, type GitDiffResult, type GitFileStatus, type GitStatusResult, type ListFilesResult, type ReadFileResult, } from "./workspace-query.js";
|
|
5
|
+
export { DIFF_BYTE_CAP, READ_FILE_BYTE_CAP, WorkspaceEscapeError, applyWorkspaceEdit, gitDiff, gitStatus, listFiles, parseShortstat, readWorkspaceFile, type ApplyEditHunk, type ApplyEditParams, type ApplyEditResult, type FileEntry, type GitDiffResult, type GitFileStatus, type GitStatusResult, type ListFilesResult, type ReadFileResult, } from "./workspace-query.js";
|
|
6
6
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/core/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,KAAK,kBAAkB,EACvB,KAAK,WAAW,GACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAE,KAAK,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,KAAK,kBAAkB,EACvB,KAAK,WAAW,GACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAE,KAAK,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAClG,OAAO,EACL,cAAc,EACd,SAAS,EACT,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,cAAc,EACd,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,aAAa,EACb,KAAK,mBAAmB,EACxB,KAAK,0BAA0B,EAC/B,KAAK,SAAS,EACd,KAAK,QAAQ,EACb,KAAK,iBAAiB,GACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,OAAO,EACP,SAAS,EACT,SAAS,EACT,cAAc,EACd,iBAAiB,EACjB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,cAAc,GACpB,MAAM,sBAAsB,CAAC"}
|
package/dist/core/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { AgentEngine, DEFAULT_MAX_TURNS, } from "./engine.js";
|
|
2
|
-
export { createTaskTool, TASK_TOOL_NAME } from "./task-tool.js";
|
|
2
|
+
export { createTaskTool, TASK_TOOL_NAME, PTY_TOOL_NAME } from "./task-tool.js";
|
|
3
3
|
export { CircuitBreaker, Compactor, estimateTokens, pruneToolOutputs, } from "./compaction/index.js";
|
|
4
4
|
export { cleanupStaleWorktrees, createAgentWorktree, findCanonicalRoot, refreshActiveMarker, WorktreeError, } from "./worktree/index.js";
|
|
5
|
-
export { DIFF_BYTE_CAP, READ_FILE_BYTE_CAP, WorkspaceEscapeError, gitDiff, gitStatus, listFiles, parseShortstat, readWorkspaceFile, } from "./workspace-query.js";
|
|
5
|
+
export { DIFF_BYTE_CAP, READ_FILE_BYTE_CAP, WorkspaceEscapeError, applyWorkspaceEdit, gitDiff, gitStatus, listFiles, parseShortstat, readWorkspaceFile, } from "./workspace-query.js";
|
|
6
6
|
//# sourceMappingURL=index.js.map
|
package/dist/core/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,iBAAiB,GAGlB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAqB,cAAc,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,iBAAiB,GAGlB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAqB,cAAc,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAClG,OAAO,EACL,cAAc,EACd,SAAS,EAMT,cAAc,EACd,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,aAAa,GAMd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,OAAO,EACP,SAAS,EACT,SAAS,EACT,cAAc,EACd,iBAAiB,GAUlB,MAAM,sBAAsB,CAAC"}
|
package/dist/core/task-tool.d.ts
CHANGED
|
@@ -9,6 +9,11 @@ import { type AgentWorktreeHandle } from "./worktree/index.js";
|
|
|
9
9
|
/** Public tool name. Exported so callers building child registries (or codex
|
|
10
10
|
* review!) can refer to the constant rather than re-spelling "task". */
|
|
11
11
|
export declare const TASK_TOOL_NAME = "task";
|
|
12
|
+
/** (5.1) Sibling constant — both the parent's `pty` (registered by
|
|
13
|
+
* `buildEngine`) and any per-subagent re-registration (here) use the
|
|
14
|
+
* same well-known name. (7.5 §14.1) Exported so `buildEngine`'s isolated
|
|
15
|
+
* per-session ToolRegistry can drop+re-register the stateful pty closure. */
|
|
16
|
+
export declare const PTY_TOOL_NAME = "pty";
|
|
12
17
|
export interface TaskToolDeps {
|
|
13
18
|
/**
|
|
14
19
|
* The parent engine's tool registry. We snapshot it inside `execute` so
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-tool.d.ts","sourceRoot":"","sources":["../../src/core/task-tool.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,QAAQ,EAEb,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EAEvB,cAAc,EAGf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAW,aAAa,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,IAAI,EAAc,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAiB,MAAM,mBAAmB,CAAC;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAI1D,OAAO,EACL,KAAK,mBAAmB,EAGzB,MAAM,qBAAqB,CAAC;AAO7B;wEACwE;AACxE,eAAO,MAAM,cAAc,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"task-tool.d.ts","sourceRoot":"","sources":["../../src/core/task-tool.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,QAAQ,EAEb,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EAEvB,cAAc,EAGf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAW,aAAa,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,IAAI,EAAc,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAiB,MAAM,mBAAmB,CAAC;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAI1D,OAAO,EACL,KAAK,mBAAmB,EAGzB,MAAM,qBAAqB,CAAC;AAO7B;wEACwE;AACxE,eAAO,MAAM,cAAc,SAAS,CAAC;AAErC;;;6EAG6E;AAC7E,eAAO,MAAM,aAAa,QAAQ,CAAC;AAkEnC,MAAM,WAAW,YAAY;IAC3B;;;;OAIG;IACH,WAAW,EAAE,YAAY,CAAC;IAC1B,GAAG,EAAE,QAAQ,CAAC;IACd,MAAM,EAAE,WAAW,CAAC;IACpB;;;;OAIG;IACH,IAAI,EAAE,cAAc,CAAC;IACrB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB;;gFAE4E;IAC5E,eAAe,CAAC,EAAE,MAAM,YAAY,CAAC;IACrC;4EACwE;IACxE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC9C;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB;;;;;;;;OAQG;IACH,eAAe,CAAC,EAAE,iBAAiB,CAAC;IACpC;;;;;;;;;;OAUG;IACH,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC;;iDAE6C;IAC7C,sBAAsB,CAAC,EAAE,gBAAgB,CAAC;IAC1C;;;4DAGwD;IACxD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;+DAE2D;IAC3D,kBAAkB,CAAC,EAAE,CACnB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,WAAW,KAChB,OAAO,CAAC,OAAO,aAAa,EAAE,eAAe,EAAE,CAAC,CAAC;IACtD;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,cAAc,CAAC;IAC/B;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,cAAc,CAAC;IACjC;gFAC4E;IAC5E,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;2DAEuD;IACvD,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AAYD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,CAyrBvD;AAqBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAsB,yBAAyB,CAC7C,MAAM,EAAE,mBAAmB,GAAG,SAAS,EACvC,eAAe,EAAE,MAAM,EACvB,IAAI,EAAE,MAAM,EACZ,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,MAAM,CAAC,CAEjB"}
|
package/dist/core/task-tool.js
CHANGED
|
@@ -12,8 +12,9 @@ import { gitDiffShortstat, gitStatusEmpty, gitUnmergedCommitCount, } from "./wor
|
|
|
12
12
|
export const TASK_TOOL_NAME = "task";
|
|
13
13
|
/** (5.1) Sibling constant — both the parent's `pty` (registered by
|
|
14
14
|
* `buildEngine`) and any per-subagent re-registration (here) use the
|
|
15
|
-
* same well-known name.
|
|
16
|
-
|
|
15
|
+
* same well-known name. (7.5 §14.1) Exported so `buildEngine`'s isolated
|
|
16
|
+
* per-session ToolRegistry can drop+re-register the stateful pty closure. */
|
|
17
|
+
export const PTY_TOOL_NAME = "pty";
|
|
17
18
|
/** Upper bound on the child's `maxTurns`. The parent's config-supplied value
|
|
18
19
|
* is honored; this clamp only ensures a misconfigured 1 000-turn budget
|
|
19
20
|
* doesn't let a single `task` invocation wedge the agent for hours. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-tool.js","sourceRoot":"","sources":["../../src/core/task-tool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"task-tool.js","sourceRoot":"","sources":["../../src/core/task-tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -39,6 +39,11 @@ export interface GitFileStatus {
|
|
|
39
39
|
path: string;
|
|
40
40
|
/** Porcelain XY status code, e.g. `".M"`, `"M."`, `"A."`, `"??"`. */
|
|
41
41
|
status: string;
|
|
42
|
+
/** (7.5 W5) Lines added vs HEAD (`git diff --numstat`), for the file-tree
|
|
43
|
+
* change-bar. Absent for untracked / binary files. */
|
|
44
|
+
added?: number;
|
|
45
|
+
/** (7.5 W5) Lines removed vs HEAD. Absent for untracked / binary files. */
|
|
46
|
+
removed?: number;
|
|
42
47
|
}
|
|
43
48
|
export interface GitStatusResult {
|
|
44
49
|
/** False when not a git repo or git is missing — the panel renders "no repo". */
|
|
@@ -80,4 +85,38 @@ export declare function parseShortstat(text: string): {
|
|
|
80
85
|
added: number;
|
|
81
86
|
removed: number;
|
|
82
87
|
};
|
|
88
|
+
/** A find/replace hunk for {@link applyWorkspaceEdit} (the "accept an agent diff"
|
|
89
|
+
* form). `replaceAll` swaps every occurrence; otherwise the first only. */
|
|
90
|
+
export interface ApplyEditHunk {
|
|
91
|
+
oldText: string;
|
|
92
|
+
newText: string;
|
|
93
|
+
replaceAll?: boolean;
|
|
94
|
+
}
|
|
95
|
+
export interface ApplyEditParams {
|
|
96
|
+
/** Workspace-relative or absolute path (contained to the workspace root). */
|
|
97
|
+
path: string;
|
|
98
|
+
/** Full new file contents (Monaco's whole-buffer save — the primary form). */
|
|
99
|
+
content?: string;
|
|
100
|
+
/** OR a list of find/replace hunks applied in order (accept-agent-diff form). */
|
|
101
|
+
edits?: ApplyEditHunk[];
|
|
102
|
+
}
|
|
103
|
+
export interface ApplyEditResult {
|
|
104
|
+
ok: true;
|
|
105
|
+
/** Echoes the requested (logical) path. */
|
|
106
|
+
path: string;
|
|
107
|
+
/** Pre-write contents ("" for a new file) — the client renders old↔new diff. */
|
|
108
|
+
oldText: string;
|
|
109
|
+
/** Post-write contents. */
|
|
110
|
+
newText: string;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Apply a client-initiated workspace edit, fail-closed. Resolves + contains
|
|
114
|
+
* `params.path` through the native realpath jail (a workspace symlink pointing
|
|
115
|
+
* outside is rejected) + the protected-path floor (refuse SSH/cloud/keychain),
|
|
116
|
+
* computes the new contents (`content` whole-file OR `edits[]` hunks), and writes
|
|
117
|
+
* atomically (sibling temp + rename). Throws {@link WorkspaceEscapeError} on a
|
|
118
|
+
* containment/protected violation (→ `invalidParams`); a plain `Error` on a
|
|
119
|
+
* missing hunk match or absent payload (→ `serverError`).
|
|
120
|
+
*/
|
|
121
|
+
export declare function applyWorkspaceEdit(workspaceRoot: string, params: ApplyEditParams): Promise<ApplyEditResult>;
|
|
83
122
|
//# sourceMappingURL=workspace-query.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-query.d.ts","sourceRoot":"","sources":["../../src/core/workspace-query.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;
|
|
1
|
+
{"version":3,"file":"workspace-query.d.ts","sourceRoot":"","sources":["../../src/core/workspace-query.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,8 +11,11 @@
|
|
|
11
11
|
* functions of `(workspaceRoot, …)` so both `apps/cli` (serve) and `apps/desktop`
|
|
12
12
|
* wire them into one `EngineHost` with zero duplication.
|
|
13
13
|
*/
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
14
|
+
import { existsSync } from "node:fs";
|
|
15
|
+
import { chmod, mkdir, open, readFile, readdir, realpath, rename, stat, writeFile } from "node:fs/promises";
|
|
16
|
+
import { dirname, isAbsolute, relative, resolve, sep } from "node:path";
|
|
17
|
+
import { native } from "@chances-ai/native";
|
|
18
|
+
import { createId } from "@chances-ai/runtime";
|
|
16
19
|
import { runGit } from "./worktree/git.js";
|
|
17
20
|
/** `read_file` content cap — the same 256 KB ceiling the diff/preview path uses
|
|
18
21
|
* (`_shared.ts` `PREVIEW_BYTE_CAP`). A larger file is truncated, not refused, so
|
|
@@ -178,6 +181,33 @@ export async function gitStatus(workspaceRoot, signal) {
|
|
|
178
181
|
}
|
|
179
182
|
// "! " (ignored) → skipped.
|
|
180
183
|
}
|
|
184
|
+
// (7.5 W5) Per-file line counts vs HEAD for the file-tree change-bar. One extra
|
|
185
|
+
// `git diff --numstat HEAD` (tracked changes; untracked/binary → no counts). Best
|
|
186
|
+
// effort — a failure just leaves the bars absent.
|
|
187
|
+
try {
|
|
188
|
+
const numstat = await runGit(["diff", "--numstat", "HEAD"], { cwd: workspaceRoot, signal, allowNonZero: true });
|
|
189
|
+
if (numstat.ok) {
|
|
190
|
+
const counts = new Map();
|
|
191
|
+
for (const line of numstat.stdout.split("\n")) {
|
|
192
|
+
const m = line.match(/^(\d+|-)\t(\d+|-)\t(.+)$/);
|
|
193
|
+
if (!m)
|
|
194
|
+
continue;
|
|
195
|
+
const added = m[1] === "-" ? 0 : Number.parseInt(m[1], 10);
|
|
196
|
+
const removed = m[2] === "-" ? 0 : Number.parseInt(m[2], 10);
|
|
197
|
+
counts.set(m[3].trim(), { added, removed });
|
|
198
|
+
}
|
|
199
|
+
for (const f of files) {
|
|
200
|
+
const c = counts.get(f.path);
|
|
201
|
+
if (c) {
|
|
202
|
+
f.added = c.added;
|
|
203
|
+
f.removed = c.removed;
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
catch {
|
|
209
|
+
/* numstat is best-effort; bars just won't show */
|
|
210
|
+
}
|
|
181
211
|
return { repo: true, branch, ahead, behind, files };
|
|
182
212
|
}
|
|
183
213
|
/** `git diff [-- <path>]` (patch text, capped) + `--shortstat` (real totals).
|
|
@@ -214,4 +244,70 @@ export function parseShortstat(text) {
|
|
|
214
244
|
removed: del ? Number.parseInt(del[1] ?? "0", 10) : 0,
|
|
215
245
|
};
|
|
216
246
|
}
|
|
247
|
+
/**
|
|
248
|
+
* Apply a client-initiated workspace edit, fail-closed. Resolves + contains
|
|
249
|
+
* `params.path` through the native realpath jail (a workspace symlink pointing
|
|
250
|
+
* outside is rejected) + the protected-path floor (refuse SSH/cloud/keychain),
|
|
251
|
+
* computes the new contents (`content` whole-file OR `edits[]` hunks), and writes
|
|
252
|
+
* atomically (sibling temp + rename). Throws {@link WorkspaceEscapeError} on a
|
|
253
|
+
* containment/protected violation (→ `invalidParams`); a plain `Error` on a
|
|
254
|
+
* missing hunk match or absent payload (→ `serverError`).
|
|
255
|
+
*/
|
|
256
|
+
export async function applyWorkspaceEdit(workspaceRoot, params) {
|
|
257
|
+
const abs = isAbsolute(params.path) ? params.path : resolve(workspaceRoot, params.path);
|
|
258
|
+
let real;
|
|
259
|
+
try {
|
|
260
|
+
real = native.containPath(abs, workspaceRoot);
|
|
261
|
+
}
|
|
262
|
+
catch {
|
|
263
|
+
throw new WorkspaceEscapeError(params.path);
|
|
264
|
+
}
|
|
265
|
+
const protectedReason = native.protectedPathReason(real);
|
|
266
|
+
if (protectedReason) {
|
|
267
|
+
throw new WorkspaceEscapeError(`${params.path} (protected: ${protectedReason})`);
|
|
268
|
+
}
|
|
269
|
+
const existed = existsSync(real);
|
|
270
|
+
const oldText = existed ? await readFile(real, "utf8") : "";
|
|
271
|
+
let newText;
|
|
272
|
+
if (typeof params.content === "string") {
|
|
273
|
+
newText = params.content;
|
|
274
|
+
}
|
|
275
|
+
else if (params.edits && params.edits.length > 0) {
|
|
276
|
+
newText = oldText;
|
|
277
|
+
for (const e of params.edits) {
|
|
278
|
+
// (codex R2 S2) Validate EVERY hunk: a non-empty oldText that actually
|
|
279
|
+
// matches — for replaceAll too (a silent no-op / empty-string insertion is a bug).
|
|
280
|
+
if (e.oldText === "")
|
|
281
|
+
throw new Error("apply_edit: hunk oldText must be non-empty");
|
|
282
|
+
const idx = newText.indexOf(e.oldText);
|
|
283
|
+
if (idx === -1)
|
|
284
|
+
throw new Error(`apply_edit: oldText not found in ${params.path}`);
|
|
285
|
+
newText = e.replaceAll
|
|
286
|
+
? newText.split(e.oldText).join(e.newText)
|
|
287
|
+
: newText.slice(0, idx) + e.newText + newText.slice(idx + e.oldText.length);
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
else {
|
|
291
|
+
throw new Error("apply_edit requires `content` or a non-empty `edits` array");
|
|
292
|
+
}
|
|
293
|
+
// Atomic: write a sibling temp then rename over the target (intra-fs, atomic),
|
|
294
|
+
// so a crash mid-write never leaves a half-written file.
|
|
295
|
+
await mkdir(dirname(real), { recursive: true });
|
|
296
|
+
const tmp = `${real}.${process.pid}.${createId("w")}.tmp`;
|
|
297
|
+
await writeFile(tmp, newText);
|
|
298
|
+
// (codex R2 M4) Preserve the existing file's mode (executable bit etc.) — the
|
|
299
|
+
// temp is created under umask, so an overwrite would otherwise strip permissions.
|
|
300
|
+
if (existed) {
|
|
301
|
+
try {
|
|
302
|
+
await chmod(tmp, (await stat(real)).mode);
|
|
303
|
+
}
|
|
304
|
+
catch {
|
|
305
|
+
/* best effort */
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
await rename(tmp, real);
|
|
309
|
+
// Bust the shared fs-scan cache so a later glob/grep/ast sees the change.
|
|
310
|
+
native.invalidateFsScanCache(dirname(real));
|
|
311
|
+
return { ok: true, path: params.path, oldText, newText };
|
|
312
|
+
}
|
|
217
313
|
//# sourceMappingURL=workspace-query.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-query.js","sourceRoot":"","sources":["../../src/core/workspace-query.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"workspace-query.js","sourceRoot":"","sources":["../../src/core/workspace-query.ts"],"names":[],"mappings":"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"}
|
package/dist/session/index.d.ts
CHANGED
|
@@ -41,6 +41,11 @@ export declare class SessionManager {
|
|
|
41
41
|
private state;
|
|
42
42
|
private constructor();
|
|
43
43
|
static create(title?: string, store?: SessionStore): SessionManager;
|
|
44
|
+
/** (7.5 W6 / codex R2 S3) Persist the current state on demand — the `serve` host
|
|
45
|
+
* calls this right after `create` so a fresh session shows in the multi-session
|
|
46
|
+
* sidebar before its first turn, WITHOUT making `create` persist globally (which
|
|
47
|
+
* would pollute the TUI `/resume` list with empty sessions). */
|
|
48
|
+
persist(): void;
|
|
44
49
|
static resume(id: string, store: SessionStore): SessionManager | undefined;
|
|
45
50
|
/**
|
|
46
51
|
* (5.5) Creates a NEW session pre-seeded with a deep clone of `parent`'s
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/session/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,OAAO,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB;;;4BAGwB;IACxB,KAAK,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/C;AAED,wEAAwE;AACxE,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,YAAY,CAAC;CACrB;AAED,yEAAyE;AACzE,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;gBAEjB,aAAa,EAAE,MAAM;IAKjC,IAAI,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAI/B,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAU1C,IAAI,IAAI,YAAY,EAAE;CAYvB;AAED;;;GAGG;AACH,qBAAa,cAAc;IAGgB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;IAFhE,OAAO,CAAC,KAAK,CAAe;IAE5B,OAAO;IAIP,MAAM,CAAC,MAAM,CAAC,KAAK,SAAY,EAAE,KAAK,CAAC,EAAE,YAAY,GAAG,cAAc;IAQtE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,cAAc,GAAG,SAAS;IAK1E;;;;;;;;;;;;;;;;;;OAkBG;IACH,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,SAAa,GAAG,cAAc;IAQ3E,IAAI,EAAE,IAAI,MAAM,CAEf;IAED,8DAA8D;IAC9D,QAAQ,IAAI,OAAO,EAAE;IAIrB,UAAU,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,UAAU;IAQ3C;wEACoE;IACpE,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,GAAG,IAAI;IAMxE,mEAAmE;IACnE,WAAW,IAAI;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS;IAIhE;;;;;OAKG;IACH,UAAU,IAAI,IAAI;IAMlB;;;;;;;;;;;;;;;;;OAiBG;IACH,UAAU,CAAC,eAAe,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,OAAO,EAAE,GAAG,IAAI;IAmBxF;;;;;;;;;;;;;OAaG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAqBtD,UAAU,IAAI,UAAU;IAIxB,OAAO,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;IAKrC,QAAQ,IAAI,YAAY;CAGzB"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/session/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,OAAO,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB;;;4BAGwB;IACxB,KAAK,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/C;AAED,wEAAwE;AACxE,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,YAAY,CAAC;CACrB;AAED,yEAAyE;AACzE,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;gBAEjB,aAAa,EAAE,MAAM;IAKjC,IAAI,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAI/B,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAU1C,IAAI,IAAI,YAAY,EAAE;CAYvB;AAED;;;GAGG;AACH,qBAAa,cAAc;IAGgB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;IAFhE,OAAO,CAAC,KAAK,CAAe;IAE5B,OAAO;IAIP,MAAM,CAAC,MAAM,CAAC,KAAK,SAAY,EAAE,KAAK,CAAC,EAAE,YAAY,GAAG,cAAc;IAQtE;;;qEAGiE;IACjE,OAAO,IAAI,IAAI;IAIf,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,cAAc,GAAG,SAAS;IAK1E;;;;;;;;;;;;;;;;;;OAkBG;IACH,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,SAAa,GAAG,cAAc;IAQ3E,IAAI,EAAE,IAAI,MAAM,CAEf;IAED,8DAA8D;IAC9D,QAAQ,IAAI,OAAO,EAAE;IAIrB,UAAU,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,UAAU;IAQ3C;wEACoE;IACpE,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,GAAG,IAAI;IAMxE,mEAAmE;IACnE,WAAW,IAAI;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS;IAIhE;;;;;OAKG;IACH,UAAU,IAAI,IAAI;IAMlB;;;;;;;;;;;;;;;;;OAiBG;IACH,UAAU,CAAC,eAAe,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,OAAO,EAAE,GAAG,IAAI;IAmBxF;;;;;;;;;;;;;OAaG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAqBtD,UAAU,IAAI,UAAU;IAIxB,OAAO,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;IAKrC,QAAQ,IAAI,YAAY;CAGzB"}
|
package/dist/session/index.js
CHANGED
|
@@ -51,6 +51,13 @@ export class SessionManager {
|
|
|
51
51
|
const now = new Date().toISOString();
|
|
52
52
|
return new SessionManager({ id: createId("ses"), title, createdAt: now, updatedAt: now, turns: [] }, store);
|
|
53
53
|
}
|
|
54
|
+
/** (7.5 W6 / codex R2 S3) Persist the current state on demand — the `serve` host
|
|
55
|
+
* calls this right after `create` so a fresh session shows in the multi-session
|
|
56
|
+
* sidebar before its first turn, WITHOUT making `create` persist globally (which
|
|
57
|
+
* would pollute the TUI `/resume` list with empty sessions). */
|
|
58
|
+
persist() {
|
|
59
|
+
this.store?.save(this.state);
|
|
60
|
+
}
|
|
54
61
|
static resume(id, store) {
|
|
55
62
|
const state = store.load(id);
|
|
56
63
|
return state ? new SessionManager(state, store) : undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/session/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC1F,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AA4B/C,yEAAyE;AACzE,MAAM,OAAO,YAAY;IACN,GAAG,CAAS;IAE7B,YAAY,aAAqB;QAC/B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,aAAa,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;QACvD,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,CAAC,KAAmB;QACtB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACpF,CAAC;IAED,IAAI,CAAC,EAAU;QACb,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QAC1C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,OAAO,SAAS,CAAC;QACxC,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAiB,CAAC;QAChE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,IAAI;QACF,OAAO,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC;aACzB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;aAClC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACb,IAAI,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAiB,CAAC,CAAC;YAC/E,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC,CAAC;aACD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;IAC5D,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,cAAc;IAGiC;IAFlD,KAAK,CAAe;IAE5B,YAAoB,KAAmB,EAAmB,KAAoB;QAApB,UAAK,GAAL,KAAK,CAAe;QAC5E,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,KAAK,GAAG,SAAS,EAAE,KAAoB;QACnD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,OAAO,IAAI,cAAc,CACvB,EAAE,EAAE,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,EACzE,KAAK,CACN,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,EAAU,EAAE,KAAmB;QAC3C,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC7B,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9D,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,MAAM,CAAC,QAAQ,CAAC,MAAsB,EAAE,KAAK,GAAG,UAAU;QACxD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,OAAO,IAAI,cAAc,CACvB,EAAE,EAAE,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAC9F,SAAS,CACV,CAAC;IACJ,CAAC;IAED,IAAI,EAAE;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;IACvB,CAAC;IAED,8DAA8D;IAC9D,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACrD,CAAC;IAED,UAAU,CAAC,QAAmB;QAC5B,MAAM,IAAI,GAAe,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,CAAC;QAC9F,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC;QAC/B,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;wEACoE;IACpE,QAAQ,CAAC,KAAwD;QAC/D,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAChD,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,mEAAmE;IACnE,WAAW;QACT,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAChE,CAAC;IAED;;;;;OAKG;IACH,UAAU;QACR,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAChD,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,UAAU,CAAC,eAAuB,EAAE,SAA6C;QAC/E,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;QACtC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC;QACjE,IAAI,MAAM,KAAK,CAAC;YAAE,OAAO;QACzB,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC;YAC/B,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC1C,IAAI,WAAW,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAC/B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;gBACtD,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC;QACH,CAAC;QACD,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAChD,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,YAAY,CAAC,OAAe,EAAE,SAAiB;QAC7C,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QAClF,IAAI,SAAS,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC3E,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;QACtC,IAAI,SAAS,IAAI,KAAK;YAAE,OAAO,CAAC,qBAAqB;QACrD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC;QACzD,MAAM,SAAS,GAAe;YAC5B,MAAM,EAAE,WAAW,QAAQ,CAAC,MAAM,CAAC,EAAE;YACrC,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YAC5B,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,mCAAmC,OAAO,EAAE,EAAE,CAAC;iBAChF;aACF;SACF,CAAC;QACF,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,SAAS,EAAE,GAAG,MAAM,CAAC,CAAC;QAC1C,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC,EAAE,CAAC;QACpC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,UAAU;QACR,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;IACpF,CAAC;IAED,OAAO,CAAC,UAAsB;QAC5B,IAAI,CAAC,KAAK,GAAG,eAAe,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,QAAQ;QACN,OAAO,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/session/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,56 +8,48 @@ export declare function str(args: JSONValue, key: string): string;
|
|
|
8
8
|
export declare function optStr(args: JSONValue, key: string): string | undefined;
|
|
9
9
|
export declare function optNum(args: JSONValue, key: string): number | undefined;
|
|
10
10
|
export declare function optBool(args: JSONValue, key: string): boolean | undefined;
|
|
11
|
-
/**
|
|
11
|
+
/** **Read containment (lexical).** Local read-class tools
|
|
12
|
+
* (`read`/`grep`/`glob`/`diff`/`lsp`) resolve `p` against `ctx.cwd` and reject a
|
|
13
|
+
* lexical escape (`..` / absolute-outside). They deliberately stay lexical:
|
|
14
|
+
* reading *through* an inbound symlink (a config/fixture symlinked into a repo)
|
|
15
|
+
* is a common, legitimate pattern, and the high-severity risk is *writing*
|
|
16
|
+
* outside the workspace, not reading a file the caller's own UID can already
|
|
17
|
+
* read. (codex R1 S3: this is distinct from the realpath jail below — do NOT
|
|
18
|
+
* route remote queries through here.) */
|
|
19
|
+
export declare function containReadPath(ctx: ToolContext, p: string): string;
|
|
20
|
+
/** **Write/remote containment (realpath jail).** Delegates to the native
|
|
21
|
+
* `fs_guard` (`[7.5]` single enforcement point; JS fallback when the addon is
|
|
22
|
+
* absent): resolves the full symlink chain (incl. dangling leaves + non-existent
|
|
23
|
+
* write tails), rejects any escape of the workspace root, and returns the
|
|
24
|
+
* canonical path. Used by ALL file writes AND the remote workspace queries
|
|
25
|
+
* (`core/workspace-query.ts`) — a remote viewer must not read/write *through* a
|
|
26
|
+
* workspace symlink pointing outside the root (exfiltration / write-escape).
|
|
12
27
|
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
* **Residual (out of the single-agent threat model, not closed here):** a
|
|
31
|
-
* classic TOCTOU still exists if a *concurrent* actor swaps a parent dir
|
|
32
|
-
* for an outbound symlink in the window between this check and the
|
|
33
|
-
* `writeFileSync`. Fully closing it needs an `openat`/`O_NOFOLLOW` path
|
|
34
|
-
* walk (no clean Node API); documented as a future-hardening pointer.
|
|
35
|
-
*
|
|
36
|
-
* In the resolving branch, both `workspaceRoot` and the target are
|
|
37
|
-
* realpath'd so the comparison is between fully-resolved trees; for
|
|
38
|
-
* non-existent leaves (the standard `write` case) and dangling symlinks,
|
|
39
|
-
* `realpathExtant` walks the symlink chain up to the nearest existing
|
|
40
|
-
* ancestor and re-joins the missing tail.
|
|
41
|
-
*
|
|
42
|
-
* **Windows junctions.** An NTFS junction (a directory reparse point) is
|
|
43
|
-
* NOT reported as a symlink by `lstat().isSymbolicLink()`, so it skips the
|
|
44
|
-
* manual `readlink` branch in `realpathExtant` — but `realpathSync` DOES
|
|
45
|
-
* traverse it, so a write target under a junction that points outside the
|
|
46
|
-
* workspace still resolves outside and is rejected by the containment check.
|
|
47
|
-
* Covered by the win32-only junction tests in `_shared.symlink.test.ts` (D-C).
|
|
48
|
-
*
|
|
49
|
-
* **Read-class tools** (`read`/`grep`/`glob`/`diff`/`lsp`) deliberately
|
|
50
|
-
* stay lexical in the non-isolated context: reading *through* an inbound
|
|
51
|
-
* symlink (a config/fixture symlinked into a repo) is a common, legitimate
|
|
52
|
-
* pattern, and the high-severity risk is *writing* outside the workspace,
|
|
53
|
-
* not reading a file the caller's own UID can already read. (claude-code
|
|
54
|
-
* resolves reads too; we intentionally keep them lexical here to avoid
|
|
55
|
-
* breaking legit symlinked-file reads — revisit if a read-escape threat
|
|
56
|
-
* emerges.)
|
|
57
|
-
*/
|
|
28
|
+
* **Residual TOCTOU** (out of the single-agent threat model): a concurrent actor
|
|
29
|
+
* swapping a parent dir for an outbound symlink between this check and the
|
|
30
|
+
* `renameSync` still exists; fully closing it needs `openat`/`O_NOFOLLOW` (no
|
|
31
|
+
* clean Node API). Writes go to the *resolved* path so the symlink isn't
|
|
32
|
+
* re-traversed after the check. */
|
|
33
|
+
export declare function containWritePath(ctx: ToolContext, p: string): string;
|
|
34
|
+
/** **Write guard = realpath jail + protected-path floor.** The execute-time
|
|
35
|
+
* guard for every write tool (`write`/`edit`/`multi-edit`) and the web
|
|
36
|
+
* `apply_edit` path: {@link containWritePath} then the native protected-path
|
|
37
|
+
* floor (refuse SSH keys / cloud creds / keychain / mail stores even when the
|
|
38
|
+
* jail allows it). Throws `Permission` on either failure → the write never
|
|
39
|
+
* lands. Bundled so a write path can't *forget* the protected check. */
|
|
40
|
+
export declare function guardWrite(ctx: ToolContext, p: string): string;
|
|
41
|
+
/** Back-compat shim for existing call sites. `resolveSymlinks` (write tools) OR
|
|
42
|
+
* an isolated worktree subagent → the realpath jail; otherwise lexical read
|
|
43
|
+
* containment. New code should call {@link containReadPath} / {@link guardWrite}
|
|
44
|
+
* directly. */
|
|
58
45
|
export declare function safePath(ctx: ToolContext, p: string, opts?: {
|
|
59
46
|
resolveSymlinks?: boolean;
|
|
60
47
|
}): string;
|
|
48
|
+
/** Atomically write `body` to `path`: write a sibling temp file then `rename`
|
|
49
|
+
* over the target (rename is atomic within a filesystem), so a crash mid-write
|
|
50
|
+
* never leaves a half-written file. Creates parent dirs. The temp lives in the
|
|
51
|
+
* SAME dir as the target so the rename stays intra-filesystem. */
|
|
52
|
+
export declare function writeFileAtomic(path: string, body: string): void;
|
|
61
53
|
/** Render a string as a short JSON-quoted preview for permission prompts. */
|
|
62
54
|
export declare function preview(s: string): string;
|
|
63
55
|
export { cleanOutput, normaliseLineEndings, stripAnsi } from "@chances-ai/runtime";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_shared.d.ts","sourceRoot":"","sources":["../../../src/tools/builtins/_shared.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"_shared.d.ts","sourceRoot":"","sources":["../../../src/tools/builtins/_shared.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C;;sDAEsD;AACtD,eAAO,MAAM,gBAAgB,QAAa,CAAC;AAE3C,wBAAgB,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAIxD;AAED,wBAAgB,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAKvE;AAED,wBAAgB,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAOvE;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAKzE;AAED;;;;;;;yCAOyC;AACzC,wBAAgB,eAAe,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAOnE;AAED;;;;;;;;;;;;mCAYmC;AACnC,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAOpE;AAED;;;;;wEAKwE;AACxE,wBAAgB,UAAU,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAU9D;AAED;;;eAGe;AACf,wBAAgB,QAAQ,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;IAAE,eAAe,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,CAGlG;AAED;;;kEAGkE;AAClE,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAahE;AAED,6EAA6E;AAC7E,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAGzC;AAaD,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEnF;;;;;;;;;;;mFAWmF;AACnF,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAGlD;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,iBAAiB,CAC/B,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,MAAM,EACZ,MAAM,SAAS,EACf,QAAQ,SAAe,EACvB,EAAE,CAAC,EAAE,MAAM,GACV,MAAM,GAAG,IAAI,CAef"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { createHash } from "node:crypto";
|
|
2
|
-
import {
|
|
2
|
+
import { chmodSync, mkdirSync, renameSync, statSync, writeFileSync } from "node:fs";
|
|
3
3
|
import { dirname, isAbsolute, join, relative, resolve } from "node:path";
|
|
4
|
+
import { native } from "@chances-ai/native";
|
|
4
5
|
import { AppError, ErrorCode, createId, currentCwdOverride } from "@chances-ai/runtime";
|
|
5
6
|
/** Diff/write-preview cap: refuses to read either side of a comparison when it
|
|
6
7
|
* exceeds this many bytes, so a `write` against a generated 50 MB file doesn't
|
|
@@ -37,144 +38,84 @@ export function optBool(args, key) {
|
|
|
37
38
|
throw new AppError(ErrorCode.Tool, `Expected boolean arg "${key}"`);
|
|
38
39
|
return v;
|
|
39
40
|
}
|
|
40
|
-
/**
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
|
|
49
|
-
* - **`opts.resolveSymlinks`** set by the caller: the file-write tools
|
|
50
|
-
* (`write`/`edit`) pass it so that, even in the non-isolated parent
|
|
51
|
-
* context, a workspace-internal symlink pointing OUTSIDE can't be
|
|
52
|
-
* *written through* to plant/modify a file outside the workspace
|
|
53
|
-
* (e.g. a git hook, build script, or dotfile). This closes the
|
|
54
|
-
* write-escape hole that lexical-only containment leaves open — for the
|
|
55
|
-
* full symlink chain (`realpathExtant` walks every hop and fails closed
|
|
56
|
-
* past its depth cap), and `write`/`edit` write to the *resolved* path so
|
|
57
|
-
* the symlink isn't re-traversed after the check.
|
|
58
|
-
*
|
|
59
|
-
* **Residual (out of the single-agent threat model, not closed here):** a
|
|
60
|
-
* classic TOCTOU still exists if a *concurrent* actor swaps a parent dir
|
|
61
|
-
* for an outbound symlink in the window between this check and the
|
|
62
|
-
* `writeFileSync`. Fully closing it needs an `openat`/`O_NOFOLLOW` path
|
|
63
|
-
* walk (no clean Node API); documented as a future-hardening pointer.
|
|
64
|
-
*
|
|
65
|
-
* In the resolving branch, both `workspaceRoot` and the target are
|
|
66
|
-
* realpath'd so the comparison is between fully-resolved trees; for
|
|
67
|
-
* non-existent leaves (the standard `write` case) and dangling symlinks,
|
|
68
|
-
* `realpathExtant` walks the symlink chain up to the nearest existing
|
|
69
|
-
* ancestor and re-joins the missing tail.
|
|
70
|
-
*
|
|
71
|
-
* **Windows junctions.** An NTFS junction (a directory reparse point) is
|
|
72
|
-
* NOT reported as a symlink by `lstat().isSymbolicLink()`, so it skips the
|
|
73
|
-
* manual `readlink` branch in `realpathExtant` — but `realpathSync` DOES
|
|
74
|
-
* traverse it, so a write target under a junction that points outside the
|
|
75
|
-
* workspace still resolves outside and is rejected by the containment check.
|
|
76
|
-
* Covered by the win32-only junction tests in `_shared.symlink.test.ts` (D-C).
|
|
77
|
-
*
|
|
78
|
-
* **Read-class tools** (`read`/`grep`/`glob`/`diff`/`lsp`) deliberately
|
|
79
|
-
* stay lexical in the non-isolated context: reading *through* an inbound
|
|
80
|
-
* symlink (a config/fixture symlinked into a repo) is a common, legitimate
|
|
81
|
-
* pattern, and the high-severity risk is *writing* outside the workspace,
|
|
82
|
-
* not reading a file the caller's own UID can already read. (claude-code
|
|
83
|
-
* resolves reads too; we intentionally keep them lexical here to avoid
|
|
84
|
-
* breaking legit symlinked-file reads — revisit if a read-escape threat
|
|
85
|
-
* emerges.)
|
|
86
|
-
*/
|
|
87
|
-
export function safePath(ctx, p, opts) {
|
|
41
|
+
/** **Read containment (lexical).** Local read-class tools
|
|
42
|
+
* (`read`/`grep`/`glob`/`diff`/`lsp`) resolve `p` against `ctx.cwd` and reject a
|
|
43
|
+
* lexical escape (`..` / absolute-outside). They deliberately stay lexical:
|
|
44
|
+
* reading *through* an inbound symlink (a config/fixture symlinked into a repo)
|
|
45
|
+
* is a common, legitimate pattern, and the high-severity risk is *writing*
|
|
46
|
+
* outside the workspace, not reading a file the caller's own UID can already
|
|
47
|
+
* read. (codex R1 S3: this is distinct from the realpath jail below — do NOT
|
|
48
|
+
* route remote queries through here.) */
|
|
49
|
+
export function containReadPath(ctx, p) {
|
|
88
50
|
const abs = isAbsolute(p) ? p : resolve(ctx.cwd, p);
|
|
89
|
-
const isolated = currentCwdOverride() !== undefined;
|
|
90
|
-
if (isolated || opts?.resolveSymlinks) {
|
|
91
|
-
// Realpath both sides, then re-check against the fully-resolved trees.
|
|
92
|
-
const rootReal = realpathSafe(ctx.workspaceRoot);
|
|
93
|
-
const absReal = realpathExtant(abs);
|
|
94
|
-
const rel = relative(rootReal, absReal);
|
|
95
|
-
if (rel.startsWith("..") || isAbsolute(rel)) {
|
|
96
|
-
throw new AppError(ErrorCode.Permission, `Path escapes workspace: ${p}`);
|
|
97
|
-
}
|
|
98
|
-
return absReal;
|
|
99
|
-
}
|
|
100
|
-
// Non-isolated read-class path: lexical containment only, unchanged since 1.x.
|
|
101
51
|
const rel = relative(ctx.workspaceRoot, abs);
|
|
102
52
|
if (rel.startsWith("..") || isAbsolute(rel)) {
|
|
103
53
|
throw new AppError(ErrorCode.Permission, `Path escapes workspace: ${p}`);
|
|
104
54
|
}
|
|
105
55
|
return abs;
|
|
106
56
|
}
|
|
107
|
-
/**
|
|
108
|
-
*
|
|
109
|
-
*
|
|
110
|
-
|
|
57
|
+
/** **Write/remote containment (realpath jail).** Delegates to the native
|
|
58
|
+
* `fs_guard` (`[7.5]` single enforcement point; JS fallback when the addon is
|
|
59
|
+
* absent): resolves the full symlink chain (incl. dangling leaves + non-existent
|
|
60
|
+
* write tails), rejects any escape of the workspace root, and returns the
|
|
61
|
+
* canonical path. Used by ALL file writes AND the remote workspace queries
|
|
62
|
+
* (`core/workspace-query.ts`) — a remote viewer must not read/write *through* a
|
|
63
|
+
* workspace symlink pointing outside the root (exfiltration / write-escape).
|
|
64
|
+
*
|
|
65
|
+
* **Residual TOCTOU** (out of the single-agent threat model): a concurrent actor
|
|
66
|
+
* swapping a parent dir for an outbound symlink between this check and the
|
|
67
|
+
* `renameSync` still exists; fully closing it needs `openat`/`O_NOFOLLOW` (no
|
|
68
|
+
* clean Node API). Writes go to the *resolved* path so the symlink isn't
|
|
69
|
+
* re-traversed after the check. */
|
|
70
|
+
export function containWritePath(ctx, p) {
|
|
71
|
+
const abs = isAbsolute(p) ? p : resolve(ctx.cwd, p);
|
|
111
72
|
try {
|
|
112
|
-
return
|
|
73
|
+
return native.containPath(abs, ctx.workspaceRoot);
|
|
113
74
|
}
|
|
114
75
|
catch {
|
|
115
|
-
|
|
76
|
+
throw new AppError(ErrorCode.Permission, `Path escapes workspace: ${p}`);
|
|
116
77
|
}
|
|
117
78
|
}
|
|
118
|
-
/**
|
|
119
|
-
*
|
|
120
|
-
*
|
|
121
|
-
*
|
|
122
|
-
*
|
|
123
|
-
*
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
* `write` follow a >8-hop chain OUTSIDE the workspace — the very escape this
|
|
130
|
-
* resolution prevents (5.6-era symlink-hardening codex MUST-FIX). A legit
|
|
131
|
-
* path practically never chains >8 symlinks, so rejecting is the safe choice. */
|
|
132
|
-
const SYMLINK_RESOLVE_MAX_DEPTH = 8;
|
|
133
|
-
function realpathExtant(p, depth = 0) {
|
|
134
|
-
// Detect symlinks (live OR dangling) at the leaf BEFORE the
|
|
135
|
-
// `realpathSync` happy path — dangling symlinks make `realpathSync`
|
|
136
|
-
// throw ENOENT, which we previously swallowed and rejoined the leaf
|
|
137
|
-
// verbatim (the bug).
|
|
138
|
-
try {
|
|
139
|
-
const lst = lstatSync(p);
|
|
140
|
-
if (lst.isSymbolicLink()) {
|
|
141
|
-
if (depth >= SYMLINK_RESOLVE_MAX_DEPTH) {
|
|
142
|
-
throw new AppError(ErrorCode.Permission, `Symlink chain too deep (possible workspace escape): ${p}`);
|
|
143
|
-
}
|
|
144
|
-
const target = readlinkSync(p);
|
|
145
|
-
const resolved = isAbsolute(target) ? target : resolve(dirname(p), target);
|
|
146
|
-
return realpathExtant(resolved, depth + 1);
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
catch (e) {
|
|
150
|
-
// Propagate our own fail-closed throw (and any deeper one from the
|
|
151
|
-
// recursion); only swallow the expected fs errors (lstat ENOENT on a
|
|
152
|
-
// non-existent leaf), which fall through to the ancestor walk below.
|
|
153
|
-
if (e instanceof AppError)
|
|
154
|
-
throw e;
|
|
79
|
+
/** **Write guard = realpath jail + protected-path floor.** The execute-time
|
|
80
|
+
* guard for every write tool (`write`/`edit`/`multi-edit`) and the web
|
|
81
|
+
* `apply_edit` path: {@link containWritePath} then the native protected-path
|
|
82
|
+
* floor (refuse SSH keys / cloud creds / keychain / mail stores even when the
|
|
83
|
+
* jail allows it). Throws `Permission` on either failure → the write never
|
|
84
|
+
* lands. Bundled so a write path can't *forget* the protected check. */
|
|
85
|
+
export function guardWrite(ctx, p) {
|
|
86
|
+
const real = containWritePath(ctx, p);
|
|
87
|
+
const reason = native.protectedPathReason(real);
|
|
88
|
+
if (reason) {
|
|
89
|
+
throw new AppError(ErrorCode.Permission, `Refusing to write to a protected location (${reason}): ${p}`);
|
|
155
90
|
}
|
|
91
|
+
return real;
|
|
92
|
+
}
|
|
93
|
+
/** Back-compat shim for existing call sites. `resolveSymlinks` (write tools) OR
|
|
94
|
+
* an isolated worktree subagent → the realpath jail; otherwise lexical read
|
|
95
|
+
* containment. New code should call {@link containReadPath} / {@link guardWrite}
|
|
96
|
+
* directly. */
|
|
97
|
+
export function safePath(ctx, p, opts) {
|
|
98
|
+
const isolated = currentCwdOverride() !== undefined;
|
|
99
|
+
return isolated || opts?.resolveSymlinks ? containWritePath(ctx, p) : containReadPath(ctx, p);
|
|
100
|
+
}
|
|
101
|
+
/** Atomically write `body` to `path`: write a sibling temp file then `rename`
|
|
102
|
+
* over the target (rename is atomic within a filesystem), so a crash mid-write
|
|
103
|
+
* never leaves a half-written file. Creates parent dirs. The temp lives in the
|
|
104
|
+
* SAME dir as the target so the rename stays intra-filesystem. */
|
|
105
|
+
export function writeFileAtomic(path, body) {
|
|
106
|
+
mkdirSync(dirname(path), { recursive: true });
|
|
107
|
+
const tmp = `${path}.${process.pid}.${createId("w")}.tmp`;
|
|
108
|
+
writeFileSync(tmp, body);
|
|
109
|
+
// (codex R2 M4) Preserve the existing file's mode (e.g. an executable bit on a
|
|
110
|
+
// script) — the temp is created under the umask, so an overwrite would otherwise
|
|
111
|
+
// strip permissions. New files keep the default mode.
|
|
156
112
|
try {
|
|
157
|
-
|
|
113
|
+
chmodSync(tmp, statSync(path).mode);
|
|
158
114
|
}
|
|
159
115
|
catch {
|
|
160
|
-
/*
|
|
161
|
-
}
|
|
162
|
-
let current = dirname(p);
|
|
163
|
-
let tail = p.slice(current.length);
|
|
164
|
-
while (current !== dirname(current)) {
|
|
165
|
-
try {
|
|
166
|
-
const real = realpathSync(current);
|
|
167
|
-
return join(real, tail);
|
|
168
|
-
}
|
|
169
|
-
catch {
|
|
170
|
-
tail = current.slice(dirname(current).length) + tail;
|
|
171
|
-
current = dirname(current);
|
|
172
|
-
}
|
|
116
|
+
/* path didn't exist (new file) → keep the default mode */
|
|
173
117
|
}
|
|
174
|
-
|
|
175
|
-
// path lexically resolved (this is the standard cwd-relative form, so
|
|
176
|
-
// containment falls through to the lexical check above).
|
|
177
|
-
return p;
|
|
118
|
+
renameSync(tmp, path);
|
|
178
119
|
}
|
|
179
120
|
/** Render a string as a short JSON-quoted preview for permission prompts. */
|
|
180
121
|
export function preview(s) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_shared.js","sourceRoot":"","sources":["../../../src/tools/builtins/_shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"_shared.js","sourceRoot":"","sources":["../../../src/tools/builtins/_shared.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { existsSync, readFileSync
|
|
1
|
+
import { existsSync, readFileSync } from "node:fs";
|
|
2
2
|
import { dirname } from "node:path";
|
|
3
3
|
import { native } from "@chances-ai/native";
|
|
4
4
|
import { linesDiff } from "../diff.js";
|
|
5
|
-
import {
|
|
5
|
+
import { guardWrite, preview, str, writeFileAtomic } from "./_shared.js";
|
|
6
6
|
export const editTool = {
|
|
7
7
|
name: "edit",
|
|
8
8
|
description: "Replace an exact, unique substring in a workspace file.",
|
|
@@ -22,7 +22,7 @@ export const editTool = {
|
|
|
22
22
|
return `edit ${path}\n${linesDiff(find, replace)}`;
|
|
23
23
|
},
|
|
24
24
|
async execute(args, ctx) {
|
|
25
|
-
const path =
|
|
25
|
+
const path = guardWrite(ctx, str(args, "path"));
|
|
26
26
|
if (!existsSync(path))
|
|
27
27
|
return { ok: false, output: `No such file: ${str(args, "path")}` };
|
|
28
28
|
const find = str(args, "find");
|
|
@@ -32,7 +32,7 @@ export const editTool = {
|
|
|
32
32
|
return { ok: false, output: `Substring not found in ${str(args, "path")}` };
|
|
33
33
|
if (count > 1)
|
|
34
34
|
return { ok: false, output: `Substring not unique (${count} matches)` };
|
|
35
|
-
|
|
35
|
+
writeFileAtomic(path, content.replace(find, str(args, "replace")));
|
|
36
36
|
native.invalidateFsScanCache(dirname(path));
|
|
37
37
|
return { ok: true, output: `Edited ${str(args, "path")}` };
|
|
38
38
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edit.js","sourceRoot":"","sources":["../../../src/tools/builtins/edit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"edit.js","sourceRoot":"","sources":["../../../src/tools/builtins/edit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEzE,MAAM,CAAC,MAAM,QAAQ,GAAS;IAC5B,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,yDAAyD;IACtE,QAAQ,EAAE,YAAY;IACtB,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;QAC/F,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC;KACtC;IACD,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE;QAClB,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC/B,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC/B,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACpD,OAAO,QAAQ,IAAI,aAAa,OAAO,CAAC,IAAI,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACxE,CAAC;QACD,OAAO,QAAQ,IAAI,KAAK,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;IACrD,CAAC;IACD,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG;QACrB,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QAChD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;QAC1F,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC/B,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC3C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAC7C,IAAI,KAAK,KAAK,CAAC;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,0BAA0B,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;QAC7F,IAAI,KAAK,GAAG,CAAC;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,yBAAyB,KAAK,WAAW,EAAE,CAAC;QACvF,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;QACnE,MAAM,CAAC,qBAAqB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5C,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;IAC7D,CAAC;CACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write.d.ts","sourceRoot":"","sources":["../../../src/tools/builtins/write.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,IAAI,EAAc,MAAM,aAAa,CAAC;AAGpD,eAAO,MAAM,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"write.d.ts","sourceRoot":"","sources":["../../../src/tools/builtins/write.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,IAAI,EAAc,MAAM,aAAa,CAAC;AAGpD,eAAO,MAAM,SAAS,EAAE,IAsCvB,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { existsSync,
|
|
1
|
+
import { existsSync, readFileSync, statSync } from "node:fs";
|
|
2
2
|
import { dirname } from "node:path";
|
|
3
3
|
import { native } from "@chances-ai/native";
|
|
4
4
|
import { linesDiff } from "../diff.js";
|
|
5
|
-
import { PREVIEW_BYTE_CAP,
|
|
5
|
+
import { PREVIEW_BYTE_CAP, containWritePath, guardWrite, str, writeFileAtomic } from "./_shared.js";
|
|
6
6
|
export const writeTool = {
|
|
7
7
|
name: "write",
|
|
8
8
|
description: "Create or overwrite a file in the workspace.",
|
|
@@ -17,7 +17,7 @@ export const writeTool = {
|
|
|
17
17
|
const content = str(args, "content");
|
|
18
18
|
let abs = null;
|
|
19
19
|
try {
|
|
20
|
-
abs =
|
|
20
|
+
abs = containWritePath(ctx, path);
|
|
21
21
|
}
|
|
22
22
|
catch {
|
|
23
23
|
return `write ${path} (${content.length} bytes)`;
|
|
@@ -36,9 +36,8 @@ export const writeTool = {
|
|
|
36
36
|
return `overwrite ${path}\n${linesDiff(before, content)}`;
|
|
37
37
|
},
|
|
38
38
|
async execute(args, ctx) {
|
|
39
|
-
const path =
|
|
40
|
-
|
|
41
|
-
writeFileSync(path, str(args, "content"));
|
|
39
|
+
const path = guardWrite(ctx, str(args, "path"));
|
|
40
|
+
writeFileAtomic(path, str(args, "content"));
|
|
42
41
|
// Drop the shared fs-scan cache for this dir so a later glob/ast in the
|
|
43
42
|
// same turn sees the new file ([10.4]).
|
|
44
43
|
native.invalidateFsScanCache(dirname(path));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write.js","sourceRoot":"","sources":["../../../src/tools/builtins/write.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"write.js","sourceRoot":"","sources":["../../../src/tools/builtins/write.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,UAAU,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpG,MAAM,CAAC,MAAM,SAAS,GAAS;IAC7B,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,8CAA8C;IAC3D,QAAQ,EAAE,YAAY;IACtB,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;QACrE,QAAQ,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC;KAC9B;IACD,SAAS,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;QACvB,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC/B,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACrC,IAAI,GAAG,GAAkB,IAAI,CAAC;QAC9B,IAAI,CAAC;YACH,GAAG,GAAG,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACpC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,IAAI,KAAK,OAAO,CAAC,MAAM,SAAS,CAAC;QACnD,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,SAAS,GAAG,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;YAClE,OAAO,UAAU,IAAI,KAAK,OAAO,CAAC,MAAM,WAAW,SAAS,SAAS,CAAC;QACxE,CAAC;QACD,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;QACrC,IAAI,SAAS,GAAG,gBAAgB,IAAI,OAAO,CAAC,MAAM,GAAG,gBAAgB,EAAE,CAAC;YACtE,OAAO,aAAa,IAAI,KAAK,SAAS,MAAM,OAAO,CAAC,MAAM,+BAA+B,CAAC;QAC5F,CAAC;QACD,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACzC,IAAI,MAAM,KAAK,OAAO;YAAE,OAAO,aAAa,IAAI,eAAe,CAAC;QAChE,OAAO,aAAa,IAAI,KAAK,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IAC5D,CAAC;IACD,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG;QACrB,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QAChD,eAAe,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;QAC5C,wEAAwE;QACxE,wCAAwC;QACxC,MAAM,CAAC,qBAAqB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5C,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;IAC5D,CAAC;CACF,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@chances-ai/engine",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "25.0.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
"./ai": {
|
|
@@ -52,8 +52,8 @@
|
|
|
52
52
|
"dist"
|
|
53
53
|
],
|
|
54
54
|
"dependencies": {
|
|
55
|
-
"@chances-ai/runtime": "
|
|
56
|
-
"@chances-ai/native": "
|
|
55
|
+
"@chances-ai/runtime": "25.0.0",
|
|
56
|
+
"@chances-ai/native": "25.0.0"
|
|
57
57
|
},
|
|
58
58
|
"peerDependencies": {
|
|
59
59
|
"ai": "^4.3.0",
|