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.
Files changed (138) hide show
  1. package/dist/mcp/agent-variants/SessionStore.d.ts +63 -2
  2. package/dist/mcp/agent-variants/SessionStore.d.ts.map +1 -1
  3. package/dist/mcp/agent-variants/SessionStore.js +331 -71
  4. package/dist/mcp/agent-variants/SessionStore.js.map +1 -1
  5. package/dist/mcp/agent-variants/WorktreeOrchestrator.d.ts +197 -8
  6. package/dist/mcp/agent-variants/WorktreeOrchestrator.d.ts.map +1 -1
  7. package/dist/mcp/agent-variants/WorktreeOrchestrator.js +805 -46
  8. package/dist/mcp/agent-variants/WorktreeOrchestrator.js.map +1 -1
  9. package/dist/mcp/agent-variants/contracts.d.ts +1101 -9
  10. package/dist/mcp/agent-variants/contracts.d.ts.map +1 -1
  11. package/dist/mcp/agent-variants/contracts.js +131 -5
  12. package/dist/mcp/agent-variants/contracts.js.map +1 -1
  13. package/dist/mcp/agent-variants/createZeroToOneTool.d.ts +205 -0
  14. package/dist/mcp/agent-variants/createZeroToOneTool.d.ts.map +1 -0
  15. package/dist/mcp/agent-variants/createZeroToOneTool.js +295 -0
  16. package/dist/mcp/agent-variants/createZeroToOneTool.js.map +1 -0
  17. package/dist/mcp/agent-variants/designContextStore.d.ts +160 -0
  18. package/dist/mcp/agent-variants/designContextStore.d.ts.map +1 -0
  19. package/dist/mcp/agent-variants/designContextStore.js +295 -0
  20. package/dist/mcp/agent-variants/designContextStore.js.map +1 -0
  21. package/dist/mcp/agent-variants/elementRefToTarget.d.ts +21 -0
  22. package/dist/mcp/agent-variants/elementRefToTarget.d.ts.map +1 -0
  23. package/dist/mcp/agent-variants/elementRefToTarget.js +47 -0
  24. package/dist/mcp/agent-variants/elementRefToTarget.js.map +1 -0
  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 +6 -0
  28. package/dist/mcp/agent-variants/errors.js.map +1 -1
  29. package/dist/mcp/agent-variants/index.d.ts +4 -1
  30. package/dist/mcp/agent-variants/index.d.ts.map +1 -1
  31. package/dist/mcp/agent-variants/index.js +7 -1
  32. package/dist/mcp/agent-variants/index.js.map +1 -1
  33. package/dist/mcp/agent-variants/inspirationDesignContext.d.ts +430 -0
  34. package/dist/mcp/agent-variants/inspirationDesignContext.d.ts.map +1 -0
  35. package/dist/mcp/agent-variants/inspirationDesignContext.js +2379 -0
  36. package/dist/mcp/agent-variants/inspirationDesignContext.js.map +1 -0
  37. package/dist/mcp/agent-variants/pendingChangesAdapter.d.ts.map +1 -1
  38. package/dist/mcp/agent-variants/pendingChangesAdapter.js +10 -7
  39. package/dist/mcp/agent-variants/pendingChangesAdapter.js.map +1 -1
  40. package/dist/mcp/agent-variants/sourceContext.d.ts +7 -0
  41. package/dist/mcp/agent-variants/sourceContext.d.ts.map +1 -0
  42. package/dist/mcp/agent-variants/sourceContext.js +158 -0
  43. package/dist/mcp/agent-variants/sourceContext.js.map +1 -0
  44. package/dist/mcp/agent-variants/tools.d.ts +14 -0
  45. package/dist/mcp/agent-variants/tools.d.ts.map +1 -1
  46. package/dist/mcp/agent-variants/tools.js +330 -15
  47. package/dist/mcp/agent-variants/tools.js.map +1 -1
  48. package/dist/mcp/changeBatchClassification.d.ts +30 -0
  49. package/dist/mcp/changeBatchClassification.d.ts.map +1 -0
  50. package/dist/mcp/changeBatchClassification.js +65 -0
  51. package/dist/mcp/changeBatchClassification.js.map +1 -0
  52. package/dist/mcp/server.d.ts.map +1 -1
  53. package/dist/mcp/server.js +237 -39
  54. package/dist/mcp/server.js.map +1 -1
  55. package/dist/proxy-middleware/proxy-config.d.ts.map +1 -1
  56. package/dist/proxy-middleware/proxy-config.js +1 -15
  57. package/dist/proxy-middleware/proxy-config.js.map +1 -1
  58. package/dist/routes/agentVariants.d.ts +3 -1
  59. package/dist/routes/agentVariants.d.ts.map +1 -1
  60. package/dist/routes/agentVariants.js +131 -13
  61. package/dist/routes/agentVariants.js.map +1 -1
  62. package/dist/routes/mcp.d.ts +7 -1
  63. package/dist/routes/mcp.d.ts.map +1 -1
  64. package/dist/routes/mcp.js +139 -16
  65. package/dist/routes/mcp.js.map +1 -1
  66. package/dist/server.d.ts.map +1 -1
  67. package/dist/server.js +2 -2
  68. package/dist/server.js.map +1 -1
  69. package/dist/services/SessionBridgeService.d.ts +22 -0
  70. package/dist/services/SessionBridgeService.d.ts.map +1 -1
  71. package/dist/services/SessionBridgeService.js +61 -0
  72. package/dist/services/SessionBridgeService.js.map +1 -1
  73. package/dist/services/TelemetryService.d.ts +121 -0
  74. package/dist/services/TelemetryService.d.ts.map +1 -1
  75. package/dist/services/TelemetryService.js +155 -0
  76. package/dist/services/TelemetryService.js.map +1 -1
  77. package/dist/services/WorktreeManager.d.ts +57 -5
  78. package/dist/services/WorktreeManager.d.ts.map +1 -1
  79. package/dist/services/WorktreeManager.js +205 -13
  80. package/dist/services/WorktreeManager.js.map +1 -1
  81. package/dist/services/templates/designCatalog.d.ts +27 -0
  82. package/dist/services/templates/designCatalog.d.ts.map +1 -0
  83. package/dist/services/templates/designCatalog.js +141 -0
  84. package/dist/services/templates/designCatalog.js.map +1 -0
  85. package/dist/services/templates/designmd/airbnb.md +545 -0
  86. package/dist/services/templates/designmd/airtable.md +554 -0
  87. package/dist/services/templates/designmd/apple.md +562 -0
  88. package/dist/services/templates/designmd/binance.md +634 -0
  89. package/dist/services/templates/designmd/bmw-m.md +503 -0
  90. package/dist/services/templates/designmd/bmw.md +544 -0
  91. package/dist/services/templates/designmd/bugatti.md +454 -0
  92. package/dist/services/templates/designmd/cal.md +542 -0
  93. package/dist/services/templates/designmd/claude.md +589 -0
  94. package/dist/services/templates/designmd/clay.md +541 -0
  95. package/dist/services/templates/designmd/cohere.md +451 -0
  96. package/dist/services/templates/designmd/cursor.md +537 -0
  97. package/dist/services/templates/designmd/expo.md +526 -0
  98. package/dist/services/templates/designmd/figma.md +578 -0
  99. package/dist/services/templates/designmd/framer.md +544 -0
  100. package/dist/services/templates/designmd/hp.md +670 -0
  101. package/dist/services/templates/designmd/linear.app.md +548 -0
  102. package/dist/services/templates/designmd/mintlify.md +852 -0
  103. package/dist/services/templates/designmd/miro.md +825 -0
  104. package/dist/services/templates/designmd/notion.md +821 -0
  105. package/dist/services/templates/designmd/raycast.md +669 -0
  106. package/dist/services/templates/designmd/resend.md +585 -0
  107. package/dist/services/templates/designmd/sentry.md +262 -0
  108. package/dist/services/templates/designmd/shopify.md +350 -0
  109. package/dist/services/templates/designmd/spotify.md +246 -0
  110. package/dist/services/templates/designmd/stripe.md +322 -0
  111. package/dist/services/templates/designmd/supabase.md +255 -0
  112. package/dist/services/templates/designmd/superhuman.md +252 -0
  113. package/dist/services/templates/designmd/uber.md +295 -0
  114. package/dist/services/templates/designmd/vercel.md +310 -0
  115. package/dist/services/templates/viteReactTs.d.ts +42 -0
  116. package/dist/services/templates/viteReactTs.d.ts.map +1 -0
  117. package/dist/services/templates/viteReactTs.js +267 -0
  118. package/dist/services/templates/viteReactTs.js.map +1 -0
  119. package/dist/types/change-request-types.d.ts +15 -3
  120. package/dist/types/change-request-types.d.ts.map +1 -1
  121. package/dist/utils/skills/claude-skill.d.ts +2 -2
  122. package/dist/utils/skills/claude-skill.d.ts.map +1 -1
  123. package/dist/utils/skills/claude-skill.js +19 -98
  124. package/dist/utils/skills/claude-skill.js.map +1 -1
  125. package/dist/utils/skills/cursor-rules.d.ts +2 -2
  126. package/dist/utils/skills/cursor-rules.d.ts.map +1 -1
  127. package/dist/utils/skills/cursor-rules.js +15 -80
  128. package/dist/utils/skills/cursor-rules.js.map +1 -1
  129. package/dist/utils/skills/shared-variants-protocol.d.ts +23 -0
  130. package/dist/utils/skills/shared-variants-protocol.d.ts.map +1 -0
  131. package/dist/utils/skills/shared-variants-protocol.js +131 -0
  132. package/dist/utils/skills/shared-variants-protocol.js.map +1 -0
  133. package/package.json +4 -3
  134. package/src/ui/dist/assets/main-C9jfEp80.css +1 -0
  135. package/src/ui/dist/assets/main-DejhsBWR.js +382 -0
  136. package/src/ui/dist/index.html +2 -2
  137. package/src/ui/dist/assets/main-Bv0LuxKz.js +0 -382
  138. package/src/ui/dist/assets/main-BzmseUDd.css +0 -1
@@ -4,6 +4,7 @@ exports.SessionStore = exports.SCAFFOLD_LEASE_TTL_MS = exports.DEFAULT_LEASE_TTL
4
4
  const crypto_1 = require("crypto");
5
5
  const errors_1 = require("./errors");
6
6
  const contracts_1 = require("./contracts");
7
+ const sourceContext_1 = require("./sourceContext");
7
8
  const DEFAULT_VARIANT_COUNT = 4;
8
9
  const MAX_VARIANT_COUNT = 8;
9
10
  /** TTL for a lease on a code_gen work item. Bumped to 10min after observing
@@ -21,6 +22,7 @@ function fingerprint(parts) {
21
22
  function leaseTtlForKind(kind) {
22
23
  return kind === 'scaffold_base' ? exports.SCAFFOLD_LEASE_TTL_MS : exports.DEFAULT_LEASE_TTL_MS;
23
24
  }
25
+ /** Describes the work item contract returned to an agent lease holder. */
24
26
  function descriptorFor(item) {
25
27
  return {
26
28
  id: item.id,
@@ -31,18 +33,64 @@ function descriptorFor(item) {
31
33
  output_schema: outputSchemaFor(item.kind),
32
34
  };
33
35
  }
36
+ /** Returns the completion payload shape required for each leased work item. */
34
37
  function outputSchemaFor(kind) {
35
38
  switch (kind) {
39
+ case 'source_research':
40
+ return {
41
+ sourceContext: 'sourceFindings, sectionInventory, visualObservations, sourceRoles, qualityBar, screenshotReferences?',
42
+ };
36
43
  case 'brief':
37
44
  return { briefs: 'Array<{briefId, label, body}>' };
38
45
  case 'scaffold_base':
39
46
  return { workspacePath: 'string', framework: 'string' };
47
+ case 'static_preview':
48
+ return { html: 'string', css: 'string?', js: 'string?' };
40
49
  case 'code_gen':
41
50
  return { worktreePath: 'string', changedFiles: 'string[]' };
42
51
  case 'cleanup_runtime':
43
52
  return { released: 'boolean' };
44
53
  }
45
54
  }
55
+ const variantDesignFromInput = (entry) => {
56
+ if (!entry)
57
+ return undefined;
58
+ if (entry.kind === 'slug') {
59
+ return {
60
+ kind: 'slug',
61
+ slug: entry.slug,
62
+ displayName: entry.slug,
63
+ };
64
+ }
65
+ return {
66
+ kind: 'markdown',
67
+ label: entry.label,
68
+ };
69
+ };
70
+ const createBriefWorkItem = (args) => ({
71
+ id: (0, crypto_1.randomUUID)(),
72
+ kind: 'brief',
73
+ status: 'pending',
74
+ attempt: 0,
75
+ dependsOn: [],
76
+ input: {
77
+ prompt: args.prompt,
78
+ count: args.count,
79
+ target: args.target,
80
+ projectContext: args.projectContext,
81
+ },
82
+ acceptedReports: [],
83
+ });
84
+ const requiresSourceResearch = (projectContext) => {
85
+ if (projectContext.kind !== 'fresh')
86
+ return false;
87
+ const sourceContext = projectContext.sourceContext;
88
+ if (!sourceContext)
89
+ return false;
90
+ const hasSources = (sourceContext.sourceUrls?.length ?? 0) > 0;
91
+ const hasArtifact = Boolean(sourceContext.artifact);
92
+ return hasSources && !hasArtifact;
93
+ };
46
94
  class SessionStore {
47
95
  sessions = new Map();
48
96
  clock;
@@ -57,36 +105,58 @@ class SessionStore {
57
105
  }
58
106
  const projectContext = args.projectContext ?? { kind: 'existing' };
59
107
  const count = clampCount(args.count);
60
- const briefItem = {
61
- id: (0, crypto_1.randomUUID)(),
62
- kind: 'brief',
63
- status: 'pending',
64
- attempt: 0,
65
- dependsOn: [],
66
- input: {
108
+ const sourceContextForResearch = projectContext.kind === 'fresh' ? projectContext.sourceContext : undefined;
109
+ const needsSourceResearch = requiresSourceResearch(projectContext);
110
+ const initialItem = needsSourceResearch
111
+ ? {
112
+ id: (0, crypto_1.randomUUID)(),
113
+ kind: 'source_research',
114
+ status: 'pending',
115
+ attempt: 0,
116
+ dependsOn: [],
117
+ input: {
118
+ prompt: args.prompt,
119
+ sourceUrls: sourceContextForResearch?.sourceUrls ?? [],
120
+ sourceArtifacts: sourceContextForResearch?.sourceArtifacts ?? [],
121
+ preserveBrand: sourceContextForResearch?.preserveBrand ?? false,
122
+ projectContext,
123
+ },
124
+ acceptedReports: [],
125
+ }
126
+ : createBriefWorkItem({
67
127
  prompt: args.prompt,
68
128
  count,
69
129
  target: args.target,
70
130
  projectContext,
71
- },
72
- acceptedReports: [],
73
- };
131
+ });
74
132
  const record = {
75
133
  sessionId,
76
- stage: 'awaiting_briefs',
134
+ stage: needsSourceResearch
135
+ ? 'awaiting_source_research'
136
+ : 'awaiting_briefs',
77
137
  prompt: args.prompt,
78
138
  count,
79
139
  target: args.target,
80
140
  projectContext,
81
141
  briefs: [],
82
142
  approvedBriefs: [],
83
- workItems: new Map([[briefItem.id, briefItem]]),
84
- workItemOrder: [briefItem.id],
143
+ workItems: new Map([[initialItem.id, initialItem]]),
144
+ workItemOrder: [initialItem.id],
85
145
  acceptedFingerprints: new Map(),
86
146
  createdAt: this.clock.now(),
87
147
  };
88
148
  this.sessions.set(sessionId, record);
89
- return { sessionId, briefWorkItem: briefItem };
149
+ return needsSourceResearch
150
+ ? {
151
+ sessionId,
152
+ stage: 'awaiting_source_research',
153
+ sourceResearchWorkItem: initialItem,
154
+ }
155
+ : {
156
+ sessionId,
157
+ stage: 'awaiting_briefs',
158
+ briefWorkItem: initialItem,
159
+ };
90
160
  }
91
161
  reportBriefs(args) {
92
162
  const session = this.requireSession(args.sessionId);
@@ -122,6 +192,51 @@ class SessionStore {
122
192
  session.acceptedFingerprints.set(fp, result);
123
193
  return result;
124
194
  }
195
+ reportSourceContext(args) {
196
+ const session = this.requireSession(args.sessionId);
197
+ const fp = fingerprint([
198
+ 'reportSourceContext',
199
+ args.sessionId,
200
+ args.workItemId,
201
+ args.leaseId,
202
+ args.attempt,
203
+ 'succeeded',
204
+ ]);
205
+ const cached = session.acceptedFingerprints.get(fp);
206
+ if (cached)
207
+ return cached;
208
+ this.assertStage(session, ['awaiting_source_research']);
209
+ const item = this.requireWorkItem(session, args.workItemId);
210
+ if (item.kind !== 'source_research') {
211
+ throw new errors_1.AgentVariantsError('INVALID_STAGE_ACTION', `Work item ${args.workItemId} is not a source_research item`);
212
+ }
213
+ this.validateLease(item, args.leaseId, args.attempt);
214
+ const normalizedArtifact = (0, sourceContext_1.normalizeSourceContextArtifact)(args.sourceContext);
215
+ if (session.projectContext.kind === 'fresh') {
216
+ session.projectContext = {
217
+ ...session.projectContext,
218
+ sourceContext: {
219
+ ...(session.projectContext.sourceContext ?? {}),
220
+ artifact: normalizedArtifact,
221
+ },
222
+ };
223
+ }
224
+ item.status = 'succeeded';
225
+ item.output = { sourceContext: normalizedArtifact };
226
+ item.lease = undefined;
227
+ const briefItem = createBriefWorkItem({
228
+ prompt: session.prompt,
229
+ count: session.count,
230
+ target: session.target,
231
+ projectContext: session.projectContext,
232
+ });
233
+ session.workItems.set(briefItem.id, briefItem);
234
+ session.workItemOrder.push(briefItem.id);
235
+ session.stage = 'awaiting_briefs';
236
+ const result = { briefWorkItem: briefItem };
237
+ session.acceptedFingerprints.set(fp, result);
238
+ return result;
239
+ }
125
240
  approve(args) {
126
241
  const session = this.requireSession(args.sessionId);
127
242
  this.assertStage(session, ['awaiting_approval']);
@@ -135,60 +250,70 @@ class SessionStore {
135
250
  }
136
251
  }
137
252
  session.approvedBriefs = args.selections;
138
- let scaffoldBaseId;
139
- if (session.projectContext.kind === 'fresh') {
140
- const scaffoldItem = {
141
- id: (0, crypto_1.randomUUID)(),
142
- kind: 'scaffold_base',
143
- status: 'pending',
144
- attempt: 0,
145
- dependsOn: [],
146
- input: {
147
- workspacePath: session.projectContext.workspacePath,
148
- framework: session.projectContext.framework,
149
- },
150
- acceptedReports: [],
151
- };
152
- session.workItems.set(scaffoldItem.id, scaffoldItem);
153
- session.workItemOrder.push(scaffoldItem.id);
154
- scaffoldBaseId = scaffoldItem.id;
155
- }
253
+ const isFresh = session.projectContext.kind === 'fresh';
156
254
  const codeGenIds = [];
157
- for (const sel of args.selections) {
158
- const brief = session.briefs.find((b) => b.briefId === sel.briefId);
159
- if (!brief)
160
- continue;
161
- const codeGenItem = {
162
- id: (0, crypto_1.randomUUID)(),
163
- kind: 'code_gen',
164
- status: 'pending',
165
- attempt: 0,
166
- dependsOn: scaffoldBaseId ? [scaffoldBaseId] : [],
167
- input: {
168
- briefId: brief.briefId,
169
- briefLabel: brief.label,
170
- briefBody: sel.bodyOverride ?? brief.body,
171
- target: session.target,
172
- projectContext: session.projectContext,
173
- },
174
- acceptedReports: [],
175
- };
176
- session.workItems.set(codeGenItem.id, codeGenItem);
177
- session.workItemOrder.push(codeGenItem.id);
178
- codeGenIds.push(codeGenItem.id);
179
- }
255
+ args.selections.forEach((sel) => {
256
+ const briefIndex = session.briefs.findIndex((b) => b.briefId === sel.briefId);
257
+ if (briefIndex === -1)
258
+ return;
259
+ const brief = session.briefs[briefIndex];
260
+ if (isFresh) {
261
+ // Fresh (zero-to-one) sessions: static_preview is the only and final
262
+ // work item. No scaffold_base or code_gen — the HTML is the deliverable.
263
+ const staticPreviewItem = {
264
+ id: (0, crypto_1.randomUUID)(),
265
+ kind: 'static_preview',
266
+ status: 'pending',
267
+ attempt: 0,
268
+ dependsOn: [],
269
+ input: {
270
+ briefId: brief.briefId,
271
+ briefLabel: brief.label,
272
+ briefBody: sel.bodyOverride ?? brief.body,
273
+ projectContext: session.projectContext,
274
+ },
275
+ acceptedReports: [],
276
+ };
277
+ session.workItems.set(staticPreviewItem.id, staticPreviewItem);
278
+ session.workItemOrder.push(staticPreviewItem.id);
279
+ }
280
+ else {
281
+ const codeGenItem = {
282
+ id: (0, crypto_1.randomUUID)(),
283
+ kind: 'code_gen',
284
+ status: 'pending',
285
+ attempt: 0,
286
+ dependsOn: [],
287
+ input: {
288
+ briefId: brief.briefId,
289
+ briefLabel: brief.label,
290
+ briefBody: sel.bodyOverride ?? brief.body,
291
+ target: session.target,
292
+ projectContext: session.projectContext,
293
+ },
294
+ acceptedReports: [],
295
+ };
296
+ session.workItems.set(codeGenItem.id, codeGenItem);
297
+ session.workItemOrder.push(codeGenItem.id);
298
+ codeGenIds.push(codeGenItem.id);
299
+ }
300
+ });
180
301
  session.stage = 'work_items_ready';
181
302
  return {
182
303
  approvedCount: args.selections.length,
183
304
  totalCount: session.briefs.length,
184
305
  codeGenWorkItemIds: codeGenIds,
185
- scaffoldBaseWorkItemId: scaffoldBaseId,
306
+ scaffoldBaseWorkItemId: undefined,
186
307
  };
187
308
  }
188
309
  // --- Lease management ---------------------------------------------------
189
310
  requestWork(args) {
190
311
  const session = this.requireSession(args.sessionId);
191
- this.assertStage(session, ['work_items_ready', 'waiting_for_results']);
312
+ this.assertStage(session, [
313
+ 'awaiting_source_research',
314
+ 'work_items_ready',
315
+ 'waiting_for_results',
316
+ ]);
192
317
  this.expireStaleLeases(session);
193
318
  const leasable = this.leasableItems(session);
194
319
  const limit = args.requestedLeaseCount ?? leasable.length;
@@ -210,11 +335,14 @@ class SessionStore {
210
335
  };
211
336
  item.status = 'running';
212
337
  }
213
- session.stage = 'waiting_for_results';
338
+ session.stage =
339
+ session.stage === 'awaiting_source_research'
340
+ ? 'awaiting_source_research'
341
+ : 'waiting_for_results';
214
342
  return {
215
343
  leaseId,
216
344
  leaseTtlMs: Math.max(...issued.map((i) => leaseTtlForKind(i.kind))),
217
- leasedWorkItems: issued.map(descriptorFor),
345
+ leasedWorkItems: issued.map((item) => descriptorFor(item)),
218
346
  };
219
347
  }
220
348
  reportComplete(args) {
@@ -275,6 +403,49 @@ class SessionStore {
275
403
  session.acceptedFingerprints.set(fp, result);
276
404
  return result;
277
405
  }
406
+ /**
407
+ * Mark a server-owned work item as succeeded without going through the
408
+ * lease + agent-report path. Used for `scaffold_base` items where the
409
+ * orchestrator runs the scaffold + npm install in the background and needs
410
+ * to unblock dependent code_gen items when it's done.
411
+ *
412
+ * Bypasses lease validation because no lease was ever issued for internal
413
+ * items. Idempotent: completing an already-succeeded item is a no-op.
414
+ */
415
+ completeInternal(args) {
416
+ const session = this.requireSession(args.sessionId);
417
+ const item = this.requireWorkItem(session, args.workItemId);
418
+ if (!item.internal) {
419
+ throw new errors_1.AgentVariantsError('INVALID_STAGE_ACTION', `completeInternal called on non-internal work item ${args.workItemId}`);
420
+ }
421
+ if (item.status === 'succeeded') {
422
+ return this.evaluateTerminal(session);
423
+ }
424
+ item.status = 'succeeded';
425
+ item.output = args.output;
426
+ item.lease = undefined;
427
+ return this.evaluateTerminal(session);
428
+ }
429
+ /**
430
+ * Mark a server-owned work item as failed, cascading DEPENDENCY_FAILED to
431
+ * its dependents. Used when the orchestrator's background scaffold work
432
+ * (npm install, file writes) fails and we need the session to degrade.
433
+ */
434
+ failInternal(args) {
435
+ const session = this.requireSession(args.sessionId);
436
+ const item = this.requireWorkItem(session, args.workItemId);
437
+ if (!item.internal) {
438
+ throw new errors_1.AgentVariantsError('INVALID_STAGE_ACTION', `failInternal called on non-internal work item ${args.workItemId}`);
439
+ }
440
+ if (item.status === 'succeeded' || item.status === 'failed') {
441
+ return this.evaluateTerminal(session);
442
+ }
443
+ item.status = 'failed';
444
+ item.error = args.error;
445
+ item.lease = undefined;
446
+ this.cascadeDependencyFailure(session, item.id);
447
+ return this.evaluateTerminal(session);
448
+ }
278
449
  // --- Cancel / cleanup ---------------------------------------------------
279
450
  cancel(args) {
280
451
  const session = this.requireSession(args.sessionId);
@@ -294,6 +465,37 @@ class SessionStore {
294
465
  // Phase 2 wires the worktree teardown.
295
466
  return { stage: 'cancelled', cleanupStatus: 'pending' };
296
467
  }
468
+ /**
469
+ * Cancel a single work item without tearing down its sibling variants or
470
+ * the session itself. Idempotent on terminal states — already-cancelled,
471
+ * succeeded, or failed items return their current status with
472
+ * `alreadyTerminal: true` and no state change. Triggers
473
+ * `evaluateTerminal` so the session can reach a terminal stage if this
474
+ * was the last in-flight item.
475
+ */
476
+ cancelWorkItem(args) {
477
+ const session = this.requireSession(args.sessionId);
478
+ const item = this.requireWorkItem(session, args.workItemId);
479
+ if (item.status === 'cancelled' ||
480
+ item.status === 'succeeded' ||
481
+ item.status === 'failed') {
482
+ return {
483
+ workItemId: item.id,
484
+ finalStatus: item.status,
485
+ sessionStage: session.stage,
486
+ alreadyTerminal: true,
487
+ };
488
+ }
489
+ item.status = 'cancelled';
490
+ item.lease = undefined;
491
+ this.evaluateTerminal(session);
492
+ return {
493
+ workItemId: item.id,
494
+ finalStatus: 'cancelled',
495
+ sessionStage: session.stage,
496
+ alreadyTerminal: false,
497
+ };
498
+ }
297
499
  // --- Variant pick handoff (queues to pending-changes adapter) -----------
298
500
  recordVariantPick(args) {
299
501
  const session = this.requireSession(args.sessionId);
@@ -324,6 +526,10 @@ class SessionStore {
324
526
  const session = this.requireSession(sessionId);
325
527
  return this.summaryOf(session);
326
528
  }
529
+ getVariants(sessionId) {
530
+ const session = this.requireSession(sessionId);
531
+ return this.variantsOf(session);
532
+ }
327
533
  getVariantPick(sessionId) {
328
534
  return this.requireSession(sessionId).variantPick;
329
535
  }
@@ -337,6 +543,11 @@ class SessionStore {
337
543
  const item = this.requireWorkItem(session, workItemId);
338
544
  return item.input;
339
545
  }
546
+ getWorkItemOutput(sessionId, workItemId) {
547
+ const session = this.requireSession(sessionId);
548
+ const item = this.requireWorkItem(session, workItemId);
549
+ return item.output;
550
+ }
340
551
  /** Read the projectContext for a session (existing | fresh). */
341
552
  getProjectContext(sessionId) {
342
553
  return this.requireSession(sessionId).projectContext;
@@ -392,14 +603,38 @@ class SessionStore {
392
603
  const item = session.workItems.get(id);
393
604
  if (item.kind === 'brief')
394
605
  continue;
606
+ // Server-owned items never surface to external agents.
607
+ if (item.internal)
608
+ continue;
395
609
  if (item.status !== 'pending')
396
610
  continue;
397
611
  if (!this.dependenciesMet(session, item))
398
612
  continue;
613
+ if (item.kind === 'static_preview' &&
614
+ this.hasLeasableCodeGenForStaticPreview(session, item)) {
615
+ continue;
616
+ }
399
617
  out.push(item);
400
618
  }
401
619
  return out;
402
620
  }
621
+ hasLeasableCodeGenForStaticPreview(session, staticPreview) {
622
+ const staticInput = staticPreview.input;
623
+ if (!staticInput.briefId)
624
+ return false;
625
+ for (const candidate of session.workItems.values()) {
626
+ if (candidate.kind !== 'code_gen')
627
+ continue;
628
+ if (candidate.status !== 'pending')
629
+ continue;
630
+ if (!this.dependenciesMet(session, candidate))
631
+ continue;
632
+ const codeInput = candidate.input;
633
+ if (codeInput.briefId === staticInput.briefId)
634
+ return true;
635
+ }
636
+ return false;
637
+ }
403
638
  dependenciesMet(session, item) {
404
639
  for (const depId of item.dependsOn) {
405
640
  const dep = session.workItems.get(depId);
@@ -419,9 +654,13 @@ class SessionStore {
419
654
  }
420
655
  }
421
656
  }
657
+ terminalItems(session) {
658
+ const isFresh = session.projectContext.kind === 'fresh';
659
+ return [...session.workItems.values()].filter((i) => i.kind === (isFresh ? 'static_preview' : 'code_gen'));
660
+ }
422
661
  evaluateTerminal(session) {
423
- const codeGenItems = [...session.workItems.values()].filter((i) => i.kind === 'code_gen');
424
- const allDone = codeGenItems.every((i) => i.status === 'succeeded' ||
662
+ const items = this.terminalItems(session);
663
+ const allDone = items.every((i) => i.status === 'succeeded' ||
425
664
  i.status === 'failed' ||
426
665
  i.status === 'cancelled');
427
666
  if (!allDone) {
@@ -430,9 +669,9 @@ class SessionStore {
430
669
  progress: this.progressOf(session),
431
670
  };
432
671
  }
433
- const succeeded = codeGenItems.filter((i) => i.status === 'succeeded').length;
672
+ const succeeded = items.filter((i) => i.status === 'succeeded').length;
434
673
  let terminal;
435
- if (succeeded === codeGenItems.length)
674
+ if (succeeded === items.length)
436
675
  terminal = 'ready';
437
676
  else if (succeeded > 0)
438
677
  terminal = 'degraded';
@@ -446,17 +685,22 @@ class SessionStore {
446
685
  };
447
686
  }
448
687
  progressOf(session) {
449
- const codeGen = [...session.workItems.values()].filter((i) => i.kind === 'code_gen');
450
- const ready = codeGen.filter((i) => i.status === 'succeeded').length;
451
- return { ready, total: codeGen.length };
688
+ if (session.stage === 'awaiting_source_research') {
689
+ const sourceItems = [...session.workItems.values()].filter((item) => item.kind === 'source_research');
690
+ const ready = sourceItems.filter((item) => item.status === 'succeeded').length;
691
+ return { ready, total: sourceItems.length };
692
+ }
693
+ const items = this.terminalItems(session);
694
+ const ready = items.filter((i) => i.status === 'succeeded').length;
695
+ return { ready, total: items.length };
452
696
  }
453
697
  summaryOf(session) {
454
- const codeGen = [...session.workItems.values()].filter((i) => i.kind === 'code_gen');
698
+ const items = this.terminalItems(session);
455
699
  return {
456
- successCount: codeGen.filter((i) => i.status === 'succeeded').length,
457
- failureCount: codeGen.filter((i) => i.status === 'failed').length,
458
- cancelledCount: codeGen.filter((i) => i.status === 'cancelled').length,
459
- variants: codeGen.map((i) => {
700
+ successCount: items.filter((i) => i.status === 'succeeded').length,
701
+ failureCount: items.filter((i) => i.status === 'failed').length,
702
+ cancelledCount: items.filter((i) => i.status === 'cancelled').length,
703
+ variants: items.map((i) => {
460
704
  const input = i.input;
461
705
  return {
462
706
  workItemId: i.id,
@@ -466,6 +710,22 @@ class SessionStore {
466
710
  }),
467
711
  };
468
712
  }
713
+ variantsOf(session) {
714
+ const isFresh = session.projectContext.kind === 'fresh';
715
+ return [...session.workItems.values()]
716
+ .filter((i) => i.kind === (isFresh ? 'static_preview' : 'code_gen'))
717
+ .map((item) => {
718
+ const input = item.input;
719
+ return {
720
+ workItemId: item.id,
721
+ briefId: input.briefId ?? '',
722
+ label: input.briefLabel ?? 'Variant',
723
+ status: item.status,
724
+ design: variantDesignFromInput(input.designContextEntry),
725
+ ...(item.error?.code ? { errorCode: String(item.error.code) } : {}),
726
+ };
727
+ });
728
+ }
469
729
  }
470
730
  exports.SessionStore = SessionStore;
471
731
  function clampCount(count) {
@@ -1 +1 @@
1
- {"version":3,"file":"SessionStore.js","sourceRoot":"","sources":["../../../src/mcp/agent-variants/SessionStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SessionStore.js","sourceRoot":"","sources":["../../../src/mcp/agent-variants/SessionStore.ts"],"names":[],"mappings":"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"}