rivet-design 0.12.4 → 0.13.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.
- package/README.md +50 -26
- package/README.npm.md +50 -26
- package/bin/rivet.js +39 -24
- package/dist/{mcp/agent-variants → agent-variants}/SessionStore.d.ts +13 -20
- package/dist/agent-variants/SessionStore.d.ts.map +1 -0
- package/dist/{mcp/agent-variants → agent-variants}/SessionStore.js +74 -84
- package/dist/agent-variants/SessionStore.js.map +1 -0
- package/dist/{mcp/agent-variants → agent-variants}/WorktreeOrchestrator.d.ts +58 -25
- package/dist/agent-variants/WorktreeOrchestrator.d.ts.map +1 -0
- package/dist/{mcp/agent-variants → agent-variants}/WorktreeOrchestrator.js +299 -57
- package/dist/agent-variants/WorktreeOrchestrator.js.map +1 -0
- package/dist/{mcp/agent-variants → agent-variants}/WorktreeOrchestrator.testHelpers.d.ts +1 -9
- package/dist/agent-variants/WorktreeOrchestrator.testHelpers.d.ts.map +1 -0
- package/dist/{mcp/agent-variants → agent-variants}/WorktreeOrchestrator.testHelpers.js +3 -18
- package/dist/agent-variants/WorktreeOrchestrator.testHelpers.js.map +1 -0
- package/dist/agent-variants/briefContent.d.ts.map +1 -0
- package/dist/agent-variants/briefContent.js.map +1 -0
- package/dist/{mcp/agent-variants → agent-variants}/contracts.d.ts +716 -722
- package/dist/agent-variants/contracts.d.ts.map +1 -0
- package/dist/{mcp/agent-variants → agent-variants}/contracts.js +4 -5
- package/dist/agent-variants/contracts.js.map +1 -0
- package/dist/agent-variants/createProjectArtifacts.d.ts.map +1 -0
- package/dist/agent-variants/createProjectArtifacts.js.map +1 -0
- package/dist/agent-variants/diffQa.d.ts.map +1 -0
- package/dist/agent-variants/diffQa.js.map +1 -0
- package/dist/{mcp/agent-variants → agent-variants}/elementRefToTarget.d.ts +1 -1
- package/dist/agent-variants/elementRefToTarget.d.ts.map +1 -0
- package/dist/agent-variants/elementRefToTarget.js.map +1 -0
- package/dist/agent-variants/errors.d.ts.map +1 -0
- package/dist/agent-variants/errors.js.map +1 -0
- package/dist/agent-variants/generatedDestination.d.ts +29 -0
- package/dist/agent-variants/generatedDestination.d.ts.map +1 -0
- package/dist/agent-variants/generatedDestination.js +59 -0
- package/dist/agent-variants/generatedDestination.js.map +1 -0
- package/dist/{mcp/agent-variants → agent-variants}/index.d.ts +3 -6
- package/dist/agent-variants/index.d.ts.map +1 -0
- package/dist/{mcp/agent-variants → agent-variants}/index.js +3 -6
- package/dist/agent-variants/index.js.map +1 -0
- package/dist/agent-variants/previewQa.d.ts.map +1 -0
- package/dist/agent-variants/previewQa.js.map +1 -0
- package/dist/agent-variants/runLabel.d.ts.map +1 -0
- package/dist/agent-variants/runLabel.js.map +1 -0
- package/dist/agent-variants/runPlan.d.ts.map +1 -0
- package/dist/agent-variants/runPlan.js.map +1 -0
- package/dist/agent-variants/sourceContext.d.ts.map +1 -0
- package/dist/agent-variants/sourceContext.js.map +1 -0
- package/dist/agent-variants/variantContext.d.ts.map +1 -0
- package/dist/agent-variants/variantContext.js.map +1 -0
- package/dist/cli/client.d.ts +43 -0
- package/dist/cli/client.d.ts.map +1 -0
- package/dist/cli/client.js +109 -0
- package/dist/cli/client.js.map +1 -0
- package/dist/cli/commandNames.d.ts +9 -0
- package/dist/cli/commandNames.d.ts.map +1 -0
- package/dist/cli/commandNames.js +24 -0
- package/dist/cli/commandNames.js.map +1 -0
- package/dist/cli/commands/auth.d.ts +10 -0
- package/dist/cli/commands/auth.d.ts.map +1 -0
- package/dist/cli/commands/auth.js +81 -0
- package/dist/cli/commands/auth.js.map +1 -0
- package/dist/cli/commands/elementSelector.d.ts +10 -0
- package/dist/cli/commands/elementSelector.d.ts.map +1 -0
- package/dist/cli/commands/elementSelector.js +41 -0
- package/dist/cli/commands/elementSelector.js.map +1 -0
- package/dist/cli/commands/evidence.d.ts +9 -0
- package/dist/cli/commands/evidence.d.ts.map +1 -0
- package/dist/cli/commands/evidence.js +85 -0
- package/dist/cli/commands/evidence.js.map +1 -0
- package/dist/cli/commands/mcpServe.d.ts +40 -0
- package/dist/cli/commands/mcpServe.d.ts.map +1 -0
- package/dist/cli/commands/mcpServe.js +485 -0
- package/dist/cli/commands/mcpServe.js.map +1 -0
- package/dist/cli/commands/open.d.ts +28 -0
- package/dist/cli/commands/open.d.ts.map +1 -0
- package/dist/cli/commands/open.js +280 -0
- package/dist/cli/commands/open.js.map +1 -0
- package/dist/cli/commands/reference.d.ts +8 -0
- package/dist/cli/commands/reference.d.ts.map +1 -0
- package/dist/cli/commands/reference.js +101 -0
- package/dist/cli/commands/reference.js.map +1 -0
- package/dist/cli/commands/serve.d.ts +9 -0
- package/dist/cli/commands/serve.d.ts.map +1 -0
- package/dist/cli/commands/serve.js +182 -0
- package/dist/cli/commands/serve.js.map +1 -0
- package/dist/cli/commands/shared.d.ts +31 -0
- package/dist/cli/commands/shared.d.ts.map +1 -0
- package/dist/cli/commands/shared.js +82 -0
- package/dist/cli/commands/shared.js.map +1 -0
- package/dist/cli/commands/status.d.ts +10 -0
- package/dist/cli/commands/status.d.ts.map +1 -0
- package/dist/cli/commands/status.js +61 -0
- package/dist/cli/commands/status.js.map +1 -0
- package/dist/cli/commands/stop.d.ts +8 -0
- package/dist/cli/commands/stop.d.ts.map +1 -0
- package/dist/cli/commands/stop.js +41 -0
- package/dist/cli/commands/stop.js.map +1 -0
- package/dist/cli/commands/variants.d.ts +4 -0
- package/dist/cli/commands/variants.d.ts.map +1 -0
- package/dist/cli/commands/variants.js +435 -0
- package/dist/cli/commands/variants.js.map +1 -0
- package/dist/cli/commands/wait.d.ts +10 -0
- package/dist/cli/commands/wait.d.ts.map +1 -0
- package/dist/cli/commands/wait.js +101 -0
- package/dist/cli/commands/wait.js.map +1 -0
- package/dist/cli/entry.d.ts +12 -0
- package/dist/cli/entry.d.ts.map +1 -0
- package/dist/cli/entry.js +61 -0
- package/dist/cli/entry.js.map +1 -0
- package/dist/cli/envelope.d.ts +60 -0
- package/dist/cli/envelope.d.ts.map +1 -0
- package/dist/cli/envelope.js +57 -0
- package/dist/cli/envelope.js.map +1 -0
- package/dist/cli/flags.d.ts +20 -0
- package/dist/cli/flags.d.ts.map +1 -0
- package/dist/cli/flags.js +72 -0
- package/dist/cli/flags.js.map +1 -0
- package/dist/cli/handoff.d.ts +54 -0
- package/dist/cli/handoff.d.ts.map +1 -0
- package/dist/cli/handoff.js +106 -0
- package/dist/cli/handoff.js.map +1 -0
- package/dist/cli/handoffStore.d.ts +24 -0
- package/dist/cli/handoffStore.d.ts.map +1 -0
- package/dist/cli/handoffStore.js +49 -0
- package/dist/cli/handoffStore.js.map +1 -0
- package/dist/cli/hostWorkNextAction.d.ts +45 -0
- package/dist/cli/hostWorkNextAction.d.ts.map +1 -0
- package/dist/cli/hostWorkNextAction.js +43 -0
- package/dist/cli/hostWorkNextAction.js.map +1 -0
- package/dist/cli/io.d.ts +17 -0
- package/dist/cli/io.d.ts.map +1 -0
- package/dist/cli/io.js +19 -0
- package/dist/cli/io.js.map +1 -0
- package/dist/cli/router.d.ts +23 -0
- package/dist/cli/router.d.ts.map +1 -0
- package/dist/cli/router.js +236 -0
- package/dist/cli/router.js.map +1 -0
- package/dist/cli/runnerSelection.d.ts +60 -0
- package/dist/cli/runnerSelection.d.ts.map +1 -0
- package/dist/cli/runnerSelection.js +93 -0
- package/dist/cli/runnerSelection.js.map +1 -0
- package/dist/cli/serverHandshake.d.ts +51 -0
- package/dist/cli/serverHandshake.d.ts.map +1 -0
- package/dist/cli/serverHandshake.js +144 -0
- package/dist/cli/serverHandshake.js.map +1 -0
- package/dist/index.d.ts +2 -14
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +84 -138
- package/dist/index.js.map +1 -1
- package/dist/install/allowlists.d.ts +65 -0
- package/dist/install/allowlists.d.ts.map +1 -0
- package/dist/install/allowlists.js +333 -0
- package/dist/install/allowlists.js.map +1 -0
- package/dist/install/codexGuidance.d.ts +11 -0
- package/dist/install/codexGuidance.d.ts.map +1 -0
- package/dist/install/codexGuidance.js +90 -0
- package/dist/install/codexGuidance.js.map +1 -0
- package/dist/install/harnesses.d.ts +37 -26
- package/dist/install/harnesses.d.ts.map +1 -1
- package/dist/install/harnesses.js +312 -502
- package/dist/install/harnesses.js.map +1 -1
- package/dist/install/legacyMcp.d.ts +26 -0
- package/dist/install/legacyMcp.d.ts.map +1 -0
- package/dist/install/legacyMcp.js +160 -0
- package/dist/install/legacyMcp.js.map +1 -0
- package/dist/install/mcpRegistration.d.ts +45 -0
- package/dist/install/mcpRegistration.d.ts.map +1 -0
- package/dist/install/mcpRegistration.js +215 -0
- package/dist/install/mcpRegistration.js.map +1 -0
- package/dist/mcp/changeBatchClassification.d.ts +20 -20
- package/dist/mcp/changeBatchClassification.d.ts.map +1 -1
- package/dist/mcp/changeBatchClassification.js +46 -46
- package/dist/mcp/changeBatchClassification.js.map +1 -1
- package/dist/proxy-middleware/proxy-config.d.ts +6 -0
- package/dist/proxy-middleware/proxy-config.d.ts.map +1 -1
- package/dist/proxy-middleware/proxy-config.js +162 -5
- package/dist/proxy-middleware/proxy-config.js.map +1 -1
- package/dist/routes/agentVariants.d.ts +14 -2
- package/dist/routes/agentVariants.d.ts.map +1 -1
- package/dist/routes/agentVariants.js +366 -65
- package/dist/routes/agentVariants.js.map +1 -1
- package/dist/routes/cli.d.ts +31 -0
- package/dist/routes/cli.d.ts.map +1 -0
- package/dist/routes/cli.js +95 -0
- package/dist/routes/cli.js.map +1 -0
- package/dist/routes/git.d.ts +1 -0
- package/dist/routes/git.d.ts.map +1 -1
- package/dist/routes/git.js +2 -1
- package/dist/routes/git.js.map +1 -1
- package/dist/routes/inlineStartTracker.d.ts +23 -0
- package/dist/routes/inlineStartTracker.d.ts.map +1 -0
- package/dist/routes/inlineStartTracker.js +17 -0
- package/dist/routes/inlineStartTracker.js.map +1 -0
- package/dist/routes/mcp.d.ts +2 -12
- package/dist/routes/mcp.d.ts.map +1 -1
- package/dist/routes/mcp.js +4 -785
- package/dist/routes/mcp.js.map +1 -1
- package/dist/server.d.ts +24 -9
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +169 -33
- package/dist/server.js.map +1 -1
- package/dist/services/CommitMessageGenerator.d.ts +9 -1
- package/dist/services/CommitMessageGenerator.d.ts.map +1 -1
- package/dist/services/CommitMessageGenerator.js +4 -1
- package/dist/services/CommitMessageGenerator.js.map +1 -1
- package/dist/services/ComponentSearchService.d.ts +4 -1
- package/dist/services/ComponentSearchService.d.ts.map +1 -1
- package/dist/services/ComponentSearchService.js.map +1 -1
- package/dist/services/ConfigManager.d.ts +8 -0
- package/dist/services/ConfigManager.d.ts.map +1 -1
- package/dist/services/ConfigManager.js +9 -0
- package/dist/services/ConfigManager.js.map +1 -1
- package/dist/services/HistoryReplayService.d.ts +20 -9
- package/dist/services/HistoryReplayService.d.ts.map +1 -1
- package/dist/services/HistoryReplayService.js +99 -43
- package/dist/services/HistoryReplayService.js.map +1 -1
- package/dist/services/MCPVariantsTelemetry.d.ts +1 -1
- package/dist/services/MCPVariantsTelemetry.d.ts.map +1 -1
- package/dist/services/MCPVariantsTelemetry.js +1 -0
- package/dist/services/MCPVariantsTelemetry.js.map +1 -1
- package/dist/services/PRTitleGenerator.d.ts +10 -2
- package/dist/services/PRTitleGenerator.d.ts.map +1 -1
- package/dist/services/PRTitleGenerator.js +8 -2
- package/dist/services/PRTitleGenerator.js.map +1 -1
- package/dist/services/ProjectDetectionService.d.ts.map +1 -1
- package/dist/services/ProjectDetectionService.js +14 -4
- package/dist/services/ProjectDetectionService.js.map +1 -1
- package/dist/services/ProjectMetadataStore.d.ts +115 -0
- package/dist/services/ProjectMetadataStore.d.ts.map +1 -0
- package/dist/services/ProjectMetadataStore.js +336 -0
- package/dist/services/ProjectMetadataStore.js.map +1 -0
- package/dist/services/SessionBridgeService.d.ts +52 -224
- package/dist/services/SessionBridgeService.d.ts.map +1 -1
- package/dist/services/SessionBridgeService.js +97 -649
- package/dist/services/SessionBridgeService.js.map +1 -1
- package/dist/services/SessionService.d.ts +4 -1
- package/dist/services/SessionService.d.ts.map +1 -1
- package/dist/services/SessionService.js +7 -4
- package/dist/services/SessionService.js.map +1 -1
- package/dist/services/StaticFileService.d.ts.map +1 -1
- package/dist/services/StaticFileService.js +6 -0
- package/dist/services/StaticFileService.js.map +1 -1
- package/dist/services/TelemetryService.d.ts +16 -80
- package/dist/services/TelemetryService.d.ts.map +1 -1
- package/dist/services/TelemetryService.js +18 -94
- package/dist/services/TelemetryService.js.map +1 -1
- package/dist/services/VariantGenerationService.d.ts +45 -0
- package/dist/services/VariantGenerationService.d.ts.map +1 -0
- package/dist/services/VariantGenerationService.js +214 -0
- package/dist/services/VariantGenerationService.js.map +1 -0
- package/dist/services/VariantHistoryService.d.ts +37 -1
- package/dist/services/VariantHistoryService.d.ts.map +1 -1
- package/dist/services/VariantHistoryService.js +122 -1
- package/dist/services/VariantHistoryService.js.map +1 -1
- package/dist/services/VariantRunService.d.ts +25 -6
- package/dist/services/VariantRunService.d.ts.map +1 -1
- package/dist/services/VariantRunService.js +99 -4
- package/dist/services/VariantRunService.js.map +1 -1
- package/dist/services/VariantsRuntime.d.ts +1 -3
- package/dist/services/VariantsRuntime.d.ts.map +1 -1
- package/dist/services/VariantsRuntime.js +0 -1
- package/dist/services/VariantsRuntime.js.map +1 -1
- package/dist/services/WorktreeManager.d.ts +1 -1
- package/dist/services/WorktreeManager.d.ts.map +1 -1
- package/dist/services/createAgentVariantsOrchestrator.d.ts +2 -2
- package/dist/services/createAgentVariantsOrchestrator.d.ts.map +1 -1
- package/dist/services/createAgentVariantsOrchestrator.js +2 -3
- package/dist/services/createAgentVariantsOrchestrator.js.map +1 -1
- package/dist/services/projectMetadataMigrations.d.ts +59 -0
- package/dist/services/projectMetadataMigrations.d.ts.map +1 -0
- package/dist/services/projectMetadataMigrations.js +109 -0
- package/dist/services/projectMetadataMigrations.js.map +1 -0
- package/dist/types/change-request-types.d.ts +32 -4
- package/dist/types/change-request-types.d.ts.map +1 -1
- package/dist/utils/logger.d.ts +2 -1
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +3 -7
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/loopback.d.ts +3 -0
- package/dist/utils/loopback.d.ts.map +1 -0
- package/dist/utils/loopback.js +13 -0
- package/dist/utils/loopback.js.map +1 -0
- package/dist/utils/pid.d.ts +3 -0
- package/dist/utils/pid.d.ts.map +1 -0
- package/dist/utils/pid.js +15 -0
- package/dist/utils/pid.js.map +1 -0
- package/dist/utils/queueAccess.d.ts +7 -0
- package/dist/utils/queueAccess.d.ts.map +1 -1
- package/dist/utils/queueAccess.js +8 -1
- package/dist/utils/queueAccess.js.map +1 -1
- package/dist/utils/shouldRecordHostedDemoSessionAction.d.ts +3 -3
- package/dist/utils/shouldRecordHostedDemoSessionAction.d.ts.map +1 -1
- package/dist/utils/shouldRecordHostedDemoSessionAction.js +3 -19
- package/dist/utils/shouldRecordHostedDemoSessionAction.js.map +1 -1
- package/dist/utils/skillWriter.d.ts.map +1 -1
- package/dist/utils/skillWriter.js +12 -11
- package/dist/utils/skillWriter.js.map +1 -1
- package/dist/utils/skills/claude-skill.d.ts +7 -2
- package/dist/utils/skills/claude-skill.d.ts.map +1 -1
- package/dist/utils/skills/claude-skill.js +10 -83
- package/dist/utils/skills/claude-skill.js.map +1 -1
- package/dist/utils/skills/cli-guidance.d.ts +12 -0
- package/dist/utils/skills/cli-guidance.d.ts.map +1 -0
- package/dist/utils/skills/cli-guidance.js +59 -0
- package/dist/utils/skills/cli-guidance.js.map +1 -0
- package/dist/utils/skills/cursor-rules.d.ts +8 -2
- package/dist/utils/skills/cursor-rules.d.ts.map +1 -1
- package/dist/utils/skills/cursor-rules.js +11 -80
- package/dist/utils/skills/cursor-rules.js.map +1 -1
- package/dist/utils/variantSessionStart.d.ts +1 -1
- package/dist/utils/variantSessionStart.d.ts.map +1 -1
- package/dist/utils/variantSessionStart.js +1 -1
- package/dist/utils/variantSessionStart.js.map +1 -1
- package/package.json +4 -4
- package/src/ui/dist/assets/main-B725ucb9.js +419 -0
- package/src/ui/dist/assets/main-Dyos9I29.css +1 -0
- package/src/ui/dist/index.html +2 -2
- package/dist/mcp/agent-variants/SessionStore.d.ts.map +0 -1
- package/dist/mcp/agent-variants/SessionStore.js.map +0 -1
- package/dist/mcp/agent-variants/WorktreeOrchestrator.d.ts.map +0 -1
- package/dist/mcp/agent-variants/WorktreeOrchestrator.js.map +0 -1
- package/dist/mcp/agent-variants/WorktreeOrchestrator.testHelpers.d.ts.map +0 -1
- package/dist/mcp/agent-variants/WorktreeOrchestrator.testHelpers.js.map +0 -1
- package/dist/mcp/agent-variants/areNaSourceContext.d.ts +0 -20
- package/dist/mcp/agent-variants/areNaSourceContext.d.ts.map +0 -1
- package/dist/mcp/agent-variants/areNaSourceContext.js +0 -118
- package/dist/mcp/agent-variants/areNaSourceContext.js.map +0 -1
- package/dist/mcp/agent-variants/briefContent.d.ts.map +0 -1
- package/dist/mcp/agent-variants/briefContent.js.map +0 -1
- package/dist/mcp/agent-variants/contracts.d.ts.map +0 -1
- package/dist/mcp/agent-variants/contracts.js.map +0 -1
- package/dist/mcp/agent-variants/createProjectArtifacts.d.ts.map +0 -1
- package/dist/mcp/agent-variants/createProjectArtifacts.js.map +0 -1
- package/dist/mcp/agent-variants/createZeroToOneTool.d.ts +0 -63
- package/dist/mcp/agent-variants/createZeroToOneTool.d.ts.map +0 -1
- package/dist/mcp/agent-variants/createZeroToOneTool.js +0 -265
- package/dist/mcp/agent-variants/createZeroToOneTool.js.map +0 -1
- package/dist/mcp/agent-variants/diffQa.d.ts.map +0 -1
- package/dist/mcp/agent-variants/diffQa.js.map +0 -1
- package/dist/mcp/agent-variants/elementRefToTarget.d.ts.map +0 -1
- package/dist/mcp/agent-variants/elementRefToTarget.js.map +0 -1
- package/dist/mcp/agent-variants/errors.d.ts.map +0 -1
- package/dist/mcp/agent-variants/errors.js.map +0 -1
- package/dist/mcp/agent-variants/generatedDestination.d.ts +0 -75
- package/dist/mcp/agent-variants/generatedDestination.d.ts.map +0 -1
- package/dist/mcp/agent-variants/generatedDestination.js +0 -103
- package/dist/mcp/agent-variants/generatedDestination.js.map +0 -1
- package/dist/mcp/agent-variants/index.d.ts.map +0 -1
- package/dist/mcp/agent-variants/index.js.map +0 -1
- package/dist/mcp/agent-variants/pendingChangesAdapter.d.ts +0 -38
- package/dist/mcp/agent-variants/pendingChangesAdapter.d.ts.map +0 -1
- package/dist/mcp/agent-variants/pendingChangesAdapter.js +0 -93
- package/dist/mcp/agent-variants/pendingChangesAdapter.js.map +0 -1
- package/dist/mcp/agent-variants/pinterestSourceContext.d.ts +0 -23
- package/dist/mcp/agent-variants/pinterestSourceContext.d.ts.map +0 -1
- package/dist/mcp/agent-variants/pinterestSourceContext.js +0 -137
- package/dist/mcp/agent-variants/pinterestSourceContext.js.map +0 -1
- package/dist/mcp/agent-variants/previewQa.d.ts.map +0 -1
- package/dist/mcp/agent-variants/previewQa.js.map +0 -1
- package/dist/mcp/agent-variants/runLabel.d.ts.map +0 -1
- package/dist/mcp/agent-variants/runLabel.js.map +0 -1
- package/dist/mcp/agent-variants/runPlan.d.ts.map +0 -1
- package/dist/mcp/agent-variants/runPlan.js.map +0 -1
- package/dist/mcp/agent-variants/sourceContext.d.ts.map +0 -1
- package/dist/mcp/agent-variants/sourceContext.js.map +0 -1
- package/dist/mcp/agent-variants/tools.d.ts +0 -187
- package/dist/mcp/agent-variants/tools.d.ts.map +0 -1
- package/dist/mcp/agent-variants/tools.js +0 -1165
- package/dist/mcp/agent-variants/tools.js.map +0 -1
- package/dist/mcp/agent-variants/variantContext.d.ts.map +0 -1
- package/dist/mcp/agent-variants/variantContext.js.map +0 -1
- package/dist/mcp/auth/httpOAuthProvider.d.ts +0 -103
- package/dist/mcp/auth/httpOAuthProvider.d.ts.map +0 -1
- package/dist/mcp/auth/httpOAuthProvider.js +0 -735
- package/dist/mcp/auth/httpOAuthProvider.js.map +0 -1
- package/dist/mcp/auth/tools.d.ts +0 -39
- package/dist/mcp/auth/tools.d.ts.map +0 -1
- package/dist/mcp/auth/tools.js +0 -304
- package/dist/mcp/auth/tools.js.map +0 -1
- package/dist/mcp/branding.d.ts +0 -4
- package/dist/mcp/branding.d.ts.map +0 -1
- package/dist/mcp/branding.js +0 -8
- package/dist/mcp/branding.js.map +0 -1
- package/dist/mcp/hostedServer.d.ts +0 -27
- package/dist/mcp/hostedServer.d.ts.map +0 -1
- package/dist/mcp/hostedServer.js +0 -71
- package/dist/mcp/hostedServer.js.map +0 -1
- package/dist/mcp/httpServer.d.ts +0 -63
- package/dist/mcp/httpServer.d.ts.map +0 -1
- package/dist/mcp/httpServer.js +0 -602
- package/dist/mcp/httpServer.js.map +0 -1
- package/dist/mcp/instructions.d.ts +0 -25
- package/dist/mcp/instructions.d.ts.map +0 -1
- package/dist/mcp/instructions.js +0 -39
- package/dist/mcp/instructions.js.map +0 -1
- package/dist/mcp/integrations/tools.d.ts +0 -19
- package/dist/mcp/integrations/tools.d.ts.map +0 -1
- package/dist/mcp/integrations/tools.js +0 -101
- package/dist/mcp/integrations/tools.js.map +0 -1
- package/dist/mcp/server.d.ts +0 -214
- package/dist/mcp/server.d.ts.map +0 -1
- package/dist/mcp/server.js +0 -2536
- package/dist/mcp/server.js.map +0 -1
- package/dist/mcp/toolAnalytics.d.ts +0 -26
- package/dist/mcp/toolAnalytics.d.ts.map +0 -1
- package/dist/mcp/toolAnalytics.js +0 -95
- package/dist/mcp/toolAnalytics.js.map +0 -1
- package/dist/mcp/types.d.ts +0 -7
- package/dist/mcp/types.d.ts.map +0 -1
- package/dist/mcp/types.js +0 -3
- package/dist/mcp/types.js.map +0 -1
- package/dist/mcp/watchLoopResumePrompt.d.ts +0 -16
- package/dist/mcp/watchLoopResumePrompt.d.ts.map +0 -1
- package/dist/mcp/watchLoopResumePrompt.js +0 -21
- package/dist/mcp/watchLoopResumePrompt.js.map +0 -1
- package/dist/prompts/agentModPrompts.d.ts +0 -4
- package/dist/prompts/agentModPrompts.d.ts.map +0 -1
- package/dist/prompts/agentModPrompts.js +0 -34
- package/dist/prompts/agentModPrompts.js.map +0 -1
- package/dist/prompts/tokenWriterPrompts.d.ts +0 -4
- package/dist/prompts/tokenWriterPrompts.d.ts.map +0 -1
- package/dist/prompts/tokenWriterPrompts.js +0 -59
- package/dist/prompts/tokenWriterPrompts.js.map +0 -1
- package/dist/routes/comments.d.ts +0 -3
- package/dist/routes/comments.d.ts.map +0 -1
- package/dist/routes/comments.js +0 -113
- package/dist/routes/comments.js.map +0 -1
- package/dist/routes/components.d.ts +0 -7
- package/dist/routes/components.d.ts.map +0 -1
- package/dist/routes/components.js +0 -88
- package/dist/routes/components.js.map +0 -1
- package/dist/routes/controls.d.ts +0 -7
- package/dist/routes/controls.d.ts.map +0 -1
- package/dist/routes/controls.js +0 -50
- package/dist/routes/controls.js.map +0 -1
- package/dist/routes/design.d.ts +0 -2
- package/dist/routes/design.d.ts.map +0 -1
- package/dist/routes/design.js +0 -29
- package/dist/routes/design.js.map +0 -1
- package/dist/routes/modifications.d.ts +0 -10
- package/dist/routes/modifications.d.ts.map +0 -1
- package/dist/routes/modifications.js +0 -394
- package/dist/routes/modifications.js.map +0 -1
- package/dist/routes/tokens.d.ts +0 -2
- package/dist/routes/tokens.d.ts.map +0 -1
- package/dist/routes/tokens.js +0 -115
- package/dist/routes/tokens.js.map +0 -1
- package/dist/services/AgentSessionService.d.ts +0 -91
- package/dist/services/AgentSessionService.d.ts.map +0 -1
- package/dist/services/AgentSessionService.js +0 -282
- package/dist/services/AgentSessionService.js.map +0 -1
- package/dist/services/BridgeBatchPipeline.d.ts +0 -103
- package/dist/services/BridgeBatchPipeline.d.ts.map +0 -1
- package/dist/services/BridgeBatchPipeline.js +0 -295
- package/dist/services/BridgeBatchPipeline.js.map +0 -1
- package/dist/services/BridgeQueueStore.d.ts +0 -28
- package/dist/services/BridgeQueueStore.d.ts.map +0 -1
- package/dist/services/BridgeQueueStore.js +0 -88
- package/dist/services/BridgeQueueStore.js.map +0 -1
- package/dist/services/CSSTokenWriter.d.ts +0 -22
- package/dist/services/CSSTokenWriter.d.ts.map +0 -1
- package/dist/services/CSSTokenWriter.js +0 -116
- package/dist/services/CSSTokenWriter.js.map +0 -1
- package/dist/services/DesignTokenService.d.ts +0 -39
- package/dist/services/DesignTokenService.d.ts.map +0 -1
- package/dist/services/DesignTokenService.js +0 -100
- package/dist/services/DesignTokenService.js.map +0 -1
- package/dist/services/InlineVariantGenerationService.d.ts +0 -51
- package/dist/services/InlineVariantGenerationService.d.ts.map +0 -1
- package/dist/services/InlineVariantGenerationService.js +0 -475
- package/dist/services/InlineVariantGenerationService.js.map +0 -1
- package/dist/services/InterfaceGenerationService.d.ts +0 -12
- package/dist/services/InterfaceGenerationService.d.ts.map +0 -1
- package/dist/services/InterfaceGenerationService.js +0 -256
- package/dist/services/InterfaceGenerationService.js.map +0 -1
- package/dist/services/TailwindConfigWriter.d.ts +0 -24
- package/dist/services/TailwindConfigWriter.d.ts.map +0 -1
- package/dist/services/TailwindConfigWriter.js +0 -105
- package/dist/services/TailwindConfigWriter.js.map +0 -1
- package/dist/services/TerminalAgentRunner.d.ts +0 -65
- package/dist/services/TerminalAgentRunner.d.ts.map +0 -1
- package/dist/services/TerminalAgentRunner.js +0 -511
- package/dist/services/TerminalAgentRunner.js.map +0 -1
- package/dist/services/VisualVariantAgentRunner.d.ts +0 -20
- package/dist/services/VisualVariantAgentRunner.d.ts.map +0 -1
- package/dist/services/VisualVariantAgentRunner.js +0 -66
- package/dist/services/VisualVariantAgentRunner.js.map +0 -1
- package/dist/services/adapters/TailwindCSSTokenAdapter.d.ts +0 -35
- package/dist/services/adapters/TailwindCSSTokenAdapter.d.ts.map +0 -1
- package/dist/services/adapters/TailwindCSSTokenAdapter.js +0 -278
- package/dist/services/adapters/TailwindCSSTokenAdapter.js.map +0 -1
- package/dist/services/agent/AgentCore.d.ts +0 -126
- package/dist/services/agent/AgentCore.d.ts.map +0 -1
- package/dist/services/agent/AgentCore.js +0 -759
- package/dist/services/agent/AgentCore.js.map +0 -1
- package/dist/services/agent/AgentModService.d.ts +0 -98
- package/dist/services/agent/AgentModService.d.ts.map +0 -1
- package/dist/services/agent/AgentModService.js +0 -400
- package/dist/services/agent/AgentModService.js.map +0 -1
- package/dist/services/agent/index.d.ts +0 -2
- package/dist/services/agent/index.d.ts.map +0 -1
- package/dist/services/agent/index.js +0 -6
- package/dist/services/agent/index.js.map +0 -1
- package/dist/types/editor-interface-types.d.ts +0 -67
- package/dist/types/editor-interface-types.d.ts.map +0 -1
- package/dist/types/editor-interface-types.js +0 -12
- package/dist/types/editor-interface-types.js.map +0 -1
- package/dist/utils/elementRefToContext.d.ts +0 -4
- package/dist/utils/elementRefToContext.d.ts.map +0 -1
- package/dist/utils/elementRefToContext.js +0 -63
- package/dist/utils/elementRefToContext.js.map +0 -1
- package/dist/utils/skills/shared-variants-protocol.d.ts +0 -69
- package/dist/utils/skills/shared-variants-protocol.d.ts.map +0 -1
- package/dist/utils/skills/shared-variants-protocol.js +0 -292
- package/dist/utils/skills/shared-variants-protocol.js.map +0 -1
- package/src/ui/dist/assets/main-Dnah9pII.css +0 -1
- package/src/ui/dist/assets/main-plq7aT76.js +0 -656
- /package/dist/{mcp/agent-variants → agent-variants}/briefContent.d.ts +0 -0
- /package/dist/{mcp/agent-variants → agent-variants}/briefContent.js +0 -0
- /package/dist/{mcp/agent-variants → agent-variants}/createProjectArtifacts.d.ts +0 -0
- /package/dist/{mcp/agent-variants → agent-variants}/createProjectArtifacts.js +0 -0
- /package/dist/{mcp/agent-variants → agent-variants}/diffQa.d.ts +0 -0
- /package/dist/{mcp/agent-variants → agent-variants}/diffQa.js +0 -0
- /package/dist/{mcp/agent-variants → agent-variants}/elementRefToTarget.js +0 -0
- /package/dist/{mcp/agent-variants → agent-variants}/errors.d.ts +0 -0
- /package/dist/{mcp/agent-variants → agent-variants}/errors.js +0 -0
- /package/dist/{mcp/agent-variants → agent-variants}/previewQa.d.ts +0 -0
- /package/dist/{mcp/agent-variants → agent-variants}/previewQa.js +0 -0
- /package/dist/{mcp/agent-variants → agent-variants}/runLabel.d.ts +0 -0
- /package/dist/{mcp/agent-variants → agent-variants}/runLabel.js +0 -0
- /package/dist/{mcp/agent-variants → agent-variants}/runPlan.d.ts +0 -0
- /package/dist/{mcp/agent-variants → agent-variants}/runPlan.js +0 -0
- /package/dist/{mcp/agent-variants → agent-variants}/sourceContext.d.ts +0 -0
- /package/dist/{mcp/agent-variants → agent-variants}/sourceContext.js +0 -0
- /package/dist/{mcp/agent-variants → agent-variants}/variantContext.d.ts +0 -0
- /package/dist/{mcp/agent-variants → agent-variants}/variantContext.js +0 -0
package/README.md
CHANGED
|
@@ -1,60 +1,84 @@
|
|
|
1
1
|
# Rivet
|
|
2
2
|
|
|
3
|
-
Rivet helps you explore multiple design directions for your web app. It
|
|
3
|
+
Rivet helps you explore multiple design directions for your web app. It opens a local visual editor, generates parallel variants, lets you refine with comments, and can send the chosen direction back into your project.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Install
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
Run the installer from the project where you want AI agents to use Rivet:
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
4. **Share or implement.** When you're happy, click the **Share** button to get a shareable link you can send to a collaborator — or share it back to your coding agent to implement the chosen direction.
|
|
9
|
+
```bash
|
|
10
|
+
npx -y rivet-design@latest install
|
|
11
|
+
```
|
|
13
12
|
|
|
14
|
-
|
|
13
|
+
The installer writes CLI usage guidance and command allowlists for detected shell-capable agents such as Claude Code, Cursor, and Codex. After installing, start a new agent session and say "Open Rivet" or "/rivet".
|
|
15
14
|
|
|
16
|
-
|
|
15
|
+
You can also run Rivet directly without a global install:
|
|
17
16
|
|
|
18
17
|
```bash
|
|
19
|
-
|
|
18
|
+
npx -y rivet-design@latest open --project /path/to/app
|
|
20
19
|
```
|
|
21
20
|
|
|
22
|
-
|
|
21
|
+
If installed globally, the package exposes the `rivet` binary:
|
|
23
22
|
|
|
24
23
|
```bash
|
|
25
|
-
|
|
24
|
+
rivet open --project /path/to/app
|
|
26
25
|
```
|
|
27
26
|
|
|
28
|
-
|
|
27
|
+
## CLI Agent Commands
|
|
29
28
|
|
|
30
|
-
|
|
29
|
+
Rivet's agent-facing commands print one JSON envelope on stdout, write progress to stderr, and do not prompt for input.
|
|
31
30
|
|
|
32
|
-
|
|
31
|
+
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`.
|
|
33
32
|
|
|
33
|
+
```bash
|
|
34
|
+
rivet open --project /path/to/app
|
|
35
|
+
rivet status --project /path/to/app
|
|
36
|
+
rivet variants start --project /path/to/app --instruction "try three hero layouts" --count 3
|
|
37
|
+
rivet wait <workId> --project /path/to/app --timeout 120
|
|
38
|
+
rivet variants list --project /path/to/app
|
|
39
|
+
rivet variants commit <variantId> --project /path/to/app
|
|
40
|
+
rivet changes request --project /path/to/app --instruction "make the header coral" --element "#header"
|
|
41
|
+
rivet changes pull --project /path/to/app
|
|
42
|
+
rivet stop --project /path/to/app
|
|
34
43
|
```
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
44
|
+
|
|
45
|
+
For a fresh project, create or use an empty directory, open Rivet there, then start variants with `--fresh`:
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
rivet open --project /path/to/new-app
|
|
49
|
+
rivet variants start --project /path/to/new-app --fresh --instruction "build a SaaS landing page" --count 3
|
|
38
50
|
```
|
|
39
51
|
|
|
40
|
-
|
|
52
|
+
For shell agents, pass caller metadata on each command when available:
|
|
41
53
|
|
|
42
|
-
|
|
54
|
+
```bash
|
|
55
|
+
rivet open --project /path/to/app --caller-agent cursor --caller-model <model> --caller-session <session-id>
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## How It Works
|
|
59
|
+
|
|
60
|
+
1. `rivet open` starts or attaches to the local Rivet editor server for a project. It can attach to an existing dev server or start the app's standard `dev`, `start`, or `serve` script when possible.
|
|
61
|
+
2. The editor shows your app and variant previews in the browser. Agents use `rivet variants ...` and `rivet changes ...` to enqueue work.
|
|
62
|
+
3. Use `rivet wait`, `rivet status`, or `rivet status --watch` to observe progress.
|
|
63
|
+
4. Commit the chosen variant with `rivet variants commit <variantId>` or use the editor to keep refining.
|
|
64
|
+
|
|
65
|
+
If Rivet reports pull mode, staged work can be drained with `rivet changes pull --project <path>`, applied by the agent, then acknowledged with `rivet changes pull --project <path> --ack <leaseId>`.
|
|
66
|
+
|
|
67
|
+
## Supported Frameworks
|
|
43
68
|
|
|
44
69
|
- Next.js
|
|
45
70
|
- Vite
|
|
46
71
|
- Create React App
|
|
47
72
|
- Remix
|
|
48
73
|
- SvelteKit
|
|
49
|
-
|
|
50
|
-
Your dev server needs to be running before opening Rivet. Your agent will give you the start command if it isn't.
|
|
74
|
+
- Static HTML
|
|
51
75
|
|
|
52
76
|
## Requirements
|
|
53
77
|
|
|
54
|
-
- Node.js
|
|
55
|
-
- A
|
|
56
|
-
-
|
|
78
|
+
- Node.js 24+
|
|
79
|
+
- A shell-capable coding agent for agent-driven flows
|
|
80
|
+
- Git for variant branch/history features
|
|
57
81
|
|
|
58
82
|
## License
|
|
59
83
|
|
|
60
|
-
|
|
84
|
+
GPL-3.0-or-later
|
package/README.npm.md
CHANGED
|
@@ -1,60 +1,84 @@
|
|
|
1
1
|
# Rivet
|
|
2
2
|
|
|
3
|
-
Rivet helps you explore multiple design directions for your web app. It
|
|
3
|
+
Rivet helps you explore multiple design directions for your web app. It opens a local visual editor, generates parallel variants, lets you refine with comments, and can send the chosen direction back into your project.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Install
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
Run the installer from the project where you want AI agents to use Rivet:
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
4. **Share or implement.** When you're happy, click the **Share** button to get a shareable link you can send to a collaborator — or share it back to your coding agent to implement the chosen direction.
|
|
9
|
+
```bash
|
|
10
|
+
npx -y rivet-design@latest install
|
|
11
|
+
```
|
|
13
12
|
|
|
14
|
-
|
|
13
|
+
The installer writes CLI usage guidance and command allowlists for detected shell-capable agents such as Claude Code, Cursor, and Codex. After installing, start a new agent session and say "Open Rivet" or "/rivet".
|
|
15
14
|
|
|
16
|
-
|
|
15
|
+
You can also run Rivet directly without a global install:
|
|
17
16
|
|
|
18
17
|
```bash
|
|
19
|
-
|
|
18
|
+
npx -y rivet-design@latest open --project /path/to/app
|
|
20
19
|
```
|
|
21
20
|
|
|
22
|
-
|
|
21
|
+
If installed globally, the package exposes the `rivet` binary:
|
|
23
22
|
|
|
24
23
|
```bash
|
|
25
|
-
|
|
24
|
+
rivet open --project /path/to/app
|
|
26
25
|
```
|
|
27
26
|
|
|
28
|
-
|
|
27
|
+
## CLI Agent Commands
|
|
29
28
|
|
|
30
|
-
|
|
29
|
+
Rivet's agent-facing commands print one JSON envelope on stdout, write progress to stderr, and do not prompt for input.
|
|
31
30
|
|
|
32
|
-
|
|
31
|
+
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`.
|
|
33
32
|
|
|
33
|
+
```bash
|
|
34
|
+
rivet open --project /path/to/app
|
|
35
|
+
rivet status --project /path/to/app
|
|
36
|
+
rivet variants start --project /path/to/app --instruction "try three hero layouts" --count 3
|
|
37
|
+
rivet wait <workId> --project /path/to/app --timeout 120
|
|
38
|
+
rivet variants list --project /path/to/app
|
|
39
|
+
rivet variants commit <variantId> --project /path/to/app
|
|
40
|
+
rivet changes request --project /path/to/app --instruction "make the header coral" --element "#header"
|
|
41
|
+
rivet changes pull --project /path/to/app
|
|
42
|
+
rivet stop --project /path/to/app
|
|
34
43
|
```
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
44
|
+
|
|
45
|
+
For a fresh project, create or use an empty directory, open Rivet there, then start variants with `--fresh`:
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
rivet open --project /path/to/new-app
|
|
49
|
+
rivet variants start --project /path/to/new-app --fresh --instruction "build a SaaS landing page" --count 3
|
|
38
50
|
```
|
|
39
51
|
|
|
40
|
-
|
|
52
|
+
For shell agents, pass caller metadata on each command when available:
|
|
41
53
|
|
|
42
|
-
|
|
54
|
+
```bash
|
|
55
|
+
rivet open --project /path/to/app --caller-agent cursor --caller-model <model> --caller-session <session-id>
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## How It Works
|
|
59
|
+
|
|
60
|
+
1. `rivet open` starts or attaches to the local Rivet editor server for a project. It can attach to an existing dev server or start the app's standard `dev`, `start`, or `serve` script when possible.
|
|
61
|
+
2. The editor shows your app and variant previews in the browser. Agents use `rivet variants ...` and `rivet changes ...` to enqueue work.
|
|
62
|
+
3. Use `rivet wait`, `rivet status`, or `rivet status --watch` to observe progress.
|
|
63
|
+
4. Commit the chosen variant with `rivet variants commit <variantId>` or use the editor to keep refining.
|
|
64
|
+
|
|
65
|
+
If Rivet reports pull mode, staged work can be drained with `rivet changes pull --project <path>`, applied by the agent, then acknowledged with `rivet changes pull --project <path> --ack <leaseId>`.
|
|
66
|
+
|
|
67
|
+
## Supported Frameworks
|
|
43
68
|
|
|
44
69
|
- Next.js
|
|
45
70
|
- Vite
|
|
46
71
|
- Create React App
|
|
47
72
|
- Remix
|
|
48
73
|
- SvelteKit
|
|
49
|
-
|
|
50
|
-
Your dev server needs to be running before opening Rivet. Your agent will give you the start command if it isn't.
|
|
74
|
+
- Static HTML
|
|
51
75
|
|
|
52
76
|
## Requirements
|
|
53
77
|
|
|
54
|
-
- Node.js
|
|
55
|
-
- A
|
|
56
|
-
-
|
|
78
|
+
- Node.js 24+
|
|
79
|
+
- A shell-capable coding agent for agent-driven flows
|
|
80
|
+
- Git for variant branch/history features
|
|
57
81
|
|
|
58
82
|
## License
|
|
59
83
|
|
|
60
|
-
|
|
84
|
+
GPL-3.0-or-later
|
package/bin/rivet.js
CHANGED
|
@@ -22,20 +22,6 @@ if (!process.env.NODE_ENV) {
|
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
-
// In MCP mode, stdout is reserved for the JSON-RPC protocol stream. The dist
|
|
26
|
-
// logger's redirectLogsToStderr() runs inside startMCPServer, but module-level
|
|
27
|
-
// log calls fire at import time — before that hook. Patch console output here
|
|
28
|
-
// so those early lines (and any future ones) go to stderr instead of corrupting
|
|
29
|
-
// the protocol stream.
|
|
30
|
-
if (process.argv.includes('mcp')) {
|
|
31
|
-
console.log = console.error.bind(console);
|
|
32
|
-
console.info = console.error.bind(console);
|
|
33
|
-
console.warn = console.error.bind(console);
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
// Import the compiled main function
|
|
37
|
-
const { main } = require('../dist/index.js');
|
|
38
|
-
|
|
39
25
|
// Handle uncaught exceptions gracefully
|
|
40
26
|
process.on('uncaughtException', (error) => {
|
|
41
27
|
console.error('Uncaught exception:', error);
|
|
@@ -47,14 +33,43 @@ process.on('unhandledRejection', (reason, promise) => {
|
|
|
47
33
|
process.exit(1);
|
|
48
34
|
});
|
|
49
35
|
|
|
50
|
-
//
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
36
|
+
// Control-plane subcommands route to the lean entry and skip dist/index.js
|
|
37
|
+
// entirely: its static import graph is the dominant fixed cost of an
|
|
38
|
+
// invocation and none of it is needed to emit an envelope. Any resolution
|
|
39
|
+
// failure falls back to the full CLI.
|
|
40
|
+
const args = process.argv.slice(2);
|
|
41
|
+
let controlPlane = null;
|
|
42
|
+
try {
|
|
43
|
+
const { isCliControlCommand } = require('../dist/cli/commandNames.js');
|
|
44
|
+
if (isCliControlCommand(args[0])) {
|
|
45
|
+
controlPlane = require('../dist/cli/entry.js');
|
|
46
|
+
}
|
|
47
|
+
} catch {
|
|
48
|
+
controlPlane = null;
|
|
49
|
+
}
|
|
55
50
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
process.
|
|
60
|
-
|
|
51
|
+
if (controlPlane) {
|
|
52
|
+
// stdout is reserved for JSON envelopes (and MCP frames under
|
|
53
|
+
// `rivet mcp serve`), so no Ctrl+C goodbye on this path.
|
|
54
|
+
process.on('SIGINT', () => {
|
|
55
|
+
process.exit(0);
|
|
56
|
+
});
|
|
57
|
+
controlPlane.runControlPlane(args).catch((error) => {
|
|
58
|
+
console.error('CLI error:', error);
|
|
59
|
+
process.exit(1);
|
|
60
|
+
});
|
|
61
|
+
} else {
|
|
62
|
+
// Handle Ctrl+C gracefully
|
|
63
|
+
process.on('SIGINT', () => {
|
|
64
|
+
console.log('\n👋 Goodbye!');
|
|
65
|
+
process.exit(0);
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
const { main } = require('../dist/index.js');
|
|
69
|
+
|
|
70
|
+
// Start the CLI
|
|
71
|
+
main().catch((error) => {
|
|
72
|
+
console.error('CLI error:', error);
|
|
73
|
+
process.exit(1);
|
|
74
|
+
});
|
|
75
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type Brief, type ActiveVariantSnapshot, type LeasedWorkItemDescriptor, type ProjectContext, type SourcePlanActionOption, type SourcePlanArtifact, type Stage, type StaticPreviewTargetElement, type Target, type TerminalSummary, type VariantContextBinding, type VariantContextBundle, type VariantQaResult, type VariantPickEnvelope, type WorkItem, type WorkItemStatus } from './contracts';
|
|
1
|
+
import { type Brief, type ActiveVariantSnapshot, type LeasedWorkItemDescriptor, type ProjectContext, type SourcePlanActionOption, type SourcePlanArtifact, type Stage, type StartVariantsBriefContent, type StaticPreviewTargetElement, type Target, type TerminalSummary, type VariantContextBinding, type VariantContextBundle, type VariantQaResult, type VariantPickEnvelope, type WorkItem, type WorkItemStatus } from './contracts';
|
|
2
2
|
/** TTL for a lease on a code_gen work item. Bumped to 20min after a timing
|
|
3
3
|
* audit found first-variant single-round code-gen routinely runs 540–950s
|
|
4
4
|
* (4+ Task sub-agents in parallel), so the previous 10min cap was the most
|
|
@@ -185,6 +185,7 @@ export declare class SessionStore {
|
|
|
185
185
|
sourceVariantId: string;
|
|
186
186
|
instruction: string;
|
|
187
187
|
count: number;
|
|
188
|
+
briefs?: StartVariantsBriefContent[];
|
|
188
189
|
currentHtml?: string;
|
|
189
190
|
targetElement?: StaticPreviewTargetElement;
|
|
190
191
|
requestId?: string;
|
|
@@ -199,12 +200,20 @@ export declare class SessionStore {
|
|
|
199
200
|
* batch; the orchestrator provisions a worktree per item and runs each
|
|
200
201
|
* through the normal completion/preview pipeline.
|
|
201
202
|
*
|
|
203
|
+
* With `sourceVariantId`, forks a succeeded code_gen parent: each new item
|
|
204
|
+
* is stamped with the source id (+ sourceLabel/sourceBody) so the
|
|
205
|
+
* orchestrator seeds its worktree from the parent's tree rather than git
|
|
206
|
+
* HEAD / Original. Backs code_gen "Vary" targeting a parent variant.
|
|
207
|
+
*
|
|
202
208
|
* Reopens the session to `work_items_ready` so the appended pending work is
|
|
203
209
|
* visible and drives the stage back through generation to ready/degraded.
|
|
204
210
|
*/
|
|
205
|
-
|
|
211
|
+
appendCodeGenVariants(args: {
|
|
206
212
|
sessionId: string;
|
|
207
213
|
briefs: Brief[];
|
|
214
|
+
/** Fork parent: seed each new variant from this succeeded code_gen
|
|
215
|
+
* variant's worktree instead of the base tree. */
|
|
216
|
+
sourceVariantId?: string;
|
|
208
217
|
/** Run label (1–2 word intent) derived from THIS batch's instruction.
|
|
209
218
|
* Stamped onto each appended work item so the variant table tags the new
|
|
210
219
|
* rows with their OWN batch's label instead of inheriting the session's
|
|
@@ -220,23 +229,6 @@ export declare class SessionStore {
|
|
|
220
229
|
createdWorkItemIds: string[];
|
|
221
230
|
briefs: Brief[];
|
|
222
231
|
};
|
|
223
|
-
/**
|
|
224
|
-
* Fork a succeeded code_gen variant into N NEW sibling variants. Each forked
|
|
225
|
-
* item is seeded from the source variant's worktree (not git HEAD / Original)
|
|
226
|
-
* and carries `sourceVariantId` so the orchestrator can copy the parent's
|
|
227
|
-
* tree when provisioning. Backs code_gen "Vary" when the UI targets a parent
|
|
228
|
-
* variant with `variantRequest.count > 0`.
|
|
229
|
-
*/
|
|
230
|
-
createForkedCodeGenWorkItems(args: {
|
|
231
|
-
sessionId: string;
|
|
232
|
-
sourceVariantId: string;
|
|
233
|
-
briefs: Brief[];
|
|
234
|
-
runLabel?: string;
|
|
235
|
-
variantContext?: VariantContextBundle;
|
|
236
|
-
}): {
|
|
237
|
-
createdWorkItemIds: string[];
|
|
238
|
-
briefs: Brief[];
|
|
239
|
-
};
|
|
240
232
|
/**
|
|
241
233
|
* Adopt a PAST variant (from a prior session's persisted history) into THIS
|
|
242
234
|
* active session as a first-class, already-`succeeded` `static_preview`
|
|
@@ -429,6 +421,7 @@ export declare class SessionStore {
|
|
|
429
421
|
};
|
|
430
422
|
getSummary(sessionId: string): TerminalSummary;
|
|
431
423
|
getVariants(sessionId: string): ActiveVariantSnapshot[];
|
|
424
|
+
getHostWork(sessionId: string): import('./contracts').HostVariantWorkItemSnapshot[];
|
|
432
425
|
getVariantPick(sessionId: string): VariantPickEnvelope | undefined;
|
|
433
426
|
/** Validates a report lease without mutating the work item. */
|
|
434
427
|
validateReportLease(args: {
|
|
@@ -439,7 +432,7 @@ export declare class SessionStore {
|
|
|
439
432
|
}): void;
|
|
440
433
|
hasSession(sessionId: string): boolean;
|
|
441
434
|
/** Read a work item's input blob — used by the orchestrator to recover
|
|
442
|
-
* briefLabel / target / projectContext when
|
|
435
|
+
* briefLabel / target / projectContext when committing the output. */
|
|
443
436
|
getWorkItemInput(sessionId: string, workItemId: string): unknown;
|
|
444
437
|
getWorkItemOutput(sessionId: string, workItemId: string): unknown;
|
|
445
438
|
/** Replaces a completed work item's output after server-side post-processing. */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SessionStore.d.ts","sourceRoot":"","sources":["../../src/agent-variants/SessionStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -992,7 +992,8 @@ class SessionStore {
|
|
|
992
992
|
const sourceInput = source.input;
|
|
993
993
|
const seedHtml = args.currentHtml ??
|
|
994
994
|
source.output?.html;
|
|
995
|
-
const
|
|
995
|
+
const briefs = args.briefs?.map(briefContent_1.normalizeBriefContent);
|
|
996
|
+
const total = Math.min(briefs?.length ?? Math.max(Math.trunc(args.count) || 1, 1), contracts_1.VARIANT_COUNT_MAX);
|
|
996
997
|
// Label/describe forked variants by the CHANGE requested (the Vary
|
|
997
998
|
// instruction), not the source brief — otherwise every run on the same
|
|
998
999
|
// variant reads identically ("<source> · variation N") and concurrent runs
|
|
@@ -1004,6 +1005,7 @@ class SessionStore {
|
|
|
1004
1005
|
const LABEL_MAX = 48;
|
|
1005
1006
|
const created = [];
|
|
1006
1007
|
for (let i = 0; i < total; i++) {
|
|
1008
|
+
const brief = briefs?.[i];
|
|
1007
1009
|
const suffix = total > 1 ? ` · ${i + 1}` : '';
|
|
1008
1010
|
const labelBase = prettyInstruction.length > LABEL_MAX - suffix.length
|
|
1009
1011
|
? `${prettyInstruction.slice(0, LABEL_MAX - suffix.length - 1)}…`
|
|
@@ -1016,10 +1018,13 @@ class SessionStore {
|
|
|
1016
1018
|
dependsOn: [],
|
|
1017
1019
|
input: {
|
|
1018
1020
|
briefId: `${sourceInput.briefId ?? 'v'}-vary-${(0, crypto_1.randomUUID)().slice(0, 8)}`,
|
|
1019
|
-
//
|
|
1020
|
-
//
|
|
1021
|
-
briefLabel: `${labelBase}${suffix}`,
|
|
1022
|
-
briefBody: prettyInstruction,
|
|
1021
|
+
// Agent-authored metadata is visible from the start. Human-direct
|
|
1022
|
+
// fallback metadata can still be replaced on completion.
|
|
1023
|
+
briefLabel: brief?.label ?? `${labelBase}${suffix}`,
|
|
1024
|
+
briefBody: brief?.body ?? prettyInstruction,
|
|
1025
|
+
...(brief?.visualReferenceUrl
|
|
1026
|
+
? { visualReferenceUrl: brief.visualReferenceUrl }
|
|
1027
|
+
: {}),
|
|
1023
1028
|
instruction: args.instruction,
|
|
1024
1029
|
sourceVariantId: args.sourceVariantId,
|
|
1025
1030
|
// Parent identity, so the agent can synthesize a name/description that
|
|
@@ -1058,11 +1063,23 @@ class SessionStore {
|
|
|
1058
1063
|
* batch; the orchestrator provisions a worktree per item and runs each
|
|
1059
1064
|
* through the normal completion/preview pipeline.
|
|
1060
1065
|
*
|
|
1066
|
+
* With `sourceVariantId`, forks a succeeded code_gen parent: each new item
|
|
1067
|
+
* is stamped with the source id (+ sourceLabel/sourceBody) so the
|
|
1068
|
+
* orchestrator seeds its worktree from the parent's tree rather than git
|
|
1069
|
+
* HEAD / Original. Backs code_gen "Vary" targeting a parent variant.
|
|
1070
|
+
*
|
|
1061
1071
|
* Reopens the session to `work_items_ready` so the appended pending work is
|
|
1062
1072
|
* visible and drives the stage back through generation to ready/degraded.
|
|
1063
1073
|
*/
|
|
1064
|
-
|
|
1074
|
+
appendCodeGenVariants(args) {
|
|
1065
1075
|
const session = this.requireSession(args.sessionId);
|
|
1076
|
+
const source = args.sourceVariantId
|
|
1077
|
+
? this.requireWorkItem(session, args.sourceVariantId)
|
|
1078
|
+
: null;
|
|
1079
|
+
if (source &&
|
|
1080
|
+
(source.kind !== 'code_gen' || source.status !== 'succeeded')) {
|
|
1081
|
+
throw new errors_1.AgentVariantsError('VARIANT_NOT_EDITABLE', 'Only completed code_gen variants can be varied');
|
|
1082
|
+
}
|
|
1066
1083
|
if (session.projectContext.kind !== 'existing') {
|
|
1067
1084
|
throw new errors_1.AgentVariantsError('INVALID_STAGE_ACTION', 'Only existing-project sessions can append code_gen variants');
|
|
1068
1085
|
}
|
|
@@ -1075,81 +1092,19 @@ class SessionStore {
|
|
|
1075
1092
|
if (args.briefs.length === 0) {
|
|
1076
1093
|
throw new errors_1.AgentVariantsError('MISSING_REQUIRED_INPUT', 'At least one brief is required to append variants');
|
|
1077
1094
|
}
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
|
|
1095
|
+
if (source) {
|
|
1096
|
+
const activeRefinement = [...session.workItems.values()].find((item) => {
|
|
1097
|
+
if (item.kind !== 'refine_variant')
|
|
1098
|
+
return false;
|
|
1099
|
+
const input = item.input;
|
|
1100
|
+
return (input.variantId === args.sourceVariantId &&
|
|
1101
|
+
(item.status === 'pending' || item.status === 'running'));
|
|
1085
1102
|
});
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
const item = {
|
|
1090
|
-
id: (0, crypto_1.randomUUID)(),
|
|
1091
|
-
kind: 'code_gen',
|
|
1092
|
-
status: 'pending',
|
|
1093
|
-
attempt: 0,
|
|
1094
|
-
dependsOn: [],
|
|
1095
|
-
input: {
|
|
1096
|
-
briefId: brief.briefId,
|
|
1097
|
-
briefLabel: brief.label,
|
|
1098
|
-
briefBody: brief.body,
|
|
1099
|
-
...visualRef,
|
|
1100
|
-
...(args.runLabel ? { runLabel: args.runLabel } : {}),
|
|
1101
|
-
target: session.target,
|
|
1102
|
-
projectContext: session.projectContext,
|
|
1103
|
-
...(context ? { context } : {}),
|
|
1104
|
-
},
|
|
1105
|
-
acceptedReports: [],
|
|
1106
|
-
};
|
|
1107
|
-
session.workItems.set(item.id, item);
|
|
1108
|
-
// Surface the newest Vary batch at the top of the Directions list, matching
|
|
1109
|
-
// the static-preview fork ordering.
|
|
1110
|
-
session.workItemOrder.unshift(item.id);
|
|
1111
|
-
session.briefs.push(brief);
|
|
1112
|
-
createdWorkItemIds.push(item.id);
|
|
1113
|
-
}
|
|
1114
|
-
session.stage = 'work_items_ready';
|
|
1115
|
-
return { createdWorkItemIds, briefs: args.briefs };
|
|
1116
|
-
}
|
|
1117
|
-
/**
|
|
1118
|
-
* Fork a succeeded code_gen variant into N NEW sibling variants. Each forked
|
|
1119
|
-
* item is seeded from the source variant's worktree (not git HEAD / Original)
|
|
1120
|
-
* and carries `sourceVariantId` so the orchestrator can copy the parent's
|
|
1121
|
-
* tree when provisioning. Backs code_gen "Vary" when the UI targets a parent
|
|
1122
|
-
* variant with `variantRequest.count > 0`.
|
|
1123
|
-
*/
|
|
1124
|
-
createForkedCodeGenWorkItems(args) {
|
|
1125
|
-
const session = this.requireSession(args.sessionId);
|
|
1126
|
-
const source = this.requireWorkItem(session, args.sourceVariantId);
|
|
1127
|
-
if (source.kind !== 'code_gen' || source.status !== 'succeeded') {
|
|
1128
|
-
throw new errors_1.AgentVariantsError('VARIANT_NOT_EDITABLE', 'Only completed code_gen variants can be varied');
|
|
1129
|
-
}
|
|
1130
|
-
if (session.projectContext.kind !== 'existing') {
|
|
1131
|
-
throw new errors_1.AgentVariantsError('INVALID_STAGE_ACTION', 'Only existing-project sessions can fork code_gen variants');
|
|
1132
|
-
}
|
|
1133
|
-
if (session.variantPick) {
|
|
1134
|
-
throw new errors_1.AgentVariantsError('PENDING_CHANGE_CONFLICT', 'Cannot vary a variant after one has already been committed');
|
|
1135
|
-
}
|
|
1136
|
-
if (session.stage === 'cancelled' || session.stage === 'failed') {
|
|
1137
|
-
throw new errors_1.AgentVariantsError('INVALID_STAGE_ACTION', `Cannot fork variants in a ${session.stage} session`);
|
|
1138
|
-
}
|
|
1139
|
-
if (args.briefs.length === 0) {
|
|
1140
|
-
throw new errors_1.AgentVariantsError('MISSING_REQUIRED_INPUT', 'At least one brief is required to fork variants');
|
|
1141
|
-
}
|
|
1142
|
-
const activeRefinement = [...session.workItems.values()].find((item) => {
|
|
1143
|
-
if (item.kind !== 'refine_variant')
|
|
1144
|
-
return false;
|
|
1145
|
-
const input = item.input;
|
|
1146
|
-
return (input.variantId === args.sourceVariantId &&
|
|
1147
|
-
(item.status === 'pending' || item.status === 'running'));
|
|
1148
|
-
});
|
|
1149
|
-
if (activeRefinement) {
|
|
1150
|
-
throw new errors_1.AgentVariantsError('PENDING_CHANGE_CONFLICT', 'Cannot vary a variant while an in-place refinement is pending or running');
|
|
1103
|
+
if (activeRefinement) {
|
|
1104
|
+
throw new errors_1.AgentVariantsError('PENDING_CHANGE_CONFLICT', 'Cannot vary a variant while an in-place refinement is pending or running');
|
|
1105
|
+
}
|
|
1151
1106
|
}
|
|
1152
|
-
const sourceInput = source
|
|
1107
|
+
const sourceInput = (source?.input ?? {});
|
|
1153
1108
|
const createdWorkItemIds = [];
|
|
1154
1109
|
for (const brief of args.briefs) {
|
|
1155
1110
|
const context = resolveVariantWorkItemContext({
|
|
@@ -1173,11 +1128,15 @@ class SessionStore {
|
|
|
1173
1128
|
briefBody: brief.body,
|
|
1174
1129
|
...visualRef,
|
|
1175
1130
|
...(args.runLabel ? { runLabel: args.runLabel } : {}),
|
|
1176
|
-
|
|
1177
|
-
|
|
1131
|
+
...(args.sourceVariantId
|
|
1132
|
+
? { sourceVariantId: args.sourceVariantId }
|
|
1133
|
+
: {}),
|
|
1134
|
+
...(source && sourceInput.briefLabel
|
|
1178
1135
|
? { sourceLabel: sourceInput.briefLabel }
|
|
1179
1136
|
: {}),
|
|
1180
|
-
...(
|
|
1137
|
+
...(source && sourceInput.briefBody
|
|
1138
|
+
? { sourceBody: sourceInput.briefBody }
|
|
1139
|
+
: {}),
|
|
1181
1140
|
target: session.target,
|
|
1182
1141
|
projectContext: session.projectContext,
|
|
1183
1142
|
...(context ? { context } : {}),
|
|
@@ -1185,6 +1144,8 @@ class SessionStore {
|
|
|
1185
1144
|
acceptedReports: [],
|
|
1186
1145
|
};
|
|
1187
1146
|
session.workItems.set(item.id, item);
|
|
1147
|
+
// Surface the newest Vary batch at the top of the Directions list, matching
|
|
1148
|
+
// the static-preview fork ordering.
|
|
1188
1149
|
session.workItemOrder.unshift(item.id);
|
|
1189
1150
|
session.briefs.push(brief);
|
|
1190
1151
|
createdWorkItemIds.push(item.id);
|
|
@@ -1539,7 +1500,7 @@ class SessionStore {
|
|
|
1539
1500
|
sessionStage: session.stage,
|
|
1540
1501
|
};
|
|
1541
1502
|
}
|
|
1542
|
-
// --- Variant pick handoff
|
|
1503
|
+
// --- Variant pick handoff ----------------------------------------------
|
|
1543
1504
|
recordVariantPick(args) {
|
|
1544
1505
|
const session = this.requireSession(args.sessionId);
|
|
1545
1506
|
if (!['ready', 'degraded'].includes(session.stage)) {
|
|
@@ -1582,6 +1543,30 @@ class SessionStore {
|
|
|
1582
1543
|
const session = this.requireSession(sessionId);
|
|
1583
1544
|
return this.variantsOf(session);
|
|
1584
1545
|
}
|
|
1546
|
+
getHostWork(sessionId) {
|
|
1547
|
+
const session = this.requireSession(sessionId);
|
|
1548
|
+
return [...session.workItems.values()]
|
|
1549
|
+
.filter((item) => item.lease && item.status === 'running')
|
|
1550
|
+
.map((item) => {
|
|
1551
|
+
const input = item.input && typeof item.input === 'object'
|
|
1552
|
+
? item.input
|
|
1553
|
+
: {};
|
|
1554
|
+
const variantId = item.kind === 'refine_variant' && typeof input.variantId === 'string'
|
|
1555
|
+
? input.variantId
|
|
1556
|
+
: item.id;
|
|
1557
|
+
return {
|
|
1558
|
+
workId: item.id,
|
|
1559
|
+
variantId,
|
|
1560
|
+
kind: item.kind,
|
|
1561
|
+
status: item.status,
|
|
1562
|
+
leaseId: item.lease.leaseId,
|
|
1563
|
+
attempt: item.lease.attempt,
|
|
1564
|
+
leaseExpiresAt: item.lease.leaseExpiresAt,
|
|
1565
|
+
input: item.input,
|
|
1566
|
+
outputSchema: outputSchemaFor(item.kind),
|
|
1567
|
+
};
|
|
1568
|
+
});
|
|
1569
|
+
}
|
|
1585
1570
|
getVariantPick(sessionId) {
|
|
1586
1571
|
return this.requireSession(sessionId).variantPick;
|
|
1587
1572
|
}
|
|
@@ -1595,7 +1580,7 @@ class SessionStore {
|
|
|
1595
1580
|
return this.sessions.has(sessionId);
|
|
1596
1581
|
}
|
|
1597
1582
|
/** Read a work item's input blob — used by the orchestrator to recover
|
|
1598
|
-
* briefLabel / target / projectContext when
|
|
1583
|
+
* briefLabel / target / projectContext when committing the output. */
|
|
1599
1584
|
getWorkItemInput(sessionId, workItemId) {
|
|
1600
1585
|
const session = this.requireSession(sessionId);
|
|
1601
1586
|
const item = this.requireWorkItem(session, workItemId);
|
|
@@ -1894,6 +1879,11 @@ class SessionStore {
|
|
|
1894
1879
|
briefId: input.briefId ?? '',
|
|
1895
1880
|
label: input.briefLabel ?? 'Variant',
|
|
1896
1881
|
status: item.status,
|
|
1882
|
+
// The filter above admits only code_gen / static_preview items
|
|
1883
|
+
// (incl. adopted + forked static previews). Clients route Vary/apply
|
|
1884
|
+
// on this — never on the display preview kind, which diverges for
|
|
1885
|
+
// existing-project code_gen variants materialized as static HTML.
|
|
1886
|
+
workItemKind: item.kind,
|
|
1897
1887
|
createdAt: new Date(session.createdAt).toISOString(),
|
|
1898
1888
|
// Prefer the per-item label stamped by an appended Vary batch; the
|
|
1899
1889
|
// session-level fallback is correct only for the first batch (its
|