@monoes/monomindcli 2.11.0 → 2.11.2

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.
Files changed (165) hide show
  1. package/.claude/commands/coordination/agent-spawn.md +1 -1
  2. package/.claude/commands/mastermind/review.md +1 -1
  3. package/.claude/helpers/statusline.cjs +9 -4
  4. package/.claude/helpers/token-tracker.cjs +5 -2
  5. package/.claude/skills/mastermind-adapters/SKILL.md +6 -5
  6. package/.claude/skills/mastermind-agents/SKILL.md +7 -6
  7. package/.claude/skills/mastermind-createorg/SKILL.md +43 -16
  8. package/.claude/skills/mastermind-env/SKILL.md +1 -1
  9. package/.claude/skills/mastermind-invite-landing/SKILL.md +1 -1
  10. package/.claude/skills/mastermind-new-agent/SKILL.md +5 -5
  11. package/.claude/skills/mastermind-review/SKILL.md +1 -1
  12. package/.claude/skills/monomind/browse.md +1 -1
  13. package/bin/cli.js +60 -2
  14. package/dist/src/capabilities/cap-code.d.ts.map +1 -1
  15. package/dist/src/capabilities/cap-code.js +65 -3
  16. package/dist/src/capabilities/cap-code.js.map +1 -1
  17. package/dist/src/commands/analyze-diff.d.ts.map +1 -1
  18. package/dist/src/commands/analyze-diff.js +16 -6
  19. package/dist/src/commands/analyze-diff.js.map +1 -1
  20. package/dist/src/commands/autopilot.d.ts.map +1 -1
  21. package/dist/src/commands/autopilot.js +8 -1
  22. package/dist/src/commands/autopilot.js.map +1 -1
  23. package/dist/src/commands/config.d.ts.map +1 -1
  24. package/dist/src/commands/config.js +10 -4
  25. package/dist/src/commands/config.js.map +1 -1
  26. package/dist/src/commands/mcp.d.ts.map +1 -1
  27. package/dist/src/commands/mcp.js +7 -1
  28. package/dist/src/commands/mcp.js.map +1 -1
  29. package/dist/src/commands/monograph.d.ts.map +1 -1
  30. package/dist/src/commands/monograph.js +5 -3
  31. package/dist/src/commands/monograph.js.map +1 -1
  32. package/dist/src/commands/org-observe.d.ts.map +1 -1
  33. package/dist/src/commands/org-observe.js +8 -3
  34. package/dist/src/commands/org-observe.js.map +1 -1
  35. package/dist/src/commands/org.d.ts +37 -0
  36. package/dist/src/commands/org.d.ts.map +1 -1
  37. package/dist/src/commands/org.js +99 -42
  38. package/dist/src/commands/org.js.map +1 -1
  39. package/dist/src/commands/platforms.d.ts.map +1 -1
  40. package/dist/src/commands/platforms.js +83 -15
  41. package/dist/src/commands/platforms.js.map +1 -1
  42. package/dist/src/commands/security-scan.d.ts +27 -0
  43. package/dist/src/commands/security-scan.d.ts.map +1 -1
  44. package/dist/src/commands/security-scan.js +192 -127
  45. package/dist/src/commands/security-scan.js.map +1 -1
  46. package/dist/src/init/codex-generator.d.ts.map +1 -1
  47. package/dist/src/init/codex-generator.js +7 -1
  48. package/dist/src/init/codex-generator.js.map +1 -1
  49. package/dist/src/init/kimi-generator.d.ts.map +1 -1
  50. package/dist/src/init/kimi-generator.js +7 -1
  51. package/dist/src/init/kimi-generator.js.map +1 -1
  52. package/dist/src/init/managed-block.d.ts +7 -0
  53. package/dist/src/init/managed-block.d.ts.map +1 -0
  54. package/dist/src/init/managed-block.js +188 -0
  55. package/dist/src/init/managed-block.js.map +1 -0
  56. package/dist/src/init/opencode-generator.d.ts.map +1 -1
  57. package/dist/src/init/opencode-generator.js +7 -1
  58. package/dist/src/init/opencode-generator.js.map +1 -1
  59. package/dist/src/init/shared.d.ts +1 -28
  60. package/dist/src/init/shared.d.ts.map +1 -1
  61. package/dist/src/init/shared.js +4 -42
  62. package/dist/src/init/shared.js.map +1 -1
  63. package/dist/src/init/statusline-generator.d.ts.map +1 -1
  64. package/dist/src/init/statusline-generator.js +9 -4
  65. package/dist/src/init/statusline-generator.js.map +1 -1
  66. package/dist/src/knowledge/eval/model-presence.d.ts +3 -0
  67. package/dist/src/knowledge/eval/model-presence.d.ts.map +1 -1
  68. package/dist/src/knowledge/eval/model-presence.js +25 -1
  69. package/dist/src/knowledge/eval/model-presence.js.map +1 -1
  70. package/dist/src/memory/embedding-operations.d.ts.map +1 -1
  71. package/dist/src/memory/embedding-operations.js +3 -3
  72. package/dist/src/memory/embedding-operations.js.map +1 -1
  73. package/dist/src/memory/entity-name-key.d.ts +28 -0
  74. package/dist/src/memory/entity-name-key.d.ts.map +1 -0
  75. package/dist/src/memory/entity-name-key.js +71 -0
  76. package/dist/src/memory/entity-name-key.js.map +1 -0
  77. package/dist/src/memory/memory-bridge.d.ts +7 -0
  78. package/dist/src/memory/memory-bridge.d.ts.map +1 -1
  79. package/dist/src/memory/memory-bridge.js +76 -33
  80. package/dist/src/memory/memory-bridge.js.map +1 -1
  81. package/dist/src/memory/memory-kg.d.ts.map +1 -1
  82. package/dist/src/memory/memory-kg.js +61 -0
  83. package/dist/src/memory/memory-kg.js.map +1 -1
  84. package/dist/src/memory/reranker-head.d.ts +37 -0
  85. package/dist/src/memory/reranker-head.d.ts.map +1 -0
  86. package/dist/src/memory/reranker-head.js +105 -0
  87. package/dist/src/memory/reranker-head.js.map +1 -0
  88. package/dist/src/orgrt/agent-runner.d.ts +7 -0
  89. package/dist/src/orgrt/agent-runner.d.ts.map +1 -1
  90. package/dist/src/orgrt/agent-runner.js +4 -0
  91. package/dist/src/orgrt/agent-runner.js.map +1 -1
  92. package/dist/src/orgrt/cli-sandbox.d.ts +61 -0
  93. package/dist/src/orgrt/cli-sandbox.d.ts.map +1 -0
  94. package/dist/src/orgrt/cli-sandbox.js +75 -0
  95. package/dist/src/orgrt/cli-sandbox.js.map +1 -0
  96. package/dist/src/orgrt/codex-runner.d.ts.map +1 -1
  97. package/dist/src/orgrt/codex-runner.js +7 -3
  98. package/dist/src/orgrt/codex-runner.js.map +1 -1
  99. package/dist/src/orgrt/daemon.d.ts +3 -0
  100. package/dist/src/orgrt/daemon.d.ts.map +1 -1
  101. package/dist/src/orgrt/daemon.js +27 -0
  102. package/dist/src/orgrt/daemon.js.map +1 -1
  103. package/dist/src/orgrt/git-guard.d.ts +63 -0
  104. package/dist/src/orgrt/git-guard.d.ts.map +1 -0
  105. package/dist/src/orgrt/git-guard.js +329 -0
  106. package/dist/src/orgrt/git-guard.js.map +1 -0
  107. package/dist/src/orgrt/grok-runner.d.ts.map +1 -1
  108. package/dist/src/orgrt/grok-runner.js +7 -1
  109. package/dist/src/orgrt/grok-runner.js.map +1 -1
  110. package/dist/src/orgrt/opencode-runner.d.ts.map +1 -1
  111. package/dist/src/orgrt/opencode-runner.js +60 -11
  112. package/dist/src/orgrt/opencode-runner.js.map +1 -1
  113. package/dist/src/orgrt/policy-git.d.ts +2 -0
  114. package/dist/src/orgrt/policy-git.d.ts.map +1 -0
  115. package/dist/src/orgrt/policy-git.js +216 -0
  116. package/dist/src/orgrt/policy-git.js.map +1 -0
  117. package/dist/src/orgrt/policy.d.ts.map +1 -1
  118. package/dist/src/orgrt/policy.js +15 -176
  119. package/dist/src/orgrt/policy.js.map +1 -1
  120. package/dist/src/orgrt/questions.d.ts +13 -0
  121. package/dist/src/orgrt/questions.d.ts.map +1 -1
  122. package/dist/src/orgrt/questions.js +21 -1
  123. package/dist/src/orgrt/questions.js.map +1 -1
  124. package/dist/src/orgrt/reporting.d.ts +4 -0
  125. package/dist/src/orgrt/reporting.d.ts.map +1 -1
  126. package/dist/src/orgrt/reporting.js +11 -1
  127. package/dist/src/orgrt/reporting.js.map +1 -1
  128. package/dist/src/orgrt/role-sandbox.d.ts +87 -0
  129. package/dist/src/orgrt/role-sandbox.d.ts.map +1 -0
  130. package/dist/src/orgrt/role-sandbox.js +342 -0
  131. package/dist/src/orgrt/role-sandbox.js.map +1 -0
  132. package/dist/src/orgrt/session.d.ts +17 -6
  133. package/dist/src/orgrt/session.d.ts.map +1 -1
  134. package/dist/src/orgrt/session.js +75 -40
  135. package/dist/src/orgrt/session.js.map +1 -1
  136. package/dist/src/orgrt/shell-scan.d.ts +27 -0
  137. package/dist/src/orgrt/shell-scan.d.ts.map +1 -0
  138. package/dist/src/orgrt/shell-scan.js +453 -0
  139. package/dist/src/orgrt/shell-scan.js.map +1 -0
  140. package/dist/src/orgrt/task-dag.d.ts.map +1 -1
  141. package/dist/src/orgrt/task-dag.js +8 -0
  142. package/dist/src/orgrt/task-dag.js.map +1 -1
  143. package/dist/src/orgrt/templates.d.ts.map +1 -1
  144. package/dist/src/orgrt/templates.js +11 -5
  145. package/dist/src/orgrt/templates.js.map +1 -1
  146. package/dist/src/orgrt/types.d.ts +33 -0
  147. package/dist/src/orgrt/types.d.ts.map +1 -1
  148. package/dist/src/orgrt/types.js +17 -0
  149. package/dist/src/orgrt/types.js.map +1 -1
  150. package/dist/src/orgrt/vercel-providers.d.ts +5 -0
  151. package/dist/src/orgrt/vercel-providers.d.ts.map +1 -1
  152. package/dist/src/orgrt/vercel-providers.js +6 -1
  153. package/dist/src/orgrt/vercel-providers.js.map +1 -1
  154. package/dist/src/platform-adapters/migration.d.ts.map +1 -1
  155. package/dist/src/platform-adapters/migration.js +40 -2
  156. package/dist/src/platform-adapters/migration.js.map +1 -1
  157. package/dist/src/pricing/model-pricing.d.ts +0 -12
  158. package/dist/src/pricing/model-pricing.d.ts.map +1 -1
  159. package/dist/src/pricing/model-pricing.js +19 -4
  160. package/dist/src/pricing/model-pricing.js.map +1 -1
  161. package/dist/src/ui/collector.mjs +7 -4
  162. package/dist/src/ui/routes-org.mjs +2 -1
  163. package/dist/src/ui/server.mjs +7 -4
  164. package/dist/tsconfig.tsbuildinfo +1 -1
  165. package/package.json +3 -3
@@ -136,9 +136,19 @@ export function readHistory(cwd, org) {
136
136
  })
137
137
  .filter((s) => s !== null);
138
138
  }
139
+ // Human-facing times are rendered in UTC; the trailing Z says so, so operators
140
+ // and agents on other zones don't read them as local time (#253).
141
+ /** `HH:MM:SSZ` */
142
+ export function utcTime(ts) {
143
+ return `${new Date(ts).toISOString().slice(11, 19)}Z`;
144
+ }
145
+ /** `YYYY-MM-DD HH:MMZ` */
146
+ export function utcDateMinute(ts) {
147
+ return `${new Date(ts).toISOString().replace('T', ' ').slice(0, 16)}Z`;
148
+ }
139
149
  /** One bus event as a compact human-readable log line. */
140
150
  export function formatEvent(e) {
141
- const t = new Date(e.ts).toISOString().slice(11, 19);
151
+ const t = utcTime(e.ts);
142
152
  const from = e.from ?? '·';
143
153
  switch (e.type) {
144
154
  case 'message':
@@ -1 +1 @@
1
- {"version":3,"file":"reporting.js","sourceRoot":"","sources":["../../../src/orgrt/reporting.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reporting.js","sourceRoot":"","sources":["../../../src/orgrt/reporting.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * OS-level enforcement of `policy.git` for claude-runtime roles (#258).
3
+ *
4
+ * The Claude Agent SDK can run the Bash tool inside an OS sandbox (bubblewrap
5
+ * + socat on Linux, seatbelt on macOS). For roles below 'push' this module
6
+ * builds that sandbox so the level holds even against a role that bypasses
7
+ * the git guard env (git-guard.ts):
8
+ * - writes: the role's cwd, the org root, $HOME and the temp dir stay
9
+ * writable (installs, caches, test fixtures), minus the protected git dir
10
+ * ('read'/'none') or its config + hooks ('commit'), the guard's hooks,
11
+ * local-path remotes, and git/shell/Claude config that would undo the guard;
12
+ * - network: every host allowed (`policy.sandbox.allowedDomains`, default
13
+ * ['*']) minus the opt-in `policy.sandbox.deniedDomains`, deterministically,
14
+ * with local binding kept for dev servers and tests. Git remote hosts are
15
+ * not denied: read roles fetch, ls-remote and clone, and a forge's API
16
+ * would stay reachable anyway — the push barrier is withheld credentials;
17
+ * - reads of credential files (ssh keys, git-credentials, gh login, netrc).
18
+ * Bash stays gated by canUseTool (autoAllowBashIfSandboxed: false) and
19
+ * dangerouslyDisableSandbox is ignored (allowUnsandboxedCommands: false).
20
+ * Write/Edit/Read run in-process, outside the sandbox, so matching permission
21
+ * deny rules (`disallowedTools`) cover them — those need no sandbox at all.
22
+ *
23
+ * Availability (`policy.sandbox.mode`):
24
+ * 'auto' (default) — sandbox when bwrap/socat (or seatbelt) are present;
25
+ * otherwise run without it and emit a
26
+ * `git-sandbox-unavailable` audit event (fail open, loud).
27
+ * 'required' — fail closed: the session refuses to start.
28
+ * 'off' — no sandbox; `git-sandbox-off` audit event.
29
+ * `monomind org validate` reports the same findings before a run.
30
+ */
31
+ import type { OrgBus } from './bus.js';
32
+ import { type GitGuard } from './git-guard.js';
33
+ import type { OrgDef, OrgRole } from './types.js';
34
+ export interface RoleSandboxPolicy {
35
+ mode?: 'auto' | 'required' | 'off';
36
+ allowedDomains?: string[];
37
+ deniedDomains?: string[];
38
+ allowWrite?: string[];
39
+ allowUnixSockets?: boolean;
40
+ }
41
+ /** What ClaudeAgentRunner merges into the SDK's query() options. */
42
+ export interface ClaudeRestrictions {
43
+ sandbox?: Record<string, unknown>;
44
+ disallowedTools: string[];
45
+ }
46
+ export interface SandboxAvailability {
47
+ available: boolean;
48
+ reason?: string;
49
+ }
50
+ /** Whether the SDK sandbox can start for a CLI spawned with `env`. Mirrors the
51
+ * SDK's own dependency check, so 'auto' can decide before query() fails. */
52
+ export declare function sandboxAvailability(env?: NodeJS.ProcessEnv, platform?: NodeJS.Platform): SandboxAvailability;
53
+ export declare function buildClaudeRestrictions(guard: GitGuard, cfg: RoleSandboxPolicy | undefined, ctx: {
54
+ cwd: string;
55
+ orgRoot?: string;
56
+ home?: string;
57
+ tmp?: string;
58
+ env?: NodeJS.ProcessEnv;
59
+ }, sandboxEnabled: boolean): ClaudeRestrictions;
60
+ /**
61
+ * Per-session enforcement for one role: the git guard env (every runtime) and,
62
+ * for the Claude runtime, the SDK restrictions. Throws when
63
+ * policy.sandbox.mode is 'required' and the sandbox cannot start.
64
+ */
65
+ export declare function resolveRoleGitEnforcement(args: {
66
+ org: string;
67
+ role: OrgRole;
68
+ cwd: string;
69
+ orgRoot?: string;
70
+ orgDir?: string;
71
+ bus: OrgBus;
72
+ claudeRuntime: boolean;
73
+ runtime?: string;
74
+ availability?: SandboxAvailability;
75
+ /** Defaults to process.env; injectable for tests. */
76
+ env?: NodeJS.ProcessEnv;
77
+ }): {
78
+ env: Record<string, string>;
79
+ claudeRestrictions?: ClaudeRestrictions;
80
+ };
81
+ /** `monomind org validate` findings: roles whose policy.git will not have the
82
+ * OS sandbox behind it on this host. */
83
+ export declare function gitEnforcementFindings(def: OrgDef, availability?: SandboxAvailability): {
84
+ warnings: string[];
85
+ errors: string[];
86
+ };
87
+ //# sourceMappingURL=role-sandbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"role-sandbox.d.ts","sourceRoot":"","sources":["../../../src/orgrt/role-sandbox.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAKH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEvC,OAAO,EACL,KAAK,QAAQ,EAKd,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,KAAK,CAAC;IACnC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,oEAAoE;AACpE,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAeD;6EAC6E;AAC7E,wBAAgB,mBAAmB,CACjC,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,mBAAmB,CAmBrB;AAoFD,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,QAAQ,EACf,GAAG,EAAE,iBAAiB,GAAG,SAAS,EAClC,GAAG,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;CAAE,EAC5F,cAAc,EAAE,OAAO,GACtB,kBAAkB,CAoDpB;AAmBD;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE;IAC9C,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,OAAO,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,mBAAmB,CAAC;IACnC,qDAAqD;IACrD,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;CAAE,CA4G3E;AAQD;yCACyC;AACzC,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,MAAM,EACX,YAAY,GAAE,mBAA2C,GACxD;IAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CA6C1C"}
@@ -0,0 +1,342 @@
1
+ // packages/@monomind/cli/src/orgrt/role-sandbox.ts
2
+ /**
3
+ * OS-level enforcement of `policy.git` for claude-runtime roles (#258).
4
+ *
5
+ * The Claude Agent SDK can run the Bash tool inside an OS sandbox (bubblewrap
6
+ * + socat on Linux, seatbelt on macOS). For roles below 'push' this module
7
+ * builds that sandbox so the level holds even against a role that bypasses
8
+ * the git guard env (git-guard.ts):
9
+ * - writes: the role's cwd, the org root, $HOME and the temp dir stay
10
+ * writable (installs, caches, test fixtures), minus the protected git dir
11
+ * ('read'/'none') or its config + hooks ('commit'), the guard's hooks,
12
+ * local-path remotes, and git/shell/Claude config that would undo the guard;
13
+ * - network: every host allowed (`policy.sandbox.allowedDomains`, default
14
+ * ['*']) minus the opt-in `policy.sandbox.deniedDomains`, deterministically,
15
+ * with local binding kept for dev servers and tests. Git remote hosts are
16
+ * not denied: read roles fetch, ls-remote and clone, and a forge's API
17
+ * would stay reachable anyway — the push barrier is withheld credentials;
18
+ * - reads of credential files (ssh keys, git-credentials, gh login, netrc).
19
+ * Bash stays gated by canUseTool (autoAllowBashIfSandboxed: false) and
20
+ * dangerouslyDisableSandbox is ignored (allowUnsandboxedCommands: false).
21
+ * Write/Edit/Read run in-process, outside the sandbox, so matching permission
22
+ * deny rules (`disallowedTools`) cover them — those need no sandbox at all.
23
+ *
24
+ * Availability (`policy.sandbox.mode`):
25
+ * 'auto' (default) — sandbox when bwrap/socat (or seatbelt) are present;
26
+ * otherwise run without it and emit a
27
+ * `git-sandbox-unavailable` audit event (fail open, loud).
28
+ * 'required' — fail closed: the session refuses to start.
29
+ * 'off' — no sandbox; `git-sandbox-off` audit event.
30
+ * `monomind org validate` reports the same findings before a run.
31
+ */
32
+ import { accessSync, constants, existsSync, readdirSync } from 'node:fs';
33
+ import { homedir, tmpdir } from 'node:os';
34
+ import { delimiter, isAbsolute, join } from 'node:path';
35
+ import { CLI_SANDBOX_MODES } from './cli-sandbox.js';
36
+ import { gitCommonDir, gitLocalRemotePaths, prepareGitGuard, } from './git-guard.js';
37
+ function onPath(bin, env) {
38
+ for (const dir of (env.PATH ?? '').split(delimiter)) {
39
+ if (!dir)
40
+ continue;
41
+ try {
42
+ accessSync(join(dir, bin), constants.X_OK);
43
+ return true;
44
+ }
45
+ catch {
46
+ /* not here */
47
+ }
48
+ }
49
+ return false;
50
+ }
51
+ /** Whether the SDK sandbox can start for a CLI spawned with `env`. Mirrors the
52
+ * SDK's own dependency check, so 'auto' can decide before query() fails. */
53
+ export function sandboxAvailability(env = process.env, platform = process.platform) {
54
+ if (platform === 'linux') {
55
+ const missing = ['bwrap', 'socat'].filter((b) => !onPath(b, env));
56
+ return missing.length
57
+ ? {
58
+ available: false,
59
+ reason: `${missing.join(' and ')} not found on PATH (install bubblewrap and socat)`,
60
+ }
61
+ : { available: true };
62
+ }
63
+ if (platform === 'darwin') {
64
+ try {
65
+ accessSync('/usr/bin/sandbox-exec', constants.X_OK);
66
+ return { available: true };
67
+ }
68
+ catch {
69
+ return { available: false, reason: '/usr/bin/sandbox-exec not found' };
70
+ }
71
+ }
72
+ return { available: false, reason: `the SDK sandbox is not supported on ${platform}` };
73
+ }
74
+ /** Files under $HOME that would undo the guard (git/shell/Claude config) —
75
+ * writable $HOME must not include them. */
76
+ const HOME_DENY_WRITE = [
77
+ '.gitconfig',
78
+ '.config/git',
79
+ '.ssh',
80
+ '.config/gh',
81
+ '.bashrc',
82
+ '.bash_profile',
83
+ '.bash_login',
84
+ '.profile',
85
+ '.zshrc',
86
+ '.zprofile',
87
+ '.zshenv',
88
+ '.zlogin',
89
+ '.claude',
90
+ '.claude.json',
91
+ ];
92
+ /** Credential stores sandboxed commands may not read. */
93
+ const HOME_DENY_READ = [
94
+ '.ssh',
95
+ '.git-credentials',
96
+ '.config/git/credentials',
97
+ '.config/gh',
98
+ '.netrc',
99
+ ];
100
+ /** Sockets and runtime dirs a role must not reach. The XDG runtime dir is the
101
+ * important one: it carries the session D-Bus, and through it the login
102
+ * keyring — `gh auth token` returns the operator's GitHub token from there,
103
+ * which is a push credential (verified inside the real sandbox). It is denied
104
+ * whether or not unix sockets are allowed, because it holds credential files
105
+ * too, and the SDK's own default deny of /run/user does not survive passing
106
+ * our own `filesystem` block. */
107
+ const DAEMON_SOCKETS = [
108
+ '/run/dbus',
109
+ '/run/docker.sock',
110
+ '/var/run/docker.sock',
111
+ '/run/podman/podman.sock',
112
+ '/run/containerd/containerd.sock',
113
+ ];
114
+ /** Agent sockets that would hand a role push credentials, plus the X11 socket
115
+ * dir (desktop input injection). Only relevant while unix sockets are
116
+ * reachable — see `policy.sandbox.allowUnixSockets`, which is true by default
117
+ * because Chrome's process singleton needs a socket ("socket() failed:
118
+ * Operation not permitted" kills `monomind browse` otherwise). */
119
+ function agentSocketPaths(home, env, tmp) {
120
+ const paths = [
121
+ env.SSH_AUTH_SOCK && isAbsolute(env.SSH_AUTH_SOCK) ? env.SSH_AUTH_SOCK : undefined,
122
+ join(home, '.1password'),
123
+ '/tmp/.X11-unix',
124
+ ...DAEMON_SOCKETS,
125
+ ];
126
+ for (const dir of [tmp, '/tmp']) {
127
+ try {
128
+ for (const e of readdirSync(dir))
129
+ if (e.startsWith('ssh-'))
130
+ paths.push(join(dir, e));
131
+ }
132
+ catch {
133
+ /* unreadable temp dir — nothing to mask there */
134
+ }
135
+ }
136
+ return paths.filter((p) => !!p);
137
+ }
138
+ /** $XDG_RUNTIME_DIR, or the conventional /run/user/<uid> when it is unset. */
139
+ function runtimeDir(env) {
140
+ if (env.XDG_RUNTIME_DIR && isAbsolute(env.XDG_RUNTIME_DIR))
141
+ return env.XDG_RUNTIME_DIR;
142
+ const uid = process.getuid?.();
143
+ return uid === undefined ? undefined : `/run/user/${uid}`;
144
+ }
145
+ const uniq = (xs) => [
146
+ ...new Set(xs.filter((x) => !!x)),
147
+ ];
148
+ /** Deny entries for paths that don't exist are dropped: the sandbox masks a
149
+ * missing path so that access() fails with EACCES instead of ENOENT, and git
150
+ * treats an unreadable ~/.gitconfig as fatal — every git command in the role
151
+ * would fail (observed against the real SDK sandbox). */
152
+ const existing = (xs) => uniq(xs).filter((p) => existsSync(p));
153
+ /** Permission-rule form of an absolute path (`//abs/path`). */
154
+ const rule = (tool, abs) => `${tool}(/${abs})`;
155
+ export function buildClaudeRestrictions(guard, cfg, ctx, sandboxEnabled) {
156
+ const home = ctx.home ?? homedir();
157
+ const tmp = ctx.tmp ?? tmpdir();
158
+ const unixSockets = cfg?.allowUnixSockets ?? true;
159
+ const gitDirs = guard.protectedGitDirs;
160
+ const lockedRepo = guard.level === 'read' || guard.level === 'none';
161
+ const disallowedTools = [
162
+ rule('Edit', `${guard.dir}/**`),
163
+ ...gitDirs.flatMap((d) => lockedRepo
164
+ ? [rule('Edit', `${d}/**`)]
165
+ : [rule('Edit', join(d, 'config')), rule('Edit', `${join(d, 'hooks')}/**`)]),
166
+ ...(guard.level === 'none' ? gitDirs.map((d) => rule('Read', `${d}/**`)) : []),
167
+ ];
168
+ if (!sandboxEnabled)
169
+ return { disallowedTools };
170
+ const sandbox = {
171
+ enabled: true,
172
+ failIfUnavailable: true,
173
+ autoAllowBashIfSandboxed: false,
174
+ allowUnsandboxedCommands: false,
175
+ network: {
176
+ allowedDomains: cfg?.allowedDomains ?? ['*'],
177
+ deniedDomains: uniq(cfg?.deniedDomains ?? []),
178
+ strictAllowlist: true,
179
+ allowLocalBinding: true,
180
+ allowAllUnixSockets: unixSockets,
181
+ },
182
+ filesystem: {
183
+ allowWrite: uniq([ctx.cwd, ctx.orgRoot, home, tmp, ...(cfg?.allowWrite ?? [])]),
184
+ denyWrite: existing([
185
+ guard.dir,
186
+ ...(lockedRepo ? gitDirs : gitDirs.flatMap((d) => [join(d, 'config'), join(d, 'hooks')])),
187
+ ...gitDirs.flatMap(gitLocalRemotePaths),
188
+ ...HOME_DENY_WRITE.map((p) => join(home, p)),
189
+ ]),
190
+ denyRead: existing([
191
+ ...(guard.level === 'none' ? gitDirs : []),
192
+ runtimeDir(ctx.env ?? process.env),
193
+ ...(unixSockets ? agentSocketPaths(home, ctx.env ?? process.env, tmp) : []),
194
+ ]),
195
+ },
196
+ credentials: {
197
+ files: existing(HOME_DENY_READ.map((p) => join(home, p))).map((path) => ({
198
+ path,
199
+ mode: 'deny',
200
+ })),
201
+ },
202
+ };
203
+ return { sandbox, disallowedTools };
204
+ }
205
+ const audited = new WeakMap();
206
+ function auditOnce(bus, from, reason, msg, data) {
207
+ const seen = audited.get(bus) ?? new Set();
208
+ audited.set(bus, seen);
209
+ if (seen.has(`${from}:${reason}`))
210
+ return;
211
+ seen.add(`${from}:${reason}`);
212
+ bus.emit({ type: 'audit', from, reason, msg, data });
213
+ }
214
+ const safeSegment = (s) => s.replace(/[^A-Za-z0-9_.-]/g, '_');
215
+ /**
216
+ * Per-session enforcement for one role: the git guard env (every runtime) and,
217
+ * for the Claude runtime, the SDK restrictions. Throws when
218
+ * policy.sandbox.mode is 'required' and the sandbox cannot start.
219
+ */
220
+ export function resolveRoleGitEnforcement(args) {
221
+ const { role, bus } = args;
222
+ const level = (role.policy?.git ?? 'read');
223
+ const stateDir = args.orgDir
224
+ ? join(args.orgDir, 'git-guard', safeSegment(role.id))
225
+ : join(tmpdir(), 'monomind-git-guard', safeSegment(args.org), safeSegment(role.id));
226
+ const build = (excludeSandboxPlaceholders) => prepareGitGuard({
227
+ level,
228
+ stateDir,
229
+ excludeSandboxPlaceholders,
230
+ protectedGitDirs: uniq([
231
+ gitCommonDir(args.cwd),
232
+ args.orgRoot ? gitCommonDir(args.orgRoot) : undefined,
233
+ ]),
234
+ });
235
+ let guard = build(false);
236
+ if (!guard)
237
+ return { env: {} };
238
+ const data = { level, protectedGitDirs: guard.protectedGitDirs };
239
+ if (!args.claudeRuntime) {
240
+ const runtime = args.runtime ?? 'non-claude';
241
+ // #263: codex and grok run their own OS sandbox at the role's level.
242
+ const cliMode = CLI_SANDBOX_MODES[runtime];
243
+ if (cliMode) {
244
+ auditOnce(bus, role.id, 'git-sandbox-cli', `policy.git '${level}' on runtime ${runtime} runs the CLI's own sandbox ('${cliMode}'): writes confined to the role's cwd and temp dir, $HOME and the rest of the filesystem read-only. It has no per-tool gate and no .git deny rules, so git itself still rests on the guard hooks and withheld credentials.`, data);
245
+ }
246
+ else {
247
+ auditOnce(bus, role.id, 'git-sandbox-unsupported-runtime', `policy.git '${level}' on runtime ${runtime} is enforced only by git hooks and withheld credentials — no OS sandbox; a same-user role can bypass them`, data);
248
+ }
249
+ // #262: an opencode role that ATTACHES to an already-running server
250
+ // (OPENCODE_URL) loses the guard env too — that server is the operator's
251
+ // own process, started before the session and outside its control. Only
252
+ // the ephemeral server the runner spawns itself receives the env.
253
+ if (args.runtime === 'opencode' && (args.env ?? process.env).OPENCODE_URL) {
254
+ auditOnce(bus, role.id, 'git-guard-unapplied', `policy.git '${level}' has NO enforcement for this role: it attaches to the opencode server at OPENCODE_URL, which cannot be given the guard env. Unset OPENCODE_URL so the role spawns its own server.`, data);
255
+ }
256
+ return { env: guard.env };
257
+ }
258
+ const cfg = role.policy?.sandbox;
259
+ const mode = cfg?.mode ?? 'auto';
260
+ let sandboxEnabled = mode !== 'off';
261
+ if (mode === 'off') {
262
+ auditOnce(bus, role.id, 'git-sandbox-off', `policy.sandbox.mode 'off': policy.git '${level}' runs without the OS sandbox — git hooks, withheld credentials and file-tool deny rules only`, data);
263
+ }
264
+ else {
265
+ const availability = args.availability ?? sandboxAvailability();
266
+ if (!availability.available) {
267
+ if (mode === 'required') {
268
+ const msg = `policy.sandbox.mode 'required' but the OS sandbox is unavailable (${availability.reason}) — refusing to start role ${role.id}`;
269
+ auditOnce(bus, role.id, 'git-sandbox-required', msg, data);
270
+ throw new Error(msg);
271
+ }
272
+ auditOnce(bus, role.id, 'git-sandbox-unavailable', `OS sandbox unavailable (${availability.reason}): policy.git '${level}' is enforced only by git hooks, withheld credentials and file-tool deny rules, which a same-user role can bypass. Set policy.sandbox.mode 'required' to refuse to run unsandboxed.`, data);
273
+ sandboxEnabled = false;
274
+ }
275
+ }
276
+ // The sandbox drops zero-byte placeholder files into the role's cwd; hide
277
+ // them from git so `git add -A` can't stage them (git-guard.ts).
278
+ if (sandboxEnabled)
279
+ guard = build(true) ?? guard;
280
+ return {
281
+ // Inside the sandbox all egress goes through the runtime's HTTP proxy,
282
+ // which node's global fetch() ignores unless this is set — without it
283
+ // `fetch('https://registry.npmjs.org/…')` in a role's `node -e` fails with
284
+ // EAI_AGAIN (verified against the real sandbox). Curl, npm and git read the
285
+ // proxy variables on their own. An operator value always wins.
286
+ env: {
287
+ ...guard.env,
288
+ ...(sandboxEnabled && process.env.NODE_USE_ENV_PROXY === undefined
289
+ ? { NODE_USE_ENV_PROXY: '1' }
290
+ : {}),
291
+ },
292
+ claudeRestrictions: buildClaudeRestrictions(guard, cfg, { cwd: args.cwd, orgRoot: args.orgRoot }, sandboxEnabled),
293
+ };
294
+ }
295
+ const PROVIDER_RUNTIME = {
296
+ 'vercel-api-key': 'vercel',
297
+ codex: 'codex',
298
+ antigravity: 'antigravity',
299
+ };
300
+ /** `monomind org validate` findings: roles whose policy.git will not have the
301
+ * OS sandbox behind it on this host. */
302
+ export function gitEnforcementFindings(def, availability = sandboxAvailability()) {
303
+ const warnings = [];
304
+ const errors = [];
305
+ const unsupported = [];
306
+ const cliSandboxed = [];
307
+ const unsandboxed = [];
308
+ const off = [];
309
+ for (const role of def.roles) {
310
+ if (role.kind === 'endpoint')
311
+ continue;
312
+ const level = role.policy?.git ?? 'read';
313
+ if (level === 'push')
314
+ continue;
315
+ const runtime = role.runtime ??
316
+ def.runtime ??
317
+ PROVIDER_RUNTIME[role.provider?.kind ?? ''] ??
318
+ process.env.MONOMIND_RUNTIME ??
319
+ 'claude';
320
+ const mode = role.policy?.sandbox?.mode ?? 'auto';
321
+ if (CLI_SANDBOX_MODES[runtime])
322
+ cliSandboxed.push(`${role.id} (${runtime}: ${CLI_SANDBOX_MODES[runtime]})`);
323
+ else if (runtime !== 'claude')
324
+ unsupported.push(`${role.id} (${runtime})`);
325
+ else if (mode === 'off')
326
+ off.push(role.id);
327
+ else if (!availability.available && mode === 'required')
328
+ errors.push(`role ${role.id}: policy.sandbox.mode 'required' but the OS sandbox is unavailable (${availability.reason}) — the role will refuse to start`);
329
+ else if (!availability.available)
330
+ unsandboxed.push(role.id);
331
+ }
332
+ if (unsupported.length)
333
+ warnings.push(`policy.git below 'push' has no OS sandbox on these runtimes — enforced only by git hooks and withheld credentials: ${unsupported.join(', ')}`);
334
+ if (cliSandboxed.length)
335
+ warnings.push(`policy.git below 'push' runs the CLI's own sandbox on these roles — writes confined, but no per-tool gate and no .git deny rules: ${cliSandboxed.join(', ')}`);
336
+ if (unsandboxed.length)
337
+ warnings.push(`OS sandbox unavailable on this host (${availability.reason}) — policy.git for ${unsandboxed.join(', ')} will run without it (set policy.sandbox.mode 'required' to refuse)`);
338
+ if (off.length)
339
+ warnings.push(`policy.sandbox.mode 'off' for ${off.join(', ')} — policy.git runs without the OS sandbox`);
340
+ return { warnings, errors };
341
+ }
342
+ //# sourceMappingURL=role-sandbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"role-sandbox.js","sourceRoot":"","sources":["../../../src/orgrt/role-sandbox.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,14 @@ import type { OrgDef, OrgRole } from './types.js';
15
15
  */
16
16
  export declare function resolveRoleExtraGuidance(role: OrgRole): string | undefined;
17
17
  /** Resolve the model string for a role: explicit adapter_config.model wins;
18
- * otherwise fall back to the vendor/runtime default. */
18
+ * otherwise fall back to the vendor/runtime default.
19
+ *
20
+ * Vendor defaults are read straight off VERCEL_PROVIDERS, which already
21
+ * carries a defaultModel per vendor. A second hand-kept table lived here and
22
+ * restated all sixteen of them — two lists of per-vendor defaults that would
23
+ * eventually disagree, which is precisely the drift #252 was. An empty
24
+ * registry default (openai-compatible, which serves arbitrary endpoints) is
25
+ * falsy and so falls through to the runtime switch, as it always did. */
19
26
  export declare function resolveModel(role: OrgRole, runtime?: string, vendor?: string): string;
20
27
  export type DeliverFn = (from: string, to: string, subject: string, body: string) => Promise<string>;
21
28
  /** The SDK's `canUseTool` gate, composed from two independent layers: PolicyEngine's
@@ -128,12 +135,16 @@ export interface SessionOpts {
128
135
  * session.ts builds a ClaudeAgentRunner from queryFn (or the default),
129
136
  * preserving the previous Claude-only behaviour exactly. */
130
137
  runner?: AgentRunner;
131
- /** Caller-owned cancellation handle for THIS incarnation. When supplied,
132
- * runAgentSession uses it instead of creating its own internal
133
- * AbortController — lets the daemon force-stop a specific incarnation
134
- * (mid-run role replacement's forced-stop step) without reaching into
135
- * runAgentSession's internals. */
138
+ /** Caller-owned cancellation handle for THIS incarnation. Every session
139
+ * attempt runs on its own AbortController linked to this one: aborting it
140
+ * aborts the in-flight attempt, which lets the daemon force-stop a specific
141
+ * incarnation (org stop, mid-run role replacement's forced-stop step)
142
+ * without reaching into runAgentSession's internals. An attempt's own abort
143
+ * (the silent-stream kill) never propagates back to it (#256). */
136
144
  externalAbort?: AbortController;
145
+ /** Override how long a session's first stream pull may stay silent before
146
+ * the attempt is aborted and retried (tests only; default 4 minutes). */
147
+ silentSessionMs?: number;
137
148
  /** ID of the last message received by this agent (for threading responses). Function to ensure live reading. */
138
149
  lastMessageId?: () => string | undefined;
139
150
  /** Callback for each output line — feeds ScrollbackBuffer. */
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/orgrt/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/orgrt/session.ts"],"names":[],"mappings":"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"}