@0xmaxma/claude-gateway 1.8.4 → 1.8.5

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 (57) hide show
  1. package/README.md +2 -1
  2. package/config.template.json +5 -3
  3. package/dist/agent/model-catalog.d.ts.map +1 -1
  4. package/dist/agent/model-catalog.js +5 -13
  5. package/dist/agent/model-catalog.js.map +1 -1
  6. package/dist/agent/runner.d.ts +1 -1
  7. package/dist/agent/runner.d.ts.map +1 -1
  8. package/dist/agent/runner.js +22 -3
  9. package/dist/agent/runner.js.map +1 -1
  10. package/dist/api/apps-router.d.ts.map +1 -1
  11. package/dist/api/apps-router.js +31 -9
  12. package/dist/api/apps-router.js.map +1 -1
  13. package/dist/api/gateway-router.js +1 -1
  14. package/dist/api/gateway-router.js.map +1 -1
  15. package/dist/api/share-router.d.ts +8 -0
  16. package/dist/api/share-router.d.ts.map +1 -1
  17. package/dist/api/share-router.js +100 -10
  18. package/dist/api/share-router.js.map +1 -1
  19. package/dist/apps/agent-manager.d.ts +35 -2
  20. package/dist/apps/agent-manager.d.ts.map +1 -1
  21. package/dist/apps/agent-manager.js +131 -15
  22. package/dist/apps/agent-manager.js.map +1 -1
  23. package/dist/apps/installer.d.ts +41 -1
  24. package/dist/apps/installer.d.ts.map +1 -1
  25. package/dist/apps/installer.js +52 -3
  26. package/dist/apps/installer.js.map +1 -1
  27. package/dist/cli/commands/logs.d.ts.map +1 -1
  28. package/dist/cli/commands/logs.js +91 -18
  29. package/dist/cli/commands/logs.js.map +1 -1
  30. package/dist/cli/index.d.ts.map +1 -1
  31. package/dist/cli/index.js +7 -1
  32. package/dist/cli/index.js.map +1 -1
  33. package/dist/cli/output.d.ts +34 -0
  34. package/dist/cli/output.d.ts.map +1 -1
  35. package/dist/cli/output.js +56 -10
  36. package/dist/cli/output.js.map +1 -1
  37. package/dist/config/claude-settings.d.ts +41 -0
  38. package/dist/config/claude-settings.d.ts.map +1 -0
  39. package/dist/config/claude-settings.js +102 -0
  40. package/dist/config/claude-settings.js.map +1 -0
  41. package/dist/index.js +10 -1
  42. package/dist/index.js.map +1 -1
  43. package/dist/session/process.d.ts +43 -1
  44. package/dist/session/process.d.ts.map +1 -1
  45. package/dist/session/process.js +154 -9
  46. package/dist/session/process.js.map +1 -1
  47. package/dist/share/share-store.d.ts +45 -4
  48. package/dist/share/share-store.d.ts.map +1 -1
  49. package/dist/share/share-store.js +127 -23
  50. package/dist/share/share-store.js.map +1 -1
  51. package/mcp/server.ts +2 -2
  52. package/mcp/tools/image/module.ts +10 -3
  53. package/mcp/tools/share-file/module.ts +169 -0
  54. package/mcp/tools/shared/share-client.ts +8 -4
  55. package/mcp/tools/telegram/receiver-server.ts +12 -2
  56. package/package.json +1 -1
  57. package/mcp/tools/share-image/module.ts +0 -120
@@ -33,10 +33,12 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.attachmentDisposition = attachmentDisposition;
36
37
  exports.createSharesPublicRouter = createSharesPublicRouter;
37
38
  exports.createSharesPrivateRouter = createSharesPrivateRouter;
38
39
  const express_1 = require("express");
39
40
  const fs = __importStar(require("fs"));
41
+ const path = __importStar(require("path"));
40
42
  const auth_1 = require("./auth");
41
43
  const router_1 = require("./router");
42
44
  const media_store_1 = require("../history/media-store");
@@ -47,13 +49,14 @@ const MIN_TTL_SECONDS = 10;
47
49
  const MAX_TTL_SECONDS = 86400;
48
50
  const MAX_ARTIFACT_FILES = 10;
49
51
  const MAX_ARTIFACT_PROMPT_CHARS = 500;
52
+ const MAX_DISPOSITION_NAME_CHARS = 200;
50
53
  const DEFAULT_PUBLIC_RATE_PER_MIN = 60;
51
54
  function errStatus(code) {
52
55
  switch (code) {
53
- case 'image_ref_not_found': return 404;
54
- case 'image_too_large': return 413;
56
+ case 'share_ref_not_found': return 404;
57
+ case 'file_too_large': return 413;
55
58
  case 'total_size_exceeded': return 413;
56
- case 'unsupported_image_type': return 415;
59
+ case 'unsupported_file_type': return 415;
57
60
  default: return 400;
58
61
  }
59
62
  }
@@ -62,9 +65,67 @@ function errStatus(code) {
62
65
  function publicNotFound(res) {
63
66
  res.status(404).type('text/plain').send('Not Found');
64
67
  }
68
+ /** Percent-encode for an RFC 8187 `ext-value` (the `filename*` form). RFC 8187
69
+ * — which obsoletes RFC 5987 — defines attr-char as ALPHA / DIGIT / any of
70
+ * `!#$&+-.^_\`|~`. encodeURIComponent already escapes everything outside that
71
+ * set except `'`, `(`, `)` and `*`, so those four are all this has to add.
72
+ * (`!` and `~` are left raw on purpose: both ARE attr-char.) */
73
+ function rfc8187(value) {
74
+ return encodeURIComponent(value).replace(/['()*]/g, (c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`);
75
+ }
76
+ /** The extension a download is given, keyed by the mime we SNIFFED — never by
77
+ * the name the agent chose. `invoice.html` holding `%PDF-…` is served as
78
+ * `application/pdf`; saved under its own name it would be a .html file that
79
+ * the browser renders from `file://`, running whatever script follows the PDF
80
+ * magic (reflected file download). The extension must describe the bytes. */
81
+ const EXT_FOR_MIME = { 'application/pdf': 'pdf' };
82
+ /**
83
+ * Build the `Content-Disposition` for a non-image share (#444). The basename
84
+ * comes from `relative_path`, which is agent-controlled, so the quoted
85
+ * `filename=` fallback keeps only printable ASCII minus `"` and `\` — that
86
+ * alone rules out the CR/LF that would split the header — and the real name
87
+ * rides along percent-encoded in `filename*`.
88
+ */
89
+ function attachmentDisposition(basename, mime) {
90
+ const ext = EXT_FOR_MIME[mime];
91
+ // Drop whatever extension the agent picked, ALWAYS — the sniffed one replaces
92
+ // it, and when the mime maps to no extension the name simply ships without
93
+ // one. Keeping the agent's extension in that case would be the RFD hole this
94
+ // function exists to close: an unmapped mime is precisely the case where we
95
+ // cannot vouch for what the bytes are, so it must fail closed, not fall back
96
+ // to the attacker-chosen `.html`. (No unmapped mime reaches here today —
97
+ // images are served inline and PDF is the only other allowlisted type — so
98
+ // this is the guard for whatever gets allowlisted next.)
99
+ const suffix = ext ? `.${ext}` : '';
100
+ const rawStem = basename.replace(/\.[^./\\]*$/, '');
101
+ // Cap the STEM, so the extension survives truncation — a 4 KB agent-chosen
102
+ // title must not cost the user a file their OS can no longer open (and must
103
+ // not bloat, or behind some proxies break, the response header). Cap by CODE
104
+ // POINT, not code unit — a plain `.slice()` can cut a surrogate pair in half,
105
+ // and encodeURIComponent throws URIError on the lone surrogate that leaves
106
+ // behind. That throw lands in the serve handler's catch and turns a perfectly
107
+ // good share into a uniform 404. The `\p{Surrogate}` scrub is the belt to
108
+ // that braces: after a code-point slice it can only ever match a surrogate
109
+ // that was already unpaired on the way in.
110
+ // Trim and default ONCE, before the two forms diverge. RFC 6266 §4.3 says a
111
+ // recipient SHOULD prefer `filename*`, and every current browser does, so a
112
+ // guard applied only to the ASCII fallback is a guard no user ever gets: a
113
+ // basename of `.pdf` would save as a hidden, name-less file while the
114
+ // fallback nobody reads politely said `download.pdf`.
115
+ const stem = [...rawStem]
116
+ .slice(0, MAX_DISPOSITION_NAME_CHARS - suffix.length)
117
+ .join('')
118
+ .replace(/\p{Surrogate}/gu, '_')
119
+ .trim() || 'download';
120
+ // Substitution is 1:1 and never yields whitespace, so a non-empty `stem`
121
+ // cannot ASCII-fold to nothing; the `|| 'download'` is kept as a guard on the
122
+ // sanitiser rather than a reachable branch.
123
+ const asciiStem = stem.replace(/[^\x20-\x7e]/g, '_').replace(/["\\]/g, '_').trim() || 'download';
124
+ return `attachment; filename="${asciiStem}${suffix}"; filename*=UTF-8''${rfc8187(`${stem}${suffix}`)}`;
125
+ }
65
126
  function createSharesPublicRouter(store, agentsBaseDir, opts = {}) {
66
127
  const router = (0, express_1.Router)();
67
- const envRate = Number(process.env.IMAGE_SHARE_PUBLIC_RATE_PER_MIN);
128
+ const envRate = Number((0, share_store_1.shareEnv)('PUBLIC_RATE_PER_MIN'));
68
129
  const ratePerMinute = opts.ratePerMinute ?? (Number.isFinite(envRate) && envRate > 0 ? envRate : DEFAULT_PUBLIC_RATE_PER_MIN);
69
130
  const limits = (0, share_store_1.shareLimitsFromEnv)();
70
131
  // Fixed-window per-IP limiter. This endpoint is unauthenticated and shares
@@ -129,13 +190,21 @@ function createSharesPublicRouter(store, agentsBaseDir, opts = {}) {
129
190
  throw new Error('invalid file');
130
191
  const header = Buffer.alloc(12);
131
192
  fs.readSync(fd, header, 0, 12, 0);
132
- const mime = (0, share_store_1.detectImageMime)(header);
193
+ // Always re-sniff. The share row records the ALLOW-KIND it was minted
194
+ // under, never a mime: the file can be replaced between mint and fetch,
195
+ // so the kind only picks the detector and the bytes on disk decide the
196
+ // Content-Type (§12.9/§12.10, #444).
197
+ const mime = (0, share_store_1.mimeDetectorFor)(share.allowKind)(header);
133
198
  if (!mime)
134
199
  throw new Error('unsupported type');
200
+ // Images keep the exact `inline` they have always had. Anything else is
201
+ // offered as a download — the share origin must never invite a browser to
202
+ // render a non-image it just sniffed.
203
+ const isImage = mime.startsWith('image/');
135
204
  res.status(200).set({
136
205
  'Content-Type': mime,
137
206
  'Content-Length': String(stat.size),
138
- 'Content-Disposition': 'inline',
207
+ 'Content-Disposition': isImage ? 'inline' : attachmentDisposition(path.basename(share.relativePath), mime),
139
208
  'X-Content-Type-Options': 'nosniff',
140
209
  'Cache-Control': 'private, no-store',
141
210
  });
@@ -174,16 +243,18 @@ function createSharesPrivateRouter(store, apiKeys, agentsBaseDir, publicBaseUrl,
174
243
  const auth = (0, auth_1.createApiAuthMiddleware)(apiKeys);
175
244
  const limits = limitsOverride ?? (0, share_store_1.shareLimitsFromEnv)();
176
245
  const defaultTtl = (() => {
177
- const n = Number(process.env.IMAGE_SHARE_CODEX_TTL_SECONDS);
246
+ const n = Number((0, share_store_1.shareEnv)('CODEX_TTL_SECONDS'));
178
247
  return Number.isFinite(n) && n > 0 ? Math.floor(n) : share_store_1.DEFAULT_SHARE_TTL_SECONDS;
179
248
  })();
180
249
  /**
181
250
  * POST /api/v1/shares — mint one or more shares (§10).
182
- * Body: { agent_id, session_id, purpose?, ttl_seconds?, refs: [{artifact_id}|{path}] }
251
+ * Body: { agent_id, session_id, purpose?, ttl_seconds?, allow_documents?, refs: [{artifact_id}|{path}] }
183
252
  * Response: { items: [{ share_id, token, url?, expires_at }] } — order preserved.
184
253
  * `token` is always present (host-agnostic capability); `url` is a convenience
185
254
  * built from `gateway.publicUrl` and is omitted when that is unset — callers
186
255
  * with their own public base (e.g. LINE) build the URL from `token`.
256
+ * `allow_documents` widens the allowlist to PDF for THIS request only and is
257
+ * recorded on each minted row (#444); without it a PDF is still 415.
187
258
  */
188
259
  router.post('/v1/shares', auth, (req, res) => {
189
260
  const apiKey = req.apiKey;
@@ -211,6 +282,11 @@ function createSharesPrivateRouter(store, apiKeys, agentsBaseDir, publicBaseUrl,
211
282
  }
212
283
  ttlSeconds = Math.min(Math.max(Math.floor(body.ttl_seconds), MIN_TTL_SECONDS), MAX_TTL_SECONDS);
213
284
  }
285
+ if (body.allow_documents !== undefined && typeof body.allow_documents !== 'boolean') {
286
+ res.status(400).json({ error: 'allow_documents must be a boolean' });
287
+ return;
288
+ }
289
+ const allowKind = body.allow_documents === true ? 'any' : 'image';
214
290
  const refs = body.refs;
215
291
  if (!Array.isArray(refs) || refs.length === 0) {
216
292
  res.status(400).json({ error: 'refs must be a non-empty array' });
@@ -237,7 +313,7 @@ function createSharesPrivateRouter(store, apiKeys, agentsBaseDir, publicBaseUrl,
237
313
  if (typeof ref.artifact_id === 'string' && ref.artifact_id.trim()) {
238
314
  const artifact = store.resolveArtifact(agentId, sessionId, ref.artifact_id.trim());
239
315
  if (!artifact) {
240
- res.status(404).json({ error: 'referenced artifact was not found in this agent/session', code: 'image_ref_not_found' });
316
+ res.status(404).json({ error: 'referenced artifact was not found in this agent/session', code: 'share_ref_not_found' });
241
317
  return;
242
318
  }
243
319
  dedupeRef = `artifact:${artifact.artifactId}`;
@@ -258,7 +334,7 @@ function createSharesPrivateRouter(store, apiKeys, agentsBaseDir, publicBaseUrl,
258
334
  }
259
335
  let validated;
260
336
  try {
261
- validated = (0, share_store_1.validateShareFile)(agentsBaseDir, agentId, candidatePath, limits.maxFileBytes);
337
+ validated = (0, share_store_1.validateShareFile)(agentsBaseDir, agentId, candidatePath, limits.maxFileBytes, allowKind);
262
338
  }
263
339
  catch (err) {
264
340
  if (err instanceof share_store_1.ShareError) {
@@ -284,6 +360,16 @@ function createSharesPrivateRouter(store, apiKeys, agentsBaseDir, publicBaseUrl,
284
360
  dedupeRef,
285
361
  relativePath: validated.relativePath,
286
362
  size: validated.size,
363
+ // Persist the kind this ref ACTUALLY validated as, not the request's
364
+ // ceiling. `allow_documents` is the caller's permission to include a
365
+ // PDF in the batch, not a declaration that every ref is one — the
366
+ // share_file tool sends it unconditionally. Recording 'any' on a file
367
+ // that sniffed as an image would widen exactly the hole the fetch-time
368
+ // re-sniff exists to close: overwrite the shared PNG with a PDF inside
369
+ // the TTL and the live token starts serving it, where before the swap
370
+ // failed closed with a 404. Narrowing per ref keeps the PDF feature and
371
+ // restores fail-closed for images.
372
+ allowKind: validated.mime.startsWith('image/') ? 'image' : allowKind,
287
373
  taskId,
288
374
  provider: refProvider,
289
375
  priorPrompt,
@@ -301,6 +387,7 @@ function createSharesPrivateRouter(store, apiKeys, agentsBaseDir, publicBaseUrl,
301
387
  dedupeRef: r.dedupeRef,
302
388
  purpose,
303
389
  ttlSeconds,
390
+ allowKind: r.allowKind,
304
391
  });
305
392
  console.log(`[share] mint share=${mint.shareId} purpose=${purpose} deduped=${mint.deduped}`);
306
393
  return {
@@ -381,6 +468,9 @@ function createSharesPrivateRouter(store, apiKeys, agentsBaseDir, publicBaseUrl,
381
468
  const file = files[index];
382
469
  let validated;
383
470
  try {
471
+ // Deliberately NOT widened by #444: this registry feeds the session
472
+ // IMAGE catalog (generate_image refs, "the second image"), so it takes
473
+ // the default 'image' allow-kind and a PDF here is still a 415.
384
474
  validated = (0, share_store_1.validateShareFile)(agentsBaseDir, agentId, file, limits.maxFileBytes);
385
475
  }
386
476
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"share-router.js","sourceRoot":"","sources":["../../src/api/share-router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"share-router.js","sourceRoot":"","sources":["../../src/api/share-router.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,38 @@ export declare class AgentManager {
23
23
  * re-probes host paths that were never mounted, so it exits 1 on every turn.
24
24
  */
25
25
  detectAgentPaths(): AgentPaths;
26
+ /**
27
+ * Stage the host's ~/.claude.json into a gateway-owned seed directory for one
28
+ * agent, and report where it landed.
29
+ *
30
+ * The seed is a DIRECTORY, never the host file itself. A Docker *file* bind
31
+ * mount pins an inode rather than a path, so an atomic rewrite on the host
32
+ * allocates a new inode and leaves the container reading the old, unlinked one
33
+ * for the rest of its life. Claude Code rewrites ~/.claude.json exactly that
34
+ * way, so mounting it directly meant the container's view froze at the first
35
+ * rewrite and never recovered. A directory mount resolves its entries per
36
+ * access, so re-staging the file is enough — the container picks it up on its
37
+ * next (re)start with no recreate.
38
+ *
39
+ * Called from injectAgentService (install/update/reconfigure) and from
40
+ * upsertAgent, which reconcileAgents runs for every app-agent at gateway
41
+ * start. Without the second call site the seed would only ever refresh when
42
+ * the app itself was touched, so a host `claude /login` under a different
43
+ * account could stay invisible to containers indefinitely.
44
+ *
45
+ * Mode is set explicitly because mkdir/copyFile modes are umask-dependent: the
46
+ * seed is a copy of the host's Claude config and must not be world-readable,
47
+ * even though the host file itself is commonly 0644.
48
+ *
49
+ * The copy is staged through a temp file and renamed into place — the same
50
+ * write-then-rename idiom writeConfig() uses below. A container runs `cp` on
51
+ * this file at its own start, which can land mid-copy on a gateway restart;
52
+ * rename makes the container see either the old file or the new one, never a
53
+ * half-written config. Rename is safe here precisely because the *directory*
54
+ * is what gets mounted: entries resolve per access, which is the property this
55
+ * whole seed mechanism relies on.
56
+ */
57
+ private stageClaudeSeed;
26
58
  /**
27
59
  * Inject the `agent` service into an already-generated docker-compose.yml.
28
60
  * No-op if entry has no agentDeclaration or agentPaths.
@@ -47,8 +79,9 @@ export declare class AgentManager {
47
79
  deleteAgent(entry: AppEntry): Promise<void>;
48
80
  /**
49
81
  * Remove by agent name — used in install rollback where AppEntry may not be in scope.
50
- * Only removes the workspace symlink; preserves sessions/ and other data so that
51
- * a reinstall picks up the same conversation history.
82
+ * Removes the workspace symlink and the re-stageable Claude config seed;
83
+ * preserves sessions/ and other data so that a reinstall picks up the same
84
+ * conversation history.
52
85
  */
53
86
  deleteAgentByName(agentName: string): Promise<void>;
54
87
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"agent-manager.d.ts","sourceRoot":"","sources":["../../src/apps/agent-manager.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAMpD,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAiBD,qBAAa,YAAY;IAKrB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAL5B,qEAAqE;IACrE,OAAO,CAAC,UAAU,CAAoC;gBAGnC,UAAU,GAAE,MAA4B,EACxC,SAAS,GAAE,MAA2B;YAG3C,cAAc;IAc5B;;;;;;;;;;OAUG;IACH,gBAAgB,IAAI,UAAU;IAgB9B;;;;;;OAMG;IACH,kBAAkB,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAqFzC;;;;;;;OAOG;IACG,WAAW,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAqCjD;;;OAGG;IACG,WAAW,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAKjD;;;;OAIG;IACG,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAYzD;;;;OAIG;IACG,eAAe,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAe7F;;;OAGG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAU9C;;OAEG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAMvD,OAAO,CAAC,gBAAgB;IAMxB;;;OAGG;IACG,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAYhE,OAAO,CAAC,UAAU;IAWlB,OAAO,CAAC,WAAW;YAOL,iBAAiB;YAmBjB,iBAAiB;CAWhC"}
1
+ {"version":3,"file":"agent-manager.d.ts","sourceRoot":"","sources":["../../src/apps/agent-manager.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAMpD,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAiBD,qBAAa,YAAY;IAKrB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAL5B,qEAAqE;IACrE,OAAO,CAAC,UAAU,CAAoC;gBAGnC,UAAU,GAAE,MAA4B,EACxC,SAAS,GAAE,MAA2B;YAG3C,cAAc;IAc5B;;;;;;;;;;OAUG;IACH,gBAAgB,IAAI,UAAU;IAgB9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,OAAO,CAAC,eAAe;IAuBvB;;;;;;OAMG;IACH,kBAAkB,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IA6GzC;;;;;;;OAOG;IACG,WAAW,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAyDjD;;;OAGG;IACG,WAAW,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAKjD;;;;;OAKG;IACG,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BzD;;;;OAIG;IACG,eAAe,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAe7F;;;OAGG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAU9C;;OAEG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAMvD,OAAO,CAAC,gBAAgB;IAMxB;;;OAGG;IACG,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAYhE,OAAO,CAAC,UAAU;IAWlB,OAAO,CAAC,WAAW;YAOL,iBAAiB;YAmBjB,iBAAiB;CAWhC"}
@@ -93,6 +93,62 @@ class AgentManager {
93
93
  const npmRoot = run('npm root -g');
94
94
  return { claudeBin: realClaudeBin, nodeBin, npmRoot };
95
95
  }
96
+ /**
97
+ * Stage the host's ~/.claude.json into a gateway-owned seed directory for one
98
+ * agent, and report where it landed.
99
+ *
100
+ * The seed is a DIRECTORY, never the host file itself. A Docker *file* bind
101
+ * mount pins an inode rather than a path, so an atomic rewrite on the host
102
+ * allocates a new inode and leaves the container reading the old, unlinked one
103
+ * for the rest of its life. Claude Code rewrites ~/.claude.json exactly that
104
+ * way, so mounting it directly meant the container's view froze at the first
105
+ * rewrite and never recovered. A directory mount resolves its entries per
106
+ * access, so re-staging the file is enough — the container picks it up on its
107
+ * next (re)start with no recreate.
108
+ *
109
+ * Called from injectAgentService (install/update/reconfigure) and from
110
+ * upsertAgent, which reconcileAgents runs for every app-agent at gateway
111
+ * start. Without the second call site the seed would only ever refresh when
112
+ * the app itself was touched, so a host `claude /login` under a different
113
+ * account could stay invisible to containers indefinitely.
114
+ *
115
+ * Mode is set explicitly because mkdir/copyFile modes are umask-dependent: the
116
+ * seed is a copy of the host's Claude config and must not be world-readable,
117
+ * even though the host file itself is commonly 0644.
118
+ *
119
+ * The copy is staged through a temp file and renamed into place — the same
120
+ * write-then-rename idiom writeConfig() uses below. A container runs `cp` on
121
+ * this file at its own start, which can land mid-copy on a gateway restart;
122
+ * rename makes the container see either the old file or the new one, never a
123
+ * half-written config. Rename is safe here precisely because the *directory*
124
+ * is what gets mounted: entries resolve per access, which is the property this
125
+ * whole seed mechanism relies on.
126
+ */
127
+ stageClaudeSeed(agentName) {
128
+ const seedDir = path.join(this.agentsDir, agentName, '.claude-seed');
129
+ fs.mkdirSync(seedDir, { recursive: true });
130
+ fs.chmodSync(seedDir, 0o700);
131
+ const hostClaudeJson = path.join(os.homedir(), '.claude.json');
132
+ let seeded = false;
133
+ if (fs.existsSync(hostClaudeJson)) {
134
+ const dest = path.join(seedDir, '.claude.json');
135
+ const tmp = `${dest}.tmp.${process.pid}`;
136
+ try {
137
+ fs.copyFileSync(hostClaudeJson, tmp);
138
+ fs.chmodSync(tmp, 0o600);
139
+ fs.renameSync(tmp, dest);
140
+ }
141
+ catch (err) {
142
+ try {
143
+ fs.rmSync(tmp, { force: true });
144
+ }
145
+ catch { /* best-effort */ }
146
+ throw err;
147
+ }
148
+ seeded = true;
149
+ }
150
+ return { seedSource: fs.realpathSync(seedDir), seeded };
151
+ }
96
152
  /**
97
153
  * Inject the `agent` service into an already-generated docker-compose.yml.
98
154
  * No-op if entry has no agentDeclaration or agentPaths.
@@ -120,14 +176,27 @@ class AgentManager {
120
176
  // Claude Code rewrites ~/.claude.json atomically at startup (write temp +
121
177
  // rename over the target). Bind-mounting the host file at its real path makes
122
178
  // that rename fail with `Device or resource busy` (a mountpoint cannot be
123
- // replaced via rename, regardless of ro/rw), so the session cannot persist the
124
- // auth state carried by settings.json's env block and falls back to
125
- // "Not logged in". Instead we bind-mount the host file to a read-only *seed*
126
- // path (host file never mutated) and copy it into a writable ~/.claude.json at
127
- // container start (see `command` below) so the atomic rewrite succeeds. The
128
- // copy targets the literal homeDir: container-start HOME is `/`, but the
179
+ // replaced via rename, regardless of ro/rw), so the container needs a writable
180
+ // *copy* rather than a mount: we stage a gateway-owned seed and copy out of it
181
+ // at container start (see `command` below).
182
+ //
183
+ // The copy targets the literal homeDir: container-start HOME is `/`, but the
129
184
  // gateway runs turns with `docker exec -e HOME=<homeDir>` (see process.ts).
130
- const claudeJsonSeed = `${homeDir}/.claude.json.seed`;
185
+ const containerSeedDir = `${homeDir}/.claude-seed`;
186
+ const { seedSource, seeded: seededClaudeJson } = this.stageClaudeSeed(agentName);
187
+ // ~/.claude/settings.json is deliberately NOT mounted. On the host it exists
188
+ // to carry credentials, and mounting that file is exactly what broke container
189
+ // agents (stale inode after an atomic host rewrite). Credentials now reach the
190
+ // container as `docker exec -e` env resolved from the live host file on every
191
+ // session spawn (see resolveContainerAuthEnv in session/process.ts), which
192
+ // also lets an already-broken container recover without being recreated.
193
+ //
194
+ // The file's remaining keys are host-scoped: enabledPlugins and
195
+ // extraKnownMarketplaces point at paths that were never mounted into the
196
+ // container, and skipDangerousModePermissionPrompt only suppresses the
197
+ // interactive bypass dialog, which a container agent never sees — app-agents
198
+ // are forced onto the headless backend, and headless always passes
199
+ // --dangerously-skip-permissions.
131
200
  // Mount the agent's media directory into the container at the SAME absolute
132
201
  // path as the host. The gateway hands the agent uploaded-image paths (and the
133
202
  // browser-screenshot dir) as raw host paths under <agentsDir>/<agentName>/media
@@ -152,13 +221,23 @@ class AgentManager {
152
221
  ` && mkdir -p ${homeDir}/.claude \\`,
153
222
  ` && chown -R ${uid}:${uid} ${homeDir}`,
154
223
  ].join('\n') + '\n');
224
+ // Seed a writable ~/.claude.json from the read-only seed mount, then idle.
225
+ // The copy re-runs on every (re)start, and because the seed is a directory
226
+ // mount it resolves the *current* staged file rather than a pinned inode.
227
+ // Steps are `;`-separated, not `&&`: a failed copy must surface on stderr
228
+ // (visible in `docker logs`) without preventing the container from starting.
229
+ // `exec` keeps the container's PID 1 as sleep.
230
+ //
231
+ // Paths are double-quoted inside the single-quoted `sh -c` argument: homeDir
232
+ // is host-derived and may contain spaces, which would otherwise split into
233
+ // extra `cp` operands and copy the config to the wrong place.
234
+ const seedCopy = seededClaudeJson
235
+ ? `cp "${containerSeedDir}/.claude.json" "${homeDir}/.claude.json"; `
236
+ : '';
155
237
  const agentService = {
156
238
  build: { context: entry.installPath, dockerfile: 'Dockerfile.agent' },
157
239
  user: `${uid}:${uid}`,
158
- // Seed a writable ~/.claude.json from the read-only seed mount, then idle.
159
- // `cp` overwrites on every (re)start so the container always picks up the
160
- // current host auth; `exec` keeps the container's PID 1 as sleep.
161
- command: `sh -c 'cp ${claudeJsonSeed} ${homeDir}/.claude.json && exec sleep infinity'`,
240
+ command: `sh -c '${seedCopy}exec sleep infinity'`,
162
241
  container_name: `${entry.name}-agent`,
163
242
  restart: 'unless-stopped',
164
243
  cap_drop: ['ALL'],
@@ -168,8 +247,7 @@ class AgentManager {
168
247
  `${claudeBin}:${claudeBin}:ro`,
169
248
  `${nodeBin}:/usr/bin/node:ro`,
170
249
  `${npmRoot}:${npmRoot}:ro`,
171
- `${homeDir}/.claude.json:${claudeJsonSeed}:ro`,
172
- `${homeDir}/.claude/settings.json:${homeDir}/.claude/settings.json:ro`,
250
+ `${seedSource}:${containerSeedDir}:ro`,
173
251
  `${workspaceDir}:/workspace`,
174
252
  `${agentMediaSource}:${agentMediaDir}:rw`,
175
253
  ],
@@ -197,6 +275,26 @@ class AgentManager {
197
275
  const workspaceLink = path.join(agentDir, 'workspace');
198
276
  const targetDir = fs.realpathSync(path.join(entry.installPath, agentRelPath));
199
277
  fs.mkdirSync(agentDir, { recursive: true });
278
+ // Refresh the staged Claude config from the host. reconcileAgents() calls
279
+ // this for every running app-agent at gateway start, so the staged copy
280
+ // tracks the host without waiting for the app to be reinstalled or updated.
281
+ //
282
+ // Refreshing the seed is not the same as refreshing a container: the copy
283
+ // into the container runs in its start command, and nothing here restarts
284
+ // containers (composeUp is only called from the installer). With
285
+ // `restart: unless-stopped` they outlive a gateway restart, so a container
286
+ // already running picks the new seed up at its next start, not at ours.
287
+ // Credentials do not depend on this — they are forwarded per session spawn
288
+ // by resolveContainerAuthEnv() — so the lag only affects the rest of
289
+ // ~/.claude.json. Agents installed before the seed directory existed keep
290
+ // their old compose until the app is updated, and ignore it entirely.
291
+ //
292
+ // Best-effort: a failure here must not stop the agent from being
293
+ // registered, since the container falls back to the previously staged copy.
294
+ try {
295
+ this.stageClaudeSeed(agentName);
296
+ }
297
+ catch { /* keep the existing seed */ }
200
298
  try {
201
299
  fs.rmSync(workspaceLink, { force: true, recursive: true });
202
300
  }
@@ -238,8 +336,9 @@ class AgentManager {
238
336
  }
239
337
  /**
240
338
  * Remove by agent name — used in install rollback where AppEntry may not be in scope.
241
- * Only removes the workspace symlink; preserves sessions/ and other data so that
242
- * a reinstall picks up the same conversation history.
339
+ * Removes the workspace symlink and the re-stageable Claude config seed;
340
+ * preserves sessions/ and other data so that a reinstall picks up the same
341
+ * conversation history.
243
342
  */
244
343
  async deleteAgentByName(agentName) {
245
344
  const workspaceLink = path.join(this.agentsDir, agentName, 'workspace');
@@ -251,6 +350,23 @@ class AgentManager {
251
350
  }
252
351
  }
253
352
  catch { /* already gone */ }
353
+ // The Claude config seed is derived data, not history: it is re-staged from
354
+ // the host on the next install/update, so an app that has been removed must
355
+ // not leave a copy of the host's Claude config sitting on disk. The rest of
356
+ // the agent dir (sessions, media) is deliberately preserved.
357
+ //
358
+ // No isSymbolicLink() guard here, unlike the workspace link above: rmSync
359
+ // does not traverse a symlink even with recursive, it unlinks the link
360
+ // itself, so a symlink standing at this path cannot lead the delete outside
361
+ // the agent dir. The workspace guard exists for a different reason — that
362
+ // path may legitimately hold a *user* agent's real workspace.
363
+ try {
364
+ fs.rmSync(path.join(this.agentsDir, agentName, '.claude-seed'), {
365
+ recursive: true,
366
+ force: true,
367
+ });
368
+ }
369
+ catch { /* best-effort */ }
254
370
  await this.removeConfigEntry(agentName);
255
371
  }
256
372
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"agent-manager.js","sourceRoot":"","sources":["../../src/apps/agent-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-manager.js","sourceRoot":"","sources":["../../src/apps/agent-manager.ts"],"names":[],"mappings":"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"}