rivet-design 0.9.3 → 0.9.4

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 (90) hide show
  1. package/dist/mcp/agent-variants/SessionStore.d.ts +25 -10
  2. package/dist/mcp/agent-variants/SessionStore.d.ts.map +1 -1
  3. package/dist/mcp/agent-variants/SessionStore.js +186 -44
  4. package/dist/mcp/agent-variants/SessionStore.js.map +1 -1
  5. package/dist/mcp/agent-variants/WorktreeOrchestrator.d.ts +146 -13
  6. package/dist/mcp/agent-variants/WorktreeOrchestrator.d.ts.map +1 -1
  7. package/dist/mcp/agent-variants/WorktreeOrchestrator.js +1223 -58
  8. package/dist/mcp/agent-variants/WorktreeOrchestrator.js.map +1 -1
  9. package/dist/mcp/agent-variants/WorktreeOrchestrator.testHelpers.d.ts +65 -0
  10. package/dist/mcp/agent-variants/WorktreeOrchestrator.testHelpers.d.ts.map +1 -0
  11. package/dist/mcp/agent-variants/WorktreeOrchestrator.testHelpers.js +162 -0
  12. package/dist/mcp/agent-variants/WorktreeOrchestrator.testHelpers.js.map +1 -0
  13. package/dist/mcp/agent-variants/contracts.d.ts +1470 -64
  14. package/dist/mcp/agent-variants/contracts.d.ts.map +1 -1
  15. package/dist/mcp/agent-variants/contracts.js +173 -9
  16. package/dist/mcp/agent-variants/contracts.js.map +1 -1
  17. package/dist/mcp/agent-variants/createProjectArtifacts.d.ts +78 -0
  18. package/dist/mcp/agent-variants/createProjectArtifacts.d.ts.map +1 -0
  19. package/dist/mcp/agent-variants/createProjectArtifacts.js +123 -0
  20. package/dist/mcp/agent-variants/createProjectArtifacts.js.map +1 -0
  21. package/dist/mcp/agent-variants/createZeroToOneTool.d.ts +60 -24
  22. package/dist/mcp/agent-variants/createZeroToOneTool.d.ts.map +1 -1
  23. package/dist/mcp/agent-variants/createZeroToOneTool.js +38 -120
  24. package/dist/mcp/agent-variants/createZeroToOneTool.js.map +1 -1
  25. package/dist/mcp/agent-variants/errors.d.ts +1 -1
  26. package/dist/mcp/agent-variants/errors.d.ts.map +1 -1
  27. package/dist/mcp/agent-variants/errors.js +1 -0
  28. package/dist/mcp/agent-variants/errors.js.map +1 -1
  29. package/dist/mcp/agent-variants/index.d.ts +3 -4
  30. package/dist/mcp/agent-variants/index.d.ts.map +1 -1
  31. package/dist/mcp/agent-variants/index.js +2 -2
  32. package/dist/mcp/agent-variants/index.js.map +1 -1
  33. package/dist/mcp/agent-variants/inspirationDesignContext.d.ts +10 -0
  34. package/dist/mcp/agent-variants/inspirationDesignContext.d.ts.map +1 -1
  35. package/dist/mcp/agent-variants/inspirationDesignContext.js +104 -16
  36. package/dist/mcp/agent-variants/inspirationDesignContext.js.map +1 -1
  37. package/dist/mcp/agent-variants/pendingChangesAdapter.d.ts.map +1 -1
  38. package/dist/mcp/agent-variants/pendingChangesAdapter.js +11 -0
  39. package/dist/mcp/agent-variants/pendingChangesAdapter.js.map +1 -1
  40. package/dist/mcp/agent-variants/previewQa.d.ts +61 -0
  41. package/dist/mcp/agent-variants/previewQa.d.ts.map +1 -0
  42. package/dist/mcp/agent-variants/previewQa.js +374 -0
  43. package/dist/mcp/agent-variants/previewQa.js.map +1 -0
  44. package/dist/mcp/agent-variants/sourceContext.d.ts +1 -0
  45. package/dist/mcp/agent-variants/sourceContext.d.ts.map +1 -1
  46. package/dist/mcp/agent-variants/sourceContext.js +28 -3
  47. package/dist/mcp/agent-variants/sourceContext.js.map +1 -1
  48. package/dist/mcp/agent-variants/tools.d.ts +23 -1
  49. package/dist/mcp/agent-variants/tools.d.ts.map +1 -1
  50. package/dist/mcp/agent-variants/tools.js +144 -27
  51. package/dist/mcp/agent-variants/tools.js.map +1 -1
  52. package/dist/mcp/server.d.ts.map +1 -1
  53. package/dist/mcp/server.js +25 -6
  54. package/dist/mcp/server.js.map +1 -1
  55. package/dist/prompts/agentModPrompts.js +4 -4
  56. package/dist/prompts/agentModPrompts.js.map +1 -1
  57. package/dist/routes/agentVariants.d.ts.map +1 -1
  58. package/dist/routes/agentVariants.js +8 -1
  59. package/dist/routes/agentVariants.js.map +1 -1
  60. package/dist/server.d.ts.map +1 -1
  61. package/dist/server.js +21 -3
  62. package/dist/server.js.map +1 -1
  63. package/dist/services/ProjectDetectionService.d.ts.map +1 -1
  64. package/dist/services/ProjectDetectionService.js +9 -0
  65. package/dist/services/ProjectDetectionService.js.map +1 -1
  66. package/dist/services/WorktreeManager.d.ts +67 -9
  67. package/dist/services/WorktreeManager.d.ts.map +1 -1
  68. package/dist/services/WorktreeManager.js +209 -26
  69. package/dist/services/WorktreeManager.js.map +1 -1
  70. package/dist/services/agent/AgentModService.js +6 -6
  71. package/dist/services/agent/AgentModService.js.map +1 -1
  72. package/dist/services/templates/viteReactTs.d.ts +6 -0
  73. package/dist/services/templates/viteReactTs.d.ts.map +1 -1
  74. package/dist/services/templates/viteReactTs.js +8 -1
  75. package/dist/services/templates/viteReactTs.js.map +1 -1
  76. package/dist/types/change-request-types.d.ts +14 -0
  77. package/dist/types/change-request-types.d.ts.map +1 -1
  78. package/dist/utils/skills/claude-skill.d.ts +1 -1
  79. package/dist/utils/skills/claude-skill.js +2 -2
  80. package/dist/utils/skills/cursor-rules.d.ts +1 -1
  81. package/dist/utils/skills/cursor-rules.js +1 -1
  82. package/dist/utils/skills/shared-variants-protocol.d.ts +1 -1
  83. package/dist/utils/skills/shared-variants-protocol.d.ts.map +1 -1
  84. package/dist/utils/skills/shared-variants-protocol.js +31 -32
  85. package/dist/utils/skills/shared-variants-protocol.js.map +1 -1
  86. package/package.json +3 -4
  87. package/src/ui/dist/assets/{main-DejhsBWR.js → main-CpX7fB64.js} +113 -113
  88. package/src/ui/dist/assets/main-Qqe2_oMT.css +1 -0
  89. package/src/ui/dist/index.html +2 -2
  90. package/src/ui/dist/assets/main-C9jfEp80.css +0 -1
@@ -2,6 +2,7 @@ import { type ChildProcess } from 'child_process';
2
2
  import { type TemplateBundle } from './templates/viteReactTs';
3
3
  import type { DesignContextEntry } from '../mcp/agent-variants/contracts';
4
4
  import type { SourceContextInput } from '../mcp/agent-variants/contracts';
5
+ export declare const FRESH_WORKTREES_DIRNAME = ".rivet-variants";
5
6
  export declare const INSTANCE_PREFIX: string;
6
7
  export declare class WorktreeManager {
7
8
  private readonly resolveProjectPath;
@@ -69,6 +70,13 @@ export declare class WorktreeManager {
69
70
  * which would wipe the user's pre-existing work.
70
71
  */
71
72
  applyDiff(diff: string, reverse: boolean): Promise<void>;
73
+ /**
74
+ * Apply a unified diff to an arbitrary project path. Same engine as
75
+ * `applyDiff` but the cwd is a parameter, so callers (e.g. the variants
76
+ * orchestrator) can target the user's project regardless of which path this
77
+ * manager instance was constructed with.
78
+ */
79
+ applyDiffToProject(diff: string, projectPath: string): Promise<void>;
72
80
  /** Bind port 0 to get an OS-assigned free port */
73
81
  getFreePort(): Promise<number>;
74
82
  /** Validate a diff via `git apply --check` without modifying files */
@@ -85,22 +93,34 @@ export declare class WorktreeManager {
85
93
  * For existing-project sessions, asks git to unregister the worktree
86
94
  * (handles `.git/worktrees/*` cleanup) and falls back to plain rm. For
87
95
  * fresh-project sessions (no projectPath) the worktrees are detached
88
- * directories with their own `.git` git registry cleanup is a no-op
89
- * and we just rm the matching `/tmp` directories.
96
+ * directories with their own `.git` under `<destinationParent>/.rivet-variants/`
97
+ * — git registry cleanup is a no-op and we just rm the matching dirs.
98
+ *
99
+ * `freshDestinationParent` is required when the session was fresh; pass
100
+ * `path.dirname(projectContext.workspacePath)` so we know which
101
+ * `.rivet-variants/` root to sweep.
90
102
  */
91
- cleanupSession(sessionId: string): Promise<void>;
103
+ cleanupSession(sessionId: string, freshDestinationParent?: string): Promise<void>;
92
104
  /**
93
105
  * Create N worktrees for a fresh-project session by writing a template
94
- * bundle into each `/tmp/rivet-variants-pid<PID>-<sessionId>-<i>` directory,
95
- * optionally writing a DESIGN.md per slot, and committing a baseline.
106
+ * bundle into each `<destinationParent>/.rivet-variants/rivet-variants-pid<PID>-<sessionId>-<i>`
107
+ * directory, optionally writing a DESIGN.md per slot, and committing a
108
+ * baseline.
109
+ *
110
+ * Worktrees live under the user's destinationParent (not /tmp) so commit
111
+ * time can be a same-volume rename instead of a cross-volume copy. The
112
+ * destinationParent is registered to a small JSON file so a future MCP
113
+ * startup can sweep orphans even when the original process crashed.
96
114
  *
97
115
  * Does NOT run `npm install` — the orchestrator dispatches that as a
98
116
  * background task so failures surface via work-item state without blocking
99
117
  * the MCP tool response.
100
118
  *
101
- * @effect Creates /tmp directories, writes template files, runs git init/add/commit.
119
+ * @effect Creates directories under destinationParent, writes template
120
+ * files, runs git init/add/commit, appends destinationParent to
121
+ * the fresh-worktree-roots registry.
102
122
  */
103
- createFreshWorktrees(sessionId: string, count: number, template: TemplateBundle, designContext?: ReadonlyArray<DesignContextEntry | undefined>, sourceContext?: SourceContextInput): Promise<string[]>;
123
+ createFreshWorktrees(sessionId: string, count: number, template: TemplateBundle, designContext: ReadonlyArray<DesignContextEntry | undefined> | undefined, sourceContext: SourceContextInput | undefined, destinationParent: string): Promise<string[]>;
104
124
  /**
105
125
  * Write SOURCE_CONTEXT.md when source context exists for the session.
106
126
  *
@@ -113,13 +133,51 @@ export declare class WorktreeManager {
113
133
  * @effect Writes DESIGN.md when a design context is available.
114
134
  */
115
135
  private writeDesignContext;
136
+ /**
137
+ * Move a worktree to its history location preserving contents. Used by the
138
+ * orchestrator at commit time so unchosen variants survive on disk as
139
+ * runnable references (siblings of the chosen project).
140
+ *
141
+ * Returns the destination path (`<historyDir>/<folderName>`).
142
+ *
143
+ * @effect renames `srcWorktreePath` → `<historyDir>/<folderName>`, creating
144
+ * the historyDir if needed.
145
+ */
146
+ moveWorktreeToHistory(srcWorktreePath: string, historyDir: string, folderName: string): string;
147
+ /**
148
+ * Repoint a worktree's `node_modules` at a relative symlink so it tracks
149
+ * the chosen variant's real install after both have moved into their new
150
+ * permanent homes. Idempotent — removes any existing entry first.
151
+ */
152
+ repointNodeModulesSymlink(worktreePath: string, sharedNodeModulesAbsPath: string): void;
116
153
  /** Remove all fresh worktrees for a session.
117
154
  *
118
- * @effect Removes /tmp directories matching ${INSTANCE_PREFIX}-<sessionId>-*.
155
+ * @effect Removes directories under <destinationParent>/.rivet-variants/
156
+ * matching ${INSTANCE_PREFIX}-<sessionId>-*. Also removes the
157
+ * .rivet-variants/ parent if it becomes empty so the editor file
158
+ * tree doesn't accumulate noise.
159
+ *
160
+ * When `preserve` is provided, entries whose basenames are in the set are
161
+ * skipped — used by the orchestrator after a vite_app commit, where the
162
+ * unchosen variant worktrees have already been moved to a sibling history
163
+ * dir and must not be re-deleted.
119
164
  */
120
- cleanupFreshWorktrees(sessionId: string): void;
165
+ cleanupFreshWorktrees(sessionId: string, destinationParent: string, preserve?: ReadonlySet<string>): void;
121
166
  private assertSafeSessionId;
122
167
  }
168
+ /**
169
+ * Append a freshRoot path to the registry (de-duped). Called by
170
+ * createFreshWorktrees so future MCP startups can sweep orphans even if
171
+ * the original process crashed before teardown ran.
172
+ */
173
+ export declare const registerFreshWorktreeRoot: (freshRoot: string) => void;
174
+ /**
175
+ * Sweep orphan worktrees from /tmp (existing-project flow) and from every
176
+ * registered fresh-worktree root (fresh-project flow). Filters by
177
+ * INSTANCE_PREFIX (includes PID) so each server instance only removes its
178
+ * own worktrees and never touches those of sibling instances. Prunes
179
+ * registry entries whose directory no longer exists so the file stays small.
180
+ */
123
181
  export declare const cleanupOrphanedWorktrees: () => void;
124
182
  /**
125
183
  * Prune stale worktree registry entries for a project (`.git/worktrees/<name>`
@@ -1 +1 @@
1
- {"version":3,"file":"WorktreeManager.d.ts","sourceRoot":"","sources":["../../src/services/WorktreeManager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAS,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAKzD,OAAO,EAEL,KAAK,cAAc,EACpB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAQ1E,eAAO,MAAM,eAAe,QAAyC,CAAC;AAKtE,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAsB;IAEzD;;;;;;;;OAQG;gBAED,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,MAAM,GAAG,IAAI,CAAC;IAUpD,OAAO,KAAK,WAAW,GAMtB;IAED;;;;OAIG;IACG,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAKnC;;;;;;OAMG;IACG,uBAAuB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAMpE;;;;OAIG;IACG,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAOrF,sEAAsE;IAChE,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC;IAM5C;;;;OAIG;YACW,iBAAiB;IAS/B,gEAAgE;IAChE,OAAO,CAAC,kBAAkB;IAiB1B,sEAAsE;IACtE,OAAO,CAAC,kBAAkB;IAkB1B,sFAAsF;IAChF,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IA2E1E;;;;;;;OAOG;IACG,OAAO,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IASpD;;;;;;;;OAQG;IACG,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAsB9D,kDAAkD;IAClD,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IAY9B,sEAAsE;IACtE,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAqB3D;;;OAGG;IACG,cAAc,CAClB,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EAAE,EACd,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC1B,OAAO,CAAC,YAAY,CAAC;IA0BxB,wDAAwD;IAClD,aAAa,CAAC,IAAI,EAAE,YAAY,EAAE,SAAS,SAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBzE;;;;;;;OAOG;IACG,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoCtD;;;;;;;;;;OAUG;IACG,oBAAoB,CACxB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,cAAc,EACxB,aAAa,CAAC,EAAE,aAAa,CAAC,kBAAkB,GAAG,SAAS,CAAC,EAC7D,aAAa,CAAC,EAAE,kBAAkB,GACjC,OAAO,CAAC,MAAM,EAAE,CAAC;IA2CpB;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IA8B1B;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IA0B1B;;;OAGG;IACH,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAkB9C,OAAO,CAAC,mBAAmB;CAK5B;AAED,eAAO,MAAM,wBAAwB,YAepC,CAAC;AAKF;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAU,aAAa,MAAM,KAAG,OAAO,CAAC,IAAI,CAMtE,CAAC"}
1
+ {"version":3,"file":"WorktreeManager.d.ts","sourceRoot":"","sources":["../../src/services/WorktreeManager.ts"],"names":[],"mappings":"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"}
@@ -3,8 +3,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.pruneWorktrees = exports.cleanupOrphanedWorktrees = exports.WorktreeManager = exports.INSTANCE_PREFIX = void 0;
6
+ exports.pruneWorktrees = exports.cleanupOrphanedWorktrees = exports.registerFreshWorktreeRoot = exports.WorktreeManager = exports.INSTANCE_PREFIX = exports.FRESH_WORKTREES_DIRNAME = void 0;
7
7
  const path_1 = __importDefault(require("path"));
8
+ const os_1 = __importDefault(require("os"));
8
9
  const fs_1 = __importDefault(require("fs"));
9
10
  const net_1 = __importDefault(require("net"));
10
11
  const simple_git_1 = require("simple-git");
@@ -14,11 +15,22 @@ const designCatalog_1 = require("./templates/designCatalog");
14
15
  const viteReactTs_1 = require("./templates/viteReactTs");
15
16
  const sourceContext_1 = require("../mcp/agent-variants/sourceContext");
16
17
  const log = (0, logger_1.createLogger)('WorktreeManager');
17
- const WORKTREE_BASE = '/tmp';
18
+ // Existing-project worktrees still go under /tmp — `git worktree add` refuses
19
+ // to nest inside the main worktree, so the user's project tree is off-limits
20
+ // and /tmp is the right neutral location.
21
+ const EXISTING_WORKTREE_BASE = '/tmp';
22
+ // Fresh-project worktrees live under destinationParent so commit time is a
23
+ // same-volume rename instead of a cross-volume cp. Tucked under a
24
+ // dot-prefixed dir so the editor file tree collapses them cleanly.
25
+ exports.FRESH_WORKTREES_DIRNAME = '.rivet-variants';
18
26
  const WORKTREE_PREFIX = 'rivet-variants';
19
27
  const SESSION_ID_PATTERN = /^[A-Za-z0-9_-]+$/;
20
28
  // Include the PID so each server instance only cleans up its own worktrees.
21
29
  exports.INSTANCE_PREFIX = `${WORKTREE_PREFIX}-pid${process.pid}`;
30
+ // Registry of every destinationParent that has ever housed a fresh-worktree
31
+ // root in this user account. Read at startup so orphan cleanup can sweep
32
+ // roots created by prior MCP processes that crashed before teardown ran.
33
+ const FRESH_ROOTS_REGISTRY_PATH = path_1.default.join(os_1.default.homedir(), '.rivet', 'fresh-worktree-roots.json');
22
34
  const FRESH_SESSION_ERROR = 'Fresh-project sessions have no source project — this operation requires an existing project path.';
23
35
  class WorktreeManager {
24
36
  resolveProjectPath;
@@ -139,7 +151,7 @@ class WorktreeManager {
139
151
  const paths = [];
140
152
  const projectCwdRelative = path_1.default.relative(gitRoot, path_1.default.resolve(this.projectPath));
141
153
  for (let i = 0; i < count; i++) {
142
- const worktreePath = path_1.default.join(WORKTREE_BASE, `${exports.INSTANCE_PREFIX}-${sessionId}-${i}`);
154
+ const worktreePath = path_1.default.join(EXISTING_WORKTREE_BASE, `${exports.INSTANCE_PREFIX}-${sessionId}-${i}`);
143
155
  try {
144
156
  await git.raw(['worktree', 'add', '--detach', worktreePath, 'HEAD']);
145
157
  // Symlink node_modules into the project subdirectory within the worktree
@@ -238,6 +250,17 @@ class WorktreeManager {
238
250
  cp.stdin.end();
239
251
  });
240
252
  }
253
+ /**
254
+ * Apply a unified diff to an arbitrary project path. Same engine as
255
+ * `applyDiff` but the cwd is a parameter, so callers (e.g. the variants
256
+ * orchestrator) can target the user's project regardless of which path this
257
+ * manager instance was constructed with.
258
+ */
259
+ async applyDiffToProject(diff, projectPath) {
260
+ if (!diff.trim())
261
+ return;
262
+ return this.applyPatchViaStdin(diff, projectPath);
263
+ }
241
264
  /** Bind port 0 to get an OS-assigned free port */
242
265
  getFreePort() {
243
266
  return new Promise((resolve, reject) => {
@@ -287,6 +310,16 @@ class WorktreeManager {
287
310
  detached: false,
288
311
  });
289
312
  proc.on('error', (err) => log.warn(`Dev server error (port ${port}):`, err));
313
+ // Drain stdout/stderr. With `stdio: 'pipe'` and no consumer, the OS pipe
314
+ // buffer (~64KB) fills within seconds of Vite's HMR/request logging and
315
+ // the child blocks on write, freezing the dev server even though it
316
+ // passed the readiness probe.
317
+ proc.stdout?.on('data', (data) => {
318
+ log.debug(`[variant-dev:${port}] ${data.toString().trim()}`);
319
+ });
320
+ proc.stderr?.on('data', (data) => {
321
+ log.debug(`[variant-dev:${port}] ${data.toString().trim()}`);
322
+ });
290
323
  const deadline = Date.now() + 30_000;
291
324
  while (Date.now() < deadline) {
292
325
  try {
@@ -337,18 +370,24 @@ class WorktreeManager {
337
370
  * For existing-project sessions, asks git to unregister the worktree
338
371
  * (handles `.git/worktrees/*` cleanup) and falls back to plain rm. For
339
372
  * fresh-project sessions (no projectPath) the worktrees are detached
340
- * directories with their own `.git` git registry cleanup is a no-op
341
- * and we just rm the matching `/tmp` directories.
373
+ * directories with their own `.git` under `<destinationParent>/.rivet-variants/`
374
+ * — git registry cleanup is a no-op and we just rm the matching dirs.
375
+ *
376
+ * `freshDestinationParent` is required when the session was fresh; pass
377
+ * `path.dirname(projectContext.workspacePath)` so we know which
378
+ * `.rivet-variants/` root to sweep.
342
379
  */
343
- async cleanupSession(sessionId) {
380
+ async cleanupSession(sessionId, freshDestinationParent) {
344
381
  this.assertSafeSessionId(sessionId);
345
382
  if (!this.resolveProjectPath()) {
346
383
  // Fresh sessions: no source repo, no git registry to clean. Just rm.
347
- this.cleanupFreshWorktrees(sessionId);
384
+ if (freshDestinationParent) {
385
+ this.cleanupFreshWorktrees(sessionId, freshDestinationParent);
386
+ }
348
387
  return;
349
388
  }
350
389
  const git = (0, simple_git_1.simpleGit)(this.projectPath);
351
- const pattern = path_1.default.join(WORKTREE_BASE, `${exports.INSTANCE_PREFIX}-${sessionId}-`);
390
+ const pattern = path_1.default.join(EXISTING_WORKTREE_BASE, `${exports.INSTANCE_PREFIX}-${sessionId}-`);
352
391
  try {
353
392
  const worktreeList = await git.raw(['worktree', 'list', '--porcelain']);
354
393
  const worktreePaths = worktreeList
@@ -371,24 +410,40 @@ class WorktreeManager {
371
410
  }
372
411
  // Always also remove any leftover fresh-style directories for this
373
412
  // session (e.g. mixed-mode sessions, or git registry mismatch).
374
- this.cleanupFreshWorktrees(sessionId);
413
+ if (freshDestinationParent) {
414
+ this.cleanupFreshWorktrees(sessionId, freshDestinationParent);
415
+ }
375
416
  }
376
417
  /**
377
418
  * Create N worktrees for a fresh-project session by writing a template
378
- * bundle into each `/tmp/rivet-variants-pid<PID>-<sessionId>-<i>` directory,
379
- * optionally writing a DESIGN.md per slot, and committing a baseline.
419
+ * bundle into each `<destinationParent>/.rivet-variants/rivet-variants-pid<PID>-<sessionId>-<i>`
420
+ * directory, optionally writing a DESIGN.md per slot, and committing a
421
+ * baseline.
422
+ *
423
+ * Worktrees live under the user's destinationParent (not /tmp) so commit
424
+ * time can be a same-volume rename instead of a cross-volume copy. The
425
+ * destinationParent is registered to a small JSON file so a future MCP
426
+ * startup can sweep orphans even when the original process crashed.
380
427
  *
381
428
  * Does NOT run `npm install` — the orchestrator dispatches that as a
382
429
  * background task so failures surface via work-item state without blocking
383
430
  * the MCP tool response.
384
431
  *
385
- * @effect Creates /tmp directories, writes template files, runs git init/add/commit.
432
+ * @effect Creates directories under destinationParent, writes template
433
+ * files, runs git init/add/commit, appends destinationParent to
434
+ * the fresh-worktree-roots registry.
386
435
  */
387
- async createFreshWorktrees(sessionId, count, template, designContext, sourceContext) {
436
+ async createFreshWorktrees(sessionId, count, template, designContext, sourceContext, destinationParent) {
388
437
  this.assertSafeSessionId(sessionId);
438
+ if (!destinationParent || !path_1.default.isAbsolute(destinationParent)) {
439
+ throw new Error('createFreshWorktrees requires an absolute destinationParent path');
440
+ }
441
+ const freshRoot = path_1.default.join(destinationParent, exports.FRESH_WORKTREES_DIRNAME);
442
+ fs_1.default.mkdirSync(freshRoot, { recursive: true });
443
+ (0, exports.registerFreshWorktreeRoot)(freshRoot);
389
444
  const paths = [];
390
445
  for (let i = 0; i < count; i++) {
391
- const worktreePath = path_1.default.join(WORKTREE_BASE, `${exports.INSTANCE_PREFIX}-${sessionId}-${i}`);
446
+ const worktreePath = path_1.default.join(freshRoot, `${exports.INSTANCE_PREFIX}-${sessionId}-${i}`);
392
447
  fs_1.default.mkdirSync(worktreePath, { recursive: true });
393
448
  (0, viteReactTs_1.writeTemplateBundle)(template, worktreePath);
394
449
  this.writeDesignContext(worktreePath, i, designContext?.[i]);
@@ -466,26 +521,86 @@ class WorktreeManager {
466
521
  }
467
522
  log.warn(`Fresh worktree ${slot}: unknown design system slug '${entry.slug}' — DESIGN.md skipped`);
468
523
  }
524
+ /**
525
+ * Move a worktree to its history location preserving contents. Used by the
526
+ * orchestrator at commit time so unchosen variants survive on disk as
527
+ * runnable references (siblings of the chosen project).
528
+ *
529
+ * Returns the destination path (`<historyDir>/<folderName>`).
530
+ *
531
+ * @effect renames `srcWorktreePath` → `<historyDir>/<folderName>`, creating
532
+ * the historyDir if needed.
533
+ */
534
+ moveWorktreeToHistory(srcWorktreePath, historyDir, folderName) {
535
+ fs_1.default.mkdirSync(historyDir, { recursive: true });
536
+ const dest = path_1.default.join(historyDir, folderName);
537
+ fs_1.default.renameSync(srcWorktreePath, dest);
538
+ return dest;
539
+ }
540
+ /**
541
+ * Repoint a worktree's `node_modules` at a relative symlink so it tracks
542
+ * the chosen variant's real install after both have moved into their new
543
+ * permanent homes. Idempotent — removes any existing entry first.
544
+ */
545
+ repointNodeModulesSymlink(worktreePath, sharedNodeModulesAbsPath) {
546
+ const link = path_1.default.join(worktreePath, 'node_modules');
547
+ try {
548
+ fs_1.default.rmSync(link, { force: true, recursive: true });
549
+ }
550
+ catch {
551
+ /* may not exist */
552
+ }
553
+ const target = path_1.default.relative(path_1.default.dirname(link), sharedNodeModulesAbsPath);
554
+ fs_1.default.symlinkSync(target, link, 'dir');
555
+ }
469
556
  /** Remove all fresh worktrees for a session.
470
557
  *
471
- * @effect Removes /tmp directories matching ${INSTANCE_PREFIX}-<sessionId>-*.
558
+ * @effect Removes directories under <destinationParent>/.rivet-variants/
559
+ * matching ${INSTANCE_PREFIX}-<sessionId>-*. Also removes the
560
+ * .rivet-variants/ parent if it becomes empty so the editor file
561
+ * tree doesn't accumulate noise.
562
+ *
563
+ * When `preserve` is provided, entries whose basenames are in the set are
564
+ * skipped — used by the orchestrator after a vite_app commit, where the
565
+ * unchosen variant worktrees have already been moved to a sibling history
566
+ * dir and must not be re-deleted.
472
567
  */
473
- cleanupFreshWorktrees(sessionId) {
568
+ cleanupFreshWorktrees(sessionId, destinationParent, preserve) {
474
569
  this.assertSafeSessionId(sessionId);
570
+ if (!destinationParent || !path_1.default.isAbsolute(destinationParent)) {
571
+ log.warn('cleanupFreshWorktrees: destinationParent missing or not absolute — skipping');
572
+ return;
573
+ }
574
+ const freshRoot = path_1.default.join(destinationParent, exports.FRESH_WORKTREES_DIRNAME);
475
575
  try {
476
576
  const prefix = `${exports.INSTANCE_PREFIX}-${sessionId}-`;
477
577
  const entries = fs_1.default
478
- .readdirSync(WORKTREE_BASE)
479
- .filter((e) => e.startsWith(prefix));
578
+ .readdirSync(freshRoot)
579
+ .filter((e) => e.startsWith(prefix))
580
+ .filter((e) => !preserve?.has(e));
480
581
  for (const entry of entries) {
481
- fs_1.default.rmSync(path_1.default.join(WORKTREE_BASE, entry), {
582
+ fs_1.default.rmSync(path_1.default.join(freshRoot, entry), {
482
583
  recursive: true,
483
584
  force: true,
484
585
  });
485
586
  }
587
+ // If the freshRoot is now empty, remove it too.
588
+ try {
589
+ const remaining = fs_1.default.readdirSync(freshRoot);
590
+ if (remaining.length === 0) {
591
+ fs_1.default.rmdirSync(freshRoot);
592
+ }
593
+ }
594
+ catch {
595
+ // Non-fatal — leaving the dir is harmless.
596
+ }
486
597
  }
487
598
  catch (e) {
488
- log.warn('Fresh worktree cleanup error:', e);
599
+ // ENOENT is expected when the dir was already cleaned up — only log
600
+ // when it's a different failure mode.
601
+ if (e.code !== 'ENOENT') {
602
+ log.warn('Fresh worktree cleanup error:', e);
603
+ }
489
604
  }
490
605
  }
491
606
  assertSafeSessionId(sessionId) {
@@ -495,22 +610,90 @@ class WorktreeManager {
495
610
  }
496
611
  }
497
612
  exports.WorktreeManager = WorktreeManager;
613
+ /**
614
+ * Read the fresh-worktree-root registry, dropping entries whose dir no
615
+ * longer exists so the file stays small.
616
+ */
617
+ const loadFreshWorktreeRoots = () => {
618
+ try {
619
+ const raw = fs_1.default.readFileSync(FRESH_ROOTS_REGISTRY_PATH, 'utf8');
620
+ const parsed = JSON.parse(raw);
621
+ if (!Array.isArray(parsed))
622
+ return [];
623
+ return parsed.filter((p) => typeof p === 'string');
624
+ }
625
+ catch {
626
+ return [];
627
+ }
628
+ };
629
+ const saveFreshWorktreeRoots = (roots) => {
630
+ try {
631
+ fs_1.default.mkdirSync(path_1.default.dirname(FRESH_ROOTS_REGISTRY_PATH), { recursive: true });
632
+ const deduped = Array.from(new Set(roots));
633
+ fs_1.default.writeFileSync(FRESH_ROOTS_REGISTRY_PATH, JSON.stringify(deduped, null, 2), 'utf8');
634
+ }
635
+ catch (err) {
636
+ log.warn('Could not persist fresh-worktree-roots registry:', err);
637
+ }
638
+ };
639
+ /**
640
+ * Append a freshRoot path to the registry (de-duped). Called by
641
+ * createFreshWorktrees so future MCP startups can sweep orphans even if
642
+ * the original process crashed before teardown ran.
643
+ */
644
+ const registerFreshWorktreeRoot = (freshRoot) => {
645
+ const existing = loadFreshWorktreeRoots();
646
+ if (existing.includes(freshRoot))
647
+ return;
648
+ existing.push(freshRoot);
649
+ saveFreshWorktreeRoots(existing);
650
+ };
651
+ exports.registerFreshWorktreeRoot = registerFreshWorktreeRoot;
652
+ /**
653
+ * Sweep orphan worktrees from /tmp (existing-project flow) and from every
654
+ * registered fresh-worktree root (fresh-project flow). Filters by
655
+ * INSTANCE_PREFIX (includes PID) so each server instance only removes its
656
+ * own worktrees and never touches those of sibling instances. Prunes
657
+ * registry entries whose directory no longer exists so the file stays small.
658
+ */
498
659
  const cleanupOrphanedWorktrees = () => {
499
660
  try {
500
- // Filter by INSTANCE_PREFIX (includes PID) so each server instance only
501
- // removes its own worktrees and never touches those of sibling instances.
502
- // Removes both git-worktree-tracked directories (existing-project flow)
503
- // and standalone fresh-scaffold directories (zero-to-one flow).
504
661
  const entries = fs_1.default
505
- .readdirSync(WORKTREE_BASE)
662
+ .readdirSync(EXISTING_WORKTREE_BASE)
506
663
  .filter((e) => e.startsWith(exports.INSTANCE_PREFIX));
507
664
  for (const entry of entries) {
508
- fs_1.default.rmSync(path_1.default.join(WORKTREE_BASE, entry), { recursive: true, force: true });
665
+ fs_1.default.rmSync(path_1.default.join(EXISTING_WORKTREE_BASE, entry), {
666
+ recursive: true,
667
+ force: true,
668
+ });
509
669
  }
510
670
  }
511
671
  catch {
512
672
  /* ignore */
513
673
  }
674
+ const roots = loadFreshWorktreeRoots();
675
+ const survivingRoots = [];
676
+ for (const root of roots) {
677
+ let rootStillExists = true;
678
+ try {
679
+ const entries = fs_1.default
680
+ .readdirSync(root)
681
+ .filter((e) => e.startsWith(exports.INSTANCE_PREFIX));
682
+ for (const entry of entries) {
683
+ fs_1.default.rmSync(path_1.default.join(root, entry), { recursive: true, force: true });
684
+ }
685
+ }
686
+ catch (err) {
687
+ if (err.code === 'ENOENT') {
688
+ rootStillExists = false;
689
+ }
690
+ }
691
+ if (rootStillExists)
692
+ survivingRoots.push(root);
693
+ }
694
+ if (survivingRoots.length !== roots.length) {
695
+ saveFreshWorktreeRoots(survivingRoots);
696
+ }
514
697
  };
515
698
  exports.cleanupOrphanedWorktrees = cleanupOrphanedWorktrees;
516
699
  // Clean up on natural exit (covers process.exit() calls from server shutdown)
@@ -1 +1 @@
1
- {"version":3,"file":"WorktreeManager.js","sourceRoot":"","sources":["../../src/services/WorktreeManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WorktreeManager.js","sourceRoot":"","sources":["../../src/services/WorktreeManager.ts"],"names":[],"mappings":"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"}
@@ -169,13 +169,13 @@ class AgentModService {
169
169
  const strictResult = await this.core.execute({
170
170
  systemPrompt: this.generateSystemPrompt('strict'),
171
171
  userPrompt: this.buildAgentPrompt(instruction, initialContext),
172
- allowedTools: ['Read', 'Edit', 'Write'],
173
- permissionMode: 'acceptEdits',
172
+ allowedTools: ['Read', 'Edit', 'Write', 'Bash'],
173
+ permissionMode: 'bypassPermissions',
174
174
  cwd: this.projectPath,
175
175
  resumeSessionId: sessionId,
176
176
  model,
177
177
  executionPolicy: {
178
- disableBash: true,
178
+ disableBash: false,
179
179
  disableSubagents: true,
180
180
  maxTaskCalls: 0,
181
181
  },
@@ -190,8 +190,8 @@ class AgentModService {
190
190
  const fallbackResult = await this.core.execute({
191
191
  systemPrompt: this.generateSystemPrompt('fallback'),
192
192
  userPrompt: `${this.buildAgentPrompt(instruction, initialContext)}\n\nNote: A direct-edit pass was attempted first and modified 0 files. Explore as needed.`,
193
- allowedTools: ['Glob', 'Grep', 'Read', 'Edit', 'Write', 'Task'],
194
- permissionMode: 'acceptEdits',
193
+ allowedTools: ['Glob', 'Grep', 'Read', 'Edit', 'Write', 'Task', 'Bash'],
194
+ permissionMode: 'bypassPermissions',
195
195
  cwd: this.projectPath,
196
196
  resumeSessionId: strictResult.sessionId || sessionId,
197
197
  model,
@@ -203,7 +203,7 @@ class AgentModService {
203
203
  },
204
204
  },
205
205
  executionPolicy: {
206
- disableBash: true,
206
+ disableBash: false,
207
207
  disableSubagents: true,
208
208
  maxTaskCalls: MAX_TASK_CALLS_PER_REQUEST,
209
209
  allowedTaskAgentTypes: ['code-modifier'],