aicodeman 1.4.0 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (223) hide show
  1. package/README.md +36 -0
  2. package/dist/cli.d.ts.map +1 -1
  3. package/dist/cli.js +168 -0
  4. package/dist/cli.js.map +1 -1
  5. package/dist/config/multiuser.d.ts +38 -0
  6. package/dist/config/multiuser.d.ts.map +1 -0
  7. package/dist/config/multiuser.js +58 -0
  8. package/dist/config/multiuser.js.map +1 -0
  9. package/dist/cron/cron-service.d.ts +1 -1
  10. package/dist/cron/cron-service.d.ts.map +1 -1
  11. package/dist/cron/cron-service.js +31 -4
  12. package/dist/cron/cron-service.js.map +1 -1
  13. package/dist/docker-hosts.d.ts +85 -5
  14. package/dist/docker-hosts.d.ts.map +1 -1
  15. package/dist/docker-hosts.js +260 -22
  16. package/dist/docker-hosts.js.map +1 -1
  17. package/dist/mux-interface.d.ts +6 -0
  18. package/dist/mux-interface.d.ts.map +1 -1
  19. package/dist/plan-orchestrator.d.ts +8 -1
  20. package/dist/plan-orchestrator.d.ts.map +1 -1
  21. package/dist/plan-orchestrator.js +20 -1
  22. package/dist/plan-orchestrator.js.map +1 -1
  23. package/dist/push-store.d.ts +17 -5
  24. package/dist/push-store.d.ts.map +1 -1
  25. package/dist/push-store.js +3 -1
  26. package/dist/push-store.js.map +1 -1
  27. package/dist/session-cli-builder.d.ts +1 -1
  28. package/dist/session-cli-builder.d.ts.map +1 -1
  29. package/dist/session-cli-builder.js +7 -2
  30. package/dist/session-cli-builder.js.map +1 -1
  31. package/dist/session.d.ts +9 -0
  32. package/dist/session.d.ts.map +1 -1
  33. package/dist/session.js +19 -2
  34. package/dist/session.js.map +1 -1
  35. package/dist/tmux-manager.d.ts +24 -2
  36. package/dist/tmux-manager.d.ts.map +1 -1
  37. package/dist/tmux-manager.js +60 -12
  38. package/dist/tmux-manager.js.map +1 -1
  39. package/dist/tunnel-manager.d.ts +17 -0
  40. package/dist/tunnel-manager.d.ts.map +1 -1
  41. package/dist/tunnel-manager.js +48 -8
  42. package/dist/tunnel-manager.js.map +1 -1
  43. package/dist/types/api.d.ts +10 -0
  44. package/dist/types/api.d.ts.map +1 -1
  45. package/dist/types/api.js +20 -0
  46. package/dist/types/api.js.map +1 -1
  47. package/dist/types/cron.d.ts +2 -0
  48. package/dist/types/cron.d.ts.map +1 -1
  49. package/dist/types/index.d.ts +1 -0
  50. package/dist/types/index.d.ts.map +1 -1
  51. package/dist/types/index.js +1 -0
  52. package/dist/types/index.js.map +1 -1
  53. package/dist/types/session.d.ts +8 -1
  54. package/dist/types/session.d.ts.map +1 -1
  55. package/dist/types/session.js.map +1 -1
  56. package/dist/types/user.d.ts +59 -0
  57. package/dist/types/user.d.ts.map +1 -0
  58. package/dist/types/user.js +12 -0
  59. package/dist/types/user.js.map +1 -0
  60. package/dist/user-store.d.ts +139 -0
  61. package/dist/user-store.d.ts.map +1 -0
  62. package/dist/user-store.js +433 -0
  63. package/dist/user-store.js.map +1 -0
  64. package/dist/web/admin-audit.d.ts +17 -0
  65. package/dist/web/admin-audit.d.ts.map +1 -0
  66. package/dist/web/admin-audit.js +19 -0
  67. package/dist/web/admin-audit.js.map +1 -0
  68. package/dist/web/middleware/auth.d.ts +8 -0
  69. package/dist/web/middleware/auth.d.ts.map +1 -1
  70. package/dist/web/middleware/auth.js +250 -51
  71. package/dist/web/middleware/auth.js.map +1 -1
  72. package/dist/web/ports/auth-port.d.ts +13 -0
  73. package/dist/web/ports/auth-port.d.ts.map +1 -1
  74. package/dist/web/ports/config-port.d.ts +4 -1
  75. package/dist/web/ports/config-port.d.ts.map +1 -1
  76. package/dist/web/ports/infra-port.d.ts +4 -1
  77. package/dist/web/ports/infra-port.d.ts.map +1 -1
  78. package/dist/web/public/admin-ui.js +260 -0
  79. package/dist/web/public/admin-ui.js.br +0 -0
  80. package/dist/web/public/admin-ui.js.gz +0 -0
  81. package/dist/web/public/api-client.c9b1cddc.js.gz +0 -0
  82. package/dist/web/public/{app.07e61fcf.js → app.6c4b9893.js} +1 -1
  83. package/dist/web/public/app.6c4b9893.js.br +0 -0
  84. package/dist/web/public/app.6c4b9893.js.gz +0 -0
  85. package/dist/web/public/{constants.503109fa.js → constants.5ce97313.js} +7 -0
  86. package/dist/web/public/constants.5ce97313.js.br +0 -0
  87. package/dist/web/public/{constants.503109fa.js.gz → constants.5ce97313.js.gz} +0 -0
  88. package/dist/web/public/cron-ui.js.gz +0 -0
  89. package/dist/web/public/image-input.ee16ad88.js.gz +0 -0
  90. package/dist/web/public/index.html +24 -14
  91. package/dist/web/public/index.html.br +0 -0
  92. package/dist/web/public/index.html.gz +0 -0
  93. package/dist/web/public/input-cjk.63794d0b.js.gz +0 -0
  94. package/dist/web/public/keyboard-accessory.3f91acef.js.gz +0 -0
  95. package/dist/web/public/mobile-handlers.b5a667ef.js.gz +0 -0
  96. package/dist/web/public/mobile.0644e3ac.css.gz +0 -0
  97. package/dist/web/public/notification-manager.ca9dc40d.js.gz +0 -0
  98. package/dist/web/public/orchestrator-panel.js.gz +0 -0
  99. package/dist/web/public/{panels-ui.ca03853f.js → panels-ui.3c9b0465.js} +53 -53
  100. package/dist/web/public/panels-ui.3c9b0465.js.br +0 -0
  101. package/dist/web/public/panels-ui.3c9b0465.js.gz +0 -0
  102. package/dist/web/public/ralph-panel.6de2d0f8.js.gz +0 -0
  103. package/dist/web/public/ralph-wizard.13a1831e.js.gz +0 -0
  104. package/dist/web/public/respawn-ui.2d249da9.js.gz +0 -0
  105. package/dist/web/public/sanitize-html.bc7078d6.js.gz +0 -0
  106. package/dist/web/public/session-ui.4851c61a.js +58 -0
  107. package/dist/web/public/session-ui.4851c61a.js.br +0 -0
  108. package/dist/web/public/session-ui.4851c61a.js.gz +0 -0
  109. package/dist/web/public/settings-ui.29214cf1.js +67 -0
  110. package/dist/web/public/settings-ui.29214cf1.js.br +0 -0
  111. package/dist/web/public/settings-ui.29214cf1.js.gz +0 -0
  112. package/dist/web/public/styles.9e6cdb9d.css +1 -0
  113. package/dist/web/public/styles.9e6cdb9d.css.br +0 -0
  114. package/dist/web/public/styles.9e6cdb9d.css.gz +0 -0
  115. package/dist/web/public/subagent-windows.69b60c35.js.gz +0 -0
  116. package/dist/web/public/sw.js.gz +0 -0
  117. package/dist/web/public/terminal-ui.efda6083.js.gz +0 -0
  118. package/dist/web/public/ultracode-panel.js.gz +0 -0
  119. package/dist/web/public/ultracode-windows.js.gz +0 -0
  120. package/dist/web/public/upload.html.gz +0 -0
  121. package/dist/web/public/vendor/dompurify.min.js.gz +0 -0
  122. package/dist/web/public/vendor/marked.min.js.gz +0 -0
  123. package/dist/web/public/vendor/xterm-addon-fit.min.js.gz +0 -0
  124. package/dist/web/public/vendor/xterm-addon-serialize.min.js.gz +0 -0
  125. package/dist/web/public/vendor/xterm-addon-unicode11.min.js.gz +0 -0
  126. package/dist/web/public/vendor/xterm-addon-webgl.min.js.gz +0 -0
  127. package/dist/web/public/vendor/xterm-zerolag-input.137ad9f0.js.gz +0 -0
  128. package/dist/web/public/vendor/xterm.css.gz +0 -0
  129. package/dist/web/public/vendor/xterm.min.js.gz +0 -0
  130. package/dist/web/public/voice-input.085e9e73.js.gz +0 -0
  131. package/dist/web/route-helpers.d.ts +78 -1
  132. package/dist/web/route-helpers.d.ts.map +1 -1
  133. package/dist/web/route-helpers.js +172 -3
  134. package/dist/web/route-helpers.js.map +1 -1
  135. package/dist/web/routes/admin-routes.d.ts +20 -0
  136. package/dist/web/routes/admin-routes.d.ts.map +1 -0
  137. package/dist/web/routes/admin-routes.js +193 -0
  138. package/dist/web/routes/admin-routes.js.map +1 -0
  139. package/dist/web/routes/case-routes.d.ts.map +1 -1
  140. package/dist/web/routes/case-routes.js +202 -74
  141. package/dist/web/routes/case-routes.js.map +1 -1
  142. package/dist/web/routes/clipboard-routes.d.ts +2 -2
  143. package/dist/web/routes/clipboard-routes.d.ts.map +1 -1
  144. package/dist/web/routes/clipboard-routes.js +10 -0
  145. package/dist/web/routes/clipboard-routes.js.map +1 -1
  146. package/dist/web/routes/cron-routes.d.ts.map +1 -1
  147. package/dist/web/routes/cron-routes.js +57 -9
  148. package/dist/web/routes/cron-routes.js.map +1 -1
  149. package/dist/web/routes/file-routes.d.ts.map +1 -1
  150. package/dist/web/routes/file-routes.js +26 -20
  151. package/dist/web/routes/file-routes.js.map +1 -1
  152. package/dist/web/routes/index.d.ts +2 -0
  153. package/dist/web/routes/index.d.ts.map +1 -1
  154. package/dist/web/routes/index.js +2 -0
  155. package/dist/web/routes/index.js.map +1 -1
  156. package/dist/web/routes/me-routes.d.ts +16 -0
  157. package/dist/web/routes/me-routes.d.ts.map +1 -0
  158. package/dist/web/routes/me-routes.js +73 -0
  159. package/dist/web/routes/me-routes.js.map +1 -0
  160. package/dist/web/routes/mux-routes.d.ts.map +1 -1
  161. package/dist/web/routes/mux-routes.js +23 -5
  162. package/dist/web/routes/mux-routes.js.map +1 -1
  163. package/dist/web/routes/orchestrator-routes.d.ts.map +1 -1
  164. package/dist/web/routes/orchestrator-routes.js +43 -11
  165. package/dist/web/routes/orchestrator-routes.js.map +1 -1
  166. package/dist/web/routes/plan-routes.d.ts.map +1 -1
  167. package/dist/web/routes/plan-routes.js +28 -9
  168. package/dist/web/routes/plan-routes.js.map +1 -1
  169. package/dist/web/routes/push-routes.d.ts.map +1 -1
  170. package/dist/web/routes/push-routes.js +4 -0
  171. package/dist/web/routes/push-routes.js.map +1 -1
  172. package/dist/web/routes/ralph-routes.d.ts.map +1 -1
  173. package/dist/web/routes/ralph-routes.js +21 -17
  174. package/dist/web/routes/ralph-routes.js.map +1 -1
  175. package/dist/web/routes/respawn-routes.d.ts.map +1 -1
  176. package/dist/web/routes/respawn-routes.js +23 -14
  177. package/dist/web/routes/respawn-routes.js.map +1 -1
  178. package/dist/web/routes/scheduled-routes.d.ts.map +1 -1
  179. package/dist/web/routes/scheduled-routes.js +22 -6
  180. package/dist/web/routes/scheduled-routes.js.map +1 -1
  181. package/dist/web/routes/search-routes.d.ts.map +1 -1
  182. package/dist/web/routes/search-routes.js +9 -3
  183. package/dist/web/routes/search-routes.js.map +1 -1
  184. package/dist/web/routes/session-routes.d.ts.map +1 -1
  185. package/dist/web/routes/session-routes.js +209 -65
  186. package/dist/web/routes/session-routes.js.map +1 -1
  187. package/dist/web/routes/system-routes.d.ts.map +1 -1
  188. package/dist/web/routes/system-routes.js +108 -23
  189. package/dist/web/routes/system-routes.js.map +1 -1
  190. package/dist/web/routes/ws-routes.d.ts.map +1 -1
  191. package/dist/web/routes/ws-routes.js +11 -0
  192. package/dist/web/routes/ws-routes.js.map +1 -1
  193. package/dist/web/schemas.d.ts +1 -0
  194. package/dist/web/schemas.d.ts.map +1 -1
  195. package/dist/web/schemas.js +3 -0
  196. package/dist/web/schemas.js.map +1 -1
  197. package/dist/web/server.d.ts +12 -0
  198. package/dist/web/server.d.ts.map +1 -1
  199. package/dist/web/server.js +187 -11
  200. package/dist/web/server.js.map +1 -1
  201. package/dist/web/sse-events.d.ts +18 -0
  202. package/dist/web/sse-events.d.ts.map +1 -1
  203. package/dist/web/sse-events.js +19 -0
  204. package/dist/web/sse-events.js.map +1 -1
  205. package/dist/web/sse-stream-manager.d.ts +32 -2
  206. package/dist/web/sse-stream-manager.d.ts.map +1 -1
  207. package/dist/web/sse-stream-manager.js +51 -4
  208. package/dist/web/sse-stream-manager.js.map +1 -1
  209. package/package.json +1 -1
  210. package/dist/web/public/app.07e61fcf.js.br +0 -0
  211. package/dist/web/public/app.07e61fcf.js.gz +0 -0
  212. package/dist/web/public/constants.503109fa.js.br +0 -0
  213. package/dist/web/public/panels-ui.ca03853f.js.br +0 -0
  214. package/dist/web/public/panels-ui.ca03853f.js.gz +0 -0
  215. package/dist/web/public/session-ui.9da1b71f.js +0 -58
  216. package/dist/web/public/session-ui.9da1b71f.js.br +0 -0
  217. package/dist/web/public/session-ui.9da1b71f.js.gz +0 -0
  218. package/dist/web/public/settings-ui.4acbe789.js +0 -67
  219. package/dist/web/public/settings-ui.4acbe789.js.br +0 -0
  220. package/dist/web/public/settings-ui.4acbe789.js.gz +0 -0
  221. package/dist/web/public/styles.546ddae4.css +0 -1
  222. package/dist/web/public/styles.546ddae4.css.br +0 -0
  223. package/dist/web/public/styles.546ddae4.css.gz +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"cron-service.js","sourceRoot":"","sources":["../../src/cron/cron-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cron-service.js","sourceRoot":"","sources":["../../src/cron/cron-service.ts"],"names":[],"mappings":"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"}
@@ -122,12 +122,72 @@ export declare function buildDockerBaseArgs(docker: Pick<SessionDocker, 'engine'
122
122
  */
123
123
  export declare function buildDockerCreateArgs(ctx: DockerCreateContext): string[];
124
124
  /**
125
- * Resolve which host credential dirs/files EXIST and map them to their container
126
- * HOME location. Only-existing avoids docker auto-creating root-owned empty dirs
127
- * in the user's home. `~/.claude` also carries the transcripts (bind-mounted so
128
- * host watchers + `--resume` see them) and is therefore mounted read-WRITE.
125
+ * PURE argv for building the agent base image locally (the programmatic mirror of
126
+ * scripts/build-agent-image.mjs): `build -f <dockerfile> -t <image> [--no-cache]
127
+ * <contextDir>`. Kept pure + unit-testable; the caller prepends the engine binary.
129
128
  */
130
- export declare function resolveCredentialMounts(home?: string): DockerMount[];
129
+ export declare function agentImageBuildArgs(dockerfile: string, image: string, contextDir: string, noCache?: boolean): string[];
130
+ /** Container Claude config dir (created gid-0 writable in the image). */
131
+ export declare const CONTAINER_CLAUDE_DIR = "/home/agent/.claude";
132
+ /** In-container path of the seeded (writable) `~/.claude.json`. */
133
+ export declare const CLAUDE_JSON_HOME = "/home/agent/.claude.json";
134
+ /** In-container path of the read-only host-seeded `~/.claude.json` (copied into HOME at launch). */
135
+ export declare const CLAUDE_JSON_SEED = "/home/agent/.codeman/claude.seed.json";
136
+ /**
137
+ * PURE: merge the host `~/.claude.json` into a config that makes an
138
+ * already-authenticated Claude skip its INTERACTIVE onboarding inside the container
139
+ * (the host file itself lacks these flags — the host install is grandfathered, so a
140
+ * verbatim copy still triggers the theme picker + login wizard + folder-trust
141
+ * prompt). Forces `hasCompletedOnboarding`, a `theme` (so the theme picker is
142
+ * skipped), and marks the workspace project trusted + onboarded. Auth still comes
143
+ * from the copied `oauthAccount` + the dir-mounted `~/.claude/.credentials.json`.
144
+ */
145
+ export declare function buildSeamlessClaudeConfig(hostConfig: Record<string, unknown>, workspacePath: string, theme?: string): Record<string, unknown>;
146
+ /**
147
+ * Resolve the read-only seed mount for `~/.claude.json`. Reads the host file, merges
148
+ * in the seamless-onboarding flags + workspace trust (buildSeamlessClaudeConfig),
149
+ * writes the result to a per-container seed file under `~/.codeman/docker-seeds/`,
150
+ * and returns its mount. The launch chain copies it to `~/.claude.json` inside HOME
151
+ * once — giving Claude a NORMAL writable, already-onboarded config (no atomic-rename
152
+ * EBUSY, no re-auth, no theme/trust prompts). Falls back to the RAW host file when
153
+ * parse/write fails (auth still works; the wizard may show). Returns null when the
154
+ * host has no `~/.claude.json`. IO; under VITEST returns the raw mount (no write).
155
+ */
156
+ export declare function resolveClaudeJsonSeedMount(home?: string, containerName?: string, workspacePath?: string): DockerMount | null;
157
+ /** A file (or dir, when `recursive`) copied into the container HOME once at launch
158
+ * (`[ -e to ] || cp [-a] from to`). */
159
+ export interface DockerSeedCopy {
160
+ from: string;
161
+ to: string;
162
+ /** `cp -a` for whole-directory credential seeds (gemini/gcloud/opencode). */
163
+ recursive?: boolean;
164
+ }
165
+ export interface DockerClaudeArtifacts {
166
+ /** Bind mounts to add: the shared `projects/` transcripts (RW) + read-only seed files. */
167
+ mounts: DockerMount[];
168
+ /** Files copied into the container's writable HOME/.claude (+ HOME/.claude.json) at launch. */
169
+ seedCopies: DockerSeedCopy[];
170
+ }
171
+ /**
172
+ * Resolve the ISOLATED Claude artifacts for a docker session (replaces the old
173
+ * whole-`~/.claude` RW mount that polluted the host). Shares ONLY what must cross
174
+ * the boundary and seeds the rest as writable copies:
175
+ * - `~/.claude/projects` → RW dir mount (transcripts: host watchers + `--resume`).
176
+ * - `~/.claude.json` → merged onboarding seed, copied to HOME (no re-auth/wizard).
177
+ * - `~/.claude/.credentials.json` + `~/.claude/settings.json` → read-only seeds
178
+ * copied into the container's own `~/.claude` (token + global prefs carry in;
179
+ * the container refreshes its own copy and never writes back to the host).
180
+ * Everything else Claude writes (backups, tasks, teams, session-env, history) stays
181
+ * container-local. IO (reads host files, writes the merged `.claude.json` seed).
182
+ */
183
+ export declare function resolveDockerClaudeArtifacts(home: string, containerName: string, workspacePath: string): DockerClaudeArtifacts;
184
+ /**
185
+ * Resolve the ISOLATED codex/gemini/gcloud/opencode artifacts (replaces the old
186
+ * whole-dir RW mounts that let each in-container CLI write its refreshed tokens +
187
+ * session state back into the host). Every path is existsSync-gated (on most hosts
188
+ * only a subset exists). Pure-ish IO (no writes; just existence checks + mount specs).
189
+ */
190
+ export declare function resolveDockerCredentialArtifacts(home?: string): DockerClaudeArtifacts;
131
191
  export interface DockerAvailability {
132
192
  ok: boolean;
133
193
  engine: DockerEngine;
@@ -146,6 +206,26 @@ export interface DockerAvailability {
146
206
  export declare function checkDockerAvailable(engine?: DockerEngine): Promise<DockerAvailability>;
147
207
  /** Is the base image present locally? (never triggers an auto-pull). */
148
208
  export declare function checkDockerImagePresent(engine: DockerEngine, image: string): Promise<boolean>;
209
+ export interface EnsureImageResult {
210
+ ok: boolean;
211
+ /** true when this call actually ran a build (vs. the image already existing). */
212
+ built: boolean;
213
+ alreadyPresent: boolean;
214
+ error?: string;
215
+ }
216
+ /**
217
+ * Ensure the agent base image exists, BUILDING it locally on first use so a missing
218
+ * image is never a hard blocker (decision: "build locally on first use",
219
+ * docs/docker-cases-plan.md). Idempotent, concurrency-safe (one build per
220
+ * engine:image shared by concurrent callers), and a no-op under VITEST. Only the
221
+ * DEFAULT image is auto-built — we can never build a user's custom ref, and the
222
+ * `--pull=never` invariant forbids pulling. `onProgress` receives build output
223
+ * lines for SSE surfacing.
224
+ */
225
+ export declare function ensureAgentBaseImage(engine: DockerEngine, image: string, opts?: {
226
+ onProgress?: (line: string) => void;
227
+ noCache?: boolean;
228
+ }): Promise<EnsureImageResult>;
149
229
  export interface DockerTmuxCheckResult {
150
230
  ok: boolean;
151
231
  tmuxPath?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"docker-hosts.d.ts","sourceRoot":"","sources":["../src/docker-hosts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"docker-hosts.d.ts","sourceRoot":"","sources":["../src/docker-hosts.ts"],"names":[],"mappings":"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"}
@@ -20,13 +20,15 @@
20
20
  *
21
21
  * @module docker-hosts
22
22
  */
23
- import { existsSync, mkdirSync } from 'node:fs';
23
+ import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
24
24
  import fs from 'node:fs/promises';
25
- import { join } from 'node:path';
25
+ import { join, dirname } from 'node:path';
26
+ import { fileURLToPath } from 'node:url';
26
27
  import { homedir } from 'node:os';
27
28
  import { createHash } from 'node:crypto';
28
- import { execFile } from 'node:child_process';
29
+ import { execFile, spawn } from 'node:child_process';
29
30
  import { promisify } from 'node:util';
31
+ import { dataPath } from './config/instance.js';
30
32
  const execFileAsync = promisify(execFile);
31
33
  /** Under vitest, all real `docker` invocations no-op (mirror of tmux-manager's IS_TEST_MODE). */
32
34
  const IS_TEST_MODE = !!process.env.VITEST;
@@ -286,31 +288,184 @@ export function buildDockerCreateArgs(ctx) {
286
288
  args.push(shellescape(docker.image), 'sleep', 'infinity');
287
289
  return args;
288
290
  }
291
+ /**
292
+ * PURE argv for building the agent base image locally (the programmatic mirror of
293
+ * scripts/build-agent-image.mjs): `build -f <dockerfile> -t <image> [--no-cache]
294
+ * <contextDir>`. Kept pure + unit-testable; the caller prepends the engine binary.
295
+ */
296
+ export function agentImageBuildArgs(dockerfile, image, contextDir, noCache = false) {
297
+ return ['build', '-f', dockerfile, '-t', image, ...(noCache ? ['--no-cache'] : []), contextDir];
298
+ }
289
299
  // ========== Credential mount resolution (IO) ==========
290
- /** Host cred paths mapped to their in-container HOME location. */
291
- const CREDENTIAL_PATHS = [
292
- { rel: '.claude' },
293
- { rel: '.claude.json' },
294
- { rel: '.codex' },
295
- { rel: '.gemini' },
296
- { rel: '.config/gcloud' },
297
- { rel: '.config/opencode' },
298
- ];
300
+ /** Container Claude config dir (created gid-0 writable in the image). */
301
+ export const CONTAINER_CLAUDE_DIR = `${CONTAINER_HOME}/.claude`;
302
+ /** In-container path of the seeded (writable) `~/.claude.json`. */
303
+ export const CLAUDE_JSON_HOME = `${CONTAINER_HOME}/.claude.json`;
304
+ /** In-container path of the read-only host-seeded `~/.claude.json` (copied into HOME at launch). */
305
+ export const CLAUDE_JSON_SEED = `${CONTAINER_HOME}/.codeman/claude.seed.json`;
306
+ /** Read-only seed paths for the files copied into the container's `.claude`. */
307
+ const CLAUDE_CREDS_SEED = `${CONTAINER_HOME}/.codeman/claude-creds.seed.json`;
308
+ const CLAUDE_SETTINGS_SEED = `${CONTAINER_HOME}/.codeman/claude-settings.seed.json`;
309
+ const CLAUDE_STATS_SEED = `${CONTAINER_HOME}/.codeman/claude-stats.seed.json`;
310
+ /** Staging root for read-only host-cred seed mounts (codex/gemini/gcloud/opencode). */
311
+ const CRED_SEED_DIR = `${CONTAINER_HOME}/.codeman/cred-seeds`;
312
+ /**
313
+ * PURE: merge the host `~/.claude.json` into a config that makes an
314
+ * already-authenticated Claude skip its INTERACTIVE onboarding inside the container
315
+ * (the host file itself lacks these flags — the host install is grandfathered, so a
316
+ * verbatim copy still triggers the theme picker + login wizard + folder-trust
317
+ * prompt). Forces `hasCompletedOnboarding`, a `theme` (so the theme picker is
318
+ * skipped), and marks the workspace project trusted + onboarded. Auth still comes
319
+ * from the copied `oauthAccount` + the dir-mounted `~/.claude/.credentials.json`.
320
+ */
321
+ export function buildSeamlessClaudeConfig(hostConfig, workspacePath, theme = 'dark') {
322
+ const merged = { ...hostConfig };
323
+ merged.hasCompletedOnboarding = true;
324
+ if (typeof merged.theme !== 'string')
325
+ merged.theme = theme;
326
+ const projects = { ...(merged.projects ?? {}) };
327
+ const existing = projects[workspacePath] ?? {};
328
+ const seenCount = existing.projectOnboardingSeenCount;
329
+ projects[workspacePath] = {
330
+ ...existing,
331
+ hasTrustDialogAccepted: true,
332
+ hasCompletedProjectOnboarding: true,
333
+ projectOnboardingSeenCount: typeof seenCount === 'number' && seenCount > 0 ? seenCount : 1,
334
+ };
335
+ merged.projects = projects;
336
+ return merged;
337
+ }
338
+ /** Best-effort read of the host `~/.claude/settings.json` theme (drives the seed's theme). */
339
+ function readHostClaudeTheme(home) {
340
+ try {
341
+ const parsed = JSON.parse(readFileSync(join(home, '.claude', 'settings.json'), 'utf-8'));
342
+ return typeof parsed.theme === 'string' ? parsed.theme : undefined;
343
+ }
344
+ catch {
345
+ return undefined;
346
+ }
347
+ }
299
348
  /**
300
- * Resolve which host credential dirs/files EXIST and map them to their container
301
- * HOME location. Only-existing avoids docker auto-creating root-owned empty dirs
302
- * in the user's home. `~/.claude` also carries the transcripts (bind-mounted so
303
- * host watchers + `--resume` see them) and is therefore mounted read-WRITE.
349
+ * Resolve the read-only seed mount for `~/.claude.json`. Reads the host file, merges
350
+ * in the seamless-onboarding flags + workspace trust (buildSeamlessClaudeConfig),
351
+ * writes the result to a per-container seed file under `~/.codeman/docker-seeds/`,
352
+ * and returns its mount. The launch chain copies it to `~/.claude.json` inside HOME
353
+ * once — giving Claude a NORMAL writable, already-onboarded config (no atomic-rename
354
+ * EBUSY, no re-auth, no theme/trust prompts). Falls back to the RAW host file when
355
+ * parse/write fails (auth still works; the wizard may show). Returns null when the
356
+ * host has no `~/.claude.json`. IO; under VITEST returns the raw mount (no write).
304
357
  */
305
- export function resolveCredentialMounts(home = homedir()) {
358
+ export function resolveClaudeJsonSeedMount(home = homedir(), containerName, workspacePath) {
359
+ const src = join(home, '.claude.json');
360
+ if (!existsSync(src))
361
+ return null;
362
+ const rawMount = { src, dst: CLAUDE_JSON_SEED, readonly: true };
363
+ if (IS_TEST_MODE || !containerName || !workspacePath)
364
+ return rawMount;
365
+ try {
366
+ const hostConfig = JSON.parse(readFileSync(src, 'utf-8'));
367
+ const merged = buildSeamlessClaudeConfig(hostConfig, workspacePath, readHostClaudeTheme(home) ?? 'dark');
368
+ const seedsDir = dataPath('docker-seeds');
369
+ if (!existsSync(seedsDir))
370
+ mkdirSync(seedsDir, { recursive: true });
371
+ const seedFile = join(seedsDir, `${containerName}.json`);
372
+ writeFileSync(seedFile, JSON.stringify(merged), { mode: 0o600 });
373
+ return { src: seedFile, dst: CLAUDE_JSON_SEED, readonly: true };
374
+ }
375
+ catch {
376
+ return rawMount; // partial host write / unreadable — auth still carries, wizard may show
377
+ }
378
+ }
379
+ /**
380
+ * Resolve the ISOLATED Claude artifacts for a docker session (replaces the old
381
+ * whole-`~/.claude` RW mount that polluted the host). Shares ONLY what must cross
382
+ * the boundary and seeds the rest as writable copies:
383
+ * - `~/.claude/projects` → RW dir mount (transcripts: host watchers + `--resume`).
384
+ * - `~/.claude.json` → merged onboarding seed, copied to HOME (no re-auth/wizard).
385
+ * - `~/.claude/.credentials.json` + `~/.claude/settings.json` → read-only seeds
386
+ * copied into the container's own `~/.claude` (token + global prefs carry in;
387
+ * the container refreshes its own copy and never writes back to the host).
388
+ * Everything else Claude writes (backups, tasks, teams, session-env, history) stays
389
+ * container-local. IO (reads host files, writes the merged `.claude.json` seed).
390
+ */
391
+ export function resolveDockerClaudeArtifacts(home, containerName, workspacePath) {
306
392
  const mounts = [];
307
- for (const { rel } of CREDENTIAL_PATHS) {
308
- const src = join(home, rel);
393
+ const seedCopies = [];
394
+ // The ONE genuinely-shared part: conversation transcripts (dir mount → renames work).
395
+ const projectsSrc = join(home, '.claude', 'projects');
396
+ if (existsSync(projectsSrc)) {
397
+ mounts.push({ src: projectsSrc, dst: `${CONTAINER_CLAUDE_DIR}/projects` });
398
+ }
399
+ // ~/.claude.json → merged, onboarding-complete seed at HOME root.
400
+ const jsonSeed = resolveClaudeJsonSeedMount(home, containerName, workspacePath);
401
+ if (jsonSeed) {
402
+ mounts.push(jsonSeed);
403
+ seedCopies.push({ from: CLAUDE_JSON_SEED, to: CLAUDE_JSON_HOME });
404
+ }
405
+ // credentials (token) + settings (theme/model/effort/permissions) + stats-cache
406
+ // (drives the model/effort status indicator) → writable copies inside the
407
+ // container's own ~/.claude (never a wholesale mount → no host pollution).
408
+ const files = [
409
+ ['.credentials.json', CLAUDE_CREDS_SEED, `${CONTAINER_CLAUDE_DIR}/.credentials.json`],
410
+ ['settings.json', CLAUDE_SETTINGS_SEED, `${CONTAINER_CLAUDE_DIR}/settings.json`],
411
+ ['stats-cache.json', CLAUDE_STATS_SEED, `${CONTAINER_CLAUDE_DIR}/stats-cache.json`],
412
+ ];
413
+ for (const [rel, seed, dest] of files) {
414
+ const src = join(home, '.claude', rel);
309
415
  if (existsSync(src)) {
310
- mounts.push({ src, dst: `${CONTAINER_HOME}/${rel}` });
416
+ mounts.push({ src, dst: seed, readonly: true });
417
+ seedCopies.push({ from: seed, to: dest });
311
418
  }
312
419
  }
313
- return mounts;
420
+ return { mounts, seedCopies };
421
+ }
422
+ const CRED_STORES = [
423
+ { rel: '.codex', shareDirs: ['sessions'], shareFiles: ['history.jsonl'], seedFiles: ['auth.json', 'config.toml'] },
424
+ { rel: '.gemini', seedWhole: true },
425
+ { rel: '.config/gcloud', seedWhole: true },
426
+ { rel: '.config/opencode', seedWhole: true },
427
+ ];
428
+ /**
429
+ * Resolve the ISOLATED codex/gemini/gcloud/opencode artifacts (replaces the old
430
+ * whole-dir RW mounts that let each in-container CLI write its refreshed tokens +
431
+ * session state back into the host). Every path is existsSync-gated (on most hosts
432
+ * only a subset exists). Pure-ish IO (no writes; just existence checks + mount specs).
433
+ */
434
+ export function resolveDockerCredentialArtifacts(home = homedir()) {
435
+ const mounts = [];
436
+ const seedCopies = [];
437
+ for (const store of CRED_STORES) {
438
+ const hostBase = join(home, store.rel);
439
+ if (!existsSync(hostBase))
440
+ continue;
441
+ const containerBase = `${CONTAINER_HOME}/${store.rel}`;
442
+ const seedName = store.rel.replace(/\//g, '-'); // '.config/gcloud' → '.config-gcloud'
443
+ if (store.seedWhole) {
444
+ const seed = `${CRED_SEED_DIR}/${seedName}`;
445
+ mounts.push({ src: hostBase, dst: seed, readonly: true });
446
+ seedCopies.push({ from: seed, to: containerBase, recursive: true });
447
+ continue;
448
+ }
449
+ for (const sub of store.shareDirs ?? []) {
450
+ const src = join(hostBase, sub);
451
+ if (existsSync(src))
452
+ mounts.push({ src, dst: `${containerBase}/${sub}` });
453
+ }
454
+ for (const file of store.shareFiles ?? []) {
455
+ const src = join(hostBase, file);
456
+ if (existsSync(src))
457
+ mounts.push({ src, dst: `${containerBase}/${file}` });
458
+ }
459
+ for (const file of store.seedFiles ?? []) {
460
+ const src = join(hostBase, file);
461
+ if (existsSync(src)) {
462
+ const seed = `${CRED_SEED_DIR}/${seedName}-${file}`;
463
+ mounts.push({ src, dst: seed, readonly: true });
464
+ seedCopies.push({ from: seed, to: `${containerBase}/${file}` });
465
+ }
466
+ }
467
+ }
468
+ return { mounts, seedCopies };
314
469
  }
315
470
  const DOCKER_PROBE_TIMEOUT_MS = 15_000;
316
471
  async function runDockerInfo(engine) {
@@ -382,6 +537,89 @@ export async function checkDockerImagePresent(engine, image) {
382
537
  return false;
383
538
  }
384
539
  }
540
+ /** In-flight builds keyed by `engine:image`, so concurrent callers share ONE build. */
541
+ const inFlightImageBuilds = new Map();
542
+ /**
543
+ * Resolve the repo's Dockerfile + build context. Works from BOTH src (dev/tsx) and
544
+ * dist/index.js (esbuild prod: dist sits at repo root), since both are one level
545
+ * under the repo root. Returns null when the Dockerfile is absent (npm-global
546
+ * installs don't ship docker/ — Docker cases are a git-clone feature).
547
+ */
548
+ function resolveAgentDockerfile() {
549
+ const repoRoot = join(dirname(fileURLToPath(import.meta.url)), '..');
550
+ const dockerfile = join(repoRoot, 'docker', 'agent.Dockerfile');
551
+ return existsSync(dockerfile) ? { dockerfile, contextDir: repoRoot } : null;
552
+ }
553
+ /**
554
+ * Ensure the agent base image exists, BUILDING it locally on first use so a missing
555
+ * image is never a hard blocker (decision: "build locally on first use",
556
+ * docs/docker-cases-plan.md). Idempotent, concurrency-safe (one build per
557
+ * engine:image shared by concurrent callers), and a no-op under VITEST. Only the
558
+ * DEFAULT image is auto-built — we can never build a user's custom ref, and the
559
+ * `--pull=never` invariant forbids pulling. `onProgress` receives build output
560
+ * lines for SSE surfacing.
561
+ */
562
+ export async function ensureAgentBaseImage(engine, image, opts = {}) {
563
+ if (IS_TEST_MODE)
564
+ return { ok: true, built: false, alreadyPresent: true };
565
+ if (await checkDockerImagePresent(engine, image)) {
566
+ return { ok: true, built: false, alreadyPresent: true };
567
+ }
568
+ if (image !== DEFAULT_AGENT_IMAGE) {
569
+ return {
570
+ ok: false,
571
+ built: false,
572
+ alreadyPresent: false,
573
+ error: `image ${image} is not present and only ${DEFAULT_AGENT_IMAGE} is auto-built. Build or pull ${image} yourself.`,
574
+ };
575
+ }
576
+ const key = `${engine}:${image}`;
577
+ const existing = inFlightImageBuilds.get(key);
578
+ if (existing)
579
+ return existing;
580
+ const build = buildAgentImage(engine, image, opts).finally(() => inFlightImageBuilds.delete(key));
581
+ inFlightImageBuilds.set(key, build);
582
+ return build;
583
+ }
584
+ function buildAgentImage(engine, image, opts) {
585
+ const resolved = resolveAgentDockerfile();
586
+ if (!resolved) {
587
+ return Promise.resolve({
588
+ ok: false,
589
+ built: false,
590
+ alreadyPresent: false,
591
+ error: `docker/agent.Dockerfile not found in this install; clone the repo or build ${image} manually`,
592
+ });
593
+ }
594
+ const args = agentImageBuildArgs(resolved.dockerfile, image, resolved.contextDir, opts.noCache);
595
+ return new Promise((resolve) => {
596
+ // async spawn (NEVER spawnSync) so a multi-minute build never wedges the event loop.
597
+ const child = spawn(engine, args, { stdio: ['ignore', 'pipe', 'pipe'] });
598
+ const forward = (buf) => {
599
+ for (const line of buf.toString('utf-8').split('\n')) {
600
+ const trimmed = line.trimEnd();
601
+ if (trimmed)
602
+ opts.onProgress?.(trimmed);
603
+ }
604
+ };
605
+ child.stdout?.on('data', forward);
606
+ child.stderr?.on('data', forward);
607
+ child.on('error', (err) => {
608
+ resolve({
609
+ ok: false,
610
+ built: false,
611
+ alreadyPresent: false,
612
+ error: `could not spawn ${engine} build: ${err.message}`,
613
+ });
614
+ });
615
+ child.on('exit', (code) => {
616
+ if (code === 0)
617
+ resolve({ ok: true, built: true, alreadyPresent: false });
618
+ else
619
+ resolve({ ok: false, built: false, alreadyPresent: false, error: `${engine} build failed (exit ${code})` });
620
+ });
621
+ });
622
+ }
385
623
  /**
386
624
  * Verify the base image is present AND contains tmux (a HARD prerequisite: the
387
625
  * in-container tmux is what makes reconnect durable). Never triggers a pull
@@ -395,7 +633,7 @@ export async function checkDockerTmuxAvailable(docker) {
395
633
  return {
396
634
  ok: false,
397
635
  imageMissing: true,
398
- error: `base image ${docker.image} not present: build it with 'node scripts/build-agent-image.mjs' (or pull it)`,
636
+ error: `image ${docker.image} not present (the default image is auto-built on first use; a custom image must be built or pulled first)`,
399
637
  };
400
638
  }
401
639
  try {