@chances-ai/engine 24.2.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.
@@ -230,6 +230,7 @@ export declare class AgentEngine {
230
230
  private emit;
231
231
  runTurn(prompt: string, token: CancellationToken, opts?: {
232
232
  expandMentions?: boolean;
233
+ trustedContext?: string;
233
234
  }): Promise<AgentResult>;
234
235
  private runTurnImpl;
235
236
  private runTool;
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/core/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/core/engine.ts"],"names":[],"mappings":"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"}
@@ -110,11 +110,11 @@ export class AgentEngine {
110
110
  * we surface through the regular tool-error path on the next
111
111
  * fs call. */
112
112
  });
113
- return runWithCwd(cwd, () => this.runTurnImpl(prompt, token, opts.expandMentions !== false));
113
+ return runWithCwd(cwd, () => this.runTurnImpl(prompt, token, opts.expandMentions !== false, opts.trustedContext));
114
114
  }
115
- return this.runTurnImpl(prompt, token, opts.expandMentions !== false);
115
+ return this.runTurnImpl(prompt, token, opts.expandMentions !== false, opts.trustedContext);
116
116
  }
117
- async runTurnImpl(prompt, token, expandMentions) {
117
+ async runTurnImpl(prompt, token, expandMentions, trustedContext) {
118
118
  const { router, tools, gate, session, plugins, backgroundTasks } = this.opts;
119
119
  const turnId = createId("turn");
120
120
  // (3.6) Carry the active session id on `turn:start` so the OTel
@@ -166,6 +166,13 @@ export class AgentEngine {
166
166
  if (xml)
167
167
  turnMessages.push({ role: "user", content: [{ type: "text", text: xml }] });
168
168
  }
169
+ // (7.4 §G1) Trusted local context (e.g. `!bash` command output) is injected
170
+ // as its own user message and is NEVER mention-expanded — it can contain
171
+ // arbitrary text (a file listing, logs) that must not drive ungated MCP
172
+ // resource reads (same threat model as prompt-command output, R1-M3).
173
+ if (trustedContext) {
174
+ turnMessages.push({ role: "user", content: [{ type: "text", text: trustedContext }] });
175
+ }
169
176
  turnMessages.push({ role: "user", content: [{ type: "text", text: prompt }] });
170
177
  const result = { text: "", inputTokens: 0, outputTokens: 0, costUsd: 0 };
171
178
  const maxTurns = this.opts.maxTurns ?? this.opts.maxIterations ?? DEFAULT_MAX_TURNS;
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/core/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/core/engine.ts"],"names":[],"mappings":"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"}
@@ -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
@@ -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;AACnF,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,OAAO,EACP,SAAS,EACT,SAAS,EACT,cAAc,EACd,iBAAiB,EACjB,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,cAAc,GACpB,MAAM,sBAAsB,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"}
@@ -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
@@ -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;AACnF,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,OAAO,EACP,SAAS,EACT,SAAS,EACT,cAAc,EACd,iBAAiB,GAOlB,MAAM,sBAAsB,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"}
@@ -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;AAuErC,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"}
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"}
@@ -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
- const PTY_TOOL_NAME = "pty";
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;AAMH;;mEAEmE;AACnE,eAAO,MAAM,kBAAkB,QAAa,CAAC;AAE7C;+BAC+B;AAC/B,eAAO,MAAM,aAAa,QAAa,CAAC;AAaxC,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,KAAK,GAAG,MAAM,CAAC;CACtB;AACD,MAAM,WAAW,eAAe;IAC9B,6EAA6E;IAC7E,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,SAAS,EAAE,CAAC;CACtB;AACD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,+EAA+E;IAC/E,SAAS,EAAE,OAAO,CAAC;IACnB,kFAAkF;IAClF,MAAM,EAAE,OAAO,CAAC;CACjB;AACD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,qEAAqE;IACrE,MAAM,EAAE,MAAM,CAAC;CAChB;AACD,MAAM,WAAW,eAAe;IAC9B,iFAAiF;IACjF,IAAI,EAAE,OAAO,CAAC;IACd,uEAAuE;IACvE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,aAAa,EAAE,CAAC;CACxB;AACD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/C;AAED;oDACoD;AACpD,qBAAa,oBAAqB,SAAQ,KAAK;gBACjC,CAAC,EAAE,MAAM;CAItB;AAqCD;;uCAEuC;AACvC,wBAAsB,SAAS,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAiB5F;AAED;oEACoE;AACpE,wBAAsB,iBAAiB,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAoBpG;AAED;8EAC8E;AAC9E,wBAAsB,SAAS,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC,CAgDrG;AAED;4CAC4C;AAC5C,wBAAsB,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,CAmBhH;AAED,mFAAmF;AACnF,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAO/E"}
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 { open, readdir, realpath } from "node:fs/promises";
15
- import { isAbsolute, relative, resolve, sep } from "node:path";
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":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC5G,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AACxE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C;;mEAEmE;AACnE,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,GAAG,IAAI,CAAC;AAE7C;+BAC+B;AAC/B,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,GAAG,IAAI,CAAC;AAExC;;6DAE6D;AAC7D,MAAM,cAAc,GAAwB,IAAI,GAAG,CAAC;IAClD,cAAc;IACd,MAAM;IACN,MAAM;IACN,QAAQ;IACR,QAAQ;CACT,CAAC,CAAC;AA4CH;oDACoD;AACpD,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IAC7C,YAAY,CAAS;QACnB,KAAK,CAAC,2BAA2B,CAAC,EAAE,CAAC,CAAC;QACtC,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF;AAED;qBACqB;AACrB,SAAS,MAAM,CAAC,IAAY,EAAE,MAAc;IAC1C,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACnC,OAAO,GAAG,KAAK,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,GAAG,EAAE,CAAC,IAAI,GAAG,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;AACzF,CAAC;AAED;;;;;GAKG;AACH,SAAS,WAAW,CAAC,aAAqB,EAAE,CAAS;IACnD,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;IAC1D,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,GAAG,CAAC;QAAE,MAAM,IAAI,oBAAoB,CAAC,CAAC,CAAC,CAAC;IACnE,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;GAQG;AACH,KAAK,UAAU,WAAW,CAAC,aAAqB,EAAE,GAAW,EAAE,QAAgB;IAC7E,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,kEAAkE;IACvG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC;QAAE,MAAM,IAAI,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IACzE,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;uCAEuC;AACvC,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,aAAqB,EAAE,GAAW;IAChE,MAAM,OAAO,GAAG,WAAW,CAAC,aAAa,EAAE,GAAG,IAAI,GAAG,CAAC,CAAC;IACvD,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,aAAa,EAAE,OAAO,EAAE,GAAG,IAAI,GAAG,CAAC,CAAC;IAClE,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAgB,EAAE,CAAC;IAChC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;YAAE,SAAS;QACzC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACpB,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI;YAAE,OAAO,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IACH,6EAA6E;IAC7E,+DAA+D;IAC/D,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IACjD,OAAO,EAAE,GAAG,EAAE,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;AAC1D,CAAC;AAED;oEACoE;AACpE,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,aAAqB,EAAE,IAAY;IACzE,MAAM,OAAO,GAAG,WAAW,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IACjD,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,aAAa,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAC5D,8EAA8E;IAC9E,2EAA2E;IAC3E,8EAA8E;IAC9E,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAChC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,kBAAkB,GAAG,CAAC,CAAC,CAAC;QACjD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,kBAAkB,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACvE,MAAM,SAAS,GAAG,SAAS,GAAG,kBAAkB,CAAC;QACjD,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC,CAAC;QACtE,8DAA8D;QAC9D,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QAC/D,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAC5E,CAAC;YAAS,CAAC;QACT,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;IACnB,CAAC;AACH,CAAC;AAED;8EAC8E;AAC9E,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,aAAqB,EAAE,MAAoB;IACzE,MAAM,KAAK,GAAoB,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IAC7F,IAAI,GAAuC,CAAC;IAC5C,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,MAAM,CAAC,CAAC,QAAQ,EAAE,gBAAgB,EAAE,UAAU,CAAC,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;IACnH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC,CAAC,uDAAuD;IACvE,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,EAAE;QAAE,OAAO,KAAK,CAAC,CAAC,iBAAiB;IAC5C,IAAI,MAAM,GAAkB,IAAI,CAAC;IACjC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,MAAM,KAAK,GAAoB,EAAE,CAAC;IAClC,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAChC,IAAI,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACtC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;YACrD,MAAM,GAAG,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,CAAC;aAAM,IAAI,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;YAC3C,sBAAsB;YACtB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;YAC7C,IAAI,CAAC,EAAE,CAAC;gBACN,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;gBACzC,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1D,gBAAgB;YAChB,gFAAgF;YAChF,8EAA8E;YAC9E,2EAA2E;YAC3E,+EAA+E;YAC/E,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;YACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACvC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACtD,MAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;YACtE,IAAI,IAAI;gBAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACzC,CAAC;aAAM,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;YACjC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YAC/C,IAAI,IAAI;gBAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACzC,CAAC;aAAM,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3D,CAAC;QACD,4BAA4B;IAC9B,CAAC;IACD,gFAAgF;IAChF,kFAAkF;IAClF,kDAAkD;IAClD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;QAChH,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC;YACf,MAAM,MAAM,GAAG,IAAI,GAAG,EAA8C,CAAC;YACrE,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC9C,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;gBACjD,IAAI,CAAC,CAAC;oBAAE,SAAS;gBACjB,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,CAAC;gBAC5D,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,CAAC;gBAC9D,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;YAC/C,CAAC;YACD,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;gBACtB,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC7B,IAAI,CAAC,EAAE,CAAC;oBACN,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;oBAClB,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;gBACxB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,kDAAkD;IACpD,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AACtD,CAAC;AAED;4CAC4C;AAC5C,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,aAAqB,EAAE,IAAa,EAAE,MAAoB;IACtF,MAAM,KAAK,GAAkB,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;IACjG,+EAA+E;IAC/E,gFAAgF;IAChF,IAAI,IAAI;QAAE,WAAW,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1C,IAAI,OAA2C,CAAC;IAChD,IAAI,OAA2C,CAAC;IAChD,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,MAAM,CAAC,CAAC,MAAM,EAAE,GAAG,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;QAClG,OAAO,GAAG,MAAM,MAAM,CAAC,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;IACnH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC,CAAC,cAAc;IAC9B,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,KAAK,CAAC;IAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;IAC5B,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,aAAa,CAAC;IAClE,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7D,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AAC1F,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IACzC,OAAO;QACL,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;KACtD,CAAC;AACJ,CAAC;AAsCD;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,aAAqB,EAAE,MAAuB;IACrF,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IACxF,IAAI,IAAY,CAAC;IACjB,IAAI,CAAC;QACH,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IACD,MAAM,eAAe,GAAG,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACzD,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,IAAI,oBAAoB,CAAC,GAAG,MAAM,CAAC,IAAI,gBAAgB,eAAe,GAAG,CAAC,CAAC;IACnF,CAAC;IAED,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAE5D,IAAI,OAAe,CAAC;IACpB,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACvC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC3B,CAAC;SAAM,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnD,OAAO,GAAG,OAAO,CAAC;QAClB,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAC7B,uEAAuE;YACvE,mFAAmF;YACnF,IAAI,CAAC,CAAC,OAAO,KAAK,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;YACpF,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YACvC,IAAI,GAAG,KAAK,CAAC,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YACnF,OAAO,GAAG,CAAC,CAAC,UAAU;gBACpB,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC1C,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAChF,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;IAChF,CAAC;IAED,+EAA+E;IAC/E,yDAAyD;IACzD,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,MAAM,GAAG,GAAG,GAAG,IAAI,IAAI,OAAO,CAAC,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC;IAC1D,MAAM,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC9B,8EAA8E;IAC9E,kFAAkF;IAClF,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,CAAC;YACH,MAAM,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC;QAAC,MAAM,CAAC;YACP,iBAAiB;QACnB,CAAC;IACH,CAAC;IACD,MAAM,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACxB,0EAA0E;IAC1E,MAAM,CAAC,qBAAqB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAE5C,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AAC3D,CAAC"}
@@ -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"}
@@ -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
- /** Resolves a path and refuses to escape the workspace root.
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
- * Symlinks are resolved through `realpathSync` *before* the containment
14
- * check whenever EITHER condition holds:
15
- *
16
- * - **Isolated context** (`runWithCwd` active i.e. an
17
- * `isolation: 'worktree'` subagent): always, so a tracked symlink
18
- * inside the worktree that points outside it is rejected
19
- * (4.1 codex Round-1 MUST-FIX #5).
20
- * - **`opts.resolveSymlinks`** set by the caller: the file-write tools
21
- * (`write`/`edit`) pass it so that, even in the non-isolated parent
22
- * context, a workspace-internal symlink pointing OUTSIDE can't be
23
- * *written through* to plant/modify a file outside the workspace
24
- * (e.g. a git hook, build script, or dotfile). This closes the
25
- * write-escape hole that lexical-only containment leaves open — for the
26
- * full symlink chain (`realpathExtant` walks every hop and fails closed
27
- * past its depth cap), and `write`/`edit` write to the *resolved* path so
28
- * the symlink isn't re-traversed after the check.
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":"AAGA,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,wBAAgB,QAAQ,CACtB,GAAG,EAAE,WAAW,EAChB,CAAC,EAAE,MAAM,EACT,IAAI,CAAC,EAAE;IAAE,eAAe,CAAC,EAAE,OAAO,CAAA;CAAE,GACnC,MAAM,CAqBR;AA0ED,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
+ {"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 { lstatSync, mkdirSync, readlinkSync, realpathSync, writeFileSync } from "node:fs";
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
- /** Resolves a path and refuses to escape the workspace root.
41
- *
42
- * Symlinks are resolved through `realpathSync` *before* the containment
43
- * check whenever EITHER condition holds:
44
- *
45
- * - **Isolated context** (`runWithCwd` active i.e. an
46
- * `isolation: 'worktree'` subagent): always, so a tracked symlink
47
- * inside the worktree that points outside it is rejected
48
- * (4.1 codex Round-1 MUST-FIX #5).
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
- /** Realpath an existing path. We always expect `workspaceRoot` to exist
108
- * when invoked through the engine; if it doesn't we fall back to the
109
- * original (lexical containment is then a no-op safety net). */
110
- function realpathSafe(p) {
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 realpathSync(p);
73
+ return native.containPath(abs, ctx.workspaceRoot);
113
74
  }
114
75
  catch {
115
- return p;
76
+ throw new AppError(ErrorCode.Permission, `Path escapes workspace: ${p}`);
116
77
  }
117
78
  }
118
- /** Realpath a path that may or may not exist, resolving any symlinks
119
- * at the leaf including DANGLING symlinks (Round-2 MUST-FIX #3). A
120
- * symlink whose target doesn't exist would otherwise be accepted by the
121
- * lexical containment check; a subsequent `write` would then follow the
122
- * symlink and create the target OUTSIDE the worktree. We catch this by
123
- * `lstat`-ing the leaf first; if it's a symlink, we resolve the link
124
- * target manually (relative-to-link-dir if not absolute) and recurse.
125
- * Bounded by `SYMLINK_RESOLVE_MAX_DEPTH` to defeat link cycles.
126
- *
127
- * On depth exhaustion we **fail closed** (throw) rather than returning the
128
- * unresolved path: returning the lexically-in-workspace symlink would let a
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
- return realpathSync(p);
113
+ chmodSync(tmp, statSync(path).mode);
158
114
  }
159
115
  catch {
160
- /* fall through */
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
- // Reached the root without finding an existing ancestor; return the
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":"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"}
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, writeFileSync } from "node:fs";
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 { preview, safePath, str } from "./_shared.js";
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 = safePath(ctx, str(args, "path"), { resolveSymlinks: true });
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
- writeFileSync(path, content.replace(find, str(args, "replace")));
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":"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"}
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,IAuCvB,CAAC"}
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, mkdirSync, readFileSync, statSync, writeFileSync } from "node:fs";
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, safePath, str } from "./_shared.js";
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 = safePath(ctx, path, { resolveSymlinks: true });
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 = safePath(ctx, str(args, "path"), { resolveSymlinks: true });
40
- mkdirSync(dirname(path), { recursive: true });
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":"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"}
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": "24.2.0",
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": "24.2.0",
56
- "@chances-ai/native": "24.2.0"
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",