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.
- package/dist/mcp/agent-variants/SessionStore.d.ts +25 -10
- package/dist/mcp/agent-variants/SessionStore.d.ts.map +1 -1
- package/dist/mcp/agent-variants/SessionStore.js +186 -44
- package/dist/mcp/agent-variants/SessionStore.js.map +1 -1
- package/dist/mcp/agent-variants/WorktreeOrchestrator.d.ts +146 -13
- package/dist/mcp/agent-variants/WorktreeOrchestrator.d.ts.map +1 -1
- package/dist/mcp/agent-variants/WorktreeOrchestrator.js +1223 -58
- package/dist/mcp/agent-variants/WorktreeOrchestrator.js.map +1 -1
- package/dist/mcp/agent-variants/WorktreeOrchestrator.testHelpers.d.ts +65 -0
- package/dist/mcp/agent-variants/WorktreeOrchestrator.testHelpers.d.ts.map +1 -0
- package/dist/mcp/agent-variants/WorktreeOrchestrator.testHelpers.js +162 -0
- package/dist/mcp/agent-variants/WorktreeOrchestrator.testHelpers.js.map +1 -0
- package/dist/mcp/agent-variants/contracts.d.ts +1470 -64
- package/dist/mcp/agent-variants/contracts.d.ts.map +1 -1
- package/dist/mcp/agent-variants/contracts.js +173 -9
- package/dist/mcp/agent-variants/contracts.js.map +1 -1
- package/dist/mcp/agent-variants/createProjectArtifacts.d.ts +78 -0
- package/dist/mcp/agent-variants/createProjectArtifacts.d.ts.map +1 -0
- package/dist/mcp/agent-variants/createProjectArtifacts.js +123 -0
- package/dist/mcp/agent-variants/createProjectArtifacts.js.map +1 -0
- package/dist/mcp/agent-variants/createZeroToOneTool.d.ts +60 -24
- package/dist/mcp/agent-variants/createZeroToOneTool.d.ts.map +1 -1
- package/dist/mcp/agent-variants/createZeroToOneTool.js +38 -120
- package/dist/mcp/agent-variants/createZeroToOneTool.js.map +1 -1
- package/dist/mcp/agent-variants/errors.d.ts +1 -1
- package/dist/mcp/agent-variants/errors.d.ts.map +1 -1
- package/dist/mcp/agent-variants/errors.js +1 -0
- package/dist/mcp/agent-variants/errors.js.map +1 -1
- package/dist/mcp/agent-variants/index.d.ts +3 -4
- package/dist/mcp/agent-variants/index.d.ts.map +1 -1
- package/dist/mcp/agent-variants/index.js +2 -2
- package/dist/mcp/agent-variants/index.js.map +1 -1
- package/dist/mcp/agent-variants/inspirationDesignContext.d.ts +10 -0
- package/dist/mcp/agent-variants/inspirationDesignContext.d.ts.map +1 -1
- package/dist/mcp/agent-variants/inspirationDesignContext.js +104 -16
- package/dist/mcp/agent-variants/inspirationDesignContext.js.map +1 -1
- package/dist/mcp/agent-variants/pendingChangesAdapter.d.ts.map +1 -1
- package/dist/mcp/agent-variants/pendingChangesAdapter.js +11 -0
- package/dist/mcp/agent-variants/pendingChangesAdapter.js.map +1 -1
- package/dist/mcp/agent-variants/previewQa.d.ts +61 -0
- package/dist/mcp/agent-variants/previewQa.d.ts.map +1 -0
- package/dist/mcp/agent-variants/previewQa.js +374 -0
- package/dist/mcp/agent-variants/previewQa.js.map +1 -0
- package/dist/mcp/agent-variants/sourceContext.d.ts +1 -0
- package/dist/mcp/agent-variants/sourceContext.d.ts.map +1 -1
- package/dist/mcp/agent-variants/sourceContext.js +28 -3
- package/dist/mcp/agent-variants/sourceContext.js.map +1 -1
- package/dist/mcp/agent-variants/tools.d.ts +23 -1
- package/dist/mcp/agent-variants/tools.d.ts.map +1 -1
- package/dist/mcp/agent-variants/tools.js +144 -27
- package/dist/mcp/agent-variants/tools.js.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +25 -6
- package/dist/mcp/server.js.map +1 -1
- package/dist/prompts/agentModPrompts.js +4 -4
- package/dist/prompts/agentModPrompts.js.map +1 -1
- package/dist/routes/agentVariants.d.ts.map +1 -1
- package/dist/routes/agentVariants.js +8 -1
- package/dist/routes/agentVariants.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +21 -3
- package/dist/server.js.map +1 -1
- package/dist/services/ProjectDetectionService.d.ts.map +1 -1
- package/dist/services/ProjectDetectionService.js +9 -0
- package/dist/services/ProjectDetectionService.js.map +1 -1
- package/dist/services/WorktreeManager.d.ts +67 -9
- package/dist/services/WorktreeManager.d.ts.map +1 -1
- package/dist/services/WorktreeManager.js +209 -26
- package/dist/services/WorktreeManager.js.map +1 -1
- package/dist/services/agent/AgentModService.js +6 -6
- package/dist/services/agent/AgentModService.js.map +1 -1
- package/dist/services/templates/viteReactTs.d.ts +6 -0
- package/dist/services/templates/viteReactTs.d.ts.map +1 -1
- package/dist/services/templates/viteReactTs.js +8 -1
- package/dist/services/templates/viteReactTs.js.map +1 -1
- package/dist/types/change-request-types.d.ts +14 -0
- package/dist/types/change-request-types.d.ts.map +1 -1
- package/dist/utils/skills/claude-skill.d.ts +1 -1
- package/dist/utils/skills/claude-skill.js +2 -2
- package/dist/utils/skills/cursor-rules.d.ts +1 -1
- package/dist/utils/skills/cursor-rules.js +1 -1
- package/dist/utils/skills/shared-variants-protocol.d.ts +1 -1
- package/dist/utils/skills/shared-variants-protocol.d.ts.map +1 -1
- package/dist/utils/skills/shared-variants-protocol.js +31 -32
- package/dist/utils/skills/shared-variants-protocol.js.map +1 -1
- package/package.json +3 -4
- package/src/ui/dist/assets/{main-DejhsBWR.js → main-CpX7fB64.js} +113 -113
- package/src/ui/dist/assets/main-Qqe2_oMT.css +1 -0
- package/src/ui/dist/index.html +2 -2
- 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`
|
|
89
|
-
* and we just rm the matching
|
|
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
|
|
95
|
-
* optionally writing a DESIGN.md per slot, and committing a
|
|
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
|
|
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
|
|
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
|
|
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":"
|
|
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
|
-
|
|
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(
|
|
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`
|
|
341
|
-
* and we just rm the matching
|
|
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
|
-
|
|
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(
|
|
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
|
-
|
|
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
|
|
379
|
-
* optionally writing a DESIGN.md per slot, and committing a
|
|
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
|
|
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(
|
|
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
|
|
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(
|
|
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(
|
|
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
|
-
|
|
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(
|
|
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(
|
|
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: '
|
|
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:
|
|
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: '
|
|
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:
|
|
206
|
+
disableBash: false,
|
|
207
207
|
disableSubagents: true,
|
|
208
208
|
maxTaskCalls: MAX_TASK_CALLS_PER_REQUEST,
|
|
209
209
|
allowedTaskAgentTypes: ['code-modifier'],
|