zcode-acp-server 0.14.1 → 0.14.3
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/backend/listener.d.ts +5 -4
- package/dist/backend/listener.d.ts.map +1 -1
- package/dist/backend/listener.js +5 -4
- package/dist/backend/listener.js.map +1 -1
- package/dist/backend/sandbox.d.ts +91 -0
- package/dist/backend/sandbox.d.ts.map +1 -0
- package/dist/backend/sandbox.js +230 -0
- package/dist/backend/sandbox.js.map +1 -0
- package/dist/backend/types.d.ts +4 -0
- package/dist/backend/types.d.ts.map +1 -1
- package/dist/handlers/session.d.ts.map +1 -1
- package/dist/handlers/session.js +142 -17
- package/dist/handlers/session.js.map +1 -1
- package/dist/translators/event-translator.d.ts +2 -0
- package/dist/translators/event-translator.d.ts.map +1 -1
- package/dist/translators/event-translator.js +47 -38
- package/dist/translators/event-translator.js.map +1 -1
- package/dist/translators/tool-helpers.d.ts.map +1 -1
- package/dist/translators/tool-helpers.js +8 -0
- package/dist/translators/tool-helpers.js.map +1 -1
- package/docs/ARCHITECTURE.md +22 -2
- package/package.json +1 -1
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
* resubscribe from it to recover missed events after a stall.
|
|
8
8
|
*
|
|
9
9
|
* `TurnMonitor` is the legacy snapshot path: a one-shot `session/read` that
|
|
10
|
-
* returns the
|
|
11
|
-
*
|
|
10
|
+
* returns the latest projection. Used for stall reconciliation, but never as
|
|
11
|
+
* proof of protocol progress because a `running` projection may be stale.
|
|
12
12
|
*/
|
|
13
13
|
import type { ZcodeBackend } from "./client.js";
|
|
14
14
|
import type { ZcodeEvent, ZcodeProjection, ZcodeSnapshot } from "./types.js";
|
|
@@ -57,8 +57,9 @@ export declare class EventStreamListener {
|
|
|
57
57
|
resubscribe(nextId: NextId): Promise<boolean>;
|
|
58
58
|
}
|
|
59
59
|
/**
|
|
60
|
-
* Legacy snapshot path: a single `session/read` returning the
|
|
61
|
-
* projection. Used in stall reconciliation
|
|
60
|
+
* Legacy snapshot path: a single `session/read` returning the latest
|
|
61
|
+
* projection. Used in stall reconciliation; prompt-lock state is probed
|
|
62
|
+
* separately because a `running` projection may be stale.
|
|
62
63
|
*/
|
|
63
64
|
export declare class TurnMonitor {
|
|
64
65
|
private readonly backend;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listener.d.ts","sourceRoot":"","sources":["../../src/backend/listener.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EACV,UAAU,EACV,eAAe,EAEf,aAAa,EAEd,MAAM,YAAY,CAAC;AAGpB,uDAAuD;AACvD,MAAM,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC;AAUlC,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,yDAAyD;IACzD,OAAO,SAAK;IACZ,UAAU,UAAS;IACnB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoB;IAC1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;gBAE5B,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM;IAKnD;;;;;;;;OAQG;IACG,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IA0DvD,mEAAmE;IACnE,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAepC;;;;OAIG;IACH,eAAe,IAAI,OAAO;IAI1B;;;;;OAKG;IACH,SAAS,CAAC,SAAS,SAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAoBtD;;;;;OAKG;IACG,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAwBpD;AAED
|
|
1
|
+
{"version":3,"file":"listener.d.ts","sourceRoot":"","sources":["../../src/backend/listener.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EACV,UAAU,EACV,eAAe,EAEf,aAAa,EAEd,MAAM,YAAY,CAAC;AAGpB,uDAAuD;AACvD,MAAM,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC;AAUlC,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,yDAAyD;IACzD,OAAO,SAAK;IACZ,UAAU,UAAS;IACnB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoB;IAC1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;gBAE5B,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM;IAKnD;;;;;;;;OAQG;IACG,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IA0DvD,mEAAmE;IACnE,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAepC;;;;OAIG;IACH,eAAe,IAAI,OAAO;IAI1B;;;;;OAKG;IACH,SAAS,CAAC,SAAS,SAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAoBtD;;;;;OAKG;IACG,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAwBpD;AAED;;;;GAIG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;gBAEpB,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAMnE,yDAAyD;IACnD,QAAQ,IAAI,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;CAWlD"}
|
package/dist/backend/listener.js
CHANGED
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
* resubscribe from it to recover missed events after a stall.
|
|
8
8
|
*
|
|
9
9
|
* `TurnMonitor` is the legacy snapshot path: a one-shot `session/read` that
|
|
10
|
-
* returns the
|
|
11
|
-
*
|
|
10
|
+
* returns the latest projection. Used for stall reconciliation, but never as
|
|
11
|
+
* proof of protocol progress because a `running` projection may be stale.
|
|
12
12
|
*/
|
|
13
13
|
import { log, warn } from "../utils.js";
|
|
14
14
|
export class EventStreamListener {
|
|
@@ -160,8 +160,9 @@ export class EventStreamListener {
|
|
|
160
160
|
}
|
|
161
161
|
}
|
|
162
162
|
/**
|
|
163
|
-
* Legacy snapshot path: a single `session/read` returning the
|
|
164
|
-
* projection. Used in stall reconciliation
|
|
163
|
+
* Legacy snapshot path: a single `session/read` returning the latest
|
|
164
|
+
* projection. Used in stall reconciliation; prompt-lock state is probed
|
|
165
|
+
* separately because a `running` projection may be stale.
|
|
165
166
|
*/
|
|
166
167
|
export class TurnMonitor {
|
|
167
168
|
backend;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listener.js","sourceRoot":"","sources":["../../src/backend/listener.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"listener.js","sourceRoot":"","sources":["../../src/backend/listener.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Seatbelt sandbox for the zcode backend subprocess (ADR-0011).
|
|
3
|
+
*
|
|
4
|
+
* The backend runs every Bash/Edit/Write tool with the user's full
|
|
5
|
+
* privileges; one careless command destroys real data. When
|
|
6
|
+
* ZCODE_ACP_SANDBOX=1, the bridge wraps the single backend spawn point with
|
|
7
|
+
* a generated `sandbox-exec` profile using a writes-only restriction model:
|
|
8
|
+
* reads and process execution stay open, file writes are denied everywhere
|
|
9
|
+
* except an explicit whitelist. Children inherit the sandbox, so one wrap
|
|
10
|
+
* covers the backend, its tool subprocesses, and model workers.
|
|
11
|
+
*
|
|
12
|
+
* Whitelist (frozen at spawn, rebuilt on backend restart):
|
|
13
|
+
* - workspace roots of all live sessions (union of server.sessionCwds)
|
|
14
|
+
* - `~/.zcode*` (the backend's own sessions/db/logs — not agent privilege;
|
|
15
|
+
* denying it breaks session/create itself)
|
|
16
|
+
* - system temp + regenerable cache dirs (zero-value targets, constant
|
|
17
|
+
* toolchain traffic)
|
|
18
|
+
* - each project's `.zcode/acp/sandbox.json` `allow` list
|
|
19
|
+
*
|
|
20
|
+
* `<workspace>/.zcode/acp/` is a DENY island inside every allowed workspace:
|
|
21
|
+
* the sandbox forbids writes there while the bridge — outside the sandbox —
|
|
22
|
+
* persists "always allow" entries on the user's behalf. The agent cannot
|
|
23
|
+
* edit its own allowlist.
|
|
24
|
+
*
|
|
25
|
+
* macOS-only: Seatbelt is a macOS facility. Setting the env elsewhere warns
|
|
26
|
+
* once and runs unsandboxed (see sandboxActive()).
|
|
27
|
+
*/
|
|
28
|
+
/** The one and only env switch. Every other knob is project config. */
|
|
29
|
+
export declare const SANDBOX_ENV = "ZCODE_ACP_SANDBOX";
|
|
30
|
+
export interface SandboxConfig {
|
|
31
|
+
/** Absolute realpaths OUTSIDE the workspace granted permanent write. */
|
|
32
|
+
allow: string[];
|
|
33
|
+
/** true = .git sits behind the allow popup instead of default-writable. */
|
|
34
|
+
strictGit: boolean;
|
|
35
|
+
}
|
|
36
|
+
/** Path of the per-project sandbox config inside a workspace root. */
|
|
37
|
+
export declare function sandboxConfigPath(workspaceRoot: string): string;
|
|
38
|
+
/**
|
|
39
|
+
* Read the project sandbox config, auto-creating it with defaults on first
|
|
40
|
+
* sandboxed run. Tolerates absent/garbage files (falls back to defaults) —
|
|
41
|
+
* a broken config must never keep the sandbox from arming.
|
|
42
|
+
*/
|
|
43
|
+
export declare function readSandboxConfig(workspaceRoot: string): SandboxConfig;
|
|
44
|
+
/**
|
|
45
|
+
* Bridge-side persistence for "always allow" (the deny island keeps the
|
|
46
|
+
* agent from writing this file itself). Dedupes by exact string.
|
|
47
|
+
*/
|
|
48
|
+
export declare function appendSandboxAllow(workspaceRoot: string, allowedPath: string): void;
|
|
49
|
+
/**
|
|
50
|
+
* Resolve a path to its filesystem truth. Seatbelt matches real paths, so a
|
|
51
|
+
* symlinked prefix (/tmp → /private/tmp) would silently fail to match —
|
|
52
|
+
* resolve what exists and append the (possibly not-yet-created) remainder.
|
|
53
|
+
*/
|
|
54
|
+
export declare function resolveReal(p: string): string;
|
|
55
|
+
export interface SandboxArmInput {
|
|
56
|
+
/** Workspace roots (already real) with their per-project configs. */
|
|
57
|
+
workspaces: Array<{
|
|
58
|
+
root: string;
|
|
59
|
+
config: SandboxConfig;
|
|
60
|
+
}>;
|
|
61
|
+
/** Extra writable roots from configs of workspaces not arming now. */
|
|
62
|
+
extraAllow: string[];
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Build the SBPL profile text. Deny-rules take precedence over allow-rules
|
|
66
|
+
* (verified empirically), which is what makes the `.zcode/acp/` deny island
|
|
67
|
+
* inside an allowed workspace stick.
|
|
68
|
+
*/
|
|
69
|
+
export declare function buildSandboxProfile(input: SandboxArmInput): string;
|
|
70
|
+
/** Resolved arm input for the CURRENT spawn: union of all live workspaces. */
|
|
71
|
+
export declare function collectSandboxWorkspaces(cwdRoots: Iterable<string>): {
|
|
72
|
+
workspaces: Array<{
|
|
73
|
+
root: string;
|
|
74
|
+
config: SandboxConfig;
|
|
75
|
+
}>;
|
|
76
|
+
extraAllow: string[];
|
|
77
|
+
};
|
|
78
|
+
/**
|
|
79
|
+
* Whether the sandbox is active for this bridge run: env set AND macOS.
|
|
80
|
+
* Non-macOS with the env set warns once and returns false (unsandboxed).
|
|
81
|
+
* Decided once; later env changes don't re-arm mid-run.
|
|
82
|
+
*/
|
|
83
|
+
export declare function sandboxActive(): boolean;
|
|
84
|
+
/** Test hook: reset the cached platform/env decision. */
|
|
85
|
+
export declare function resetSandboxDecisionForTest(): void;
|
|
86
|
+
/**
|
|
87
|
+
* Wrap a backend argv with sandbox-exec. Writes the profile to a temp file
|
|
88
|
+
* owned by this bridge process (regenerated per backend respawn).
|
|
89
|
+
*/
|
|
90
|
+
export declare function wrapWithSandbox(argv: string[], profile: string): string[];
|
|
91
|
+
//# sourceMappingURL=sandbox.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../../src/backend/sandbox.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AASH,uEAAuE;AACvE,eAAO,MAAM,WAAW,sBAAsB,CAAC;AAc/C,MAAM,WAAW,aAAa;IAC5B,wEAAwE;IACxE,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,2EAA2E;IAC3E,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,sEAAsE;AACtE,wBAAgB,iBAAiB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,aAAa,EAAE,MAAM,GAAG,aAAa,CAoBtE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAgBnF;AAOD;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAsB7C;AAOD,MAAM,WAAW,eAAe;IAC9B,qEAAqE;IACrE,UAAU,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,aAAa,CAAA;KAAE,CAAC,CAAC;IAC3D,sEAAsE;IACtE,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,CA0BlE;AAED,8EAA8E;AAC9E,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,GACzB;IAAE,UAAU,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,aAAa,CAAA;KAAE,CAAC,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,CAqBtF;AAID;;;;GAIG;AACH,wBAAgB,aAAa,IAAI,OAAO,CAevC;AAED,yDAAyD;AACzD,wBAAgB,2BAA2B,IAAI,IAAI,CAElD;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CASzE"}
|
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Seatbelt sandbox for the zcode backend subprocess (ADR-0011).
|
|
3
|
+
*
|
|
4
|
+
* The backend runs every Bash/Edit/Write tool with the user's full
|
|
5
|
+
* privileges; one careless command destroys real data. When
|
|
6
|
+
* ZCODE_ACP_SANDBOX=1, the bridge wraps the single backend spawn point with
|
|
7
|
+
* a generated `sandbox-exec` profile using a writes-only restriction model:
|
|
8
|
+
* reads and process execution stay open, file writes are denied everywhere
|
|
9
|
+
* except an explicit whitelist. Children inherit the sandbox, so one wrap
|
|
10
|
+
* covers the backend, its tool subprocesses, and model workers.
|
|
11
|
+
*
|
|
12
|
+
* Whitelist (frozen at spawn, rebuilt on backend restart):
|
|
13
|
+
* - workspace roots of all live sessions (union of server.sessionCwds)
|
|
14
|
+
* - `~/.zcode*` (the backend's own sessions/db/logs — not agent privilege;
|
|
15
|
+
* denying it breaks session/create itself)
|
|
16
|
+
* - system temp + regenerable cache dirs (zero-value targets, constant
|
|
17
|
+
* toolchain traffic)
|
|
18
|
+
* - each project's `.zcode/acp/sandbox.json` `allow` list
|
|
19
|
+
*
|
|
20
|
+
* `<workspace>/.zcode/acp/` is a DENY island inside every allowed workspace:
|
|
21
|
+
* the sandbox forbids writes there while the bridge — outside the sandbox —
|
|
22
|
+
* persists "always allow" entries on the user's behalf. The agent cannot
|
|
23
|
+
* edit its own allowlist.
|
|
24
|
+
*
|
|
25
|
+
* macOS-only: Seatbelt is a macOS facility. Setting the env elsewhere warns
|
|
26
|
+
* once and runs unsandboxed (see sandboxActive()).
|
|
27
|
+
*/
|
|
28
|
+
import { mkdirSync, readFileSync, realpathSync, writeFileSync } from "node:fs";
|
|
29
|
+
import os from "node:os";
|
|
30
|
+
import path from "node:path";
|
|
31
|
+
import process from "node:process";
|
|
32
|
+
import { log, warn } from "../utils.js";
|
|
33
|
+
/** The one and only env switch. Every other knob is project config. */
|
|
34
|
+
export const SANDBOX_ENV = "ZCODE_ACP_SANDBOX";
|
|
35
|
+
/** Regenerable cache dirs trusted as default-writable (ADR-0011). */
|
|
36
|
+
const DEFAULT_CACHE_DIRS = [
|
|
37
|
+
"~/Library/Caches",
|
|
38
|
+
"~/.cache",
|
|
39
|
+
"~/.npm",
|
|
40
|
+
"~/Library/pnpm",
|
|
41
|
+
"~/.node-gyp",
|
|
42
|
+
];
|
|
43
|
+
/** Backend state roots that must stay writable for the bridge to function. */
|
|
44
|
+
const ZCODE_STATE_DIRS = ["~/.zcode", "~/.zcode-beta", "~/.zcode-plugin"];
|
|
45
|
+
/** Path of the per-project sandbox config inside a workspace root. */
|
|
46
|
+
export function sandboxConfigPath(workspaceRoot) {
|
|
47
|
+
return path.join(workspaceRoot, ".zcode", "acp", "sandbox.json");
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Read the project sandbox config, auto-creating it with defaults on first
|
|
51
|
+
* sandboxed run. Tolerates absent/garbage files (falls back to defaults) —
|
|
52
|
+
* a broken config must never keep the sandbox from arming.
|
|
53
|
+
*/
|
|
54
|
+
export function readSandboxConfig(workspaceRoot) {
|
|
55
|
+
const file = sandboxConfigPath(workspaceRoot);
|
|
56
|
+
try {
|
|
57
|
+
const parsed = JSON.parse(readFileSync(file, "utf8"));
|
|
58
|
+
return {
|
|
59
|
+
allow: Array.isArray(parsed.allow) ? parsed.allow.filter((p) => typeof p === "string") : [],
|
|
60
|
+
strictGit: parsed.strictGit === true,
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
catch {
|
|
64
|
+
// Missing or malformed → (re)create the default template.
|
|
65
|
+
try {
|
|
66
|
+
mkdirSync(path.dirname(file), { recursive: true });
|
|
67
|
+
writeFileSync(file, JSON.stringify({ allow: [], strictGit: false }, null, 2) + "\n");
|
|
68
|
+
}
|
|
69
|
+
catch (e) {
|
|
70
|
+
warn(`sandbox: could not create ${file}: ${e instanceof Error ? e.message : String(e)}`);
|
|
71
|
+
}
|
|
72
|
+
return { allow: [], strictGit: false };
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Bridge-side persistence for "always allow" (the deny island keeps the
|
|
77
|
+
* agent from writing this file itself). Dedupes by exact string.
|
|
78
|
+
*/
|
|
79
|
+
export function appendSandboxAllow(workspaceRoot, allowedPath) {
|
|
80
|
+
const cfg = readSandboxConfig(workspaceRoot);
|
|
81
|
+
if (cfg.allow.includes(allowedPath))
|
|
82
|
+
return;
|
|
83
|
+
cfg.allow.push(allowedPath);
|
|
84
|
+
try {
|
|
85
|
+
mkdirSync(path.dirname(sandboxConfigPath(workspaceRoot)), { recursive: true });
|
|
86
|
+
writeFileSync(sandboxConfigPath(workspaceRoot), JSON.stringify({ allow: cfg.allow, strictGit: cfg.strictGit }, null, 2) + "\n");
|
|
87
|
+
log(`sandbox: allowlisted ${allowedPath} in ${sandboxConfigPath(workspaceRoot)}`);
|
|
88
|
+
}
|
|
89
|
+
catch (e) {
|
|
90
|
+
warn(`sandbox: could not persist allowlist: ${e instanceof Error ? e.message : String(e)}`);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
/** Expand a leading `~` to the real home dir. */
|
|
94
|
+
function expandHome(p) {
|
|
95
|
+
return p.startsWith("~/") ? path.join(os.homedir(), p.slice(2)) : p;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Resolve a path to its filesystem truth. Seatbelt matches real paths, so a
|
|
99
|
+
* symlinked prefix (/tmp → /private/tmp) would silently fail to match —
|
|
100
|
+
* resolve what exists and append the (possibly not-yet-created) remainder.
|
|
101
|
+
*/
|
|
102
|
+
export function resolveReal(p) {
|
|
103
|
+
const expanded = expandHome(p);
|
|
104
|
+
try {
|
|
105
|
+
return realpathSync(expanded);
|
|
106
|
+
}
|
|
107
|
+
catch {
|
|
108
|
+
// Deepest existing ancestor + remainder, so not-yet-created cache dirs
|
|
109
|
+
// still land on their real location once created under a real parent.
|
|
110
|
+
let dir = expanded;
|
|
111
|
+
const tail = [];
|
|
112
|
+
for (;;) {
|
|
113
|
+
const parent = path.dirname(dir);
|
|
114
|
+
if (parent === dir)
|
|
115
|
+
return expanded;
|
|
116
|
+
tail.unshift(path.basename(dir));
|
|
117
|
+
dir = parent;
|
|
118
|
+
try {
|
|
119
|
+
const real = realpathSync(dir);
|
|
120
|
+
return path.join(real, ...tail);
|
|
121
|
+
}
|
|
122
|
+
catch {
|
|
123
|
+
// keep walking up
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
/** Escape a path into an SBPL string literal. */
|
|
129
|
+
function sb(p) {
|
|
130
|
+
return `"${p.replace(/\\/g, "\\\\").replace(/"/g, '\\"')}"`;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Build the SBPL profile text. Deny-rules take precedence over allow-rules
|
|
134
|
+
* (verified empirically), which is what makes the `.zcode/acp/` deny island
|
|
135
|
+
* inside an allowed workspace stick.
|
|
136
|
+
*/
|
|
137
|
+
export function buildSandboxProfile(input) {
|
|
138
|
+
const lines = [
|
|
139
|
+
"(version 1)",
|
|
140
|
+
"(allow default)",
|
|
141
|
+
"(deny file-write*)",
|
|
142
|
+
];
|
|
143
|
+
for (const ws of input.workspaces) {
|
|
144
|
+
lines.push(`(allow file-write* (subpath ${sb(ws.root)}))`);
|
|
145
|
+
// Deny island: the sandbox config lives INSIDE the writable workspace —
|
|
146
|
+
// without this carve-out the agent could grant itself permissions.
|
|
147
|
+
lines.push(`(deny file-write* (subpath ${sb(path.join(ws.root, ".zcode", "acp"))}))`);
|
|
148
|
+
if (ws.config.strictGit) {
|
|
149
|
+
lines.push(`(deny file-write* (subpath ${sb(path.join(ws.root, ".git"))}))`);
|
|
150
|
+
}
|
|
151
|
+
for (const allowed of ws.config.allow) {
|
|
152
|
+
lines.push(`(allow file-write* (subpath ${sb(resolveReal(allowed))}))`);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
for (const p of [...ZCODE_STATE_DIRS, ...DEFAULT_CACHE_DIRS]) {
|
|
156
|
+
lines.push(`(allow file-write* (subpath ${sb(resolveReal(p))}))`);
|
|
157
|
+
}
|
|
158
|
+
for (const allowed of input.extraAllow) {
|
|
159
|
+
lines.push(`(allow file-write* (subpath ${sb(resolveReal(allowed))}))`);
|
|
160
|
+
}
|
|
161
|
+
lines.push(`(allow file-write* (subpath ${sb(resolveReal(process.env.TMPDIR ?? os.tmpdir()))}))`);
|
|
162
|
+
return lines.join("\n") + "\n";
|
|
163
|
+
}
|
|
164
|
+
/** Resolved arm input for the CURRENT spawn: union of all live workspaces. */
|
|
165
|
+
export function collectSandboxWorkspaces(cwdRoots) {
|
|
166
|
+
const seen = new Set();
|
|
167
|
+
const workspaces = [];
|
|
168
|
+
const extraAllow = [];
|
|
169
|
+
for (const root of cwdRoots) {
|
|
170
|
+
const real = resolveReal(root);
|
|
171
|
+
if (seen.has(real))
|
|
172
|
+
continue;
|
|
173
|
+
seen.add(real);
|
|
174
|
+
const config = readSandboxConfig(real);
|
|
175
|
+
workspaces.push({ root: real, config });
|
|
176
|
+
// Allowlists from OTHER workspaces still apply when they share this
|
|
177
|
+
// backend: the agent may hop projects in one bridge lifetime.
|
|
178
|
+
for (const allowed of config.allow)
|
|
179
|
+
extraAllow.push(allowed);
|
|
180
|
+
}
|
|
181
|
+
// A workspace's own allow entries are emitted with its block above; drop
|
|
182
|
+
// them from extraAllow so they don't appear twice (harmless, but noisy).
|
|
183
|
+
const own = new Set(workspaces.flatMap((ws) => ws.config.allow.map(resolveReal)));
|
|
184
|
+
return {
|
|
185
|
+
workspaces,
|
|
186
|
+
extraAllow: [...new Set(extraAllow.map(resolveReal))].filter((p) => !own.has(p)),
|
|
187
|
+
};
|
|
188
|
+
}
|
|
189
|
+
let sandboxDecision = null;
|
|
190
|
+
/**
|
|
191
|
+
* Whether the sandbox is active for this bridge run: env set AND macOS.
|
|
192
|
+
* Non-macOS with the env set warns once and returns false (unsandboxed).
|
|
193
|
+
* Decided once; later env changes don't re-arm mid-run.
|
|
194
|
+
*/
|
|
195
|
+
export function sandboxActive() {
|
|
196
|
+
if (sandboxDecision !== null)
|
|
197
|
+
return sandboxDecision;
|
|
198
|
+
const raw = process.env[SANDBOX_ENV];
|
|
199
|
+
const wanted = raw === "1" || raw === "true";
|
|
200
|
+
if (!wanted) {
|
|
201
|
+
sandboxDecision = false;
|
|
202
|
+
return false;
|
|
203
|
+
}
|
|
204
|
+
if (process.platform !== "darwin") {
|
|
205
|
+
warn(`sandbox: ${SANDBOX_ENV}=1 set but Seatbelt is macOS-only — running WITHOUT sandbox`);
|
|
206
|
+
sandboxDecision = false;
|
|
207
|
+
return false;
|
|
208
|
+
}
|
|
209
|
+
sandboxDecision = true;
|
|
210
|
+
return true;
|
|
211
|
+
}
|
|
212
|
+
/** Test hook: reset the cached platform/env decision. */
|
|
213
|
+
export function resetSandboxDecisionForTest() {
|
|
214
|
+
sandboxDecision = null;
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Wrap a backend argv with sandbox-exec. Writes the profile to a temp file
|
|
218
|
+
* owned by this bridge process (regenerated per backend respawn).
|
|
219
|
+
*/
|
|
220
|
+
export function wrapWithSandbox(argv, profile) {
|
|
221
|
+
const tmpBase = realpathSync(os.tmpdir());
|
|
222
|
+
const dir = mkdirSync(path.join(tmpBase, "zcode-acp-sandbox"), {
|
|
223
|
+
recursive: true,
|
|
224
|
+
});
|
|
225
|
+
const file = path.join(dir ?? tmpBase, `profile-${process.pid}.sb`);
|
|
226
|
+
writeFileSync(file, profile);
|
|
227
|
+
log(`sandbox: backend wrapped with sandbox-exec (profile: ${file})`);
|
|
228
|
+
return ["sandbox-exec", "-f", file, ...argv];
|
|
229
|
+
}
|
|
230
|
+
//# sourceMappingURL=sandbox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../../src/backend/sandbox.ts"],"names":[],"mappings":"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"}
|
package/dist/backend/types.d.ts
CHANGED
|
@@ -71,6 +71,10 @@ export interface ZcodeProjection {
|
|
|
71
71
|
contextUsed?: number;
|
|
72
72
|
contextWindow?: number;
|
|
73
73
|
totalTokenCount?: number;
|
|
74
|
+
/** Turns completed in this session (observed in app-server projections). */
|
|
75
|
+
turnCount?: number;
|
|
76
|
+
/** Id of the turn the projection considers current, if any. */
|
|
77
|
+
currentTurnId?: string;
|
|
74
78
|
}
|
|
75
79
|
export interface ZcodeMessage {
|
|
76
80
|
info: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/backend/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CACvE;AAED,qDAAqD;AACrD,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,GAC9C,OAAO,CAAC,aAAa,CAAC,GACtB,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAI7B,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,gBAAgB,CAAC;CAC3B;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,oBAAoB,EAAE,CAAC;CAClC;AAID,MAAM,MAAM,cAAc,GACtB,cAAc,GACd,iBAAiB,GACjB,cAAc,GACd,gBAAgB,GAChB,aAAa,GACb,iBAAiB,GAIjB,eAAe,GAIf,kBAAkB,GAClB,mBAAmB,GACnB,eAAe,CAAC;AAEpB,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,cAAc,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;IAC1B,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/backend/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CACvE;AAED,qDAAqD;AACrD,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,GAC9C,OAAO,CAAC,aAAa,CAAC,GACtB,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAI7B,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,gBAAgB,CAAC;CAC3B;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,oBAAoB,EAAE,CAAC;CAClC;AAID,MAAM,MAAM,cAAc,GACtB,cAAc,GACd,iBAAiB,GACjB,cAAc,GACd,gBAAgB,GAChB,aAAa,GACb,iBAAiB,GAIjB,eAAe,GAIf,kBAAkB,GAClB,mBAAmB,GACnB,eAAe,CAAC;AAEpB,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,cAAc,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;IAC1B,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,4EAA4E;IAC5E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+DAA+D;IAC/D,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAID,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE;QACJ,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAC;QACtC;;;;;WAKG;QACH,SAAS,CAAC,EAAE;YACV,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,oBAAoB,CAAC,EAAE,MAAM,CAAC;YAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;SACvB,CAAC;QACF,mEAAmE;QACnE,OAAO,CAAC,EAAE;YAAE,KAAK,CAAC,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KAC7C,CAAC;IACF,KAAK,EAAE,gBAAgB,EAAE,CAAC;CAC3B;AAED,MAAM,MAAM,gBAAgB,GACxB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GACtD;IACE,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC,GACD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GAClD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAAC;AAE7C,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,YAAY,EAAE,CAAC;CAC1B;AAID,MAAM,WAAW,eAAe;IAC9B,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;IAClB,UAAU,CAAC,EAAE,KAAK,CAAC;QAAE,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAA;KAAE,CAAC,CAAC;CAChE;AAID,MAAM,WAAW,gCAAgC;IAC/C,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CACvF;AAED,MAAM,WAAW,+BAA+B;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,KAAK,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,OAAO,CAAC,EAAE,KAAK,CAAC;YAAE,KAAK,CAAC,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAC3E,CAAC,CAAC;IACH,KAAK,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,+BAA+B,CAAC,WAAW,CAAC,CAAA;KAAE,CAAC;IACrE,MAAM,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACtD;AAED,kEAAkE;AAClE,MAAM,MAAM,wBAAwB,GAChC;IAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,GAAG,UAAU,GAAG,QAAQ,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,OAAO,CAAA;CAAE,GAChG;IAAE,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/handlers/session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,KAAK,KAAK,GAAG,MAAM,0BAA0B,CAAC;AAGrD,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/handlers/session.ts"],"names":[],"mappings":"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"}
|