dodo-mcp 1.2.0 → 1.3.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 (147) hide show
  1. package/README.md +45 -6
  2. package/dist/cli/dataRecovery.js +38 -0
  3. package/dist/cli/dataRecovery.js.map +1 -0
  4. package/dist/cli/deployment.js +61 -0
  5. package/dist/cli/deployment.js.map +1 -0
  6. package/dist/cli/main.js +35 -1
  7. package/dist/cli/main.js.map +1 -1
  8. package/dist/config/globalConfig.js +8 -0
  9. package/dist/config/globalConfig.js.map +1 -1
  10. package/dist/errors.js +1 -1
  11. package/dist/errors.js.map +1 -1
  12. package/dist/ipc/server.js +2 -0
  13. package/dist/ipc/server.js.map +1 -1
  14. package/dist/ipc/timeouts.js +5 -0
  15. package/dist/ipc/timeouts.js.map +1 -0
  16. package/dist/platform/privateFs.js +32 -3
  17. package/dist/platform/privateFs.js.map +1 -1
  18. package/dist/platform/windowsPrivateAcl.js +90 -0
  19. package/dist/platform/windowsPrivateAcl.js.map +1 -0
  20. package/dist/security/outboundAddress.js +20 -0
  21. package/dist/security/outboundAddress.js.map +1 -0
  22. package/dist/server/aiAdmin.js +35 -10
  23. package/dist/server/aiAdmin.js.map +1 -1
  24. package/dist/server/appServer.js +11 -3
  25. package/dist/server/appServer.js.map +1 -1
  26. package/dist/server/bootstrap.js +14 -0
  27. package/dist/server/bootstrap.js.map +1 -1
  28. package/dist/server/configUi/index.html +3 -0
  29. package/dist/server/configUi/ui/dataRecovery.js +90 -0
  30. package/dist/server/configUi/ui/deployment.js +111 -0
  31. package/dist/server/configUi/ui/recovery.js +167 -0
  32. package/dist/server/configUi/workbench.css +28 -1
  33. package/dist/server/configUi/workbench.js +136 -25
  34. package/dist/server/installationRuntime.js +3 -1
  35. package/dist/server/installationRuntime.js.map +1 -1
  36. package/dist/server/instructions.js +6 -2
  37. package/dist/server/instructions.js.map +1 -1
  38. package/dist/server/ipcDispatch.js +219 -0
  39. package/dist/server/ipcDispatch.js.map +1 -1
  40. package/dist/server/localConfig.js +1 -1
  41. package/dist/server/localConfig.js.map +1 -1
  42. package/dist/server/stdioServer.js +11 -3
  43. package/dist/server/stdioServer.js.map +1 -1
  44. package/dist/services/ai/network.js +1 -18
  45. package/dist/services/ai/network.js.map +1 -1
  46. package/dist/services/ai/subagents.js +5 -2
  47. package/dist/services/ai/subagents.js.map +1 -1
  48. package/dist/services/assistance/verification.js +43 -10
  49. package/dist/services/assistance/verification.js.map +1 -1
  50. package/dist/services/changes/applier.js +472 -297
  51. package/dist/services/changes/applier.js.map +1 -1
  52. package/dist/services/git/gitService.js +150 -34
  53. package/dist/services/git/gitService.js.map +1 -1
  54. package/dist/services/jobs/jobManager.js +59 -2
  55. package/dist/services/jobs/jobManager.js.map +1 -1
  56. package/dist/services/jobs/spool.js +9 -3
  57. package/dist/services/jobs/spool.js.map +1 -1
  58. package/dist/services/multimodal/mediaService.js +6 -6
  59. package/dist/services/multimodal/mediaService.js.map +1 -1
  60. package/dist/services/recovery/configKeys.js +115 -0
  61. package/dist/services/recovery/configKeys.js.map +1 -0
  62. package/dist/services/recovery/configVault.js +361 -0
  63. package/dist/services/recovery/configVault.js.map +1 -0
  64. package/dist/services/recovery/contracts.js +24 -0
  65. package/dist/services/recovery/contracts.js.map +1 -0
  66. package/dist/services/recovery/databaseAwareness.js +179 -0
  67. package/dist/services/recovery/databaseAwareness.js.map +1 -0
  68. package/dist/services/recovery/deploymentArchive.js +129 -0
  69. package/dist/services/recovery/deploymentArchive.js.map +1 -0
  70. package/dist/services/recovery/deploymentContracts.js +70 -0
  71. package/dist/services/recovery/deploymentContracts.js.map +1 -0
  72. package/dist/services/recovery/deploymentHealth.js +143 -0
  73. package/dist/services/recovery/deploymentHealth.js.map +1 -0
  74. package/dist/services/recovery/deploymentMaintenance.js +197 -0
  75. package/dist/services/recovery/deploymentMaintenance.js.map +1 -0
  76. package/dist/services/recovery/deploymentService.js +429 -0
  77. package/dist/services/recovery/deploymentService.js.map +1 -0
  78. package/dist/services/recovery/deploymentSource.js +36 -0
  79. package/dist/services/recovery/deploymentSource.js.map +1 -0
  80. package/dist/services/recovery/dockerDeployment.js +172 -0
  81. package/dist/services/recovery/dockerDeployment.js.map +1 -0
  82. package/dist/services/recovery/drift.js +178 -0
  83. package/dist/services/recovery/drift.js.map +1 -0
  84. package/dist/services/recovery/evidence.js +127 -0
  85. package/dist/services/recovery/evidence.js.map +1 -0
  86. package/dist/services/recovery/gitCopies.js +219 -0
  87. package/dist/services/recovery/gitCopies.js.map +1 -0
  88. package/dist/services/recovery/history.js +423 -0
  89. package/dist/services/recovery/history.js.map +1 -0
  90. package/dist/services/recovery/recoveryService.js +521 -0
  91. package/dist/services/recovery/recoveryService.js.map +1 -0
  92. package/dist/services/recovery/storage.js +344 -0
  93. package/dist/services/recovery/storage.js.map +1 -0
  94. package/dist/services/schedules/scheduleService.js +9 -10
  95. package/dist/services/schedules/scheduleService.js.map +1 -1
  96. package/dist/store/db.js +71 -0
  97. package/dist/store/db.js.map +1 -1
  98. package/dist/tools/catalog.js +4 -0
  99. package/dist/tools/catalog.js.map +1 -1
  100. package/dist/tools/changeTools.js +1 -1
  101. package/dist/tools/changeTools.js.map +1 -1
  102. package/dist/tools/context.js +23 -3
  103. package/dist/tools/context.js.map +1 -1
  104. package/dist/tools/deploymentTools.js +58 -0
  105. package/dist/tools/deploymentTools.js.map +1 -0
  106. package/dist/tools/directTools.js +9 -5
  107. package/dist/tools/directTools.js.map +1 -1
  108. package/dist/tools/gitTools.js +7 -2
  109. package/dist/tools/gitTools.js.map +1 -1
  110. package/dist/tools/jobTools.js +4 -4
  111. package/dist/tools/jobTools.js.map +1 -1
  112. package/dist/tools/projectTools.js +1 -0
  113. package/dist/tools/projectTools.js.map +1 -1
  114. package/dist/tools/recoveryTools.js +79 -0
  115. package/dist/tools/recoveryTools.js.map +1 -0
  116. package/dist/tools/runtimeTools.js +1 -1
  117. package/dist/tools/runtimeTools.js.map +1 -1
  118. package/dist/tools/surface.js +101 -41
  119. package/dist/tools/surface.js.map +1 -1
  120. package/dist/tunnel/credentials.js +1 -1
  121. package/dist/tunnel/credentials.js.map +1 -1
  122. package/docs/AI_PROVIDERS.md +6 -3
  123. package/docs/ARCHITECTURE.md +88 -4
  124. package/docs/CI.md +118 -0
  125. package/docs/COMPATIBILITY.md +7 -6
  126. package/docs/EVALUATION.md +17 -12
  127. package/docs/MANUAL_ACCEPTANCE.md +59 -2
  128. package/docs/RECOVERY.md +448 -0
  129. package/docs/RELEASE_1.2.1.md +47 -0
  130. package/docs/RELEASE_1.3.0.md +64 -0
  131. package/docs/RELEASE_NOTES.md +41 -0
  132. package/docs/SECURITY.md +122 -0
  133. package/docs/TEST_REPORT.md +327 -5
  134. package/docs/WEB_CLIENTS.md +6 -1
  135. package/docs/adr/051-source-recovery-foundation.md +45 -0
  136. package/docs/adr/052-reviewed-source-restore.md +50 -0
  137. package/docs/adr/053-content-drift-and-private-git-recovery.md +29 -0
  138. package/docs/adr/054-verified-source-checkpoints.md +58 -0
  139. package/docs/adr/055-reviewed-docker-deployments.md +42 -0
  140. package/docs/adr/056-owner-data-recovery.md +47 -0
  141. package/docs/adr/README.md +7 -0
  142. package/native/private-state-windows.cs +105 -0
  143. package/package.json +7 -1
  144. package/schemas/global-config.schema.json +44 -0
  145. package/schemas/tools.compact.json +175 -15
  146. package/schemas/tools.hybrid.json +350 -16
  147. package/schemas/tools.json +4883 -816
@@ -1 +1 @@
1
- {"version":3,"file":"applier.js","sourceRoot":"","sources":["../../../src/services/changes/applier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"applier.js","sourceRoot":"","sources":["../../../src/services/changes/applier.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,7 @@
1
+ import fs from 'node:fs';
2
+ import path from 'node:path';
3
+ import { sha256Bytes } from '../../util/hash.js';
4
+ import { renameWithRetry, removeWithRetry } from '../../platform/fsRetry.js';
1
5
  import { spawn } from 'node:child_process';
2
6
  import { DodoError } from '../../errors.js';
3
7
  import { buildChildEnv } from '../../security/env.js';
@@ -15,12 +19,33 @@ export class GitService {
15
19
  this.wfs = wfs;
16
20
  this.limits = limits;
17
21
  }
22
+ /** Sanitized recovery evidence only; no working index/tree mutation or remote URL. */
23
+ async recoveryMetadata() {
24
+ if (!(await this.isRepo()))
25
+ return { isRepo: false };
26
+ const head = await this.run(['rev-parse', '--verify', 'HEAD']);
27
+ const branch = await this.run(['symbolic-ref', '--quiet', '--short', 'HEAD']);
28
+ const index = await this.run(['rev-parse', '--git-path', 'index']);
29
+ let indexFingerprint = null;
30
+ if (index.code === 0) {
31
+ const p = path.resolve(this.wfs.root, index.stdout.toString().trim());
32
+ try {
33
+ const st = fs.lstatSync(p);
34
+ if (st.isFile() && !st.isSymbolicLink() && st.nlink === 1 && st.size < 32 * 1024 * 1024)
35
+ indexFingerprint = sha256Bytes(fs.readFileSync(p));
36
+ }
37
+ catch { /* unborn */ }
38
+ }
39
+ return { isRepo: true, head: head.code === 0 && /^[a-f0-9]{40,64}$/.test(head.stdout.toString().trim()) ? head.stdout.toString().trim() : null, branch: branch.code === 0 ? branch.stdout.toString().trim().slice(0, 256) : null, indexFingerprint };
40
+ }
18
41
  async run(args, opts = {}) {
19
42
  const env = buildChildEnv({ parentEnv: process.env, workspaceRoot: this.wfs.root, extraAllowlist: [] });
20
43
  env['GIT_TERMINAL_PROMPT'] = '0';
21
44
  env['GIT_OPTIONAL_LOCKS'] = '0';
22
45
  env['GIT_PAGER'] = 'cat';
23
46
  env['GIT_LITERAL_PATHSPECS'] = '1';
47
+ if (opts.indexFile)
48
+ env['GIT_INDEX_FILE'] = opts.indexFile;
24
49
  const executable = resolveTrustedExecutable('git', this.wfs.root, { allowBatch: false });
25
50
  if (!opts.userConfig) {
26
51
  env['GIT_CONFIG_NOSYSTEM'] = '1';
@@ -81,6 +106,10 @@ export class GitService {
81
106
  });
82
107
  child.on('close', (code) => {
83
108
  clearTimeout(timer);
109
+ if (outBytes > 8 * 1024 * 1024) {
110
+ reject(new DodoError('RESOURCE_LIMIT', 'git output exceeded inspection limit'));
111
+ return;
112
+ }
84
113
  resolve({ code: code ?? -1, stdout: Buffer.concat(out), stderr: Buffer.concat(errChunks).toString('utf8') });
85
114
  });
86
115
  });
@@ -106,7 +135,9 @@ export class GitService {
106
135
  if (!(await this.isRepo())) {
107
136
  return { isRepo: false, entries: [], truncated: false, filteredSecretPaths: 0 };
108
137
  }
109
- const res = await this.run(['status', '--porcelain=v2', '--branch', '-z', '--', '.']);
138
+ // Enumerate leaves: an untracked directory may contain a denied secret or
139
+ // symlink. Treating that directory as one safe path would stage both.
140
+ const res = await this.run(['status', '--porcelain=v2', '--branch', '--untracked-files=all', '-z', '--', '.']);
110
141
  if (res.code !== 0) {
111
142
  throw new DodoError('INTERNAL_ERROR', 'git status failed', { detail: { stderr: res.stderr.slice(0, 500) } });
112
143
  }
@@ -175,13 +206,13 @@ export class GitService {
175
206
  }
176
207
  return result;
177
208
  }
178
- prefixCache;
179
209
  async repoPrefix() {
180
- if (this.prefixCache !== undefined)
181
- return this.prefixCache;
182
210
  const res = await this.run(['rev-parse', '--show-prefix']);
183
- this.prefixCache = res.code === 0 ? res.stdout.toString('utf8').trim() : '';
184
- return this.prefixCache;
211
+ if (res.code !== 0)
212
+ throw new DodoError('CONFLICT', 'cannot resolve repository scope');
213
+ // Repository boundaries can change while DODO is running (init/worktree
214
+ // operations outside this service). Never reuse a previous scope prefix.
215
+ return res.stdout.toString('utf8').replace(/\r?\n$/, '');
185
216
  }
186
217
  /** Convert a repo-root-relative path to workspace-relative; undefined if outside. */
187
218
  scopeToRoot(repoRelative, prefix) {
@@ -308,43 +339,128 @@ export class GitService {
308
339
  }
309
340
  else if (opts.all) {
310
341
  const st = await this.status();
342
+ if (st.truncated)
343
+ throw new DodoError('RESOURCE_LIMIT', 'status is truncated; select explicit paths');
311
344
  stagedPaths = st.entries.map((e) => `./${e.path}`);
312
345
  if (stagedPaths.length === 0)
313
346
  throw new DodoError('CONFLICT', 'nothing to commit (working tree clean within the workspace)');
314
347
  }
315
- if (stagedPaths.length > 0) {
316
- // `git add -A -- <paths>` also stages deletions of the listed paths.
317
- const add = await this.run(['add', '-A', '--pathspec-from-file=-', '--pathspec-file-nul'], { userConfig: true, stdin: Buffer.from(stagedPaths.join('\0') + '\0', 'utf8') });
318
- if (add.code !== 0) {
319
- throw new DodoError('INTERNAL_ERROR', 'git add failed', { detail: { stderr: add.stderr.slice(0, 500) } });
320
- }
348
+ const indexResult = await this.run(['rev-parse', '--path-format=absolute', '--git-path', 'index']);
349
+ const indexPath = indexResult.stdout.toString('utf8').trim();
350
+ if (indexResult.code !== 0 || !path.isAbsolute(indexPath))
351
+ throw new DodoError('CONFLICT', 'cannot locate Git index safely');
352
+ const lockPath = `${indexPath}.lock`;
353
+ let lockFd;
354
+ try {
355
+ lockFd = fs.openSync(lockPath, 'wx', 0o600);
321
356
  }
322
- const commitArgs = ['commit', '-m', message];
323
- if (opts.noVerify)
324
- commitArgs.push('--no-verify');
325
- const res = await this.run(commitArgs, { userConfig: true, timeoutMs: COMMIT_TIMEOUT_MS });
326
- if (res.code !== 0) {
327
- const text = `${res.stdout.toString('utf8')}\n${res.stderr}`;
328
- if (/nothing to commit|no changes added to commit|nothing added to commit/i.test(text)) {
329
- throw new DodoError('CONFLICT', 'nothing to commit', { recovery: 'stage paths with `paths` or `all: true`' });
357
+ catch {
358
+ throw new DodoError('CONFLICT', 'Git index is busy or not writable; no index changes made');
359
+ }
360
+ let tempDir;
361
+ let published = false;
362
+ let commitStarted = false;
363
+ let uncertain = false;
364
+ try {
365
+ const original = this.indexBytes(indexPath);
366
+ const originalHash = original ? sha256Bytes(original) : null;
367
+ tempDir = fs.mkdtempSync(path.join(path.dirname(indexPath), '.dodo-index-'));
368
+ const candidate = path.join(tempDir, 'index');
369
+ if (original)
370
+ fs.writeFileSync(candidate, original, { mode: 0o600, flag: 'wx' });
371
+ await this.validateIndex(candidate);
372
+ if (stagedPaths.length > 0) {
373
+ const add = await this.run(['add', '-A', '--pathspec-from-file=-', '--pathspec-file-nul'], { indexFile: candidate, userConfig: true, stdin: Buffer.from(stagedPaths.join('\0') + '\0', 'utf8') });
374
+ if (add.code !== 0)
375
+ throw new DodoError('CONFLICT', 'git add failed; original index preserved');
330
376
  }
331
- if (/Please tell me who you are|unable to auto-detect email/i.test(text)) {
332
- throw new DodoError('INVALID_INPUT', 'git identity is not configured on this machine', {
333
- recovery: 'run `git config --global user.name ...` and `user.email ...` on the server machine',
334
- });
377
+ await this.validateIndex(candidate);
378
+ const commitArgs = ['commit', '-m', message];
379
+ if (opts.noVerify)
380
+ commitArgs.push('--no-verify');
381
+ const beforeHead = (await this.run(['rev-parse', '--verify', 'HEAD'])).stdout.toString('utf8').trim();
382
+ commitStarted = true;
383
+ const res = await this.run(commitArgs, { indexFile: candidate, userConfig: true, timeoutMs: COMMIT_TIMEOUT_MS });
384
+ if (res.code !== 0) {
385
+ const afterHead = (await this.run(['rev-parse', '--verify', 'HEAD'])).stdout.toString('utf8').trim();
386
+ if (beforeHead !== afterHead)
387
+ throw new DodoError('RECOVERY_REQUIRED', 'HEAD changed during a failed commit; inspect Git before retrying');
388
+ commitStarted = false;
389
+ const text = `${res.stdout.toString('utf8')}\n${res.stderr}`;
390
+ if (/nothing to commit|no changes added to commit|nothing added to commit/i.test(text))
391
+ throw new DodoError('CONFLICT', 'nothing to commit; original index preserved');
392
+ if (/Please tell me who you are|unable to auto-detect email/i.test(text))
393
+ throw new DodoError('INVALID_INPUT', 'git identity is not configured; original index preserved');
394
+ throw new DodoError('CONFLICT', 'git commit or hook failed; original index preserved');
335
395
  }
336
- if (/hook/i.test(text)) {
337
- throw new DodoError('CONFLICT', 'a git hook rejected the commit', { detail: { output: text.slice(0, 1000) } });
396
+ const current = this.indexBytes(indexPath);
397
+ if ((current ? sha256Bytes(current) : null) !== originalHash)
398
+ throw new DodoError('RECOVERY_REQUIRED', 'commit created but index changed externally; inspect before retrying');
399
+ const finalIndex = this.indexBytes(candidate);
400
+ if (!finalIndex)
401
+ throw new DodoError('RECOVERY_REQUIRED', 'commit created but candidate index is unavailable');
402
+ fs.writeFileSync(lockFd, finalIndex);
403
+ fs.fsyncSync(lockFd);
404
+ fs.closeSync(lockFd);
405
+ lockFd = -1;
406
+ renameWithRetry(lockPath, indexPath);
407
+ published = true;
408
+ const sha = (await this.run(['rev-parse', 'HEAD'])).stdout.toString('utf8').trim();
409
+ const subject = (await this.run(['log', '-1', '--format=%s'])).stdout.toString('utf8').trim();
410
+ const files = (await this.run(['diff-tree', '--root', '--no-commit-id', '--name-only', '-z', '-r', 'HEAD'])).stdout.toString('utf8').split('\0').filter(Boolean);
411
+ return { commit: sha, subject, filesChanged: files.length, stagedPaths: stagedPaths.map(p => p.replace(/^\.\//, '')) };
412
+ }
413
+ catch (err) {
414
+ if (commitStarted) {
415
+ uncertain = true;
416
+ throw new DodoError('RECOVERY_REQUIRED', 'Git commit outcome or index publication is uncertain; inspect HEAD/index before any retry');
417
+ }
418
+ throw err;
419
+ }
420
+ finally {
421
+ if (lockFd >= 0)
422
+ fs.closeSync(lockFd);
423
+ if (!published) {
424
+ try {
425
+ fs.unlinkSync(lockPath);
426
+ }
427
+ catch { /* only our acquired lock */ }
338
428
  }
339
- throw new DodoError('INTERNAL_ERROR', 'git commit failed', { detail: { output: text.slice(0, 1000) } });
429
+ // Keep the candidate for owner inspection if a commit may have occurred.
430
+ if (tempDir && !uncertain)
431
+ removeWithRetry(tempDir, true);
432
+ }
433
+ }
434
+ indexBytes(file) {
435
+ let st;
436
+ try {
437
+ st = fs.lstatSync(file);
438
+ }
439
+ catch (err) {
440
+ if (err.code === 'ENOENT')
441
+ return null;
442
+ throw err;
443
+ }
444
+ if (!st.isFile() || st.isSymbolicLink() || st.nlink !== 1 || st.size > 128 * 1024 * 1024)
445
+ throw new DodoError('PATH_DENIED', 'Git index is not a bounded regular file');
446
+ return fs.readFileSync(file);
447
+ }
448
+ /** Inspect the entire staged diff, including paths staged before this call. */
449
+ async validateIndex(indexFile) {
450
+ const result = await this.run(['diff', '--cached', '--no-relative', '--name-only', '--no-renames', '--no-ext-diff', '--no-textconv', '-z'], { indexFile });
451
+ if (result.code !== 0)
452
+ throw new DodoError('CONFLICT', 'cannot inspect staged index');
453
+ const prefix = await this.repoPrefix();
454
+ for (const repoPath of result.stdout.toString('utf8').split('\0').filter(Boolean)) {
455
+ const rel = this.scopeToRoot(repoPath, prefix);
456
+ if (rel === undefined)
457
+ throw new DodoError('PATH_DENIED', 'staged index contains paths outside this workspace; index preserved');
458
+ if (!this.visible(rel))
459
+ throw new DodoError('SECRET_PATH_DENIED', 'staged index contains denied paths; index preserved');
460
+ const resolved = this.wfs.resolve(rel, { allowMissing: true });
461
+ if (resolved.stat?.isFile())
462
+ this.wfs.assertRegularFileForDirectAccess(resolved);
340
463
  }
341
- const sha = (await this.run(['rev-parse', 'HEAD'])).stdout.toString('utf8').trim();
342
- const subject = (await this.run(['log', '-1', '--format=%s'])).stdout.toString('utf8').trim();
343
- const files = (await this.run(['diff-tree', '--no-commit-id', '--name-only', '-r', 'HEAD'])).stdout
344
- .toString('utf8')
345
- .split('\n')
346
- .filter((l) => l !== '');
347
- return { commit: sha, subject, filesChanged: files.length, stagedPaths: stagedPaths.map((p) => p.replace(/^\.\//, '')) };
348
464
  }
349
465
  /** Small summary for project_overview: branch + dirty counts only. */
350
466
  async summary() {
@@ -1 +1 @@
1
- {"version":3,"file":"gitService.js","sourceRoot":"","sources":["../../../src/services/git/gitService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gitService.js","sourceRoot":"","sources":["../../../src/services/git/gitService.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,27 @@ export class JobManager {
18
18
  extraEnvAllowlist;
19
19
  sandboxWrap;
20
20
  mutations;
21
+ withRecovery;
22
+ onRecorded;
23
+ beforeStart;
24
+ afterFinished;
25
+ requiresPreparation;
26
+ prepared = new WeakSet();
27
+ async startProtected(req, revalidate) {
28
+ const run = async () => {
29
+ await this.beforeStart?.(req);
30
+ await revalidate?.();
31
+ this.prepared.add(req);
32
+ try {
33
+ return this.start(req);
34
+ }
35
+ finally {
36
+ this.prepared.delete(req);
37
+ }
38
+ };
39
+ const protectedRun = () => this.withRecovery ? this.withRecovery(req.principal, run) : run();
40
+ return this.mutations ? this.mutations.run(protectedRun) : protectedRun();
41
+ }
21
42
  shutdownPromise;
22
43
  live = new Map();
23
44
  finishedSpools = new Map();
@@ -53,6 +74,10 @@ export class JobManager {
53
74
  return shellSpec(this.wfs.root).executable;
54
75
  }
55
76
  start(req) {
77
+ if (req.inputBytes && (req.inputBytes.length > 32 * 1024 * 1024 || req.stdin === false))
78
+ throw new DodoError('RESOURCE_LIMIT', 'invalid internal job input budget');
79
+ if (this.requiresPreparation?.() && !this.prepared.has(req))
80
+ throw new DodoError('RECOVERY_REQUIRED', 'job requires a source backup before spawn');
56
81
  this.mutations?.assertCanStart();
57
82
  if (this.shutdownPromise)
58
83
  throw new DodoError('CONFLICT', 'job manager is shutting down');
@@ -127,6 +152,9 @@ export class JobManager {
127
152
  program: req.shell ? programAbs : req.program, args: spawnArgs,
128
153
  cwd: cwdResolved.rel, recipeId: req.recipeId ?? null, timeoutMs,
129
154
  });
155
+ if (req.privateOutput)
156
+ this.store.setMeta(`private-job-output:${jobId}`, '1');
157
+ this.onRecorded?.(jobId);
130
158
  const releaseMutation = this.mutations?.retainJob();
131
159
  let child;
132
160
  let scriptCreated = false;
@@ -158,8 +186,10 @@ export class JobManager {
158
186
  throw new DodoError('RESOURCE_LIMIT', 'native argv/environment exceeds the OS limit; save code/data to files and pass short paths');
159
187
  throw new DodoError('INTERNAL_ERROR', `spawn failed: ${err.message}`);
160
188
  }
161
- child.once('close', () => releaseMutation?.());
162
- child.once('error', () => releaseMutation?.());
189
+ let completion;
190
+ const observed = () => { completion ??= (this.afterFinished?.(jobId) ?? Promise.resolve()).catch(() => undefined).finally(() => releaseMutation?.()); };
191
+ child.once('close', observed);
192
+ child.once('error', observed);
163
193
  const liveJob = { child, stdout, stderr, timeout: undefined, stdinOpen: req.stdin !== false, scriptPath };
164
194
  this.live.set(jobId, liveJob);
165
195
  // A process may close stdin before an asynchronous write is flushed.
@@ -217,6 +247,10 @@ export class JobManager {
217
247
  }
218
248
  }, timeoutMs);
219
249
  liveJob.timeout.unref();
250
+ if (req.inputBytes) {
251
+ liveJob.stdinOpen = false;
252
+ child.stdin?.end(req.inputBytes);
253
+ }
220
254
  return { jobId, pid: child.pid ?? -1, sandboxed };
221
255
  }
222
256
  /**
@@ -306,6 +340,7 @@ export class JobManager {
306
340
  }
307
341
  output(jobId, workspaceId, stream, offset, maxBytes) {
308
342
  const row = this.getJobChecked(jobId, workspaceId);
343
+ this.assertPublicOutput(jobId);
309
344
  const spools = this.spoolsOf(jobId);
310
345
  if (!spools) {
311
346
  return { content: '', nextOffset: offset, truncatedBeforeOffset: 0, endOfStream: true, status: row.status };
@@ -317,6 +352,7 @@ export class JobManager {
317
352
  /** Head of a stream (bounded) plus a small tail when it does not fit — for inline command results. */
318
353
  inlineOutput(jobId, workspaceId, stream, maxBytes) {
319
354
  this.getJobChecked(jobId, workspaceId);
355
+ this.assertPublicOutput(jobId);
320
356
  const spools = this.spoolsOf(jobId);
321
357
  if (!spools)
322
358
  return { content: '', totalBytes: 0, truncated: false };
@@ -331,6 +367,27 @@ export class JobManager {
331
367
  }
332
368
  return out;
333
369
  }
370
+ assertPublicOutput(jobId) {
371
+ if (this.store.getMeta(`private-job-output:${jobId}`))
372
+ throw new DodoError('FORBIDDEN', 'this job carries private adapter bytes; inspect its sanitized deployment receipt');
373
+ }
374
+ /** Backend-only read: completed, caller-owned and complete output; never reconstruct lost output after restart. */
375
+ binaryOutput(jobId, workspaceId, principal, maxBytes) {
376
+ const row = this.getJobChecked(jobId, workspaceId);
377
+ if (row.principal !== principal)
378
+ throw new DodoError('FORBIDDEN', 'private adapter job belongs to another caller');
379
+ if (!Number.isSafeInteger(maxBytes) || maxBytes < 0 || maxBytes > 32 * 1024 * 1024)
380
+ throw new DodoError('RESOURCE_LIMIT', 'invalid adapter output budget');
381
+ const spool = this.spoolsOf(jobId)?.stdout;
382
+ if (row.status !== 'exited' || row.exitCode !== 0 || !spool)
383
+ throw new DodoError('CONFLICT', 'adapter output is unavailable or incomplete; do not repeat effects');
384
+ if (spool.totalWritten > maxBytes || spool.truncatedBeforeOffset)
385
+ throw new DodoError('RESOURCE_LIMIT', 'adapter output was truncated or exceeded its budget');
386
+ const result = spool.readBytes(0, maxBytes);
387
+ if (!result.endOfStream || result.nextOffset !== spool.totalWritten)
388
+ throw new DodoError('RECOVERY_REQUIRED', 'adapter output did not close completely');
389
+ return result.bytes;
390
+ }
334
391
  writeInput(jobId, workspaceId, data, closeStdin) {
335
392
  const row = this.getJobChecked(jobId, workspaceId);
336
393
  if (row.status !== 'running')