rivet-design 0.13.4 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/dist/agent-variants/SessionStore.d.ts +14 -3
  2. package/dist/agent-variants/SessionStore.d.ts.map +1 -1
  3. package/dist/agent-variants/SessionStore.js +9 -1
  4. package/dist/agent-variants/SessionStore.js.map +1 -1
  5. package/dist/agent-variants/WorkerExecutorService.d.ts +140 -0
  6. package/dist/agent-variants/WorkerExecutorService.d.ts.map +1 -0
  7. package/dist/agent-variants/WorkerExecutorService.js +496 -0
  8. package/dist/agent-variants/WorkerExecutorService.js.map +1 -0
  9. package/dist/agent-variants/WorktreeOrchestrator.d.ts +24 -1
  10. package/dist/agent-variants/WorktreeOrchestrator.d.ts.map +1 -1
  11. package/dist/agent-variants/WorktreeOrchestrator.js +82 -3
  12. package/dist/agent-variants/WorktreeOrchestrator.js.map +1 -1
  13. package/dist/agent-variants/contracts.d.ts +30 -13
  14. package/dist/agent-variants/contracts.d.ts.map +1 -1
  15. package/dist/agent-variants/contracts.js +11 -4
  16. package/dist/agent-variants/contracts.js.map +1 -1
  17. package/dist/agent-variants/directionAuthoring.d.ts +36 -0
  18. package/dist/agent-variants/directionAuthoring.d.ts.map +1 -0
  19. package/dist/agent-variants/directionAuthoring.js +348 -0
  20. package/dist/agent-variants/directionAuthoring.js.map +1 -0
  21. package/dist/agent-variants/runLabel.d.ts +5 -4
  22. package/dist/agent-variants/runLabel.d.ts.map +1 -1
  23. package/dist/agent-variants/runLabel.js +16 -8
  24. package/dist/agent-variants/runLabel.js.map +1 -1
  25. package/dist/agent-variants/videoKeyframes.d.ts +19 -0
  26. package/dist/agent-variants/videoKeyframes.d.ts.map +1 -0
  27. package/dist/agent-variants/videoKeyframes.js +109 -0
  28. package/dist/agent-variants/videoKeyframes.js.map +1 -0
  29. package/dist/agent-variants/workItemBriefing.d.ts +3 -1
  30. package/dist/agent-variants/workItemBriefing.d.ts.map +1 -1
  31. package/dist/agent-variants/workItemBriefing.js +34 -2
  32. package/dist/agent-variants/workItemBriefing.js.map +1 -1
  33. package/dist/cli/commands/mcpServe.d.ts.map +1 -1
  34. package/dist/cli/commands/mcpServe.js +57 -25
  35. package/dist/cli/commands/mcpServe.js.map +1 -1
  36. package/dist/cli/commands/variants.d.ts.map +1 -1
  37. package/dist/cli/commands/variants.js +294 -4
  38. package/dist/cli/commands/variants.js.map +1 -1
  39. package/dist/cli/hostWorkNextAction.d.ts.map +1 -1
  40. package/dist/cli/hostWorkNextAction.js +6 -1
  41. package/dist/cli/hostWorkNextAction.js.map +1 -1
  42. package/dist/cli/router.js +2 -2
  43. package/dist/cli/router.js.map +1 -1
  44. package/dist/hosts/workerDefaults.d.ts +42 -0
  45. package/dist/hosts/workerDefaults.d.ts.map +1 -1
  46. package/dist/hosts/workerDefaults.js +40 -1
  47. package/dist/hosts/workerDefaults.js.map +1 -1
  48. package/dist/mcp/changeBatchClassification.d.ts +2 -0
  49. package/dist/mcp/changeBatchClassification.d.ts.map +1 -1
  50. package/dist/mcp/changeBatchClassification.js +5 -0
  51. package/dist/mcp/changeBatchClassification.js.map +1 -1
  52. package/dist/routes/agentVariants.d.ts.map +1 -1
  53. package/dist/routes/agentVariants.js +34 -2
  54. package/dist/routes/agentVariants.js.map +1 -1
  55. package/dist/routes/emptyStatePage.d.ts +14 -0
  56. package/dist/routes/emptyStatePage.d.ts.map +1 -0
  57. package/dist/routes/emptyStatePage.js +601 -0
  58. package/dist/routes/emptyStatePage.js.map +1 -0
  59. package/dist/routes/static.d.ts.map +1 -1
  60. package/dist/routes/static.js +2 -73
  61. package/dist/routes/static.js.map +1 -1
  62. package/dist/services/VariantGenerationService.d.ts +36 -1
  63. package/dist/services/VariantGenerationService.d.ts.map +1 -1
  64. package/dist/services/VariantGenerationService.js +334 -13
  65. package/dist/services/VariantGenerationService.js.map +1 -1
  66. package/dist/services/VariantRunService.d.ts +8 -0
  67. package/dist/services/VariantRunService.d.ts.map +1 -1
  68. package/dist/services/VariantRunService.js +31 -6
  69. package/dist/services/VariantRunService.js.map +1 -1
  70. package/dist/services/VariantsRuntime.d.ts.map +1 -1
  71. package/dist/services/VariantsRuntime.js +9 -0
  72. package/dist/services/VariantsRuntime.js.map +1 -1
  73. package/dist/types/change-request-types.d.ts +19 -0
  74. package/dist/types/change-request-types.d.ts.map +1 -1
  75. package/dist/utils/skills/claude-skill.d.ts +2 -2
  76. package/dist/utils/skills/claude-skill.d.ts.map +1 -1
  77. package/dist/utils/skills/claude-skill.js +1 -1
  78. package/dist/utils/skills/cli-guidance.d.ts +2 -2
  79. package/dist/utils/skills/cli-guidance.d.ts.map +1 -1
  80. package/dist/utils/skills/cli-guidance.js +11 -8
  81. package/dist/utils/skills/cli-guidance.js.map +1 -1
  82. package/dist/utils/skills/cursor-rules.d.ts +2 -2
  83. package/dist/utils/skills/cursor-rules.d.ts.map +1 -1
  84. package/dist/utils/skills/cursor-rules.js +1 -1
  85. package/package.json +1 -1
  86. package/src/ui/dist/assets/main-CobdEReL.css +1 -0
  87. package/src/ui/dist/assets/main-DJjaeK_0.js +422 -0
  88. package/src/ui/dist/index.html +2 -2
  89. package/src/ui/dist/assets/main-Dyos9I29.css +0 -1
  90. package/src/ui/dist/assets/main-T3U4Gt16.js +0 -419
@@ -1 +1 @@
1
- {"version":3,"file":"VariantGenerationService.js","sourceRoot":"","sources":["../../src/services/VariantGenerationService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VariantGenerationService.js","sourceRoot":"","sources":["../../src/services/VariantGenerationService.ts"],"names":[],"mappings":"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"}
@@ -2,11 +2,18 @@ import type { AgentVariantsOrchestrator, ActiveSnapshot, RequestWorkResult, Repo
2
2
  import type { ChangeRequest } from '../types/change-request-types';
3
3
  import { type VariantRequestResult } from './VariantGenerationService';
4
4
  import { SessionBridgeService } from './SessionBridgeService';
5
+ import { type WorkerExecutorService } from '../agent-variants/WorkerExecutorService';
5
6
  export type VariantRunServiceOptions = {
6
7
  bridge: SessionBridgeService;
7
8
  orchestrator: AgentVariantsOrchestrator;
8
9
  projectPath?: string;
9
10
  createSessionId?: () => string;
11
+ /** When set, artifact-backed work runs on server-owned headless workers
12
+ * instead of host-agent subagents (RIVET_EXECUTOR=1 opt-in). */
13
+ executor?: WorkerExecutorService;
14
+ telemetry?: {
15
+ track(event: string, props?: Record<string, unknown>): void;
16
+ };
10
17
  };
11
18
  export type HostWorkCompletionResult = ReportCompleteResult & {
12
19
  acceptedStatus: WorkItemStatus;
@@ -21,6 +28,7 @@ export type HostWorkCompletionResult = ReportCompleteResult & {
21
28
  export declare class VariantRunService {
22
29
  private readonly bridge;
23
30
  private readonly orchestrator;
31
+ private readonly executor?;
24
32
  private readonly elementVariantService;
25
33
  constructor(options: VariantRunServiceOptions);
26
34
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"VariantRunService.d.ts","sourceRoot":"","sources":["../../src/services/VariantRunService.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,yBAAyB,EACzB,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,cAAc,EACf,MAAM,mBAAmB,CAAC;AAK3B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAoB9D,MAAM,MAAM,wBAAwB,GAAG;IACrC,MAAM,EAAE,oBAAoB,CAAC;IAC7B,YAAY,EAAE,yBAAyB,CAAC;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,MAAM,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,oBAAoB,GAAG;IAC5D,cAAc,EAAE,cAAc,CAAC;CAChC,CAAC;AAEF;;;;;;GAMG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuB;IAC9C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA4B;IACzD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAA2B;gBAErD,OAAO,EAAE,wBAAwB;IAW7C;;;OAGG;IACG,oBAAoB,CACxB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,oBAAoB,CAAC;IAIhC;;OAEG;IACH,aAAa,CAAC,IAAI,EAAE;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;KACpB,GAAG,iBAAiB;IAIrB;;;OAGG;IACG,gBAAgB,CAAC,IAAI,EAAE;QAC3B,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;QAC7C,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,KAAK,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;QAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAkDrC;;;OAGG;IACG,wBAAwB,CAC5B,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,oBAAoB,CAAC;IAuEhC;;OAEG;IACH,aAAa,CAAC,IAAI,EAAE;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,OAAO,CAAC;KACxB,GAAG,UAAU,CAAC,yBAAyB,CAAC,eAAe,CAAC,CAAC;IAI1D;;OAEG;IACH,cAAc,CAAC,IAAI,EAAE;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GAAG,UAAU,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC;IAInD,6EAA6E;IAC7E,WAAW,IAAI,cAAc;CAG9B"}
1
+ {"version":3,"file":"VariantRunService.d.ts","sourceRoot":"","sources":["../../src/services/VariantRunService.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,yBAAyB,EACzB,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,cAAc,EACf,MAAM,mBAAmB,CAAC;AAK3B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,yCAAyC,CAAC;AAoBjD,MAAM,MAAM,wBAAwB,GAAG;IACrC,MAAM,EAAE,oBAAoB,CAAC;IAC7B,YAAY,EAAE,yBAAyB,CAAC;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,MAAM,CAAC;IAC/B;qEACiE;IACjE,QAAQ,CAAC,EAAE,qBAAqB,CAAC;IACjC,SAAS,CAAC,EAAE;QAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;KAAE,CAAC;CAC7E,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,oBAAoB,GAAG;IAC5D,cAAc,EAAE,cAAc,CAAC;CAChC,CAAC;AAEF;;;;;;GAMG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuB;IAC9C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA4B;IACzD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAwB;IAClD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAA2B;gBAErD,OAAO,EAAE,wBAAwB;IAc7C;;;OAGG;IACG,oBAAoB,CACxB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,oBAAoB,CAAC;IAIhC;;OAEG;IACH,aAAa,CAAC,IAAI,EAAE;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;KACpB,GAAG,iBAAiB;IAIrB;;;OAGG;IACG,gBAAgB,CAAC,IAAI,EAAE;QAC3B,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;QAC7C,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,KAAK,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;QAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAkDrC;;;OAGG;IACG,wBAAwB,CAC5B,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,oBAAoB,CAAC;IAqGhC;;OAEG;IACH,aAAa,CAAC,IAAI,EAAE;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,OAAO,CAAC;KACxB,GAAG,UAAU,CAAC,yBAAyB,CAAC,eAAe,CAAC,CAAC;IAI1D;;OAEG;IACH,cAAc,CAAC,IAAI,EAAE;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GAAG,UAAU,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC;IAKnD,6EAA6E;IAC7E,WAAW,IAAI,cAAc;CAG9B"}
@@ -5,6 +5,7 @@ const index_core_1 = require("../index-core");
5
5
  const agent_variants_1 = require("../agent-variants");
6
6
  const changeBatchClassification_1 = require("../mcp/changeBatchClassification");
7
7
  const VariantGenerationService_1 = require("./VariantGenerationService");
8
+ const WorkerExecutorService_1 = require("../agent-variants/WorkerExecutorService");
8
9
  const log = (0, index_core_1.createLogger)('VariantRunService');
9
10
  const MAX_RELEVANT_FILES = 12;
10
11
  /** Returns bounded file hints known by the selected static-preview target. */
@@ -24,15 +25,19 @@ const relevantFilesForTarget = (request) => Array.from(new Set([
24
25
  class VariantRunService {
25
26
  bridge;
26
27
  orchestrator;
28
+ executor;
27
29
  elementVariantService;
28
30
  constructor(options) {
29
31
  this.bridge = options.bridge;
30
32
  this.orchestrator = options.orchestrator;
33
+ this.executor = options.executor;
31
34
  this.elementVariantService = new VariantGenerationService_1.VariantGenerationService({
32
35
  bridge: options.bridge,
33
36
  orchestrator: options.orchestrator,
34
37
  projectPath: options.projectPath,
35
38
  createSessionId: options.createSessionId,
39
+ ...(options.executor ? { executor: options.executor } : {}),
40
+ ...(options.telemetry ? { telemetry: options.telemetry } : {}),
36
41
  });
37
42
  }
38
43
  /**
@@ -116,13 +121,14 @@ class VariantRunService {
116
121
  ({ droppedRefinements, createdWorkItemIds } =
117
122
  this.orchestrator.beginStaticPreviewRefinements({
118
123
  sessionId,
119
- targets: targets.map(({ target, instruction, count, briefs, element, requestId }) => {
124
+ targets: targets.map(({ target, instruction, count, briefs, runLabel, element, requestId, }) => {
120
125
  const relevantFiles = relevantFilesForTarget(derived);
121
126
  return {
122
127
  variantId: target.variantId,
123
128
  instruction,
124
129
  count,
125
130
  ...(briefs ? { briefs } : {}),
131
+ ...(runLabel ? { runLabel } : {}),
126
132
  ...(relevantFiles.length > 0 ? { relevantFiles } : {}),
127
133
  element,
128
134
  requestId,
@@ -141,11 +147,29 @@ class VariantRunService {
141
147
  this.bridge.reportFeedback(`Refinement skipped for one design: ${dropped.reason}`);
142
148
  }
143
149
  if (createdWorkItemIds.length > 0) {
144
- this.orchestrator.requestWork({
145
- sessionId,
146
- workItemIds: createdWorkItemIds,
147
- leaseOwner: 'rivet-host-agent',
148
- });
150
+ if (this.executor?.isRuntimeAvailable()) {
151
+ // Executor path: the server owns implementation. Lease to the
152
+ // executor and run headless workers; hosts observe via status only.
153
+ const lease = this.orchestrator.requestWork({
154
+ sessionId,
155
+ workItemIds: createdWorkItemIds,
156
+ leaseOwner: WorkerExecutorService_1.EXECUTOR_LEASE_OWNER,
157
+ });
158
+ this.bridge.reportFeedback(`Rivet is building ${createdWorkItemIds.length} direction(s) with its own workers — watch status for progress.`);
159
+ void this.executor
160
+ .run(sessionId, createdWorkItemIds, {
161
+ leaseId: lease.leaseId,
162
+ items: lease.leasedWorkItems,
163
+ })
164
+ .catch((error) => log.warn('worker executor run failed', error));
165
+ }
166
+ else {
167
+ this.orchestrator.requestWork({
168
+ sessionId,
169
+ workItemIds: createdWorkItemIds,
170
+ leaseOwner: 'rivet-host-agent',
171
+ });
172
+ }
149
173
  }
150
174
  this.bridge.setStatus('READY');
151
175
  if (droppedRefinements.length > 0) {
@@ -166,6 +190,7 @@ class VariantRunService {
166
190
  * @effect Cancels a variants session and lets the orchestrator clean up.
167
191
  */
168
192
  cancelVariants(args) {
193
+ this.executor?.cancelSession(args.sessionId);
169
194
  return this.orchestrator.cancel(args);
170
195
  }
171
196
  /** Returns the active variants snapshot for UI and orchestration callers. */
@@ -1 +1 @@
1
- {"version":3,"file":"VariantRunService.js","sourceRoot":"","sources":["../../src/services/VariantRunService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VariantRunService.js","sourceRoot":"","sources":["../../src/services/VariantRunService.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"VariantsRuntime.d.ts","sourceRoot":"","sources":["../../src/services/VariantsRuntime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAEnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,oBAAoB,CAAC;IAC7B,YAAY,EAAE,yBAAyB,CAAC;IACxC,UAAU,EAAE,iBAAiB,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,gBAAgB,CAAC,EAAE,UAAU,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9E,eAAe,CAAC,EAAE,UAAU,CAC1B,oBAAoB,CAAC,uBAAuB,CAAC,CAC9C,CAAC,CAAC,CAAC,CAAC;CACN,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAChC,SAAS,4BAA4B,KACpC,eAsBF,CAAC"}
1
+ {"version":3,"file":"VariantsRuntime.d.ts","sourceRoot":"","sources":["../../src/services/VariantsRuntime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAEnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAMxD,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,oBAAoB,CAAC;IAC7B,YAAY,EAAE,yBAAyB,CAAC;IACxC,UAAU,EAAE,iBAAiB,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,gBAAgB,CAAC,EAAE,UAAU,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9E,eAAe,CAAC,EAAE,UAAU,CAC1B,oBAAoB,CAAC,uBAAuB,CAAC,CAC9C,CAAC,CAAC,CAAC,CAAC;CACN,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAChC,SAAS,4BAA4B,KACpC,eA8BF,CAAC"}
@@ -4,6 +4,7 @@ exports.createVariantsRuntime = void 0;
4
4
  const createAgentVariantsOrchestrator_1 = require("./createAgentVariantsOrchestrator");
5
5
  const SessionBridgeService_1 = require("./SessionBridgeService");
6
6
  const VariantRunService_1 = require("./VariantRunService");
7
+ const WorkerExecutorService_1 = require("../agent-variants/WorkerExecutorService");
7
8
  /**
8
9
  * Creates the shared runtime used to start, preview, refine, and commit variant sessions.
9
10
  */
@@ -21,10 +22,18 @@ const createVariantsRuntime = (options) => {
21
22
  telemetry: options.telemetry,
22
23
  projectPathFallback: options.projectPath,
23
24
  });
25
+ const executor = (0, WorkerExecutorService_1.isWorkerExecutorEnabled)()
26
+ ? new WorkerExecutorService_1.WorkerExecutorService({
27
+ orchestrator,
28
+ telemetry: options.telemetry,
29
+ })
30
+ : undefined;
24
31
  const runService = new VariantRunService_1.VariantRunService({
25
32
  bridge,
26
33
  orchestrator,
27
34
  projectPath: options.projectPath,
35
+ ...(executor ? { executor } : {}),
36
+ ...(options.telemetry ? { telemetry: options.telemetry } : {}),
28
37
  });
29
38
  return { bridge, orchestrator, runService };
30
39
  };
@@ -1 +1 @@
1
- {"version":3,"file":"VariantsRuntime.js","sourceRoot":"","sources":["../../src/services/VariantsRuntime.ts"],"names":[],"mappings":";;;AACA,uFAAoF;AACpF,iEAA8D;AAE9D,2DAAwD;AAiBxD;;GAEG;AACI,MAAM,qBAAqB,GAAG,CACnC,OAAqC,EACpB,EAAE;IACnB,MAAM,MAAM,GAAG,IAAI,2CAAoB,EAAE,CAAC;IAC1C,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACzC,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAC7B,MAAM,CAAC,mBAAmB,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACvD,CAAC;IACD,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;QAC5B,MAAM,CAAC,qBAAqB,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,YAAY,GAAG,IAAA,iEAA+B,EAAC;QACnD,MAAM;QACN,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,mBAAmB,EAAE,OAAO,CAAC,WAAW;KACzC,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,IAAI,qCAAiB,CAAC;QACvC,MAAM;QACN,YAAY;QACZ,WAAW,EAAE,OAAO,CAAC,WAAW;KACjC,CAAC,CAAC;IAEH,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;AAC9C,CAAC,CAAC;AAxBW,QAAA,qBAAqB,yBAwBhC"}
1
+ {"version":3,"file":"VariantsRuntime.js","sourceRoot":"","sources":["../../src/services/VariantsRuntime.ts"],"names":[],"mappings":";;;AACA,uFAAoF;AACpF,iEAA8D;AAE9D,2DAAwD;AACxD,mFAGiD;AAiBjD;;GAEG;AACI,MAAM,qBAAqB,GAAG,CACnC,OAAqC,EACpB,EAAE;IACnB,MAAM,MAAM,GAAG,IAAI,2CAAoB,EAAE,CAAC;IAC1C,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACzC,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAC7B,MAAM,CAAC,mBAAmB,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACvD,CAAC;IACD,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;QAC5B,MAAM,CAAC,qBAAqB,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,YAAY,GAAG,IAAA,iEAA+B,EAAC;QACnD,MAAM;QACN,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,mBAAmB,EAAE,OAAO,CAAC,WAAW;KACzC,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,IAAA,+CAAuB,GAAE;QACxC,CAAC,CAAC,IAAI,6CAAqB,CAAC;YACxB,YAAY;YACZ,SAAS,EAAE,OAAO,CAAC,SAAS;SAC7B,CAAC;QACJ,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,UAAU,GAAG,IAAI,qCAAiB,CAAC;QACvC,MAAM;QACN,YAAY;QACZ,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC/D,CAAC,CAAC;IAEH,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;AAC9C,CAAC,CAAC;AAhCW,QAAA,qBAAqB,yBAgChC"}
@@ -153,7 +153,26 @@ export interface CommentChangeItem {
153
153
  variantRequest?: {
154
154
  count: number;
155
155
  mode?: VariantRequestMode;
156
+ /** AI-authored label for the request shared by every direction. */
157
+ runLabel?: string;
158
+ /** User-selected design fidelity captured by the host agent: `low`
159
+ * (fast sketch-grade workers), `medium` (default), or `high`
160
+ * (frontier-model authorship, up to a few minutes). Maps to the
161
+ * worker tier that implements each direction. */
162
+ fidelity?: 'low' | 'medium' | 'high';
156
163
  briefs?: VariantDirectionBrief[];
164
+ /** Reference page URLs Rivet renders server-side (design evidence +
165
+ * screenshot) so workers and direction authoring see them without any
166
+ * host-agent preparation. */
167
+ referencePages?: Array<{
168
+ url: string;
169
+ note?: string;
170
+ }>;
171
+ /** Local reference videos Rivet samples into keyframes server-side. */
172
+ referenceVideos?: Array<{
173
+ path: string;
174
+ note?: string;
175
+ }>;
157
176
  };
158
177
  }
159
178
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"change-request-types.d.ts","sourceRoot":"","sources":["../../src/types/change-request-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"change-request-types.d.ts","sourceRoot":"","sources":["../../src/types/change-request-types.ts"],"names":[],"mappings":"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"}
@@ -3,8 +3,8 @@
3
3
  * `~/.claude/skills/rivet/SKILL.md` by `rivet install claude`. The version
4
4
  * marker gates rewrites so user edits are only replaced by newer guidance.
5
5
  */
6
- export declare const CLAUDE_SKILL_VERSION = 48;
6
+ export declare const CLAUDE_SKILL_VERSION = 50;
7
7
  export declare const CLAUDE_SKILL_DIR = "rivet";
8
8
  export declare const CLAUDE_SKILL_FILENAME = "SKILL.md";
9
- export declare const CLAUDE_SKILL_CONTENT = "---\nname: rivet\ndescription: Rivet \u2014 explore multiple design directions for your web app (\"/rivet\", \"use rivet\", \"explore with rivet\", \"create variants of X\", \"show me options for X\", \"open rivet\", \"open the visual editor\"). Drive it with `rivet` CLI commands.\n---\n\n[//]: # (rivet-skill-version: 48)\n[//]: # (rivet-cli-guidance-version: 18)\n# Rivet\n\nRivet helps you **explore multiple design directions** for a web app. You drive it by running `rivet` CLI commands. Every command prints exactly one JSON envelope on stdout (`{ schemaVersion, ok, command, data | error }`), routes progress to stderr, and never prompts for input.\n\n**Exit codes:** 0 ok \u00B7 1 operation failed (see `error.code`) \u00B7 2 usage error \u00B7 3 auth required \u00B7 4 no server for the project \u00B7 5 `rivet wait` timeout (work still pending or running \u2014 not a failure; the envelope's `state` says which).\n\n**Identify yourself (handoff).** Add these flags to every invocation so Rivet can attribute work: `--caller-agent claude|codex|cursor`, `--caller-model <your model>`, and `--caller-session <your chat session id>` when you have one. Human-direct invocations omit handoff flags. Never wrap or chain `rivet` with other commands (`&&`, pipes) \u2014 plain invocations are what the host allowlist covers.\n\n**Project path.** Prefer explicit `--project <absolute path>` on every command so follow-up chats attach to the same workspace. For an existing app, pass its repo/app root. For a fresh app, create or use an empty directory first, then open Rivet there and start variants with `--fresh`.\n\n**Browser behavior.** For interactive user workflows, run `rivet open` without `--no-browser` so the Rivet UI opens in the browser. Use `--no-browser` only for headless/background automation, CI/e2e checks, or when the user explicitly asks not to open a browser; in those cases, report the returned `editorUrl`.\n\n**MCP tools (opt-in).** If this host has Rivet MCP tools registered (`rivet_status`, `rivet_variants`, `rivet_design_context` \u2014 the user opted in via `rivet install --mcp`), prefer them over shelling out for status, variants, and design-context work: they drive the same control plane and return the same JSON envelopes, without per-call process cost. Lifecycle and auth stay CLI-only on purpose \u2014 `rivet open`, `rivet stop`, `rivet wait`, and `rivet login` have no MCP tools. There is no blocking/watch tool either: start work with `rivet_variants`; if the result contains `nextAction.action=\"complete_host_variant_work\"`, execute it yourself with parallel subagents when available.\n\n## Commands\n\n- `rivet open [--project <path>] [--agent claude|codex|cursor] [--rivet-port N] [--user-port N] [--framework nextjs|vite|cra|remix|svelte|static] [--entry <path>] [--no-browser] [--no-git]` \u2014 start or attach the project's editor server (idempotent; returns `editorUrl`). It detects the app, attaches to an already-running dev server, or starts one from the app's standard `dev`/`start`/`serve` script when possible. Omit `--no-browser` for interactive work so the UI opens for the user.\n- `rivet variants start --project <path> --instruction <text> [--briefs <json>] [--count N] [--element <selector>] [--files <json>] [--fresh] [--target <sessionId>:<variantId>]` \u2014 explore design directions. Agent invocations MUST pass one AI-authored brief per direction; `briefs.length` sets the count. Use `--files` for already-known project paths, `--fresh` for prompt-only 0-to-1 generation in a blank/new workspace, and `--target` to Vary an existing direction. Returns a `workId` and `nextAction` after workspace provisioning.\n- `rivet variants complete <workId> --project <path> [--session <sessionId>] [--status succeeded|failed|cancelled] [--output <json>] [--error <message>]` \u2014 report one host-agent work item complete after you edit its assigned workspace. Static artifacts are read from disk; do not send them through `--output`.\n- `rivet wait <workId> --project <path> [--timeout <seconds>]` \u2014 bounded block until a work id settles (exit 5 on timeout; re-issue or check status).\n- `rivet status --project <path> [--watch]` \u2014 session, resolved runner, active run, and the variants snapshot. `--watch` streams NDJSON.\n- `rivet variants status --project <path>` / `rivet variants list --project <path> [--history]` \u2014 inspect live or past directions.\n- `rivet variants commit <variantId> --project <path> [--session <id>]` \u2014 send the chosen direction to the project.\n- `rivet variants cancel <sessionId> --project <path>` \u2014 cancel a running variants session.\n- `rivet evidence capture --url <url>` \u2014 rendered design evidence (root variables, element styles, fonts) for a reference URL.\n- `rivet reference fetch <url>` \u2014 Pinterest / Are.na reference data via the user's connected account.\n- `rivet auth status` \u2014 signed-in state. If `authenticated: false`, tell the user to run `rivet login` themselves \u2014 never run login for them.\n- `rivet stop [--project <path>]` \u2014 stop the CLI-owned server.\n\n## Typical flows\n\nBefore every agent-initiated variants start, author one or more direction briefs as `[{\"label\":\"\u2026\",\"body\":\"\u2026\"}]`. Each `label` is an AI-authored direction title: 1\u20135 plain-English words naming what that direction concretely changes, not a vibe or numbered placeholder. Each `body` is a concise plain-English subtitle of at most 10 words describing that direction. Add an optional `notes` string per brief for richer implementation intent (design tokens, motion specs, constraints) \u2014 it is delivered verbatim to that direction's worker and never shown in UI chips. Use one brief for a single visualization when the user wants Rivet's visualization framework without divergent ideas. For multiple directions, make every brief meaningfully different. Pass the array through the `rivet_variants` `briefs` field or CLI `--briefs <json>`, and omit `--count` because the array length is authoritative. Human-direct CLI calls may omit briefs and use Rivet's deterministic fallback.\n\nExisting app:\n1. `rivet open --project <path> --caller-agent cursor --caller-model <model> --caller-session <id>` \u2192 note `editorUrl`, `sessionId`, and `resolvedRunner`.\n2. Author three distinct title/subtitle briefs, then call `rivet variants start --project <path> --instruction \"try three hero layouts\" --briefs '[{\"label\":\"Split hero\",\"body\":\"Moves supporting proof beside the primary call to action.\"},{\"label\":\"Layered hero\",\"body\":\"Stacks product imagery behind a compact centered headline.\"},{\"label\":\"Product-led hero\",\"body\":\"Lets the product preview dominate the opening composition.\"}]' --caller-agent cursor --caller-model <model> --caller-session <id>` \u2192 note `workId`.\n3. If the start response has `nextAction.action=\"complete_host_variant_work\"`, execute it immediately. Otherwise poll `rivet status --project <path>` until that `nextAction` appears. Each work item carries a server-authored `workerPrompt` pointing at its briefing file \u2014 the full packet (direction, mode contract, boundaries, completion command). Follow `nextAction.parallelism` exactly: one item \u2192 follow its `workerPrompt` yourself in the current host; multiple items \u2192 spawn every worker in that same turn as background subagents, passing each item's `workerPrompt` VERBATIM as the entire worker prompt \u2014 compose nothing, and never re-plan or elaborate briefs before spawning. When `nextAction.worker.agentType` is set (Claude Code: `rivet-worker`, installed by `rivet install` with tuned model/effort defaults), spawn each worker AS that subagent type; fall back to your default subagent type only if it is not registered. For `mode=\"vary\"` the workspace entry already contains the source direction's finished code: read it first, apply the requested delta with targeted `Edit` operations in place, and never rewrite or re-emit the full file \u2014 unchanged sections must remain untouched. For `workspace.kind=\"artifact_directory\"` the deliverable is `workspace.rootPath/workspace.entryPath` (write it in full only when it starts empty, i.e. `mode=\"create\"`); for `workspace.kind=\"git_worktree\"`, edit the app under `workspace.projectPath`.\n4. The briefing file ends with the item's exact `completeCommand`: the worker runs `rivet variants complete <workId> --project <path> --session <sessionId>` itself as its final step, the moment its workspace is done. Completions are never held back or batched by the coordinator. Rivet reads static HTML from `workspace.entryPath` and captures git-worktree changes itself. Do not send inline HTML or repeat project context in the completion payload. If the result says `requeuedForRegeneration`, poll status for the renewed lease, address its QA summary, and complete that item once more. If a worker cannot complete it, use `--status failed --error <message>`.\n5. Show the user the `editorUrl` to compare directions; `rivet variants commit <variantId> --project <path>` when they pick one.\n\nFresh 0-to-1: create or use an empty directory, run `rivet open --project <path> ...`, author distinct briefs, then run `rivet variants start --project <path> --fresh --instruction \"build a SaaS landing page\" --briefs '<json>' ...`.\n\nVary an existing direction: after status/list gives you `sessionId` and `variantId`, author two distinct delta briefs by default, then run `rivet variants start --project <path> --target <sessionId>:<variantId> --instruction \"make this calmer\" --briefs '<json>' ...`. Include `--files '[\"src/known-target.tsx\"]'` when the relevant files are already known. Explicit briefs/counts remain authoritative.\n\nRivet owns orchestration; the host agent owns implementation. Do not wait for Rivet to spawn a separate agent. When `rivet variants start`, `rivet status`, `rivet_variants`, or `rivet_status` returns `nextAction.action=\"complete_host_variant_work\"`, complete those work items from the current host session. Avoid subagent startup for one item. For multiple items, spawn one background worker per isolated workspace in the same turn, and have each worker report its own completion immediately via its `completeCommand` (or `rivet_variants` action `complete`) \u2014 a variant's completion must never wait for its siblings.\n\n**Never cancel to unblock.** If `variants start` is rejected with `start_in_flight`, a start is still provisioning (status reports `variants.starting: true` \u2014 can take minutes); poll status and retry once it clears. If rejected with `active_session`, the user has live work: report the conflict and let them decide, or refine the active session with `--target`. Cancelling a session destroys the user's in-progress exploration \u2014 only do it when the user explicitly asks.\n";
9
+ export declare const CLAUDE_SKILL_CONTENT = "---\nname: rivet\ndescription: Rivet \u2014 explore multiple design directions for your web app (\"/rivet\", \"use rivet\", \"explore with rivet\", \"create variants of X\", \"show me options for X\", \"open rivet\", \"open the visual editor\"). Drive it with `rivet` CLI commands.\n---\n\n[//]: # (rivet-skill-version: 50)\n[//]: # (rivet-cli-guidance-version: 23)\n# Rivet\n\nRivet helps you **explore multiple design directions** for a web app. You drive it by running `rivet` CLI commands. Every command prints exactly one JSON envelope on stdout (`{ schemaVersion, ok, command, data | error }`), routes progress to stderr, and never prompts for input.\n\n**Exit codes:** 0 ok \u00B7 1 operation failed (see `error.code`) \u00B7 2 usage error \u00B7 3 auth required \u00B7 4 no server for the project \u00B7 5 `rivet wait` timeout (work still pending or running \u2014 not a failure; the envelope's `state` says which).\n\n**Identify yourself (handoff).** Add these flags to every invocation so Rivet can attribute work: `--caller-agent claude|codex|cursor`, `--caller-model <your model>`, and `--caller-session <your chat session id>` when you have one. Human-direct invocations omit handoff flags. Never wrap or chain `rivet` with other commands (`&&`, pipes) \u2014 plain invocations are what the host allowlist covers.\n\n**Project path.** Prefer explicit `--project <absolute path>` on every command so follow-up chats attach to the same workspace. For an existing app, pass its repo/app root. For a fresh app, create or use an empty directory first, then open Rivet there and start variants with `--fresh`.\n\n**Browser behavior.** For interactive user workflows, run `rivet open` without `--no-browser` so the Rivet UI opens in the browser. Use `--no-browser` only for headless/background automation, CI/e2e checks, or when the user explicitly asks not to open a browser; in those cases, report the returned `editorUrl`.\n\n**MCP tools (opt-in).** If this host has Rivet MCP tools registered (`rivet_status`, `rivet_variants`, `rivet_design_context` \u2014 the user opted in via `rivet install --mcp`), prefer them over shelling out for status, variants, and design-context work: they drive the same control plane and return the same JSON envelopes, without per-call process cost. Lifecycle and auth stay CLI-only on purpose \u2014 `rivet open`, `rivet stop`, `rivet wait`, and `rivet login` have no MCP tools. There is no blocking/watch tool either: start work with `rivet_variants`; if the result contains `nextAction.action=\"complete_host_variant_work\"`, execute it yourself with parallel subagents when available.\n\n## Commands\n\n- `rivet open [--project <path>] [--agent claude|codex|cursor] [--rivet-port N] [--user-port N] [--framework nextjs|vite|cra|remix|svelte|static] [--entry <path>] [--no-browser] [--no-git]` \u2014 start or attach the project's editor server (idempotent; returns `editorUrl`). It detects the app, attaches to an already-running dev server, or starts one from the app's standard `dev`/`start`/`serve` script when possible. Omit `--no-browser` for interactive work so the UI opens for the user.\n- `rivet variants start --project <path> --instruction <text> [--run-label <text>] [--briefs <json>] [--count N] [--fidelity low|medium|high] [--element <selector>] [--files <json>] [--fresh] [--context-images <json>] [--reference-pages <json>] [--reference-videos <json>] [--target <sessionId>:<variantId>]` \u2014 explore design directions. For existing-app and `--target` starts, agent invocations MUST pass an AI-authored 1\u20133 word batch label through `rivet_variants` `runLabel` or CLI `--run-label`, plus one AI-authored brief per direction; `briefs.length` sets the count. FRESH (`--fresh`) starts are different: OMIT briefs and run-label and pass `--count` \u2014 Rivet prepares all reference context and authors the directions server-side, which starts workers immediately. Use `--files` for already-known project paths and `--target` to Vary an existing direction. Returns a `workId` and `nextAction` after workspace provisioning.\n- `rivet variants complete <workId> --project <path> [--session <sessionId>] [--status succeeded|failed|cancelled] [--output <json>] [--error <message>]` \u2014 report one host-agent work item complete after you edit its assigned workspace. Static artifacts are read from disk; do not send them through `--output`.\n- `rivet wait <workId> --project <path> [--timeout <seconds>]` \u2014 bounded block until a work id settles (exit 5 on timeout; re-issue or check status).\n- `rivet status --project <path> [--watch]` \u2014 session, resolved runner, active run, and the variants snapshot. `--watch` streams NDJSON.\n- `rivet variants status --project <path>` / `rivet variants list --project <path> [--history]` \u2014 inspect live or past directions.\n- `rivet variants get <sessionId>:<variantId> --project <path>` \u2014 retrieve one exact variant, including its local artifact path or diff, from a reference copied by the editor.\n- `rivet variants commit <variantId> --project <path> [--session <id>]` \u2014 send the chosen direction to the project.\n- `rivet variants cancel <sessionId> --project <path>` \u2014 cancel a running variants session.\n- `rivet evidence capture --url <url>` \u2014 rendered design evidence (root variables, element styles, fonts) for a reference URL.\n- `rivet reference fetch <url>` \u2014 Pinterest / Are.na reference data via the user's connected account.\n- `rivet auth status` \u2014 signed-in state. If `authenticated: false`, tell the user to run `rivet login` themselves \u2014 never run login for them.\n- `rivet stop [--project <path>]` \u2014 stop the CLI-owned server.\n\n**Fidelity (capture the user's intent).** Design fidelity is a function of the authoring model, which correlates with latency \u2014 so the choice belongs to the user. On every `variants start` (CLI `--fidelity`, or the `rivet_variants` `fidelity` field), translate the user's ask into a fidelity level: `low` when they want speed or throwaway exploration (\"quick ideas\", \"rough sketches\", \"just show me options fast\") \u2014 sketch-grade workers, results in ~1.5\u20132 minutes; `high` when they want craft (\"polished\", \"pixel-perfect\", \"high fidelity\", \"final\", \"production-ready\", \"take your time\") \u2014 frontier-model authorship that can take a few minutes per direction. OMIT the flag when the user expressed no speed/quality intent \u2014 Rivet's default (`medium`) balances both. Never ask the user to pick a level; infer it from their words and mention the choice in your summary so they can redirect.\n\n## Typical flows\n\nBefore every agent-initiated EXISTING-APP or `--target` variants start, author a 1\u20133 word batch label plus one or more direction briefs as `[{\"label\":\"\u2026\",\"body\":\"\u2026\"}]`. (Fresh `--fresh` starts skip this entirely \u2014 see the fresh flow below.) The batch label summarizes the shared request and is passed through `runLabel` (MCP) or `--run-label` (CLI). Each brief `label` is an AI-authored direction title: 1\u20135 plain-English words naming what that direction concretely changes, not a vibe or numbered placeholder. Each `body` is a concise plain-English subtitle of at most 10 words describing that direction. Add an optional `notes` string per brief for richer implementation intent (design tokens, motion specs, constraints) \u2014 it is delivered verbatim to that direction's worker and never shown in UI chips. Use one brief for a single visualization when the user wants Rivet's visualization framework without divergent ideas. For multiple directions, make every brief meaningfully different. Pass the array through the `rivet_variants` `briefs` field or CLI `--briefs <json>`, and omit `--count` because the array length is authoritative. Human-direct CLI calls may omit the batch label and briefs and use Rivet's deterministic fallback.\n\nExisting app:\n1. `rivet open --project <path> --caller-agent cursor --caller-model <model> --caller-session <id>` \u2192 note `editorUrl`, `sessionId`, and `resolvedRunner`.\n2. Author a batch label and three distinct title/subtitle briefs, then call `rivet variants start --project <path> --instruction \"try three hero layouts\" --run-label \"Hero layouts\" --briefs '[{\"label\":\"Split hero\",\"body\":\"Moves supporting proof beside the primary call to action.\"},{\"label\":\"Layered hero\",\"body\":\"Stacks product imagery behind a compact centered headline.\"},{\"label\":\"Product-led hero\",\"body\":\"Lets the product preview dominate the opening composition.\"}]' --caller-agent cursor --caller-model <model> --caller-session <id>` \u2192 note `workId`.\n3. Rivet normally builds the directions with its OWN workers (the server executor): if the start response shows variants in flight but NO `nextAction`, do not implement anything \u2014 check `rivet status --project <path>` periodically (foreground waits only) until every variant is terminal, then present the results. Only when a response carries `nextAction.action=\"complete_host_variant_work\"` (executor unavailable on this machine) does the host implement, as follows. Each work item carries a server-authored `workerPrompt` pointing at its briefing file \u2014 the full packet (direction, mode contract, boundaries, completion command). Follow `nextAction.parallelism` exactly: one item \u2192 follow its `workerPrompt` yourself in the current host; multiple items \u2192 spawn every worker in that same turn as background subagents, passing each item's `workerPrompt` VERBATIM as the entire worker prompt \u2014 compose nothing, and never re-plan or elaborate briefs before spawning. When `nextAction.worker.agentType` is set (Claude Code: `rivet-worker`, installed by `rivet install` with tuned model/effort defaults), spawn each worker AS that subagent type; fall back to your default subagent type only if it is not registered. For `mode=\"vary\"` the workspace entry already contains the source direction's finished code: read it first, apply the requested delta with targeted `Edit` operations in place, and never rewrite or re-emit the full file \u2014 unchanged sections must remain untouched. For `workspace.kind=\"artifact_directory\"` the deliverable is `workspace.rootPath/workspace.entryPath` (write it in full only when it starts empty, i.e. `mode=\"create\"`); for `workspace.kind=\"git_worktree\"`, edit the app under `workspace.projectPath`.\n4. The briefing file ends with the item's exact `completeCommand`: the worker runs `rivet variants complete <workId> --project <path> --session <sessionId>` itself as its final step, the moment its workspace is done. Completions are never held back or batched by the coordinator \u2014 and because workers self-report, the coordinator does NOT poll status while workers run: check `rivet status` once after workers return (or on a single \u226560s wakeup), only to confirm terminal states and surface failures. Rivet reads static HTML from `workspace.entryPath` and captures git-worktree changes itself. Do not send inline HTML or repeat project context in the completion payload. If the result says `requeuedForRegeneration`, poll status for the renewed lease, address its QA summary, and complete that item once more. If a worker cannot complete it, use `--status failed --error <message>`.\n5. Show the user the `editorUrl` to compare directions; `rivet variants commit <variantId> --project <path>` when they pick one.\n\nFresh 0-to-1 (the fast path \u2014 go straight to the start call): create or use an empty directory, run `rivet open --project <path> ...`, then IMMEDIATELY run `rivet variants start --project <path> --fresh --instruction \"build a SaaS landing page\" --count 3 ...` with the user's references passed raw. OMIT `--briefs` and `--run-label`: Rivet authors the directions server-side, and every second you spend reading references or writing briefs delays the build. Pass local reference images via `--context-images '[\"/abs/path.png\"]'` (`rivet_variants` `contextImages`) \u2014 Rivet copies them into the run context and every worker views them natively. Pass reference page URLs via `--reference-pages '[\"https://example.com\"]'` (`referencePages`) \u2014 Rivet renders each page server-side for design evidence + a screenshot; never capture evidence or screenshot pages yourself. Pass local reference videos via `--reference-videos '[\"/abs/clip.mp4\"]'` (`referenceVideos`) \u2014 Rivet samples keyframes server-side; never run ffmpeg yourself. Never substitute a prose description of media you can pass directly.\n\nVary an existing direction: after status/list gives you `sessionId` and `variantId`, author a batch label and two distinct delta briefs by default, then run `rivet variants start --project <path> --target <sessionId>:<variantId> --instruction \"make this calmer\" --run-label \"Calmer direction\" --briefs '<json>' ...`. Include `--files '[\"src/known-target.tsx\"]'` when the relevant files are already known. Explicit briefs/counts remain authoritative.\n\nRivet owns orchestration; the host agent owns implementation. Do not wait for Rivet to spawn a separate agent. When `rivet variants start`, `rivet status`, `rivet_variants`, or `rivet_status` returns `nextAction.action=\"complete_host_variant_work\"`, complete those work items from the current host session. Avoid subagent startup for one item. For multiple items, spawn one background worker per isolated workspace in the same turn, and have each worker report its own completion immediately via its `completeCommand` (or `rivet_variants` action `complete`) \u2014 a variant's completion must never wait for its siblings.\n\n**Never cancel to unblock.** If `variants start` is rejected with `start_in_flight`, a start is still provisioning (status reports `variants.starting: true` \u2014 can take minutes); poll status and retry once it clears. If rejected with `active_session`, the user has live work: report the conflict and let them decide, or refine the active session with `--target`. Cancelling a session destroys the user's in-progress exploration \u2014 only do it when the user explicitly asks.\n";
10
10
  //# sourceMappingURL=claude-skill.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"claude-skill.d.ts","sourceRoot":"","sources":["../../../src/utils/skills/claude-skill.ts"],"names":[],"mappings":"AAMA;;;;GAIG;AAEH,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAGvC,eAAO,MAAM,gBAAgB,UAAU,CAAC;AACxC,eAAO,MAAM,qBAAqB,aAAa,CAAC;AAEhD,eAAO,MAAM,oBAAoB,ipVAUhC,CAAC"}
1
+ {"version":3,"file":"claude-skill.d.ts","sourceRoot":"","sources":["../../../src/utils/skills/claude-skill.ts"],"names":[],"mappings":"AAMA;;;;GAIG;AAEH,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAGvC,eAAO,MAAM,gBAAgB,UAAU,CAAC;AACxC,eAAO,MAAM,qBAAqB,aAAa,CAAC;AAEhD,eAAO,MAAM,oBAAoB,m3bAUhC,CAAC"}
@@ -7,7 +7,7 @@ const cli_guidance_1 = require("./cli-guidance");
7
7
  * `~/.claude/skills/rivet/SKILL.md` by `rivet install claude`. The version
8
8
  * marker gates rewrites so user edits are only replaced by newer guidance.
9
9
  */
10
- exports.CLAUDE_SKILL_VERSION = 48;
10
+ exports.CLAUDE_SKILL_VERSION = 50;
11
11
  const CLAUDE_SKILL_VERSION_MARKER = `[//]: # (rivet-skill-version: ${exports.CLAUDE_SKILL_VERSION})`;
12
12
  exports.CLAUDE_SKILL_DIR = 'rivet';
13
13
  exports.CLAUDE_SKILL_FILENAME = 'SKILL.md';
@@ -5,8 +5,8 @@
5
5
  * states the same contract — because guidance files are softer than
6
6
  * registration: an agent can ignore them.
7
7
  */
8
- export declare const CLI_GUIDANCE_VERSION = 18;
9
- export declare const CLI_GUIDANCE_BODY = "Rivet helps you **explore multiple design directions** for a web app. You drive it by running `rivet` CLI commands. Every command prints exactly one JSON envelope on stdout (`{ schemaVersion, ok, command, data | error }`), routes progress to stderr, and never prompts for input.\n\n**Exit codes:** 0 ok \u00B7 1 operation failed (see `error.code`) \u00B7 2 usage error \u00B7 3 auth required \u00B7 4 no server for the project \u00B7 5 `rivet wait` timeout (work still pending or running \u2014 not a failure; the envelope's `state` says which).\n\n**Identify yourself (handoff).** Add these flags to every invocation so Rivet can attribute work: `--caller-agent claude|codex|cursor`, `--caller-model <your model>`, and `--caller-session <your chat session id>` when you have one. Human-direct invocations omit handoff flags. Never wrap or chain `rivet` with other commands (`&&`, pipes) \u2014 plain invocations are what the host allowlist covers.\n\n**Project path.** Prefer explicit `--project <absolute path>` on every command so follow-up chats attach to the same workspace. For an existing app, pass its repo/app root. For a fresh app, create or use an empty directory first, then open Rivet there and start variants with `--fresh`.\n\n**Browser behavior.** For interactive user workflows, run `rivet open` without `--no-browser` so the Rivet UI opens in the browser. Use `--no-browser` only for headless/background automation, CI/e2e checks, or when the user explicitly asks not to open a browser; in those cases, report the returned `editorUrl`.\n\n**MCP tools (opt-in).** If this host has Rivet MCP tools registered (`rivet_status`, `rivet_variants`, `rivet_design_context` \u2014 the user opted in via `rivet install --mcp`), prefer them over shelling out for status, variants, and design-context work: they drive the same control plane and return the same JSON envelopes, without per-call process cost. Lifecycle and auth stay CLI-only on purpose \u2014 `rivet open`, `rivet stop`, `rivet wait`, and `rivet login` have no MCP tools. There is no blocking/watch tool either: start work with `rivet_variants`; if the result contains `nextAction.action=\"complete_host_variant_work\"`, execute it yourself with parallel subagents when available.\n\n## Commands\n\n- `rivet open [--project <path>] [--agent claude|codex|cursor] [--rivet-port N] [--user-port N] [--framework nextjs|vite|cra|remix|svelte|static] [--entry <path>] [--no-browser] [--no-git]` \u2014 start or attach the project's editor server (idempotent; returns `editorUrl`). It detects the app, attaches to an already-running dev server, or starts one from the app's standard `dev`/`start`/`serve` script when possible. Omit `--no-browser` for interactive work so the UI opens for the user.\n- `rivet variants start --project <path> --instruction <text> [--briefs <json>] [--count N] [--element <selector>] [--files <json>] [--fresh] [--target <sessionId>:<variantId>]` \u2014 explore design directions. Agent invocations MUST pass one AI-authored brief per direction; `briefs.length` sets the count. Use `--files` for already-known project paths, `--fresh` for prompt-only 0-to-1 generation in a blank/new workspace, and `--target` to Vary an existing direction. Returns a `workId` and `nextAction` after workspace provisioning.\n- `rivet variants complete <workId> --project <path> [--session <sessionId>] [--status succeeded|failed|cancelled] [--output <json>] [--error <message>]` \u2014 report one host-agent work item complete after you edit its assigned workspace. Static artifacts are read from disk; do not send them through `--output`.\n- `rivet wait <workId> --project <path> [--timeout <seconds>]` \u2014 bounded block until a work id settles (exit 5 on timeout; re-issue or check status).\n- `rivet status --project <path> [--watch]` \u2014 session, resolved runner, active run, and the variants snapshot. `--watch` streams NDJSON.\n- `rivet variants status --project <path>` / `rivet variants list --project <path> [--history]` \u2014 inspect live or past directions.\n- `rivet variants commit <variantId> --project <path> [--session <id>]` \u2014 send the chosen direction to the project.\n- `rivet variants cancel <sessionId> --project <path>` \u2014 cancel a running variants session.\n- `rivet evidence capture --url <url>` \u2014 rendered design evidence (root variables, element styles, fonts) for a reference URL.\n- `rivet reference fetch <url>` \u2014 Pinterest / Are.na reference data via the user's connected account.\n- `rivet auth status` \u2014 signed-in state. If `authenticated: false`, tell the user to run `rivet login` themselves \u2014 never run login for them.\n- `rivet stop [--project <path>]` \u2014 stop the CLI-owned server.\n\n## Typical flows\n\nBefore every agent-initiated variants start, author one or more direction briefs as `[{\"label\":\"\u2026\",\"body\":\"\u2026\"}]`. Each `label` is an AI-authored direction title: 1\u20135 plain-English words naming what that direction concretely changes, not a vibe or numbered placeholder. Each `body` is a concise plain-English subtitle of at most 10 words describing that direction. Add an optional `notes` string per brief for richer implementation intent (design tokens, motion specs, constraints) \u2014 it is delivered verbatim to that direction's worker and never shown in UI chips. Use one brief for a single visualization when the user wants Rivet's visualization framework without divergent ideas. For multiple directions, make every brief meaningfully different. Pass the array through the `rivet_variants` `briefs` field or CLI `--briefs <json>`, and omit `--count` because the array length is authoritative. Human-direct CLI calls may omit briefs and use Rivet's deterministic fallback.\n\nExisting app:\n1. `rivet open --project <path> --caller-agent cursor --caller-model <model> --caller-session <id>` \u2192 note `editorUrl`, `sessionId`, and `resolvedRunner`.\n2. Author three distinct title/subtitle briefs, then call `rivet variants start --project <path> --instruction \"try three hero layouts\" --briefs '[{\"label\":\"Split hero\",\"body\":\"Moves supporting proof beside the primary call to action.\"},{\"label\":\"Layered hero\",\"body\":\"Stacks product imagery behind a compact centered headline.\"},{\"label\":\"Product-led hero\",\"body\":\"Lets the product preview dominate the opening composition.\"}]' --caller-agent cursor --caller-model <model> --caller-session <id>` \u2192 note `workId`.\n3. If the start response has `nextAction.action=\"complete_host_variant_work\"`, execute it immediately. Otherwise poll `rivet status --project <path>` until that `nextAction` appears. Each work item carries a server-authored `workerPrompt` pointing at its briefing file \u2014 the full packet (direction, mode contract, boundaries, completion command). Follow `nextAction.parallelism` exactly: one item \u2192 follow its `workerPrompt` yourself in the current host; multiple items \u2192 spawn every worker in that same turn as background subagents, passing each item's `workerPrompt` VERBATIM as the entire worker prompt \u2014 compose nothing, and never re-plan or elaborate briefs before spawning. When `nextAction.worker.agentType` is set (Claude Code: `rivet-worker`, installed by `rivet install` with tuned model/effort defaults), spawn each worker AS that subagent type; fall back to your default subagent type only if it is not registered. For `mode=\"vary\"` the workspace entry already contains the source direction's finished code: read it first, apply the requested delta with targeted `Edit` operations in place, and never rewrite or re-emit the full file \u2014 unchanged sections must remain untouched. For `workspace.kind=\"artifact_directory\"` the deliverable is `workspace.rootPath/workspace.entryPath` (write it in full only when it starts empty, i.e. `mode=\"create\"`); for `workspace.kind=\"git_worktree\"`, edit the app under `workspace.projectPath`.\n4. The briefing file ends with the item's exact `completeCommand`: the worker runs `rivet variants complete <workId> --project <path> --session <sessionId>` itself as its final step, the moment its workspace is done. Completions are never held back or batched by the coordinator. Rivet reads static HTML from `workspace.entryPath` and captures git-worktree changes itself. Do not send inline HTML or repeat project context in the completion payload. If the result says `requeuedForRegeneration`, poll status for the renewed lease, address its QA summary, and complete that item once more. If a worker cannot complete it, use `--status failed --error <message>`.\n5. Show the user the `editorUrl` to compare directions; `rivet variants commit <variantId> --project <path>` when they pick one.\n\nFresh 0-to-1: create or use an empty directory, run `rivet open --project <path> ...`, author distinct briefs, then run `rivet variants start --project <path> --fresh --instruction \"build a SaaS landing page\" --briefs '<json>' ...`.\n\nVary an existing direction: after status/list gives you `sessionId` and `variantId`, author two distinct delta briefs by default, then run `rivet variants start --project <path> --target <sessionId>:<variantId> --instruction \"make this calmer\" --briefs '<json>' ...`. Include `--files '[\"src/known-target.tsx\"]'` when the relevant files are already known. Explicit briefs/counts remain authoritative.\n\nRivet owns orchestration; the host agent owns implementation. Do not wait for Rivet to spawn a separate agent. When `rivet variants start`, `rivet status`, `rivet_variants`, or `rivet_status` returns `nextAction.action=\"complete_host_variant_work\"`, complete those work items from the current host session. Avoid subagent startup for one item. For multiple items, spawn one background worker per isolated workspace in the same turn, and have each worker report its own completion immediately via its `completeCommand` (or `rivet_variants` action `complete`) \u2014 a variant's completion must never wait for its siblings.\n\n**Never cancel to unblock.** If `variants start` is rejected with `start_in_flight`, a start is still provisioning (status reports `variants.starting: true` \u2014 can take minutes); poll status and retry once it clears. If rejected with `active_session`, the user has live work: report the conflict and let them decide, or refine the active session with `--target`. Cancelling a session destroys the user's in-progress exploration \u2014 only do it when the user explicitly asks.";
8
+ export declare const CLI_GUIDANCE_VERSION = 23;
9
+ export declare const CLI_GUIDANCE_BODY = "Rivet helps you **explore multiple design directions** for a web app. You drive it by running `rivet` CLI commands. Every command prints exactly one JSON envelope on stdout (`{ schemaVersion, ok, command, data | error }`), routes progress to stderr, and never prompts for input.\n\n**Exit codes:** 0 ok \u00B7 1 operation failed (see `error.code`) \u00B7 2 usage error \u00B7 3 auth required \u00B7 4 no server for the project \u00B7 5 `rivet wait` timeout (work still pending or running \u2014 not a failure; the envelope's `state` says which).\n\n**Identify yourself (handoff).** Add these flags to every invocation so Rivet can attribute work: `--caller-agent claude|codex|cursor`, `--caller-model <your model>`, and `--caller-session <your chat session id>` when you have one. Human-direct invocations omit handoff flags. Never wrap or chain `rivet` with other commands (`&&`, pipes) \u2014 plain invocations are what the host allowlist covers.\n\n**Project path.** Prefer explicit `--project <absolute path>` on every command so follow-up chats attach to the same workspace. For an existing app, pass its repo/app root. For a fresh app, create or use an empty directory first, then open Rivet there and start variants with `--fresh`.\n\n**Browser behavior.** For interactive user workflows, run `rivet open` without `--no-browser` so the Rivet UI opens in the browser. Use `--no-browser` only for headless/background automation, CI/e2e checks, or when the user explicitly asks not to open a browser; in those cases, report the returned `editorUrl`.\n\n**MCP tools (opt-in).** If this host has Rivet MCP tools registered (`rivet_status`, `rivet_variants`, `rivet_design_context` \u2014 the user opted in via `rivet install --mcp`), prefer them over shelling out for status, variants, and design-context work: they drive the same control plane and return the same JSON envelopes, without per-call process cost. Lifecycle and auth stay CLI-only on purpose \u2014 `rivet open`, `rivet stop`, `rivet wait`, and `rivet login` have no MCP tools. There is no blocking/watch tool either: start work with `rivet_variants`; if the result contains `nextAction.action=\"complete_host_variant_work\"`, execute it yourself with parallel subagents when available.\n\n## Commands\n\n- `rivet open [--project <path>] [--agent claude|codex|cursor] [--rivet-port N] [--user-port N] [--framework nextjs|vite|cra|remix|svelte|static] [--entry <path>] [--no-browser] [--no-git]` \u2014 start or attach the project's editor server (idempotent; returns `editorUrl`). It detects the app, attaches to an already-running dev server, or starts one from the app's standard `dev`/`start`/`serve` script when possible. Omit `--no-browser` for interactive work so the UI opens for the user.\n- `rivet variants start --project <path> --instruction <text> [--run-label <text>] [--briefs <json>] [--count N] [--fidelity low|medium|high] [--element <selector>] [--files <json>] [--fresh] [--context-images <json>] [--reference-pages <json>] [--reference-videos <json>] [--target <sessionId>:<variantId>]` \u2014 explore design directions. For existing-app and `--target` starts, agent invocations MUST pass an AI-authored 1\u20133 word batch label through `rivet_variants` `runLabel` or CLI `--run-label`, plus one AI-authored brief per direction; `briefs.length` sets the count. FRESH (`--fresh`) starts are different: OMIT briefs and run-label and pass `--count` \u2014 Rivet prepares all reference context and authors the directions server-side, which starts workers immediately. Use `--files` for already-known project paths and `--target` to Vary an existing direction. Returns a `workId` and `nextAction` after workspace provisioning.\n- `rivet variants complete <workId> --project <path> [--session <sessionId>] [--status succeeded|failed|cancelled] [--output <json>] [--error <message>]` \u2014 report one host-agent work item complete after you edit its assigned workspace. Static artifacts are read from disk; do not send them through `--output`.\n- `rivet wait <workId> --project <path> [--timeout <seconds>]` \u2014 bounded block until a work id settles (exit 5 on timeout; re-issue or check status).\n- `rivet status --project <path> [--watch]` \u2014 session, resolved runner, active run, and the variants snapshot. `--watch` streams NDJSON.\n- `rivet variants status --project <path>` / `rivet variants list --project <path> [--history]` \u2014 inspect live or past directions.\n- `rivet variants get <sessionId>:<variantId> --project <path>` \u2014 retrieve one exact variant, including its local artifact path or diff, from a reference copied by the editor.\n- `rivet variants commit <variantId> --project <path> [--session <id>]` \u2014 send the chosen direction to the project.\n- `rivet variants cancel <sessionId> --project <path>` \u2014 cancel a running variants session.\n- `rivet evidence capture --url <url>` \u2014 rendered design evidence (root variables, element styles, fonts) for a reference URL.\n- `rivet reference fetch <url>` \u2014 Pinterest / Are.na reference data via the user's connected account.\n- `rivet auth status` \u2014 signed-in state. If `authenticated: false`, tell the user to run `rivet login` themselves \u2014 never run login for them.\n- `rivet stop [--project <path>]` \u2014 stop the CLI-owned server.\n\n**Fidelity (capture the user's intent).** Design fidelity is a function of the authoring model, which correlates with latency \u2014 so the choice belongs to the user. On every `variants start` (CLI `--fidelity`, or the `rivet_variants` `fidelity` field), translate the user's ask into a fidelity level: `low` when they want speed or throwaway exploration (\"quick ideas\", \"rough sketches\", \"just show me options fast\") \u2014 sketch-grade workers, results in ~1.5\u20132 minutes; `high` when they want craft (\"polished\", \"pixel-perfect\", \"high fidelity\", \"final\", \"production-ready\", \"take your time\") \u2014 frontier-model authorship that can take a few minutes per direction. OMIT the flag when the user expressed no speed/quality intent \u2014 Rivet's default (`medium`) balances both. Never ask the user to pick a level; infer it from their words and mention the choice in your summary so they can redirect.\n\n## Typical flows\n\nBefore every agent-initiated EXISTING-APP or `--target` variants start, author a 1\u20133 word batch label plus one or more direction briefs as `[{\"label\":\"\u2026\",\"body\":\"\u2026\"}]`. (Fresh `--fresh` starts skip this entirely \u2014 see the fresh flow below.) The batch label summarizes the shared request and is passed through `runLabel` (MCP) or `--run-label` (CLI). Each brief `label` is an AI-authored direction title: 1\u20135 plain-English words naming what that direction concretely changes, not a vibe or numbered placeholder. Each `body` is a concise plain-English subtitle of at most 10 words describing that direction. Add an optional `notes` string per brief for richer implementation intent (design tokens, motion specs, constraints) \u2014 it is delivered verbatim to that direction's worker and never shown in UI chips. Use one brief for a single visualization when the user wants Rivet's visualization framework without divergent ideas. For multiple directions, make every brief meaningfully different. Pass the array through the `rivet_variants` `briefs` field or CLI `--briefs <json>`, and omit `--count` because the array length is authoritative. Human-direct CLI calls may omit the batch label and briefs and use Rivet's deterministic fallback.\n\nExisting app:\n1. `rivet open --project <path> --caller-agent cursor --caller-model <model> --caller-session <id>` \u2192 note `editorUrl`, `sessionId`, and `resolvedRunner`.\n2. Author a batch label and three distinct title/subtitle briefs, then call `rivet variants start --project <path> --instruction \"try three hero layouts\" --run-label \"Hero layouts\" --briefs '[{\"label\":\"Split hero\",\"body\":\"Moves supporting proof beside the primary call to action.\"},{\"label\":\"Layered hero\",\"body\":\"Stacks product imagery behind a compact centered headline.\"},{\"label\":\"Product-led hero\",\"body\":\"Lets the product preview dominate the opening composition.\"}]' --caller-agent cursor --caller-model <model> --caller-session <id>` \u2192 note `workId`.\n3. Rivet normally builds the directions with its OWN workers (the server executor): if the start response shows variants in flight but NO `nextAction`, do not implement anything \u2014 check `rivet status --project <path>` periodically (foreground waits only) until every variant is terminal, then present the results. Only when a response carries `nextAction.action=\"complete_host_variant_work\"` (executor unavailable on this machine) does the host implement, as follows. Each work item carries a server-authored `workerPrompt` pointing at its briefing file \u2014 the full packet (direction, mode contract, boundaries, completion command). Follow `nextAction.parallelism` exactly: one item \u2192 follow its `workerPrompt` yourself in the current host; multiple items \u2192 spawn every worker in that same turn as background subagents, passing each item's `workerPrompt` VERBATIM as the entire worker prompt \u2014 compose nothing, and never re-plan or elaborate briefs before spawning. When `nextAction.worker.agentType` is set (Claude Code: `rivet-worker`, installed by `rivet install` with tuned model/effort defaults), spawn each worker AS that subagent type; fall back to your default subagent type only if it is not registered. For `mode=\"vary\"` the workspace entry already contains the source direction's finished code: read it first, apply the requested delta with targeted `Edit` operations in place, and never rewrite or re-emit the full file \u2014 unchanged sections must remain untouched. For `workspace.kind=\"artifact_directory\"` the deliverable is `workspace.rootPath/workspace.entryPath` (write it in full only when it starts empty, i.e. `mode=\"create\"`); for `workspace.kind=\"git_worktree\"`, edit the app under `workspace.projectPath`.\n4. The briefing file ends with the item's exact `completeCommand`: the worker runs `rivet variants complete <workId> --project <path> --session <sessionId>` itself as its final step, the moment its workspace is done. Completions are never held back or batched by the coordinator \u2014 and because workers self-report, the coordinator does NOT poll status while workers run: check `rivet status` once after workers return (or on a single \u226560s wakeup), only to confirm terminal states and surface failures. Rivet reads static HTML from `workspace.entryPath` and captures git-worktree changes itself. Do not send inline HTML or repeat project context in the completion payload. If the result says `requeuedForRegeneration`, poll status for the renewed lease, address its QA summary, and complete that item once more. If a worker cannot complete it, use `--status failed --error <message>`.\n5. Show the user the `editorUrl` to compare directions; `rivet variants commit <variantId> --project <path>` when they pick one.\n\nFresh 0-to-1 (the fast path \u2014 go straight to the start call): create or use an empty directory, run `rivet open --project <path> ...`, then IMMEDIATELY run `rivet variants start --project <path> --fresh --instruction \"build a SaaS landing page\" --count 3 ...` with the user's references passed raw. OMIT `--briefs` and `--run-label`: Rivet authors the directions server-side, and every second you spend reading references or writing briefs delays the build. Pass local reference images via `--context-images '[\"/abs/path.png\"]'` (`rivet_variants` `contextImages`) \u2014 Rivet copies them into the run context and every worker views them natively. Pass reference page URLs via `--reference-pages '[\"https://example.com\"]'` (`referencePages`) \u2014 Rivet renders each page server-side for design evidence + a screenshot; never capture evidence or screenshot pages yourself. Pass local reference videos via `--reference-videos '[\"/abs/clip.mp4\"]'` (`referenceVideos`) \u2014 Rivet samples keyframes server-side; never run ffmpeg yourself. Never substitute a prose description of media you can pass directly.\n\nVary an existing direction: after status/list gives you `sessionId` and `variantId`, author a batch label and two distinct delta briefs by default, then run `rivet variants start --project <path> --target <sessionId>:<variantId> --instruction \"make this calmer\" --run-label \"Calmer direction\" --briefs '<json>' ...`. Include `--files '[\"src/known-target.tsx\"]'` when the relevant files are already known. Explicit briefs/counts remain authoritative.\n\nRivet owns orchestration; the host agent owns implementation. Do not wait for Rivet to spawn a separate agent. When `rivet variants start`, `rivet status`, `rivet_variants`, or `rivet_status` returns `nextAction.action=\"complete_host_variant_work\"`, complete those work items from the current host session. Avoid subagent startup for one item. For multiple items, spawn one background worker per isolated workspace in the same turn, and have each worker report its own completion immediately via its `completeCommand` (or `rivet_variants` action `complete`) \u2014 a variant's completion must never wait for its siblings.\n\n**Never cancel to unblock.** If `variants start` is rejected with `start_in_flight`, a start is still provisioning (status reports `variants.starting: true` \u2014 can take minutes); poll status and retry once it clears. If rejected with `active_session`, the user has live work: report the conflict and let them decide, or refine the active session with `--target`. Cancelling a session destroys the user's in-progress exploration \u2014 only do it when the user explicitly asks.";
10
10
  /** One-line description used in host frontmatter/description fields. */
11
11
  export declare const CLI_GUIDANCE_DESCRIPTION = "Rivet \u2014 explore multiple design directions for your web app (\"/rivet\", \"use rivet\", \"explore with rivet\", \"create variants of X\", \"show me options for X\", \"open rivet\", \"open the visual editor\"). Drive it with `rivet` CLI commands.";
12
12
  //# sourceMappingURL=cli-guidance.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cli-guidance.d.ts","sourceRoot":"","sources":["../../../src/utils/skills/cli-guidance.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAEvC,eAAO,MAAM,iBAAiB,qxUA4Cmc,CAAC;AAEle,wEAAwE;AACxE,eAAO,MAAM,wBAAwB,+PACsM,CAAC"}
1
+ {"version":3,"file":"cli-guidance.d.ts","sourceRoot":"","sources":["../../../src/utils/skills/cli-guidance.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAEvC,eAAO,MAAM,iBAAiB,u/aA+Cmc,CAAC;AAEle,wEAAwE;AACxE,eAAO,MAAM,wBAAwB,+PACsM,CAAC"}
@@ -8,7 +8,7 @@
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.CLI_GUIDANCE_DESCRIPTION = exports.CLI_GUIDANCE_BODY = exports.CLI_GUIDANCE_VERSION = void 0;
11
- exports.CLI_GUIDANCE_VERSION = 18;
11
+ exports.CLI_GUIDANCE_VERSION = 23;
12
12
  exports.CLI_GUIDANCE_BODY = `Rivet helps you **explore multiple design directions** for a web app. You drive it by running \`rivet\` CLI commands. Every command prints exactly one JSON envelope on stdout (\`{ schemaVersion, ok, command, data | error }\`), routes progress to stderr, and never prompts for input.
13
13
 
14
14
  **Exit codes:** 0 ok · 1 operation failed (see \`error.code\`) · 2 usage error · 3 auth required · 4 no server for the project · 5 \`rivet wait\` timeout (work still pending or running — not a failure; the envelope's \`state\` says which).
@@ -24,11 +24,12 @@ exports.CLI_GUIDANCE_BODY = `Rivet helps you **explore multiple design direction
24
24
  ## Commands
25
25
 
26
26
  - \`rivet open [--project <path>] [--agent claude|codex|cursor] [--rivet-port N] [--user-port N] [--framework nextjs|vite|cra|remix|svelte|static] [--entry <path>] [--no-browser] [--no-git]\` — start or attach the project's editor server (idempotent; returns \`editorUrl\`). It detects the app, attaches to an already-running dev server, or starts one from the app's standard \`dev\`/\`start\`/\`serve\` script when possible. Omit \`--no-browser\` for interactive work so the UI opens for the user.
27
- - \`rivet variants start --project <path> --instruction <text> [--briefs <json>] [--count N] [--element <selector>] [--files <json>] [--fresh] [--target <sessionId>:<variantId>]\` — explore design directions. Agent invocations MUST pass one AI-authored brief per direction; \`briefs.length\` sets the count. Use \`--files\` for already-known project paths, \`--fresh\` for prompt-only 0-to-1 generation in a blank/new workspace, and \`--target\` to Vary an existing direction. Returns a \`workId\` and \`nextAction\` after workspace provisioning.
27
+ - \`rivet variants start --project <path> --instruction <text> [--run-label <text>] [--briefs <json>] [--count N] [--fidelity low|medium|high] [--element <selector>] [--files <json>] [--fresh] [--context-images <json>] [--reference-pages <json>] [--reference-videos <json>] [--target <sessionId>:<variantId>]\` — explore design directions. For existing-app and \`--target\` starts, agent invocations MUST pass an AI-authored 1–3 word batch label through \`rivet_variants\` \`runLabel\` or CLI \`--run-label\`, plus one AI-authored brief per direction; \`briefs.length\` sets the count. FRESH (\`--fresh\`) starts are different: OMIT briefs and run-label and pass \`--count\` Rivet prepares all reference context and authors the directions server-side, which starts workers immediately. Use \`--files\` for already-known project paths and \`--target\` to Vary an existing direction. Returns a \`workId\` and \`nextAction\` after workspace provisioning.
28
28
  - \`rivet variants complete <workId> --project <path> [--session <sessionId>] [--status succeeded|failed|cancelled] [--output <json>] [--error <message>]\` — report one host-agent work item complete after you edit its assigned workspace. Static artifacts are read from disk; do not send them through \`--output\`.
29
29
  - \`rivet wait <workId> --project <path> [--timeout <seconds>]\` — bounded block until a work id settles (exit 5 on timeout; re-issue or check status).
30
30
  - \`rivet status --project <path> [--watch]\` — session, resolved runner, active run, and the variants snapshot. \`--watch\` streams NDJSON.
31
31
  - \`rivet variants status --project <path>\` / \`rivet variants list --project <path> [--history]\` — inspect live or past directions.
32
+ - \`rivet variants get <sessionId>:<variantId> --project <path>\` — retrieve one exact variant, including its local artifact path or diff, from a reference copied by the editor.
32
33
  - \`rivet variants commit <variantId> --project <path> [--session <id>]\` — send the chosen direction to the project.
33
34
  - \`rivet variants cancel <sessionId> --project <path>\` — cancel a running variants session.
34
35
  - \`rivet evidence capture --url <url>\` — rendered design evidence (root variables, element styles, fonts) for a reference URL.
@@ -36,20 +37,22 @@ exports.CLI_GUIDANCE_BODY = `Rivet helps you **explore multiple design direction
36
37
  - \`rivet auth status\` — signed-in state. If \`authenticated: false\`, tell the user to run \`rivet login\` themselves — never run login for them.
37
38
  - \`rivet stop [--project <path>]\` — stop the CLI-owned server.
38
39
 
40
+ **Fidelity (capture the user's intent).** Design fidelity is a function of the authoring model, which correlates with latency — so the choice belongs to the user. On every \`variants start\` (CLI \`--fidelity\`, or the \`rivet_variants\` \`fidelity\` field), translate the user's ask into a fidelity level: \`low\` when they want speed or throwaway exploration ("quick ideas", "rough sketches", "just show me options fast") — sketch-grade workers, results in ~1.5–2 minutes; \`high\` when they want craft ("polished", "pixel-perfect", "high fidelity", "final", "production-ready", "take your time") — frontier-model authorship that can take a few minutes per direction. OMIT the flag when the user expressed no speed/quality intent — Rivet's default (\`medium\`) balances both. Never ask the user to pick a level; infer it from their words and mention the choice in your summary so they can redirect.
41
+
39
42
  ## Typical flows
40
43
 
41
- Before every agent-initiated variants start, author one or more direction briefs as \`[{"label":"…","body":"…"}]\`. Each \`label\` is an AI-authored direction title: 1–5 plain-English words naming what that direction concretely changes, not a vibe or numbered placeholder. Each \`body\` is a concise plain-English subtitle of at most 10 words describing that direction. Add an optional \`notes\` string per brief for richer implementation intent (design tokens, motion specs, constraints) — it is delivered verbatim to that direction's worker and never shown in UI chips. Use one brief for a single visualization when the user wants Rivet's visualization framework without divergent ideas. For multiple directions, make every brief meaningfully different. Pass the array through the \`rivet_variants\` \`briefs\` field or CLI \`--briefs <json>\`, and omit \`--count\` because the array length is authoritative. Human-direct CLI calls may omit briefs and use Rivet's deterministic fallback.
44
+ Before every agent-initiated EXISTING-APP or \`--target\` variants start, author a 1–3 word batch label plus one or more direction briefs as \`[{"label":"…","body":"…"}]\`. (Fresh \`--fresh\` starts skip this entirely — see the fresh flow below.) The batch label summarizes the shared request and is passed through \`runLabel\` (MCP) or \`--run-label\` (CLI). Each brief \`label\` is an AI-authored direction title: 1–5 plain-English words naming what that direction concretely changes, not a vibe or numbered placeholder. Each \`body\` is a concise plain-English subtitle of at most 10 words describing that direction. Add an optional \`notes\` string per brief for richer implementation intent (design tokens, motion specs, constraints) — it is delivered verbatim to that direction's worker and never shown in UI chips. Use one brief for a single visualization when the user wants Rivet's visualization framework without divergent ideas. For multiple directions, make every brief meaningfully different. Pass the array through the \`rivet_variants\` \`briefs\` field or CLI \`--briefs <json>\`, and omit \`--count\` because the array length is authoritative. Human-direct CLI calls may omit the batch label and briefs and use Rivet's deterministic fallback.
42
45
 
43
46
  Existing app:
44
47
  1. \`rivet open --project <path> --caller-agent cursor --caller-model <model> --caller-session <id>\` → note \`editorUrl\`, \`sessionId\`, and \`resolvedRunner\`.
45
- 2. Author three distinct title/subtitle briefs, then call \`rivet variants start --project <path> --instruction "try three hero layouts" --briefs '[{"label":"Split hero","body":"Moves supporting proof beside the primary call to action."},{"label":"Layered hero","body":"Stacks product imagery behind a compact centered headline."},{"label":"Product-led hero","body":"Lets the product preview dominate the opening composition."}]' --caller-agent cursor --caller-model <model> --caller-session <id>\` → note \`workId\`.
46
- 3. If the start response has \`nextAction.action="complete_host_variant_work"\`, execute it immediately. Otherwise poll \`rivet status --project <path>\` until that \`nextAction\` appears. Each work item carries a server-authored \`workerPrompt\` pointing at its briefing file — the full packet (direction, mode contract, boundaries, completion command). Follow \`nextAction.parallelism\` exactly: one item → follow its \`workerPrompt\` yourself in the current host; multiple items → spawn every worker in that same turn as background subagents, passing each item's \`workerPrompt\` VERBATIM as the entire worker prompt — compose nothing, and never re-plan or elaborate briefs before spawning. When \`nextAction.worker.agentType\` is set (Claude Code: \`rivet-worker\`, installed by \`rivet install\` with tuned model/effort defaults), spawn each worker AS that subagent type; fall back to your default subagent type only if it is not registered. For \`mode="vary"\` the workspace entry already contains the source direction's finished code: read it first, apply the requested delta with targeted \`Edit\` operations in place, and never rewrite or re-emit the full file — unchanged sections must remain untouched. For \`workspace.kind="artifact_directory"\` the deliverable is \`workspace.rootPath/workspace.entryPath\` (write it in full only when it starts empty, i.e. \`mode="create"\`); for \`workspace.kind="git_worktree"\`, edit the app under \`workspace.projectPath\`.
47
- 4. The briefing file ends with the item's exact \`completeCommand\`: the worker runs \`rivet variants complete <workId> --project <path> --session <sessionId>\` itself as its final step, the moment its workspace is done. Completions are never held back or batched by the coordinator. Rivet reads static HTML from \`workspace.entryPath\` and captures git-worktree changes itself. Do not send inline HTML or repeat project context in the completion payload. If the result says \`requeuedForRegeneration\`, poll status for the renewed lease, address its QA summary, and complete that item once more. If a worker cannot complete it, use \`--status failed --error <message>\`.
48
+ 2. Author a batch label and three distinct title/subtitle briefs, then call \`rivet variants start --project <path> --instruction "try three hero layouts" --run-label "Hero layouts" --briefs '[{"label":"Split hero","body":"Moves supporting proof beside the primary call to action."},{"label":"Layered hero","body":"Stacks product imagery behind a compact centered headline."},{"label":"Product-led hero","body":"Lets the product preview dominate the opening composition."}]' --caller-agent cursor --caller-model <model> --caller-session <id>\` → note \`workId\`.
49
+ 3. Rivet normally builds the directions with its OWN workers (the server executor): if the start response shows variants in flight but NO \`nextAction\`, do not implement anything check \`rivet status --project <path>\` periodically (foreground waits only) until every variant is terminal, then present the results. Only when a response carries \`nextAction.action="complete_host_variant_work"\` (executor unavailable on this machine) does the host implement, as follows. Each work item carries a server-authored \`workerPrompt\` pointing at its briefing file — the full packet (direction, mode contract, boundaries, completion command). Follow \`nextAction.parallelism\` exactly: one item → follow its \`workerPrompt\` yourself in the current host; multiple items → spawn every worker in that same turn as background subagents, passing each item's \`workerPrompt\` VERBATIM as the entire worker prompt — compose nothing, and never re-plan or elaborate briefs before spawning. When \`nextAction.worker.agentType\` is set (Claude Code: \`rivet-worker\`, installed by \`rivet install\` with tuned model/effort defaults), spawn each worker AS that subagent type; fall back to your default subagent type only if it is not registered. For \`mode="vary"\` the workspace entry already contains the source direction's finished code: read it first, apply the requested delta with targeted \`Edit\` operations in place, and never rewrite or re-emit the full file — unchanged sections must remain untouched. For \`workspace.kind="artifact_directory"\` the deliverable is \`workspace.rootPath/workspace.entryPath\` (write it in full only when it starts empty, i.e. \`mode="create"\`); for \`workspace.kind="git_worktree"\`, edit the app under \`workspace.projectPath\`.
50
+ 4. The briefing file ends with the item's exact \`completeCommand\`: the worker runs \`rivet variants complete <workId> --project <path> --session <sessionId>\` itself as its final step, the moment its workspace is done. Completions are never held back or batched by the coordinator — and because workers self-report, the coordinator does NOT poll status while workers run: check \`rivet status\` once after workers return (or on a single ≥60s wakeup), only to confirm terminal states and surface failures. Rivet reads static HTML from \`workspace.entryPath\` and captures git-worktree changes itself. Do not send inline HTML or repeat project context in the completion payload. If the result says \`requeuedForRegeneration\`, poll status for the renewed lease, address its QA summary, and complete that item once more. If a worker cannot complete it, use \`--status failed --error <message>\`.
48
51
  5. Show the user the \`editorUrl\` to compare directions; \`rivet variants commit <variantId> --project <path>\` when they pick one.
49
52
 
50
- Fresh 0-to-1: create or use an empty directory, run \`rivet open --project <path> ...\`, author distinct briefs, then run \`rivet variants start --project <path> --fresh --instruction "build a SaaS landing page" --briefs '<json>' ...\`.
53
+ Fresh 0-to-1 (the fast path — go straight to the start call): create or use an empty directory, run \`rivet open --project <path> ...\`, then IMMEDIATELY run \`rivet variants start --project <path> --fresh --instruction "build a SaaS landing page" --count 3 ...\` with the user's references passed raw. OMIT \`--briefs\` and \`--run-label\`: Rivet authors the directions server-side, and every second you spend reading references or writing briefs delays the build. Pass local reference images via \`--context-images '["/abs/path.png"]'\` (\`rivet_variants\` \`contextImages\`) — Rivet copies them into the run context and every worker views them natively. Pass reference page URLs via \`--reference-pages '["https://example.com"]'\` (\`referencePages\`) — Rivet renders each page server-side for design evidence + a screenshot; never capture evidence or screenshot pages yourself. Pass local reference videos via \`--reference-videos '["/abs/clip.mp4"]'\` (\`referenceVideos\`) — Rivet samples keyframes server-side; never run ffmpeg yourself. Never substitute a prose description of media you can pass directly.
51
54
 
52
- Vary an existing direction: after status/list gives you \`sessionId\` and \`variantId\`, author two distinct delta briefs by default, then run \`rivet variants start --project <path> --target <sessionId>:<variantId> --instruction "make this calmer" --briefs '<json>' ...\`. Include \`--files '["src/known-target.tsx"]'\` when the relevant files are already known. Explicit briefs/counts remain authoritative.
55
+ Vary an existing direction: after status/list gives you \`sessionId\` and \`variantId\`, author a batch label and two distinct delta briefs by default, then run \`rivet variants start --project <path> --target <sessionId>:<variantId> --instruction "make this calmer" --run-label "Calmer direction" --briefs '<json>' ...\`. Include \`--files '["src/known-target.tsx"]'\` when the relevant files are already known. Explicit briefs/counts remain authoritative.
53
56
 
54
57
  Rivet owns orchestration; the host agent owns implementation. Do not wait for Rivet to spawn a separate agent. When \`rivet variants start\`, \`rivet status\`, \`rivet_variants\`, or \`rivet_status\` returns \`nextAction.action="complete_host_variant_work"\`, complete those work items from the current host session. Avoid subagent startup for one item. For multiple items, spawn one background worker per isolated workspace in the same turn, and have each worker report its own completion immediately via its \`completeCommand\` (or \`rivet_variants\` action \`complete\`) — a variant's completion must never wait for its siblings.
55
58
 
@@ -1 +1 @@
1
- {"version":3,"file":"cli-guidance.js","sourceRoot":"","sources":["../../../src/utils/skills/cli-guidance.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEU,QAAA,oBAAoB,GAAG,EAAE,CAAC;AAE1B,QAAA,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ieA4Cgc,CAAC;AAEle,wEAAwE;AAC3D,QAAA,wBAAwB,GACnC,yOAAyO,CAAC"}
1
+ {"version":3,"file":"cli-guidance.js","sourceRoot":"","sources":["../../../src/utils/skills/cli-guidance.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEU,QAAA,oBAAoB,GAAG,EAAE,CAAC;AAE1B,QAAA,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ieA+Cgc,CAAC;AAEle,wEAAwE;AAC3D,QAAA,wBAAwB,GACnC,yOAAyO,CAAC"}