rivet-design 0.25.0 → 0.26.1

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 (69) hide show
  1. package/README.md +2 -2
  2. package/README.npm.md +2 -2
  3. package/dist/agent-variants/PreviewRuntime.d.ts +1 -20
  4. package/dist/agent-variants/PreviewRuntime.js +1 -102
  5. package/dist/agent-variants/SessionStore.d.ts +1 -8
  6. package/dist/agent-variants/SessionStore.js +2 -32
  7. package/dist/agent-variants/WorkspaceInventory.d.ts +0 -3
  8. package/dist/agent-variants/WorkspaceInventory.js +5 -28
  9. package/dist/agent-variants/WorktreeOrchestrator.d.ts +1 -30
  10. package/dist/agent-variants/WorktreeOrchestrator.js +4 -643
  11. package/dist/agent-variants/WorktreeOrchestrator.testHelpers.d.ts +0 -7
  12. package/dist/agent-variants/WorktreeOrchestrator.testHelpers.js +0 -34
  13. package/dist/agent-variants/contracts.d.ts +320 -380
  14. package/dist/agent-variants/contracts.js +1 -8
  15. package/dist/agent-variants/index.d.ts +1 -1
  16. package/dist/agent-variants/runPlan.d.ts +0 -2
  17. package/dist/agent-variants/runPlan.js +0 -3
  18. package/dist/agent-variants/variant-project-runtime.d.ts +0 -2
  19. package/dist/agent-variants/variantWorkspaceFiles.d.ts +0 -3
  20. package/dist/agent-variants/variantWorkspaceFiles.js +1 -59
  21. package/dist/agent-variants/variantsTelemetry.d.ts +0 -8
  22. package/dist/agent-variants/workItemInput.d.ts +210 -210
  23. package/dist/cli/commands/mcpServe.d.ts +2 -2
  24. package/dist/cli/commands/mcpServe.js +1 -0
  25. package/dist/cli/commands/variants.js +2 -43
  26. package/dist/cli/router.js +3 -2
  27. package/dist/config/flags.d.ts +0 -3
  28. package/dist/config/flags.js +0 -1
  29. package/dist/config/pluginMetrics.js +0 -4
  30. package/dist/index.d.ts +1 -1
  31. package/dist/index.js +20 -8
  32. package/dist/install/mcpRegistration.js +1 -0
  33. package/dist/mcp/explorationTools.js +0 -17
  34. package/dist/routes/account.js +4 -2
  35. package/dist/routes/agentVariants.js +1 -89
  36. package/dist/routes/library/browserAccess.d.ts +3 -1
  37. package/dist/routes/library/browserAccess.js +5 -3
  38. package/dist/routes/library/index.js +1 -0
  39. package/dist/routes/variantRequestSchema.d.ts +4 -4
  40. package/dist/services/AuthService.js +2 -2
  41. package/dist/services/ConfigManager.d.ts +18 -1
  42. package/dist/services/ConfigManager.js +91 -4
  43. package/dist/services/GuidanceVerifierRunner.js +13 -2
  44. package/dist/services/SessionBridgeService.d.ts +0 -2
  45. package/dist/services/SessionBridgeService.js +0 -26
  46. package/dist/services/TelemetryService.d.ts +4 -15
  47. package/dist/services/TelemetryService.js +29 -33
  48. package/dist/services/VariantRunService.d.ts +0 -5
  49. package/dist/services/VariantRunService.js +0 -3
  50. package/dist/services/WorktreeManager.d.ts +0 -3
  51. package/dist/services/WorktreeManager.js +7 -54
  52. package/dist/services/createAgentVariantsOrchestrator.js +0 -1
  53. package/dist/services/profiles/DesignProfiles.js +4 -3
  54. package/dist/storage/library/ProjectPreviewCache.d.ts +2 -2
  55. package/dist/types/guidance-verifier.d.ts +458 -59
  56. package/dist/types/guidance-verifier.js +35 -12
  57. package/dist/utils/skills/claude-skill.d.ts +1 -1
  58. package/dist/utils/skills/claude-skill.js +1 -1
  59. package/dist/utils/skills/cli-guidance.d.ts +1 -1
  60. package/dist/utils/skills/cli-guidance.js +7 -9
  61. package/dist/utils/skills/cursor-rules.d.ts +1 -1
  62. package/dist/utils/skills/cursor-rules.js +1 -1
  63. package/package.json +3 -3
  64. package/src/ui/dist/assets/{LibraryEntry-BJl_pPMq.js → LibraryEntry-Cr4GFYXW.js} +9 -9
  65. package/src/ui/dist/assets/main-tPO1OCpZ.js +439 -0
  66. package/src/ui/dist/index.html +1 -1
  67. package/dist/agent-variants/createProjectArtifacts.d.ts +0 -61
  68. package/dist/agent-variants/createProjectArtifacts.js +0 -113
  69. package/src/ui/dist/assets/main-D1832qVC.js +0 -439
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ERROR_CODES = exports.getVariantInput = exports.captureDesignEvidenceInput = exports.listPastVariantsInput = exports.variantHistoryStatusSchema = exports.startVariantsBriefContent = exports.cancelVariantsInput = exports.reportWorkItemInput = exports.reportVariantCompleteStatus = exports.continueVariantsInput = exports.continueVariantsAction = exports.commitVariantInput = exports.reportVariantBriefsInput = exports.proposeVariantsInput = exports.runLabelSchema = exports.DEFAULT_VARIANT_COUNT = exports.VARIANT_COUNT_MAX = exports.VARIANT_COUNT_MIN = exports.variantWorkItemContextSchema = exports.briefSchema = exports.targetSchema = exports.isWorkerFidelity = exports.VARIANT_EXECUTION_MODES = exports.projectContextInputSchema = exports.projectContextSchema = exports.projectContextFresh = exports.projectContextExisting = exports.variantContextBundleSchema = exports.executionCapabilityPlanSchema = exports.assetPlanEntrySchema = exports.executionConfidenceSchema = exports.executionModeSchema = exports.variantContextBindingSchema = exports.rivetMetadataSchema = exports.rivetContextActionSchema = exports.rivetContextActionKindSchema = exports.storedUserContextSourceRecordSchema = exports.stagedContextAssetSchema = exports.contextAssetInputSchema = exports.rawUserContextSourceSchema = exports.rawUserContextInputSchema = exports.sourceRoleSchema = exports.designContextEntrySchema = exports.CONTEXT_ASSET_MAX_ITEMS = exports.WORK_ITEM_STATUSES = exports.WORK_ITEM_KINDS = exports.TERMINAL_STAGES = exports.STAGES = void 0;
3
+ exports.ERROR_CODES = exports.getVariantInput = exports.captureDesignEvidenceInput = exports.listPastVariantsInput = exports.variantHistoryStatusSchema = exports.startVariantsBriefContent = exports.cancelVariantsInput = exports.reportWorkItemInput = exports.reportVariantCompleteStatus = exports.continueVariantsInput = exports.continueVariantsAction = exports.reportVariantBriefsInput = exports.proposeVariantsInput = exports.runLabelSchema = exports.DEFAULT_VARIANT_COUNT = exports.VARIANT_COUNT_MAX = exports.VARIANT_COUNT_MIN = exports.variantWorkItemContextSchema = exports.briefSchema = exports.targetSchema = exports.isWorkerFidelity = exports.VARIANT_EXECUTION_MODES = exports.projectContextInputSchema = exports.projectContextSchema = exports.projectContextFresh = exports.projectContextExisting = exports.variantContextBundleSchema = exports.executionCapabilityPlanSchema = exports.assetPlanEntrySchema = exports.executionConfidenceSchema = exports.executionModeSchema = exports.variantContextBindingSchema = exports.rivetMetadataSchema = exports.rivetContextActionSchema = exports.rivetContextActionKindSchema = exports.storedUserContextSourceRecordSchema = exports.stagedContextAssetSchema = exports.contextAssetInputSchema = exports.rawUserContextSourceSchema = exports.rawUserContextInputSchema = exports.sourceRoleSchema = exports.designContextEntrySchema = exports.CONTEXT_ASSET_MAX_ITEMS = exports.WORK_ITEM_STATUSES = exports.WORK_ITEM_KINDS = exports.TERMINAL_STAGES = exports.STAGES = void 0;
4
4
  const variant_reference_1 = require("../types/variant-reference");
5
5
  const v3_1 = require("zod/v3");
6
6
  const errors_1 = require("./errors");
@@ -446,13 +446,6 @@ exports.reportVariantBriefsInput = {
446
446
  .max(exports.VARIANT_COUNT_MAX)
447
447
  .optional(),
448
448
  };
449
- exports.commitVariantInput = {
450
- sessionId: v3_1.z.string().min(1),
451
- variantId: v3_1.z.string().min(1),
452
- confirmedByUser: v3_1.z.boolean().optional(),
453
- bypassRequestedByUser: v3_1.z.boolean().optional(),
454
- bypassReason: v3_1.z.string().min(1).optional(),
455
- };
456
449
  exports.continueVariantsAction = v3_1.z
457
450
  .enum(['check', 'wait', 'request_work', 'refine_variant'])
458
451
  .optional();
@@ -5,5 +5,5 @@ export type { ActiveSnapshot, DroppedRefinement, OrchestratorDeps, PreviewQaRunn
5
5
  export { slugifyPrompt } from './generatedDestination';
6
6
  export { AgentVariantsError, ERROR_CODES, type ErrorCode } from './errors';
7
7
  export { DEFAULT_VARIANT_COUNT, VARIANT_COUNT_MIN, VARIANT_COUNT_MAX, } from './contracts';
8
- export type { Brief, CancelVariantsInput, CancelVariantsOutput, ContinueVariantsInput, ContinueVariantsOutput, LeaseRecord, LeasedWorkItemDescriptor, ProjectContext, ProposeVariantsInput, ProposeVariantsOutput, RawUserContextInput, RawUserContextSource, ReportVariantBriefsInput, ReportVariantBriefsOutput, RivetContextAction, RivetMetadata, ReportVariantCompleteInput, ReportVariantCompleteOutput, Stage, Target, TerminalSummary, VariantContextBinding, VariantContextBundle, VariantPickEnvelope, VariantPickPayload, VariantWorkItemContext, VisualEditorAttachment, WorkItem, WorkItemKind, WorkItemStatus, } from './contracts';
8
+ export type { Brief, CancelVariantsInput, CancelVariantsOutput, ContinueVariantsInput, ContinueVariantsOutput, LeaseRecord, LeasedWorkItemDescriptor, ProjectContext, ProposeVariantsInput, ProposeVariantsOutput, RawUserContextInput, RawUserContextSource, ReportVariantBriefsInput, ReportVariantBriefsOutput, RivetContextAction, RivetMetadata, ReportVariantCompleteInput, ReportVariantCompleteOutput, Stage, Target, TerminalSummary, VariantContextBinding, VariantContextBundle, VariantWorkItemContext, VisualEditorAttachment, WorkItem, WorkItemKind, WorkItemStatus, } from './contracts';
9
9
  //# sourceMappingURL=index.d.ts.map
@@ -10,12 +10,10 @@ export type VariantRunPlan = {
10
10
  };
11
11
  export type RunTopology = 'code_gen' | 'static_preview';
12
12
  export type RunProvision = 'git_worktree' | 'template_worktree' | 'none';
13
- export type RunCommit = 'apply_diff' | 'write_static_site' | 'materialize_project';
14
13
  export type RunPreview = 'static_artifact' | 'dev_server';
15
14
  export interface RunPlanPolicy {
16
15
  topology: RunTopology;
17
16
  provision: RunProvision;
18
- commit: RunCommit;
19
17
  needsScaffoldBase: boolean;
20
18
  preview?: RunPreview;
21
19
  }
@@ -15,7 +15,6 @@ function runPlanPolicy(plan) {
15
15
  return {
16
16
  topology: 'code_gen',
17
17
  provision: 'git_worktree',
18
- commit: 'apply_diff',
19
18
  needsScaffoldBase: false,
20
19
  };
21
20
  }
@@ -23,7 +22,6 @@ function runPlanPolicy(plan) {
23
22
  return {
24
23
  topology: 'static_preview',
25
24
  provision: 'none',
26
- commit: 'write_static_site',
27
25
  needsScaffoldBase: false,
28
26
  preview: 'static_artifact',
29
27
  };
@@ -31,7 +29,6 @@ function runPlanPolicy(plan) {
31
29
  return {
32
30
  topology: 'code_gen',
33
31
  provision: 'template_worktree',
34
- commit: 'materialize_project',
35
32
  needsScaffoldBase: true,
36
33
  preview: 'dev_server',
37
34
  };
@@ -7,7 +7,6 @@ export interface WorktreeManagerLike {
7
7
  forkWorktreesFrom?(sourceWorktreePath: string, sessionId: string, count: number, instanceKeyPrefix?: string): Promise<string[]>;
8
8
  getDiff(worktreePath: string): Promise<string>;
9
9
  getGitRoot?(): Promise<string>;
10
- applyDiffToProject?(diff: string, projectPath: string): Promise<void>;
11
10
  cleanupSession(sessionId: string, freshDestinationParent?: string): Promise<void>;
12
11
  getFreePort(): Promise<number>;
13
12
  findFreePortFrom(startPort: number): Promise<number>;
@@ -16,7 +15,6 @@ export interface WorktreeManagerLike {
16
15
  stopDevServer(proc: ChildProcess, timeoutMs?: number): Promise<void>;
17
16
  getProjectCwdInWorktree(worktreePath: string): Promise<string>;
18
17
  createFreshWorktrees?(sessionId: string, count: number, template: TemplateBundle, designContext: ReadonlyArray<DesignContextEntry | undefined> | undefined, destinationParent: string): Promise<string[]>;
19
- moveWorktreeToHistory?(srcWorktreePath: string, historyDir: string, folderName: string): string;
20
18
  }
21
19
  type DevServerProjectEnvironment = {
22
20
  projectPath: string;
@@ -36,8 +36,5 @@ export declare const buildServeRecipeFromResolved: (snapshotRoot: string, dev: {
36
36
  }, port: number) => DevServerRecipe;
37
37
  export declare const canInstallWithoutTouchingHost: (cwd: string) => boolean;
38
38
  export declare const assertDevScriptExists: (cwd: string, scriptName: string) => void;
39
- export declare function areSameVolume(a: string, b: string): boolean;
40
- export declare function resolveNodeModulesSymlink(worktreePath: string): Promise<boolean>;
41
- export declare const defaultMaterializeProject: (sourceWorktreePath: string, destinationPath: string) => Promise<void>;
42
39
  export declare function synthesizeUnifiedBriefBody(prompt: string, index: number, total: number): string;
43
40
  //# sourceMappingURL=variantWorkspaceFiles.d.ts.map
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.defaultMaterializeProject = exports.assertDevScriptExists = exports.canInstallWithoutTouchingHost = exports.buildServeRecipeFromResolved = exports.defaultInstallDependencies = exports.STATIC_PREVIEW_HISTORY_FILE_EXTENSIONS = exports.STATIC_PREVIEW_HISTORY_EXCLUDE = exports.MATERIALIZE_EXCLUDE = exports.ALLOWED_INERT_ASSET_EXTENSIONS = void 0;
6
+ exports.assertDevScriptExists = exports.canInstallWithoutTouchingHost = exports.buildServeRecipeFromResolved = exports.defaultInstallDependencies = exports.STATIC_PREVIEW_HISTORY_FILE_EXTENSIONS = exports.STATIC_PREVIEW_HISTORY_EXCLUDE = exports.MATERIALIZE_EXCLUDE = exports.ALLOWED_INERT_ASSET_EXTENSIONS = void 0;
7
7
  exports.estimateOutputBytes = estimateOutputBytes;
8
8
  exports.normalizeOutput = normalizeOutput;
9
9
  exports.resolveAssetWithinBase = resolveAssetWithinBase;
@@ -13,16 +13,12 @@ exports.buildStaticPreviewDocument = buildStaticPreviewDocument;
13
13
  exports.countDiffFiles = countDiffFiles;
14
14
  exports.countWorktreeFiles = countWorktreeFiles;
15
15
  exports.copyStaticPreviewDirectory = copyStaticPreviewDirectory;
16
- exports.areSameVolume = areSameVolume;
17
- exports.resolveNodeModulesSymlink = resolveNodeModulesSymlink;
18
16
  exports.synthesizeUnifiedBriefBody = synthesizeUnifiedBriefBody;
19
17
  const fs_1 = __importDefault(require("fs"));
20
18
  const path_1 = __importDefault(require("path"));
21
- const simple_git_1 = require("simple-git");
22
19
  const DependencyPreparationService_1 = require("../services/DependencyPreparationService");
23
20
  const devServerError_1 = require("../utils/devServerError");
24
21
  const logger_1 = require("../utils/logger");
25
- const errnoCode_1 = require("../utils/errnoCode");
26
22
  const pathContainment_1 = require("../utils/pathContainment");
27
23
  const log = (0, logger_1.createLogger)('VariantWorkspaceFiles');
28
24
  const FALLBACK_DIRECTION_FOCI = [
@@ -357,60 +353,6 @@ const assertDevScriptExists = (cwd, scriptName) => {
357
353
  });
358
354
  };
359
355
  exports.assertDevScriptExists = assertDevScriptExists;
360
- function areSameVolume(a, b) {
361
- try {
362
- const statA = fs_1.default.statSync(a);
363
- const parentB = fs_1.default.existsSync(b) ? b : path_1.default.dirname(b);
364
- const statB = fs_1.default.statSync(parentB);
365
- return statA.dev === statB.dev;
366
- }
367
- catch {
368
- return false;
369
- }
370
- }
371
- async function resolveNodeModulesSymlink(worktreePath) {
372
- const nodeModulesPath = path_1.default.join(worktreePath, 'node_modules');
373
- try {
374
- if (!(await fs_1.default.promises.lstat(nodeModulesPath)).isSymbolicLink())
375
- return false;
376
- await fs_1.default.promises.rm(nodeModulesPath, { force: true });
377
- return true;
378
- }
379
- catch (error) {
380
- if ((0, errnoCode_1.errnoCode)(error) === 'ENOENT')
381
- return true;
382
- throw error;
383
- }
384
- }
385
- const defaultMaterializeProject = async (sourceWorktreePath, destinationPath) => {
386
- await fs_1.default.promises.mkdir(destinationPath, { recursive: true });
387
- await fs_1.default.promises.cp(sourceWorktreePath, destinationPath, {
388
- recursive: true,
389
- filter: (sourcePath) => {
390
- const rel = path_1.default.relative(sourceWorktreePath, sourcePath);
391
- if (!rel)
392
- return true;
393
- const top = rel.split(path_1.default.sep)[0];
394
- return !exports.MATERIALIZE_EXCLUDE.has(top);
395
- },
396
- });
397
- const git = (0, simple_git_1.simpleGit)(destinationPath);
398
- await git.raw(['init']);
399
- await git.raw(['add', '-A']);
400
- await git
401
- .raw([
402
- '-c',
403
- 'user.name=Rivet',
404
- '-c',
405
- 'user.email=hello@tryrivet.design',
406
- 'commit',
407
- '--no-gpg-sign',
408
- '-m',
409
- 'Initial commit (created with Rivet)',
410
- ])
411
- .catch(() => { });
412
- };
413
- exports.defaultMaterializeProject = defaultMaterializeProject;
414
356
  function synthesizeUnifiedBriefBody(prompt, index, total) {
415
357
  const trimmed = prompt.trim().replace(/\s+/g, ' ').slice(0, 200);
416
358
  const intent = trimmed.length > 0 ? trimmed : 'Create this variant';
@@ -14,7 +14,6 @@ export interface VariantsTelemetry {
14
14
  trackAgentVariantsRefinementFailed?: (data: MCPVariantsTelemetryMetadata) => void;
15
15
  trackAgentVariantsRoundStarted?: (data: MCPVariantsTelemetryMetadata) => void;
16
16
  trackAgentVariantsRoundCompleted?: (data: MCPVariantsTelemetryMetadata) => void;
17
- trackAgentVariantsCommitFailed?: (data: MCPVariantsTelemetryMetadata) => void;
18
17
  trackAgentVariantsScaffoldStarted?: (data: {
19
18
  sessionId: string;
20
19
  variantCount: number;
@@ -79,13 +78,6 @@ export interface VariantsTelemetry {
79
78
  signal?: string | null;
80
79
  missingDeps?: boolean;
81
80
  }) => void;
82
- trackAgentVariantsNewProjectMaterialized?: (data: {
83
- sessionId: string;
84
- variantId: string;
85
- destinationPath: string;
86
- changedFilesCount: number;
87
- durationMs: number;
88
- }) => void;
89
81
  trackAgentVariantsSourceContextQuality?: (data: {
90
82
  sessionId: string;
91
83
  sourceUrlCount: number;