@monoes/monomindcli 2.16.8 → 2.16.10
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/src/commands/cleanup.d.ts +8 -1
- package/dist/src/commands/cleanup.d.ts.map +1 -1
- package/dist/src/commands/cleanup.js +113 -15
- package/dist/src/commands/cleanup.js.map +1 -1
- package/dist/src/orgrt/agent-runner.d.ts +6 -0
- package/dist/src/orgrt/agent-runner.d.ts.map +1 -1
- package/dist/src/orgrt/agent-runner.js +20 -7
- package/dist/src/orgrt/agent-runner.js.map +1 -1
- package/dist/src/orgrt/daemon.d.ts.map +1 -1
- package/dist/src/orgrt/daemon.js +3 -0
- package/dist/src/orgrt/daemon.js.map +1 -1
- package/dist/src/orgrt/git-guard.d.ts.map +1 -1
- package/dist/src/orgrt/git-guard.js +9 -23
- package/dist/src/orgrt/git-guard.js.map +1 -1
- package/dist/src/orgrt/policy-hook.d.ts +35 -0
- package/dist/src/orgrt/policy-hook.d.ts.map +1 -0
- package/dist/src/orgrt/policy-hook.js +62 -0
- package/dist/src/orgrt/policy-hook.js.map +1 -0
- package/dist/src/orgrt/policy.d.ts.map +1 -1
- package/dist/src/orgrt/policy.js +1 -0
- package/dist/src/orgrt/policy.js.map +1 -1
- package/dist/src/orgrt/sandbox-stubs.d.ts +144 -0
- package/dist/src/orgrt/sandbox-stubs.d.ts.map +1 -0
- package/dist/src/orgrt/sandbox-stubs.js +424 -0
- package/dist/src/orgrt/sandbox-stubs.js.map +1 -0
- package/dist/src/orgrt/session.d.ts.map +1 -1
- package/dist/src/orgrt/session.js +25 -11
- package/dist/src/orgrt/session.js.map +1 -1
- package/dist/src/orgrt/task-tools.d.ts.map +1 -1
- package/dist/src/orgrt/task-tools.js +1 -0
- package/dist/src/orgrt/task-tools.js.map +1 -1
- package/dist/src/orgrt/tool-fence.d.ts +6 -1
- package/dist/src/orgrt/tool-fence.d.ts.map +1 -1
- package/dist/src/orgrt/tool-fence.js +19 -3
- package/dist/src/orgrt/tool-fence.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
// packages/@monomind/cli/src/orgrt/policy-hook.ts
|
|
2
|
+
/**
|
|
3
|
+
* Every tool call of a Claude role through the org permission gate.
|
|
4
|
+
*
|
|
5
|
+
* The Claude Code CLI calls `canUseTool` only for a call its own rules would
|
|
6
|
+
* ask about. Read-only Bash (`cat`, `ls`, `git status`, `git log`), Read inside
|
|
7
|
+
* the cwd, Agent, ToolSearch and ListAgents are allowed without it, so they
|
|
8
|
+
* skipped the PolicyEngine entirely: no `tool` audit event, and denyTools,
|
|
9
|
+
* allowTools, fileRead scopes, budget exhaustion, a pending gate, the fence
|
|
10
|
+
* and approvals never applied to them. The 2.16.7 release run had 959 Bash
|
|
11
|
+
* results against 655 Bash decisions.
|
|
12
|
+
*
|
|
13
|
+
* The PreToolUse hook fires for every call — main thread and subagents —
|
|
14
|
+
* before the CLI's permission rules. It runs the gate and denies there; an
|
|
15
|
+
* allowed call continues through the CLI's normal flow (deny rules, the OS
|
|
16
|
+
* sandbox). When the CLI then asks `canUseTool` about the same call, the
|
|
17
|
+
* hook's decision is returned instead of deciding (and auditing) twice.
|
|
18
|
+
*/
|
|
19
|
+
/** Decisions the hook made that canUseTool may still ask about. Most calls
|
|
20
|
+
* are never asked about (the CLI allowed them itself), so the oldest go. */
|
|
21
|
+
const REMEMBERED = 256;
|
|
22
|
+
/** Hook timeout in seconds. The CLI lets a call proceed when its hook times
|
|
23
|
+
* out, so this stays far above what the gate takes (approvals return a
|
|
24
|
+
* pending decision at once rather than waiting for the human). */
|
|
25
|
+
export const POLICY_HOOK_TIMEOUT_S = 600;
|
|
26
|
+
export function coverEveryToolCall(gate) {
|
|
27
|
+
const decided = new Map();
|
|
28
|
+
return {
|
|
29
|
+
async preToolUse(hook) {
|
|
30
|
+
if (hook.hook_event_name !== 'PreToolUse')
|
|
31
|
+
return {};
|
|
32
|
+
const input = (hook.tool_input ?? {});
|
|
33
|
+
const id = typeof hook.tool_use_id === 'string' ? hook.tool_use_id : undefined;
|
|
34
|
+
const decision = gate(String(hook.tool_name ?? ''), input, { toolUseId: id });
|
|
35
|
+
if (id) {
|
|
36
|
+
decided.set(id, { input: JSON.stringify(input), decision });
|
|
37
|
+
if (decided.size > REMEMBERED)
|
|
38
|
+
decided.delete(decided.keys().next().value);
|
|
39
|
+
}
|
|
40
|
+
const d = (await decision);
|
|
41
|
+
if (d?.behavior !== 'deny')
|
|
42
|
+
return {};
|
|
43
|
+
return {
|
|
44
|
+
hookSpecificOutput: {
|
|
45
|
+
hookEventName: 'PreToolUse',
|
|
46
|
+
permissionDecision: 'deny',
|
|
47
|
+
permissionDecisionReason: d.message ?? 'denied by org policy',
|
|
48
|
+
},
|
|
49
|
+
};
|
|
50
|
+
},
|
|
51
|
+
canUseTool(toolName, input, meta) {
|
|
52
|
+
const id = meta?.toolUseId;
|
|
53
|
+
const prior = id ? decided.get(id) : undefined;
|
|
54
|
+
if (id)
|
|
55
|
+
decided.delete(id);
|
|
56
|
+
if (prior && prior.input === JSON.stringify(input))
|
|
57
|
+
return prior.decision;
|
|
58
|
+
return gate(toolName, input, meta);
|
|
59
|
+
},
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=policy-hook.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"policy-hook.js","sourceRoot":"","sources":["../../../src/orgrt/policy-hook.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD;;;;;;;;;;;;;;;;GAgBG;AAQH;6EAC6E;AAC7E,MAAM,UAAU,GAAG,GAAG,CAAC;AAEvB;;mEAEmE;AACnE,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAEzC,MAAM,UAAU,kBAAkB,CAAC,IAAU;IAS3C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAyD,CAAC;IACjF,OAAO;QACL,KAAK,CAAC,UAAU,CAAC,IAAI;YACnB,IAAI,IAAI,CAAC,eAAe,KAAK,YAAY;gBAAE,OAAO,EAAE,CAAC;YACrD,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAA4B,CAAC;YACjE,MAAM,EAAE,GAAG,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;YAC/E,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;YAC9E,IAAI,EAAE,EAAE,CAAC;gBACP,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAC5D,IAAI,OAAO,CAAC,IAAI,GAAG,UAAU;oBAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAe,CAAC,CAAC;YACvF,CAAC;YACD,MAAM,CAAC,GAAG,CAAC,MAAM,QAAQ,CAA4C,CAAC;YACtE,IAAI,CAAC,EAAE,QAAQ,KAAK,MAAM;gBAAE,OAAO,EAAE,CAAC;YACtC,OAAO;gBACL,kBAAkB,EAAE;oBAClB,aAAa,EAAE,YAAY;oBAC3B,kBAAkB,EAAE,MAAM;oBAC1B,wBAAwB,EAAE,CAAC,CAAC,OAAO,IAAI,sBAAsB;iBAC9D;aACF,CAAC;QACJ,CAAC;QACD,UAAU,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI;YAC9B,MAAM,EAAE,GAAG,IAAI,EAAE,SAAS,CAAC;YAC3B,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC/C,IAAI,EAAE;gBAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC3B,IAAI,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC,QAAQ,CAAC;YAC1E,OAAO,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QACrC,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../../src/orgrt/policy.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../../src/orgrt/policy.ts"],"names":[],"mappings":"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"}
|
package/dist/src/orgrt/policy.js
CHANGED
|
@@ -300,6 +300,7 @@ export class PolicyEngine {
|
|
|
300
300
|
if (this.policy.allowTools &&
|
|
301
301
|
!this.policy.allowTools.includes(tool) &&
|
|
302
302
|
!tool.startsWith(ORG_TOOL_NS) &&
|
|
303
|
+
tool !== 'ToolSearch' && // loads deferred tool schemas, the org tools' among them
|
|
303
304
|
!(this.toolContext.providerPrefixes?.() ?? []).some((p) => tool.startsWith(p)))
|
|
304
305
|
return deny(`tool ${tool} not in allowlist for role ${this.role} — allowed: ${this.policy.allowTools.join(', ')}`);
|
|
305
306
|
if (WRITE_TOOLS.has(tool) || READ_TOOLS.has(tool)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../../../src/orgrt/policy.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../../../src/orgrt/policy.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AACxF,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAmB,4BAA4B,EAAE,MAAM,YAAY,CAAC;AAkB3E,MAAM,UAAU,GAAG,GAAe,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC;AAE/F,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;AAC/D;;;4DAG4D;AAC5D,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;AACzD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AACrD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;AACrD;uFACuF;AACvF,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAClC;;mEAEmE;AACnE,MAAM,cAAc,GAClB,6JAA6J,CAAC;AAChK;;;;sEAIsE;AACtE,MAAM,eAAe,GAA4B;IAC/C,CAAC,6EAA6E,EAAE,YAAY,CAAC;IAC7F,CAAC,wCAAwC,EAAE,cAAc,CAAC;IAC1D,CAAC,mCAAmC,EAAE,cAAc,CAAC;IACrD,CAAC,+BAA+B,EAAE,YAAY,CAAC;IAC/C,CAAC,+BAA+B,EAAE,YAAY,CAAC;IAC/C,CAAC,iCAAiC,EAAE,YAAY,CAAC;IACjD,CAAC,uBAAuB,EAAE,YAAY,CAAC;IACvC,CAAC,iCAAiC,EAAE,YAAY,CAAC;IACjD,CAAC,2BAA2B,EAAE,YAAY,CAAC;IAC3C,CAAC,iEAAiE,EAAE,YAAY,CAAC;IACjF,wDAAwD;IACxD;QACE,yGAAyG;QACzG,cAAc;KACf;IACD,uEAAuE;IACvE;QACE,wJAAwJ;QACxJ,cAAc;KACf;IACD,+CAA+C;IAC/C,CAAC,iDAAiD,EAAE,eAAe,CAAC;CACrE,CAAC;AAEF,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,IAAI,GAAG,GAAG,IAAI,CAAC;IACf,KAAK,MAAM,CAAC,EAAE,EAAE,WAAW,CAAC,IAAI,eAAe;QAAE,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;IACpF,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;mFAGmF;AACnF,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAK9C,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IAClC,IAAI,KAAK,CAAC,MAAM,IAAI,4BAA4B;QAC9C,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;IACtD,OAAO;QACL,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,4BAA4B,CAAC,cAAc;QACrE,SAAS,EAAE,IAAI;QACf,YAAY,EAAE,IAAI,CAAC,MAAM;KAC1B,CAAC;AACJ,CAAC;AAED,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;AAE3D;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC;YAC9B,GAAG,IAAI,UAAU,CAAC;YAClB,CAAC,IAAI,CAAC,CAAC;YACP,SAAS;QACX,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;YAC7B,GAAG,IAAI,IAAI,CAAC;YACZ,CAAC,IAAI,CAAC,CAAC;YACP,SAAS;QACX,CAAC;QACD,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YACd,GAAG,IAAI,OAAO,CAAC;YACf,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QACD,IAAI,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3B,GAAG,IAAI,KAAK,CAAC,EAAE,CAAC;YAChB,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QACD,GAAG,IAAI,CAAC,CAAC;QACT,CAAC,EAAE,CAAC;IACN,CAAC;IACD,OAAO,IAAI,MAAM,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;AAChC,CAAC;AAWD,MAAM,WAAW,GAAG,YAAY,CAAC;AAEjC,MAAM,OAAO,YAAY;IAQZ,IAAI;IACN,MAAM;IACL,GAAG;IACH,GAAG;IAMH,KAAK;IAhBf,qEAAqE;IAC7D,MAAM,GAAe,UAAU,EAAE,CAAC;IAC1C,0EAA0E;IAClE,OAAO,GAAG,CAAC,CAAC;IACZ,WAAW,GAAsB,EAAE,CAAC;IACpC,WAAW,GAAG,KAAK,CAAC;IAC5B,YACW,IAAY,EACd,MAAkB,EACjB,GAAW,EACX,GAAW;IACnB;;;;wDAIoD;IAC5C,KAAK,GAAa,EAAE;oBATnB,IAAI;sBACN,MAAM;mBACL,GAAG;mBACH,GAAG;qBAMH,KAAK;IACZ,CAAC;IAEJ;;;;uEAImE;IACnE,cAAc,CAAC,EAAW;QACxB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;IACxB,CAAC;IAED,4DAA4D;IAC5D,cAAc,CAAC,GAAsB;QACnC,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;IACzB,CAAC;IAED;;4BAEwB;IACxB,YAAY,CAAC,IAAgB;QAC3B,IAAI,CAAC,MAAM,GAAG;YACZ,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9E,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrE,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;SAChB,CAAC;IACJ,CAAC;IAED;yEACqE;IACrE,aAAa,CAAC,IAA6C;QACzD,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;IACnF,CAAC;IAED;;;;sCAIkC;IAClC,QAAQ,CAAC,MAAc;QACrB,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC;IAC9B,CAAC;IACD,4DAA4D;IAC5D,aAAa,CAAC,CAAsB;QAClC,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC;IACpD,CAAC;IACD;;qBAEiB;IACjB,IAAI,KAAK;QACP,OAAO,CACL,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAC3F,CAAC;IACJ,CAAC;IACD,qEAAqE;IACrE,IAAI,UAAU;QACZ,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;IACD;;;;;;;;;;iFAU6E;IAC7E,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,KAAK,UAAU;YAC9C,CAAC,CAAC,IAAI,CAAC,KAAK;YACZ,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC7C,CAAC;IACD;;6EAEyE;IACzE,QAAQ,CAAC,MAAc;QACrB,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,UAAU,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IACnD,CAAC;IACD,oEAAoE;IACpE,aAAa,CAAC,CAAa;QACzB,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;IACzB,CAAC;IACD,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,IAAI,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;IACtF,CAAC;IAED,gFAAgF;IAChF,WAAW,CAAC,OAAe;QACzB,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC;IAC1B,CAAC;IACD,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IACD,gFAAgF;IAChF,WAAW,CAAC,OAAe;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IACD;;wEAEoE;IACpE,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC1E,CAAC;IAED;;;yEAGqE;IACrE,KAAK,CAAC,MAAM,CAAC,IAAY,EAAE,KAA8B,EAAE,MAAe;QACxE,MAAM,SAAS,GAAG,GAA4B,EAAE;YAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,CAAC;YACzC,OAAO;gBACL,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC;gBACvB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC/D,CAAC;QACJ,CAAC,CAAC;QACF,MAAM,IAAI,GAAG,CAAC,MAAc,EAAY,EAAE;YACxC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI;gBACJ,QAAQ,EAAE,MAAM;gBAChB,MAAM;gBACN,IAAI,EAAE,SAAS,EAAE;aAClB,CAAC,CAAC;YACH,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,MAAM,EAAE,EAAE,CAAC;QACjE,CAAC,CAAC;QACF,MAAM,KAAK,GAAG,GAAa,EAAE;YAC3B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI;gBACJ,QAAQ,EAAE,OAAO;gBACjB,IAAI,EAAE,SAAS,EAAE;aAClB,CAAC,CAAC;YACH,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;gBACjE,2EAA2E;gBAC3E,0EAA0E;gBAC1E,0EAA0E;gBAC1E,uEAAuE;gBACvE,uEAAuE;gBACvE,yEAAyE;gBACzE,wEAAwE;gBACxE,MAAM,OAAO,GACX,IAAI,KAAK,OAAO;oBAChB,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;oBACjC,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,kBAAkB;oBAC1C,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;oBAC3C,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;oBAC9B,CAAC,CAAC,SAAS,CAAC;gBAChB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;oBAC7B,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACxD,CAAC,CAAC;YACL,CAAC;YACD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;QACpD,CAAC,CAAC;QAEF,IAAI,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC;YACnC,OAAO,IAAI,CACT,GAAG,IAAI,oIAAoI,CAC5I,CAAC;QACJ,IAAI,IAAI,CAAC,UAAU;YACjB,OAAO,IAAI,CAAC,2BAA2B,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC;QACzF,IAAI,IAAI,CAAC,aAAa;YACpB,OAAO,IAAI,CAAC,0BAA0B,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QAC3F,wEAAwE;QACxE,kEAAkE;QAClE,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAClF,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC;YAChF,OAAO,IAAI,CAAC,QAAQ,IAAI,uBAAuB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9D,IACE,IAAI,CAAC,MAAM,CAAC,UAAU;YACtB,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC;YACtC,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;YAC7B,IAAI,KAAK,YAAY,IAAI,yDAAyD;YAClF,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAE9E,OAAO,IAAI,CACT,QAAQ,IAAI,8BAA8B,IAAI,CAAC,IAAI,eAAe,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACtG,CAAC;QAEJ,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAClD,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC;gBACjC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,CAAC;gBACnC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACrC,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;YAC7D,MAAM,CAAC,GACL,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ;gBACjC,CAAC,CAAC,KAAK,CAAC,SAAS;gBACjB,CAAC,CAAC,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;oBAC9B,CAAC,CAAC,KAAK,CAAC,IAAI;oBACZ,CAAC,CAAC,IAAI,CAAC;YACb,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBAChC,uEAAuE;gBACvE,mEAAmE;gBACnE,qEAAqE;gBACrE,uEAAuE;gBACvE,OAAO,IAAI,CACT,GAAG,IAAI,mCAAmC,IAAI,CAAC,IAAI,MAAM,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,wEAAwE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,6BAA6B,IAAI,CAAC,GAAG,GAAG,CAClO,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;gBACf,wEAAwE;gBACxE,qEAAqE;gBACrE,oEAAoE;gBACpE,wDAAwD;gBACxD,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC5C,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACnC,0EAA0E;gBAC1E,0EAA0E;gBAC1E,4EAA4E;gBAC5E,2EAA2E;gBAC3E,sEAAsE;gBACtE,yEAAyE;gBACzE,8DAA8D;gBAC9D,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;gBACpC,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC5C,oEAAoE;gBACpE,kEAAkE;gBAClE,qEAAqE;gBACrE,MAAM,qBAAqB,GAAG,KAAK,CAAC,IAAI,CACtC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CACxD,CAAC;gBACF,IAAI,CAAC,qBAAqB,EAAE,CAAC;oBAC3B,qEAAqE;oBACrE,oEAAoE;oBACpE,qEAAqE;oBACrE,mEAAmE;oBACnE,WAAW;oBACX,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;oBAC/D,uEAAuE;oBACvE,oEAAoE;oBACpE,sEAAsE;oBACtE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;wBACjD,OAAO,IAAI,CACT,8CAA8C,CAAC,YAAY,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,iDAAiD,IAAI,CAAC,GAAG,yCAAyC,CAClL,CAAC;gBACN,CAAC;gBACD,sEAAsE;gBACtE,qEAAqE;gBACrE,oEAAoE;gBACpE,iEAAiE;gBACjE,kEAAkE;gBAClE,uBAAuB;gBACvB,MAAM,SAAS,GAAG,cAAc,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAClE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAC5B,CAAC;gBACF,IAAI,SAAS;oBACX,OAAO,IAAI,CACT,QAAQ,CAAC,oBAAoB,SAAS,6HAA6H,CACpK,CAAC;gBACJ,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC;oBAC/C,OAAO,IAAI,CACT,QAAQ,CAAC,mGAAmG,CAC7G,CAAC;gBACJ,IAAI,qBAAqB,CAAC,IAAI,CAAC;oBAC7B,OAAO,IAAI,CACT,QAAQ,CAAC,8FAA8F,CACxG,CAAC;gBACJ,IACE,CAAC,qBAAqB;oBACtB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAEpE,OAAO,IAAI,CACT,QAAQ,GAAG,YAAY,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,iBAAiB,IAAI,CAAC,IAAI,YAAY,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,6BAA6B,IAAI,CAAC,GAAG,GAAG,CAC9J,CAAC;gBACJ,uEAAuE;gBACvE,wEAAwE;gBACxE,wEAAwE;gBACxE,wEAAwE;gBACxE,kEAAkE;gBAClE,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC;oBAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACjC,MAAM,EAAE,GAAG,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;oBACxC,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;oBAC/B,IACE,QAAQ,KAAK,MAAM;wBACnB,EAAE,KAAK,CAAC,CAAC;wBACT,CAAC,QAAQ,KAAK,QAAQ,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,OAAO,CAAC;wBAElE,OAAO,IAAI,CACT,eAAe,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,iCAAiC,QAAQ,GAAG,CACxF,CAAC;gBACN,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;YACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC;YAC3C,MAAM,SAAS,GAAG,cAAc,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;YACnF,IAAI,SAAS;gBAAE,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC;QACxC,CAAC;QAED,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC9D,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;gBACnC,OAAO,IAAI,CAAC,gCAAgC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAC3D,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;gBACxB,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;gBAC/C,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;oBACvE,OAAO,IAAI,CACT,UAAU,IAAI,IAAI,GAAG,yCAAyC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAChG,CAAC;YACN,CAAC;YACD,kEAAkE;QACpE,CAAC;QAED,OAAO,KAAK,EAAE,CAAC;IACjB,CAAC;CACF;AAED;;2EAE2E;AAC3E,MAAM,UAAU,gBAAgB,CAAC,OAAe,EAAE,IAAY;IAC5D,IAAI,OAAO,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IACjC,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC9B,OAAO,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,IAAI,GAAG,CAAC,EAAY,EAAY,EAAE,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AAE1D;;;6BAG6B;AAC7B,SAAS,QAAQ,CAAC,SAAiB,EAAE,MAAc;IACjD,IAAI,SAAS,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IACtC,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,GAAG,GAAG,CAAC;IACtE,OAAO,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AACpC,CAAC;AAED;;kEAEkE;AAClE,SAAS,QAAQ,CAAC,CAAS;IACzB,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,SAAS,CAAC;QACR,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;QAC1C,CAAC;QAAC,MAAM,CAAC;YACP,gCAAgC;QAClC,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,MAAM,KAAK,GAAG;YAAE,OAAO,CAAC,CAAC;QAC7B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5B,GAAG,GAAG,MAAM,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,GAAW;IAC3B,IAAI,CAAC;QACH,OAAO,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AACD;0CAC0C;AAC1C,MAAM,UAAU,kBAAkB,CAAC,KAA8B;IAC/D,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC;AAC1B,CAAC;AACD,SAAS,SAAS,CAAC,KAA8B;IAC/C,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3C,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC1B,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACX,SAAS;QACX,CAAC;QACD,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,yDAAyD;QACzF,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;IAClE,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Mount-point stubs for the SDK sandbox's write-denies, held for the whole run.
|
|
3
|
+
*
|
|
4
|
+
* The Claude Code sandbox (bubblewrap) denies writes to a fixed set of
|
|
5
|
+
* "dangerous" paths: in the role's cwd, in every directory above it that is
|
|
6
|
+
* writable in the sandbox, in the Claude config dir and in $HOME. For one that
|
|
7
|
+
* does not exist it binds /dev/null onto it, so bwrap creates a 0-byte,
|
|
8
|
+
* mode-0444 file there as the mount point (an empty directory for a missing
|
|
9
|
+
* `.claude/`), and the SDK deletes it again when the command ends
|
|
10
|
+
* (sandbox-runtime cleanupBwrapMountPoints). The SDK only coordinates that
|
|
11
|
+
* within one process. Every role is its own CLI process sharing one cwd and
|
|
12
|
+
* one ~/.claude, so role B, wrapping a command while role A's stub exists,
|
|
13
|
+
* takes the stub for a real file and binds it onto itself (`--ro-bind P P`);
|
|
14
|
+
* A's command ends, A deletes it, and B's bwrap dies with "Can't find source
|
|
15
|
+
* path ~/.claude/local" (release runs since 2.16.x: 0–5 per run, each a
|
|
16
|
+
* sandbox-fault).
|
|
17
|
+
*
|
|
18
|
+
* So before a sandboxed role starts, the runtime creates every such path that
|
|
19
|
+
* is missing, the way bwrap would (an empty 0444 file; a plain `.claude/`
|
|
20
|
+
* directory to hold them), and keeps it until the run ends. The SDK then only
|
|
21
|
+
* ever finds an existing path, which it binds read-only and never tracks or
|
|
22
|
+
* deletes, so no process removes a mount source another one is about to use.
|
|
23
|
+
* At the end the runtime removes only what it created itself — still the same
|
|
24
|
+
* inode, still empty; a path that already existed is never touched. Every
|
|
25
|
+
* stub is also written to a per-machine ledger (defaultStubLedger()), so the
|
|
26
|
+
* ones a SIGKILL'd daemon or a reboot leaves behind (an empty read-only file
|
|
27
|
+
* at ~/.claude/commands would break the user's own Claude config for good)
|
|
28
|
+
* are reclaimed by the next runtime under the same rule (reclaim()).
|
|
29
|
+
*
|
|
30
|
+
* The lists are what claude-agent-sdk 0.3.226 binds (read off /proc/self/
|
|
31
|
+
* mountinfo inside its sandbox; sandbox-stubs-sdk.test.ts fails when an SDK
|
|
32
|
+
* upgrade adds one). Left out on purpose: `.git/config.lock` (held, it makes
|
|
33
|
+
* every `git config` write fail), the dirs the CLI writes into itself
|
|
34
|
+
* (projects, shell-snapshots, session-env, plugins, backups), which a file
|
|
35
|
+
* would break, and the state files it writes itself (.claude.json,
|
|
36
|
+
* .config.json, .credentials.json): a CLI starting on an empty .config.json
|
|
37
|
+
* exits with "configuration file … is corrupted". A path whose parent does not
|
|
38
|
+
* exist is skipped.
|
|
39
|
+
*/
|
|
40
|
+
/** Relative to the role's cwd. Also what git-guard.ts hides from `git add`. */
|
|
41
|
+
export declare const CWD_STUBS: string[];
|
|
42
|
+
/** Relative to the Claude config dir ($CLAUDE_CONFIG_DIR, else ~/.claude). */
|
|
43
|
+
export declare const CONFIG_DIR_STUBS: string[];
|
|
44
|
+
/** Relative to where the global config file lives ($CLAUDE_CONFIG_DIR, else $HOME). */
|
|
45
|
+
export declare const GLOBAL_CONFIG_STUBS: string[];
|
|
46
|
+
/** Every stub path the sandbox binds for a role with this cwd and HOME, where
|
|
47
|
+
* `writableRoots` is the sandbox's `filesystem.allowWrite`. A `.claude`
|
|
48
|
+
* directory comes before the files in it. */
|
|
49
|
+
export declare function sandboxStubPaths(ctx: {
|
|
50
|
+
cwd: string;
|
|
51
|
+
home: string;
|
|
52
|
+
writableRoots: string[];
|
|
53
|
+
env?: NodeJS.ProcessEnv;
|
|
54
|
+
}): string[];
|
|
55
|
+
/** The per-machine crash ledger: `MONOMIND_ORGRT_STUBS_DIR`, else
|
|
56
|
+
* ~/.monomind/orgrt-sandbox-stubs (next to orgrt-broker and orgrt-operator). */
|
|
57
|
+
export declare function defaultStubLedger(env?: NodeJS.ProcessEnv): string;
|
|
58
|
+
export interface LedgerEntry {
|
|
59
|
+
path: string;
|
|
60
|
+
ino: number;
|
|
61
|
+
dev: number;
|
|
62
|
+
kind: 'file' | 'dir';
|
|
63
|
+
pid: number;
|
|
64
|
+
/** This pid's namespace and boot, so a later reclaim() can tell a dead pid
|
|
65
|
+
* in our own namespace apart from a live one we simply cannot see from a
|
|
66
|
+
* different namespace. Absent on an entry written before this field
|
|
67
|
+
* existed (see isLegacy). */
|
|
68
|
+
pidNamespace?: string;
|
|
69
|
+
bootId?: string;
|
|
70
|
+
runId: string;
|
|
71
|
+
createdAt: string;
|
|
72
|
+
}
|
|
73
|
+
/** Reads what identifies THIS process's pid namespace and boot, so a ledger
|
|
74
|
+
* entry can later tell a dead pid in our own namespace (safe to reclaim)
|
|
75
|
+
* apart from a live daemon's pid that we simply cannot see (the Claude SDK
|
|
76
|
+
* sandbox runs every role with `bwrap --unshare-pid`: `process.kill(pid, 0)`
|
|
77
|
+
* on a pid outside our namespace always throws ESRCH, alive or not). */
|
|
78
|
+
export interface IdentitySource {
|
|
79
|
+
/** `/proc/self/ns/pid`'s target, e.g. `pid:[4026531836]`; undefined if it
|
|
80
|
+
* cannot be read (older kernel, no /proc). */
|
|
81
|
+
pidNamespace(): string | undefined;
|
|
82
|
+
/** `/proc/sys/kernel/random/boot_id`, stable for one boot and never reused
|
|
83
|
+
* across a reboot — unlike a pid, which is. */
|
|
84
|
+
bootId(): string | undefined;
|
|
85
|
+
}
|
|
86
|
+
/** The stubs this process created, and which runs still need each one. */
|
|
87
|
+
export declare class SandboxStubs {
|
|
88
|
+
private readonly ledger?;
|
|
89
|
+
private readonly identity;
|
|
90
|
+
private readonly stubs;
|
|
91
|
+
private exitHook;
|
|
92
|
+
private reclaimed;
|
|
93
|
+
/** `ledger`: the crash-ledger file (default defaultStubLedger(), read when
|
|
94
|
+
* first needed); null keeps no ledger. `identity`: overridable in tests;
|
|
95
|
+
* defaults to reading this process's real pid namespace and boot id. */
|
|
96
|
+
constructor(ledger?: string | null | undefined, identity?: IdentitySource);
|
|
97
|
+
private get ledgerFile();
|
|
98
|
+
/** Creates each missing path — a `.claude` path as a directory, anything
|
|
99
|
+
* else as an empty 0444 file — and records `owner` on every path this
|
|
100
|
+
* process created. The first call reclaims a dead runtime's stubs first.
|
|
101
|
+
* Returns the paths created now. */
|
|
102
|
+
hold(owner: string, paths: string[]): string[];
|
|
103
|
+
/** Drops `owner`; removes the stubs no other run holds. Returns them. */
|
|
104
|
+
release(owner: string): string[];
|
|
105
|
+
releaseAll(): void;
|
|
106
|
+
/**
|
|
107
|
+
* Stubs a runtime that died without cleaning up (SIGKILL, reboot) left in
|
|
108
|
+
* the ledger. Each is removed under the same rule as our own — same inode,
|
|
109
|
+
* still empty — and forgotten either way: a changed path is no longer a
|
|
110
|
+
* stub. While another live runtime has stubs in the ledger, its roles may
|
|
111
|
+
* be binding the dead one's as existing files, so they are adopted instead:
|
|
112
|
+
* held by this process and removed when its first run ends. Entries of live
|
|
113
|
+
* runtimes are kept. Returns the paths removed.
|
|
114
|
+
*/
|
|
115
|
+
reclaim(): string[];
|
|
116
|
+
private entry;
|
|
117
|
+
/** Is `e` an entry this process itself wrote? For a modern entry that also
|
|
118
|
+
* requires our current namespace and boot to match — a matching pid alone
|
|
119
|
+
* can be a different process after a pid wrap, or the same-numbered pid in
|
|
120
|
+
* an unrelated namespace. A legacy entry (no pidNamespace/bootId) falls
|
|
121
|
+
* back to the bare pid check it was written under — and so does every
|
|
122
|
+
* entry when OUR OWN identity could not be read (older kernel, no /proc):
|
|
123
|
+
* with no `ourNs`/`ourBootId` to compare against, a modern entry's real
|
|
124
|
+
* values would always look "different", which is not a safe basis for
|
|
125
|
+
* ownership either. */
|
|
126
|
+
private isOwn;
|
|
127
|
+
/** Is `e` safe to reclaim? A different boot always is (pids and namespace
|
|
128
|
+
* ids are meaningless across a reboot). Same boot but a different pid
|
|
129
|
+
* namespace never is — we cannot tell alive from dead across namespaces
|
|
130
|
+
* (`process.kill` always throws ESRCH there), so it is left alone rather
|
|
131
|
+
* than guessed at. Same boot and same namespace (or a legacy entry) falls
|
|
132
|
+
* back to the bare pid-alive check — and so does every entry when OUR OWN
|
|
133
|
+
* identity could not be read (older kernel, no /proc): without `ourNs`/
|
|
134
|
+
* `ourBootId` to compare against, a modern entry's real boot/namespace
|
|
135
|
+
* ids would always compare unequal, which would misjudge every live
|
|
136
|
+
* entry as a different boot and reclaim it. */
|
|
137
|
+
private isDead;
|
|
138
|
+
private updateLedger;
|
|
139
|
+
/** Files before the directories holding them; each only while unchanged. */
|
|
140
|
+
private remove;
|
|
141
|
+
}
|
|
142
|
+
/** One per process: every org run in it shares the cwd and ~/.claude stubs. */
|
|
143
|
+
export declare const sandboxStubs: SandboxStubs;
|
|
144
|
+
//# sourceMappingURL=sandbox-stubs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sandbox-stubs.d.ts","sourceRoot":"","sources":["../../../src/orgrt/sandbox-stubs.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAoCH,+EAA+E;AAC/E,eAAO,MAAM,SAAS,UAYrB,CAAC;AAEF,8EAA8E;AAC9E,eAAO,MAAM,gBAAgB,UAqB5B,CAAC;AAEF,uFAAuF;AACvF,eAAO,MAAM,mBAAmB,UAI/B,CAAC;AAKF;;8CAE8C;AAC9C,wBAAgB,gBAAgB,CAAC,GAAG,EAAE;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB,GAAG,MAAM,EAAE,CAoBX;AAWD;iFACiF;AACjF,wBAAgB,iBAAiB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAK9E;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ;;;kCAG8B;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AA6CD;;;;yEAIyE;AACzE,MAAM,WAAW,cAAc;IAC7B;mDAC+C;IAC/C,YAAY,IAAI,MAAM,GAAG,SAAS,CAAC;IACnC;oDACgD;IAChD,MAAM,IAAI,MAAM,GAAG,SAAS,CAAC;CAC9B;AAiCD,0EAA0E;AAC1E,qBAAa,YAAY;IASrB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IACxB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAT3B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA2B;IACjD,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,SAAS,CAAS;IAE1B;;6EAEyE;IACzE,YACmB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,YAAA,EACtB,QAAQ,GAAE,cAAgC,EACzD;IAEJ,OAAO,KAAK,UAAU,GAErB;IAED;;;yCAGqC;IACrC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CA+B7C;IAED,yEAAyE;IACzE,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAO/B;IAED,UAAU,IAAI,IAAI,CAEjB;IAED;;;;;;;;OAQG;IACH,OAAO,IAAI,MAAM,EAAE,CA4BlB;IAED,OAAO,CAAC,KAAK;IAeb;;;;;;;;4BAQwB;IACxB,OAAO,CAAC,KAAK;IAKb;;;;;;;;;oDASgD;IAChD,OAAO,CAAC,MAAM;IAad,OAAO,CAAC,YAAY;IAWpB,4EAA4E;IAC5E,OAAO,CAAC,MAAM;CAiBf;AA6BD,+EAA+E;AAC/E,eAAO,MAAM,YAAY,cAAqB,CAAC"}
|