rivet-design 0.9.1 → 0.9.3
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 +63 -2
- package/dist/mcp/agent-variants/SessionStore.d.ts.map +1 -1
- package/dist/mcp/agent-variants/SessionStore.js +331 -71
- package/dist/mcp/agent-variants/SessionStore.js.map +1 -1
- package/dist/mcp/agent-variants/WorktreeOrchestrator.d.ts +197 -8
- package/dist/mcp/agent-variants/WorktreeOrchestrator.d.ts.map +1 -1
- package/dist/mcp/agent-variants/WorktreeOrchestrator.js +805 -46
- package/dist/mcp/agent-variants/WorktreeOrchestrator.js.map +1 -1
- package/dist/mcp/agent-variants/contracts.d.ts +1101 -9
- package/dist/mcp/agent-variants/contracts.d.ts.map +1 -1
- package/dist/mcp/agent-variants/contracts.js +131 -5
- package/dist/mcp/agent-variants/contracts.js.map +1 -1
- package/dist/mcp/agent-variants/createZeroToOneTool.d.ts +205 -0
- package/dist/mcp/agent-variants/createZeroToOneTool.d.ts.map +1 -0
- package/dist/mcp/agent-variants/createZeroToOneTool.js +295 -0
- package/dist/mcp/agent-variants/createZeroToOneTool.js.map +1 -0
- package/dist/mcp/agent-variants/designContextStore.d.ts +160 -0
- package/dist/mcp/agent-variants/designContextStore.d.ts.map +1 -0
- package/dist/mcp/agent-variants/designContextStore.js +295 -0
- package/dist/mcp/agent-variants/designContextStore.js.map +1 -0
- package/dist/mcp/agent-variants/elementRefToTarget.d.ts +21 -0
- package/dist/mcp/agent-variants/elementRefToTarget.d.ts.map +1 -0
- package/dist/mcp/agent-variants/elementRefToTarget.js +47 -0
- package/dist/mcp/agent-variants/elementRefToTarget.js.map +1 -0
- 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 +6 -0
- package/dist/mcp/agent-variants/errors.js.map +1 -1
- package/dist/mcp/agent-variants/index.d.ts +4 -1
- package/dist/mcp/agent-variants/index.d.ts.map +1 -1
- package/dist/mcp/agent-variants/index.js +7 -1
- package/dist/mcp/agent-variants/index.js.map +1 -1
- package/dist/mcp/agent-variants/inspirationDesignContext.d.ts +430 -0
- package/dist/mcp/agent-variants/inspirationDesignContext.d.ts.map +1 -0
- package/dist/mcp/agent-variants/inspirationDesignContext.js +2379 -0
- package/dist/mcp/agent-variants/inspirationDesignContext.js.map +1 -0
- package/dist/mcp/agent-variants/pendingChangesAdapter.d.ts.map +1 -1
- package/dist/mcp/agent-variants/pendingChangesAdapter.js +10 -7
- package/dist/mcp/agent-variants/pendingChangesAdapter.js.map +1 -1
- package/dist/mcp/agent-variants/sourceContext.d.ts +7 -0
- package/dist/mcp/agent-variants/sourceContext.d.ts.map +1 -0
- package/dist/mcp/agent-variants/sourceContext.js +158 -0
- package/dist/mcp/agent-variants/sourceContext.js.map +1 -0
- package/dist/mcp/agent-variants/tools.d.ts +14 -0
- package/dist/mcp/agent-variants/tools.d.ts.map +1 -1
- package/dist/mcp/agent-variants/tools.js +330 -15
- package/dist/mcp/agent-variants/tools.js.map +1 -1
- package/dist/mcp/changeBatchClassification.d.ts +30 -0
- package/dist/mcp/changeBatchClassification.d.ts.map +1 -0
- package/dist/mcp/changeBatchClassification.js +65 -0
- package/dist/mcp/changeBatchClassification.js.map +1 -0
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +237 -39
- package/dist/mcp/server.js.map +1 -1
- package/dist/proxy-middleware/proxy-config.d.ts.map +1 -1
- package/dist/proxy-middleware/proxy-config.js +1 -15
- package/dist/proxy-middleware/proxy-config.js.map +1 -1
- package/dist/routes/agentVariants.d.ts +3 -1
- package/dist/routes/agentVariants.d.ts.map +1 -1
- package/dist/routes/agentVariants.js +131 -13
- package/dist/routes/agentVariants.js.map +1 -1
- package/dist/routes/mcp.d.ts +7 -1
- package/dist/routes/mcp.d.ts.map +1 -1
- package/dist/routes/mcp.js +139 -16
- package/dist/routes/mcp.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +2 -2
- package/dist/server.js.map +1 -1
- package/dist/services/SessionBridgeService.d.ts +22 -0
- package/dist/services/SessionBridgeService.d.ts.map +1 -1
- package/dist/services/SessionBridgeService.js +61 -0
- package/dist/services/SessionBridgeService.js.map +1 -1
- package/dist/services/TelemetryService.d.ts +121 -0
- package/dist/services/TelemetryService.d.ts.map +1 -1
- package/dist/services/TelemetryService.js +155 -0
- package/dist/services/TelemetryService.js.map +1 -1
- package/dist/services/WorktreeManager.d.ts +57 -5
- package/dist/services/WorktreeManager.d.ts.map +1 -1
- package/dist/services/WorktreeManager.js +205 -13
- package/dist/services/WorktreeManager.js.map +1 -1
- package/dist/services/templates/designCatalog.d.ts +27 -0
- package/dist/services/templates/designCatalog.d.ts.map +1 -0
- package/dist/services/templates/designCatalog.js +141 -0
- package/dist/services/templates/designCatalog.js.map +1 -0
- package/dist/services/templates/designmd/airbnb.md +545 -0
- package/dist/services/templates/designmd/airtable.md +554 -0
- package/dist/services/templates/designmd/apple.md +562 -0
- package/dist/services/templates/designmd/binance.md +634 -0
- package/dist/services/templates/designmd/bmw-m.md +503 -0
- package/dist/services/templates/designmd/bmw.md +544 -0
- package/dist/services/templates/designmd/bugatti.md +454 -0
- package/dist/services/templates/designmd/cal.md +542 -0
- package/dist/services/templates/designmd/claude.md +589 -0
- package/dist/services/templates/designmd/clay.md +541 -0
- package/dist/services/templates/designmd/cohere.md +451 -0
- package/dist/services/templates/designmd/cursor.md +537 -0
- package/dist/services/templates/designmd/expo.md +526 -0
- package/dist/services/templates/designmd/figma.md +578 -0
- package/dist/services/templates/designmd/framer.md +544 -0
- package/dist/services/templates/designmd/hp.md +670 -0
- package/dist/services/templates/designmd/linear.app.md +548 -0
- package/dist/services/templates/designmd/mintlify.md +852 -0
- package/dist/services/templates/designmd/miro.md +825 -0
- package/dist/services/templates/designmd/notion.md +821 -0
- package/dist/services/templates/designmd/raycast.md +669 -0
- package/dist/services/templates/designmd/resend.md +585 -0
- package/dist/services/templates/designmd/sentry.md +262 -0
- package/dist/services/templates/designmd/shopify.md +350 -0
- package/dist/services/templates/designmd/spotify.md +246 -0
- package/dist/services/templates/designmd/stripe.md +322 -0
- package/dist/services/templates/designmd/supabase.md +255 -0
- package/dist/services/templates/designmd/superhuman.md +252 -0
- package/dist/services/templates/designmd/uber.md +295 -0
- package/dist/services/templates/designmd/vercel.md +310 -0
- package/dist/services/templates/viteReactTs.d.ts +42 -0
- package/dist/services/templates/viteReactTs.d.ts.map +1 -0
- package/dist/services/templates/viteReactTs.js +267 -0
- package/dist/services/templates/viteReactTs.js.map +1 -0
- package/dist/types/change-request-types.d.ts +15 -3
- package/dist/types/change-request-types.d.ts.map +1 -1
- package/dist/utils/skills/claude-skill.d.ts +2 -2
- package/dist/utils/skills/claude-skill.d.ts.map +1 -1
- package/dist/utils/skills/claude-skill.js +19 -98
- package/dist/utils/skills/claude-skill.js.map +1 -1
- package/dist/utils/skills/cursor-rules.d.ts +2 -2
- package/dist/utils/skills/cursor-rules.d.ts.map +1 -1
- package/dist/utils/skills/cursor-rules.js +15 -80
- package/dist/utils/skills/cursor-rules.js.map +1 -1
- package/dist/utils/skills/shared-variants-protocol.d.ts +23 -0
- package/dist/utils/skills/shared-variants-protocol.d.ts.map +1 -0
- package/dist/utils/skills/shared-variants-protocol.js +131 -0
- package/dist/utils/skills/shared-variants-protocol.js.map +1 -0
- package/package.json +4 -3
- package/src/ui/dist/assets/main-C9jfEp80.css +1 -0
- package/src/ui/dist/assets/main-DejhsBWR.js +382 -0
- package/src/ui/dist/index.html +2 -2
- package/src/ui/dist/assets/main-Bv0LuxKz.js +0 -382
- package/src/ui/dist/assets/main-BzmseUDd.css +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ChildProcess } from 'child_process';
|
|
2
2
|
import { AgentVariantsError } from './errors';
|
|
3
3
|
import { SessionStore, type ApprovedBriefSelection, type ApproveResult, type ProposeArgs, type ProposeResult, type ReportCompleteResult, type RequestWorkResult } from './SessionStore';
|
|
4
|
-
import type { Brief, Stage, TerminalSummary, WorkItemStatus } from './contracts';
|
|
4
|
+
import type { ActiveProjectContext, ActiveVariantSnapshot, Brief, DesignContextEntry, ProjectContext, SourceContextArtifact, SourceContextInput, Stage, Target, TerminalSummary, WorkItemStatus } from './contracts';
|
|
5
5
|
import type { PendingChangesAdapter } from './pendingChangesAdapter';
|
|
6
6
|
/**
|
|
7
7
|
* Subset of WorktreeManager that the orchestrator depends on. Defined as an
|
|
@@ -18,6 +18,9 @@ export interface WorktreeManagerLike {
|
|
|
18
18
|
startDevServer(worktreePath: string, port: number, cmd: string, args: string[], env: Record<string, string>): Promise<ChildProcess>;
|
|
19
19
|
stopDevServer(proc: ChildProcess, timeoutMs?: number): Promise<void>;
|
|
20
20
|
getProjectCwdInWorktree(worktreePath: string): Promise<string>;
|
|
21
|
+
/** Optional fresh-project scaffold support — present in production but
|
|
22
|
+
* optional so unit tests can mock with the minimum surface they need. */
|
|
23
|
+
createFreshWorktrees?(sessionId: string, count: number, template: import('../../services/templates/viteReactTs').TemplateBundle, designContext?: ReadonlyArray<DesignContextEntry | undefined>, sourceContext?: SourceContextInput): Promise<string[]>;
|
|
21
24
|
}
|
|
22
25
|
/**
|
|
23
26
|
* Per-session resolved environment. Used to populate destinationPath on the
|
|
@@ -46,6 +49,14 @@ export interface OrchestratorDeps {
|
|
|
46
49
|
pendingChangesAdapter: PendingChangesAdapter;
|
|
47
50
|
resolveProjectEnvironment: (sessionId: string) => Promise<ProjectEnvironment>;
|
|
48
51
|
telemetry?: VariantsTelemetry;
|
|
52
|
+
/** Background `npm install` runner for fresh worktrees. Defaults to a real
|
|
53
|
+
* spawn-based runner; tests inject a fast no-op or rejecting stub. */
|
|
54
|
+
installDependencies?: (worktreePath: string) => Promise<void>;
|
|
55
|
+
/** Server-side materialize step for fresh-project commits. Copies the
|
|
56
|
+
* source worktree to `destinationPath` excluding install artifacts and
|
|
57
|
+
* initializes a fresh git repo. Defaults to a real fs.cp + simpleGit
|
|
58
|
+
* implementation; tests inject a stub. */
|
|
59
|
+
materializeProject?: (sourceWorktreePath: string, destinationPath: string) => Promise<void>;
|
|
49
60
|
}
|
|
50
61
|
/**
|
|
51
62
|
* Minimal telemetry surface the orchestrator depends on. Decoupled from
|
|
@@ -54,6 +65,62 @@ export interface OrchestratorDeps {
|
|
|
54
65
|
*/
|
|
55
66
|
export interface VariantsTelemetry {
|
|
56
67
|
track(event: string, properties?: Record<string, unknown>): void;
|
|
68
|
+
trackAgentVariantsScaffoldStarted?: (data: {
|
|
69
|
+
sessionId: string;
|
|
70
|
+
variantCount: number;
|
|
71
|
+
designContext?: Array<{
|
|
72
|
+
slot: number;
|
|
73
|
+
kind: 'slug' | 'markdown';
|
|
74
|
+
slug?: string;
|
|
75
|
+
markdownLabel?: string;
|
|
76
|
+
}> | null;
|
|
77
|
+
}) => void;
|
|
78
|
+
trackAgentVariantsScaffoldCompleted?: (data: {
|
|
79
|
+
sessionId: string;
|
|
80
|
+
durationMs: number;
|
|
81
|
+
installDurationMs: number;
|
|
82
|
+
variantCount: number;
|
|
83
|
+
}) => void;
|
|
84
|
+
trackAgentVariantsScaffoldFailed?: (data: {
|
|
85
|
+
sessionId: string;
|
|
86
|
+
errorCode: string;
|
|
87
|
+
durationMs: number;
|
|
88
|
+
}) => void;
|
|
89
|
+
trackAgentVariantsFreshDevServerStarted?: (data: {
|
|
90
|
+
sessionId: string;
|
|
91
|
+
variantId: string;
|
|
92
|
+
port: number;
|
|
93
|
+
}) => void;
|
|
94
|
+
trackAgentVariantsFreshDevServerFailed?: (data: {
|
|
95
|
+
sessionId: string;
|
|
96
|
+
variantId: string;
|
|
97
|
+
errorCode: string;
|
|
98
|
+
}) => void;
|
|
99
|
+
trackAgentVariantsNewProjectMaterialized?: (data: {
|
|
100
|
+
sessionId: string;
|
|
101
|
+
variantId: string;
|
|
102
|
+
destinationPath: string;
|
|
103
|
+
changedFilesCount: number;
|
|
104
|
+
durationMs: number;
|
|
105
|
+
}) => void;
|
|
106
|
+
trackAgentVariantsSourceContextQuality?: (data: {
|
|
107
|
+
sessionId: string;
|
|
108
|
+
sourceUrlCount: number;
|
|
109
|
+
artifactCount: number;
|
|
110
|
+
hasScreenshotReferences: boolean;
|
|
111
|
+
preserveBrand: boolean;
|
|
112
|
+
}) => void;
|
|
113
|
+
trackAgentVariantsBriefQuality?: (data: {
|
|
114
|
+
sessionId: string;
|
|
115
|
+
briefCount: number;
|
|
116
|
+
evidenceBackedCount: number;
|
|
117
|
+
shortBriefCount: number;
|
|
118
|
+
}) => void;
|
|
119
|
+
trackAgentVariantsStaticPreviewCompleted?: (data: {
|
|
120
|
+
sessionId: string;
|
|
121
|
+
variantId: string;
|
|
122
|
+
durationMs: number | null;
|
|
123
|
+
}) => void;
|
|
57
124
|
}
|
|
58
125
|
/** Snapshot shape consumed by the iframe chip, both via SSE and the legacy
|
|
59
126
|
* GET /api/variants/active endpoint. Single source of truth lives on the
|
|
@@ -70,13 +137,14 @@ export type ActiveSnapshot = {
|
|
|
70
137
|
total: number;
|
|
71
138
|
};
|
|
72
139
|
summary: TerminalSummary | null;
|
|
73
|
-
variants:
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
140
|
+
variants: ActiveVariantSnapshot[];
|
|
141
|
+
/** Project context for the session — surfaced so the chip can render
|
|
142
|
+
* a "Creating new project at {destinationPath}" header for fresh
|
|
143
|
+
* sessions vs the default refinement header. */
|
|
144
|
+
projectContext: ActiveProjectContext;
|
|
145
|
+
/** For fresh sessions, the user-facing destination path the materialize
|
|
146
|
+
* step will land at. Undefined for existing-project sessions. */
|
|
147
|
+
destinationPath?: string;
|
|
80
148
|
};
|
|
81
149
|
/**
|
|
82
150
|
* Wraps SessionStore for the operations that have side effects: approve
|
|
@@ -96,6 +164,8 @@ export declare class AgentVariantsOrchestrator {
|
|
|
96
164
|
private readonly adapter;
|
|
97
165
|
private readonly resolveEnv;
|
|
98
166
|
private readonly telemetry;
|
|
167
|
+
private readonly installDependencies;
|
|
168
|
+
private readonly materializeProject;
|
|
99
169
|
private readonly resources;
|
|
100
170
|
/** Most recent agent-variants sessionId — read by the iframe chip via
|
|
101
171
|
* GET /api/variants/active. Cleared on cancel or commit. */
|
|
@@ -122,6 +192,15 @@ export declare class AgentVariantsOrchestrator {
|
|
|
122
192
|
}): {
|
|
123
193
|
briefs: Brief[];
|
|
124
194
|
};
|
|
195
|
+
reportSourceContext(args: {
|
|
196
|
+
sessionId: string;
|
|
197
|
+
workItemId: string;
|
|
198
|
+
attempt: number;
|
|
199
|
+
leaseId: string;
|
|
200
|
+
sourceContext: SourceContextArtifact;
|
|
201
|
+
}): {
|
|
202
|
+
briefWorkItem: import("./contracts").WorkItem;
|
|
203
|
+
};
|
|
125
204
|
requestWork(args: {
|
|
126
205
|
sessionId: string;
|
|
127
206
|
leaseOwner: string;
|
|
@@ -134,15 +213,63 @@ export declare class AgentVariantsOrchestrator {
|
|
|
134
213
|
total: number;
|
|
135
214
|
};
|
|
136
215
|
getSummary(sessionId: string): TerminalSummary;
|
|
216
|
+
getVariants(sessionId: string): ActiveVariantSnapshot[];
|
|
137
217
|
hasSession(sessionId: string): boolean;
|
|
218
|
+
/** Read the projectContext for a session — used by Express routes that
|
|
219
|
+
* build the chip snapshot via `stateForSession`. */
|
|
220
|
+
getProjectContext(sessionId: string): ProjectContext;
|
|
138
221
|
/** Resolve a worktree path for a code-gen work item, if provisioned. */
|
|
139
222
|
getWorktreePath(sessionId: string, workItemId: string): string | undefined;
|
|
140
223
|
/** Resolve the dev server port for a code-gen work item, if running. */
|
|
141
224
|
getDevServerPort(sessionId: string, workItemId: string): number | undefined;
|
|
225
|
+
getStaticPreviewHtml(sessionId: string, workItemId: string): string | undefined;
|
|
226
|
+
private getStaticPreviewByBriefId;
|
|
227
|
+
private buildStaticPreviewUrl;
|
|
142
228
|
approve(args: {
|
|
143
229
|
sessionId: string;
|
|
144
230
|
selections: ApprovedBriefSelection[];
|
|
145
231
|
}): Promise<ApproveResult>;
|
|
232
|
+
/**
|
|
233
|
+
* Unified one-call kickoff that collapses propose → report_briefs →
|
|
234
|
+
* approve. Synthesizes placeholder briefs server-side (the agent's
|
|
235
|
+
* streamed first-line label replaces them in the UI) and immediately
|
|
236
|
+
* approves so the session lands in `work_items_ready`.
|
|
237
|
+
*
|
|
238
|
+
* Supports both existing-project sessions (spawns code_gen work items
|
|
239
|
+
* for the agent to lease) and zero-to-one sessions (spawns
|
|
240
|
+
* static_preview work items; the server runs scaffold_base in the
|
|
241
|
+
* background). For zero-to-one sessions with source URLs / inspiration
|
|
242
|
+
* extraction, callers must use create_zero_to_one_project instead —
|
|
243
|
+
* this method does not run source research.
|
|
244
|
+
*
|
|
245
|
+
* Host-agnostic: no LLM calls happen here. The agent (Claude Code,
|
|
246
|
+
* Cursor, Codex) generates the label and code when it leases the
|
|
247
|
+
* work items via continue_variants(action="request_work").
|
|
248
|
+
*/
|
|
249
|
+
startUnified(args: {
|
|
250
|
+
prompt: string;
|
|
251
|
+
count?: number;
|
|
252
|
+
target?: Target;
|
|
253
|
+
projectContext?: ProjectContext;
|
|
254
|
+
/** When provided, the orchestrator leases all spawned variant work
|
|
255
|
+
* items immediately so the caller can hand the lease + worktreePaths
|
|
256
|
+
* back to the agent in the same response — saving a separate
|
|
257
|
+
* continue_variants(request_work) round-trip. */
|
|
258
|
+
leaseOwner?: string;
|
|
259
|
+
}): Promise<{
|
|
260
|
+
sessionId: string;
|
|
261
|
+
variants: Array<{
|
|
262
|
+
variantId: string;
|
|
263
|
+
briefId: string;
|
|
264
|
+
label: string;
|
|
265
|
+
status: 'pending';
|
|
266
|
+
}>;
|
|
267
|
+
scaffoldBaseWorkItemId: string | null;
|
|
268
|
+
/** Populated when `leaseOwner` was provided. */
|
|
269
|
+
leaseId?: string;
|
|
270
|
+
leaseTtlMs?: number;
|
|
271
|
+
leasedWorkItems?: import('./SessionStore').RequestWorkResult['leasedWorkItems'];
|
|
272
|
+
}>;
|
|
146
273
|
reportComplete(args: {
|
|
147
274
|
sessionId: string;
|
|
148
275
|
workItemId: string;
|
|
@@ -154,6 +281,9 @@ export declare class AgentVariantsOrchestrator {
|
|
|
154
281
|
code: string;
|
|
155
282
|
message: string;
|
|
156
283
|
};
|
|
284
|
+
tokensIn?: number;
|
|
285
|
+
tokensOut?: number;
|
|
286
|
+
model?: string;
|
|
157
287
|
}): Promise<ReportCompleteResult>;
|
|
158
288
|
cancel(args: {
|
|
159
289
|
sessionId: string;
|
|
@@ -162,6 +292,24 @@ export declare class AgentVariantsOrchestrator {
|
|
|
162
292
|
stage: 'cancelled';
|
|
163
293
|
cleanupStatus: 'pending' | 'complete' | 'partial';
|
|
164
294
|
}>;
|
|
295
|
+
/**
|
|
296
|
+
* Cancel a single variant within a session. Siblings continue. Idempotent
|
|
297
|
+
* on terminal states. Per-variant worktree teardown is deferred to a
|
|
298
|
+
* follow-up; the lease is released, so requestWork won't re-surface this
|
|
299
|
+
* variant and the agent's report_variant_complete for it (if it lands
|
|
300
|
+
* after cancellation) is rejected by the stale-lease check.
|
|
301
|
+
*/
|
|
302
|
+
cancelVariant(args: {
|
|
303
|
+
sessionId: string;
|
|
304
|
+
variantId: string;
|
|
305
|
+
reason?: string;
|
|
306
|
+
}): Promise<{
|
|
307
|
+
sessionId: string;
|
|
308
|
+
variantId: string;
|
|
309
|
+
finalStatus: WorkItemStatus;
|
|
310
|
+
sessionStage: Stage;
|
|
311
|
+
alreadyTerminal: boolean;
|
|
312
|
+
}>;
|
|
165
313
|
/**
|
|
166
314
|
* User has reviewed the rendered variants in chat and picked one. Look up
|
|
167
315
|
* the captured diff, build a VariantPickEnvelope, and enqueue to the
|
|
@@ -171,15 +319,56 @@ export declare class AgentVariantsOrchestrator {
|
|
|
171
319
|
commitVariant(args: {
|
|
172
320
|
sessionId: string;
|
|
173
321
|
variantId: string;
|
|
322
|
+
skipTeardown?: boolean;
|
|
174
323
|
}): Promise<{
|
|
175
324
|
enqueued: boolean;
|
|
176
325
|
duplicate: boolean;
|
|
177
326
|
changedFilesCount: number;
|
|
327
|
+
payloadKind?: 'diff' | 'project-created';
|
|
328
|
+
destinationPath?: string;
|
|
178
329
|
}>;
|
|
330
|
+
cleanupCommittedSession(sessionId: string): Promise<void>;
|
|
331
|
+
/**
|
|
332
|
+
* Ensure the user-facing destination path can receive the new project.
|
|
333
|
+
* Rejects when the path exists and is non-empty.
|
|
334
|
+
*/
|
|
335
|
+
private assertDestinationAvailable;
|
|
179
336
|
/** Read the captured diff for a code-gen variant, if available. */
|
|
180
337
|
getVariantDiff(sessionId: string, variantId: string): string | undefined;
|
|
181
338
|
private provisionWorktrees;
|
|
339
|
+
/**
|
|
340
|
+
* Existing-project flow: clone the user's repo N times via git worktree.
|
|
341
|
+
* Runs synchronously because the operation is fast (no install needed —
|
|
342
|
+
* node_modules is symlinked from the source project).
|
|
343
|
+
*/
|
|
344
|
+
private provisionExistingWorktrees;
|
|
345
|
+
/**
|
|
346
|
+
* Fresh-project flow: scaffold one template per variant + DESIGN.md per
|
|
347
|
+
* slot synchronously (fast — just file writes + git init), then dispatch a
|
|
348
|
+
* background `npm install` task per worktree. Returns immediately so the
|
|
349
|
+
* `approve_variant_briefs` MCP tool doesn't time out on cold installs.
|
|
350
|
+
*
|
|
351
|
+
* On install success: `sessionStore.completeInternal(scaffold_base)` runs,
|
|
352
|
+
* which unblocks the dependent code_gen items.
|
|
353
|
+
*
|
|
354
|
+
* On install failure: the scaffold_base work item is marked failed via
|
|
355
|
+
* `failInternal`, which cascades DEPENDENCY_FAILED to all dependent
|
|
356
|
+
* code_gen items so the session degrades cleanly.
|
|
357
|
+
*/
|
|
358
|
+
private provisionFreshWorktrees;
|
|
359
|
+
/**
|
|
360
|
+
* Run `npm install` in parallel across all fresh worktrees. On all-success,
|
|
361
|
+
* mark scaffold_base succeeded via `completeInternal`. On any failure,
|
|
362
|
+
* mark scaffold_base failed via `failInternal` and emit telemetry.
|
|
363
|
+
*/
|
|
364
|
+
private runBackgroundInstall;
|
|
182
365
|
private handleSucceededReport;
|
|
366
|
+
/**
|
|
367
|
+
* Resolve dev server invocation for a worktree. Fresh-project worktrees
|
|
368
|
+
* always use the Vite template's npm command at the worktree root; existing
|
|
369
|
+
* projects defer to the user's framework/packageManager config.
|
|
370
|
+
*/
|
|
371
|
+
private resolveDevServer;
|
|
183
372
|
private teardownSession;
|
|
184
373
|
private ensureResources;
|
|
185
374
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorktreeOrchestrator.d.ts","sourceRoot":"","sources":["../../../src/mcp/agent-variants/WorktreeOrchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"WorktreeOrchestrator.d.ts","sourceRoot":"","sources":["../../../src/mcp/agent-variants/WorktreeOrchestrator.ts"],"names":[],"mappings":"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"}
|