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
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.acquireStartLock = exports.isPidAlive = exports.removeHandshake = exports.readHandshake = exports.writeHandshake = exports.handshakeFilePath = exports.CLI_HANDSHAKE_VERSION = void 0;
|
|
4
|
+
const fs_1 = require("fs");
|
|
5
|
+
const path_1 = require("path");
|
|
6
|
+
const logger_1 = require("../utils/logger");
|
|
7
|
+
const pid_1 = require("../utils/pid");
|
|
8
|
+
Object.defineProperty(exports, "isPidAlive", { enumerable: true, get: function () { return pid_1.isPidAlive; } });
|
|
9
|
+
const log = (0, logger_1.createLogger)('CliServerHandshake');
|
|
10
|
+
/**
|
|
11
|
+
* Per-project server discovery for CLI invocations.
|
|
12
|
+
*
|
|
13
|
+
* A running Rivet server advertises itself in
|
|
14
|
+
* `<projectPath>/.rivet/cli/server.json` (owner-only, since it can carry the
|
|
15
|
+
* control access token). CLI subcommands read it, health-ping the port, and
|
|
16
|
+
* attach; `rivet open` uses a companion lock file so two racing invocations
|
|
17
|
+
* against one project root converge on a single server.
|
|
18
|
+
*
|
|
19
|
+
* This is the minimal stand-in for the daemon handshake/lock protocol
|
|
20
|
+
* (`.rivet/daemon/`, PR #913). When that substrate merges, this file is
|
|
21
|
+
* subsumed by `daemon.json` and the CLI attach path moves onto it.
|
|
22
|
+
*/
|
|
23
|
+
exports.CLI_HANDSHAKE_VERSION = 1;
|
|
24
|
+
const handshakeDir = (projectPath) => (0, path_1.join)(projectPath, '.rivet', 'cli');
|
|
25
|
+
const handshakeFilePath = (projectPath) => (0, path_1.join)(handshakeDir(projectPath), 'server.json');
|
|
26
|
+
exports.handshakeFilePath = handshakeFilePath;
|
|
27
|
+
const lockFilePath = (projectPath) => (0, path_1.join)(handshakeDir(projectPath), 'server.lock');
|
|
28
|
+
const OWNER_ONLY_FILE_MODE = 0o600;
|
|
29
|
+
/** Atomically write the handshake with owner-only permissions. */
|
|
30
|
+
const writeHandshake = (handshake) => {
|
|
31
|
+
const filePath = (0, exports.handshakeFilePath)(handshake.projectPath);
|
|
32
|
+
(0, fs_1.mkdirSync)((0, path_1.dirname)(filePath), { recursive: true });
|
|
33
|
+
const tempPath = `${filePath}.${process.pid}.tmp`;
|
|
34
|
+
const fd = (0, fs_1.openSync)(tempPath, 'w', OWNER_ONLY_FILE_MODE);
|
|
35
|
+
try {
|
|
36
|
+
(0, fs_1.writeSync)(fd, JSON.stringify(handshake));
|
|
37
|
+
}
|
|
38
|
+
finally {
|
|
39
|
+
(0, fs_1.closeSync)(fd);
|
|
40
|
+
}
|
|
41
|
+
(0, fs_1.chmodSync)(tempPath, OWNER_ONLY_FILE_MODE);
|
|
42
|
+
(0, fs_1.renameSync)(tempPath, filePath);
|
|
43
|
+
};
|
|
44
|
+
exports.writeHandshake = writeHandshake;
|
|
45
|
+
/** Read the handshake, or null when missing/corrupt/mismatched. */
|
|
46
|
+
const readHandshake = (projectPath) => {
|
|
47
|
+
const filePath = (0, exports.handshakeFilePath)(projectPath);
|
|
48
|
+
try {
|
|
49
|
+
const parsed = JSON.parse((0, fs_1.readFileSync)(filePath, 'utf8'));
|
|
50
|
+
if (parsed.version !== exports.CLI_HANDSHAKE_VERSION) {
|
|
51
|
+
return null;
|
|
52
|
+
}
|
|
53
|
+
if (typeof parsed.pid !== 'number' ||
|
|
54
|
+
typeof parsed.rivetPort !== 'number') {
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
return parsed;
|
|
58
|
+
}
|
|
59
|
+
catch (error) {
|
|
60
|
+
if (error.code !== 'ENOENT') {
|
|
61
|
+
log.debug(`Unreadable CLI handshake at ${filePath}`, error);
|
|
62
|
+
}
|
|
63
|
+
return null;
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
exports.readHandshake = readHandshake;
|
|
67
|
+
/** Remove the handshake if this process wrote it (pid match). */
|
|
68
|
+
const removeHandshake = (projectPath, pid) => {
|
|
69
|
+
const existing = (0, exports.readHandshake)(projectPath);
|
|
70
|
+
if (!existing || existing.pid !== pid) {
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
try {
|
|
74
|
+
(0, fs_1.unlinkSync)((0, exports.handshakeFilePath)(projectPath));
|
|
75
|
+
}
|
|
76
|
+
catch {
|
|
77
|
+
// Already gone.
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
exports.removeHandshake = removeHandshake;
|
|
81
|
+
/**
|
|
82
|
+
* Try to become the process responsible for starting the project's server.
|
|
83
|
+
* Returns a releasable lock on success, or null when another live process
|
|
84
|
+
* already holds it (the caller should then wait for that winner's
|
|
85
|
+
* handshake). Stale locks from dead processes are broken.
|
|
86
|
+
*/
|
|
87
|
+
const acquireStartLock = (projectPath) => {
|
|
88
|
+
const filePath = lockFilePath(projectPath);
|
|
89
|
+
(0, fs_1.mkdirSync)((0, path_1.dirname)(filePath), { recursive: true });
|
|
90
|
+
const tryAcquire = () => {
|
|
91
|
+
try {
|
|
92
|
+
const fd = (0, fs_1.openSync)(filePath, 'wx', OWNER_ONLY_FILE_MODE);
|
|
93
|
+
try {
|
|
94
|
+
(0, fs_1.writeSync)(fd, String(process.pid));
|
|
95
|
+
}
|
|
96
|
+
finally {
|
|
97
|
+
(0, fs_1.closeSync)(fd);
|
|
98
|
+
}
|
|
99
|
+
return {
|
|
100
|
+
holdForProcess: (pid) => {
|
|
101
|
+
(0, fs_1.writeFileSync)(filePath, String(pid), { mode: OWNER_ONLY_FILE_MODE });
|
|
102
|
+
(0, fs_1.chmodSync)(filePath, OWNER_ONLY_FILE_MODE);
|
|
103
|
+
},
|
|
104
|
+
release: () => {
|
|
105
|
+
try {
|
|
106
|
+
(0, fs_1.unlinkSync)(filePath);
|
|
107
|
+
}
|
|
108
|
+
catch {
|
|
109
|
+
// Already released.
|
|
110
|
+
}
|
|
111
|
+
},
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
catch (error) {
|
|
115
|
+
if (error.code !== 'EEXIST') {
|
|
116
|
+
throw error;
|
|
117
|
+
}
|
|
118
|
+
return null;
|
|
119
|
+
}
|
|
120
|
+
};
|
|
121
|
+
const acquired = tryAcquire();
|
|
122
|
+
if (acquired) {
|
|
123
|
+
return acquired;
|
|
124
|
+
}
|
|
125
|
+
try {
|
|
126
|
+
const holderPid = Number.parseInt((0, fs_1.readFileSync)(filePath, 'utf8'), 10);
|
|
127
|
+
if (Number.isInteger(holderPid) && (0, pid_1.isPidAlive)(holderPid)) {
|
|
128
|
+
return null;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
catch {
|
|
132
|
+
// Unreadable lock — treat as stale.
|
|
133
|
+
}
|
|
134
|
+
// Stale lock from a dead process: break it and retry once.
|
|
135
|
+
try {
|
|
136
|
+
(0, fs_1.unlinkSync)(filePath);
|
|
137
|
+
}
|
|
138
|
+
catch {
|
|
139
|
+
// A racer may have broken it first.
|
|
140
|
+
}
|
|
141
|
+
return tryAcquire();
|
|
142
|
+
};
|
|
143
|
+
exports.acquireStartLock = acquireStartLock;
|
|
144
|
+
//# sourceMappingURL=serverHandshake.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serverHandshake.js","sourceRoot":"","sources":["../../src/cli/serverHandshake.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import { ProjectDetectionService } from './index-core';
|
|
2
|
-
import { TerminalAgentRunner, type EmbeddedAgentKind } from './services/TerminalAgentRunner';
|
|
3
2
|
import { SessionBridgeService } from './services/SessionBridgeService';
|
|
4
3
|
import type { Framework } from './services/ProjectDetectionService';
|
|
5
4
|
import { DevServerRuntimeService, type StartDevServerResult } from './services/DevServerRuntimeService';
|
|
6
|
-
export { buildCursorHostedRivetEntry, buildCursorLocalRivetEntry, } from './install/harnesses';
|
|
7
5
|
export type CLIOptions = {
|
|
8
6
|
userPort?: number;
|
|
9
7
|
rivetPort?: number;
|
|
@@ -26,11 +24,6 @@ export type CLIOptions = {
|
|
|
26
24
|
demoMaxActiveSessions?: number;
|
|
27
25
|
demoBaseRivetPort?: number;
|
|
28
26
|
demoPublicBaseUrl?: string;
|
|
29
|
-
agent?: EmbeddedAgentKind;
|
|
30
|
-
agentBin?: string;
|
|
31
|
-
claudeBin?: string;
|
|
32
|
-
model?: string;
|
|
33
|
-
agentTimeoutSeconds?: number;
|
|
34
27
|
};
|
|
35
28
|
export declare const DEFAULT_PORT = 4000;
|
|
36
29
|
export declare const DEFAULT_USER_PORT = 3000;
|
|
@@ -91,14 +84,8 @@ export declare const buildAgentDevServerHealth: (context: AgentDevServerContext)
|
|
|
91
84
|
* Updates bridge health when the active owned app dev server exits.
|
|
92
85
|
*/
|
|
93
86
|
export declare const updateOwnedDevServerHealthOnExit: (bridge: Pick<SessionBridgeService, "getDevServerHealth" | "isActive" | "updateDevServerHealth">, ownedDevServerPort: number | null) => void;
|
|
94
|
-
/**
|
|
95
|
-
* Returns whether embedded agent variants can be offered for this runtime.
|
|
96
|
-
*/
|
|
87
|
+
/** Returns whether variants can be offered for this runtime. */
|
|
97
88
|
export declare const isAgentVariantsEnabled: (options: Pick<CLIOptions, "noGit">) => boolean;
|
|
98
|
-
/**
|
|
99
|
-
* @effect Stops active terminal agent processes before the CLI exits on OS signals.
|
|
100
|
-
*/
|
|
101
|
-
export declare const registerAgentSignalHandlers: (runner: Pick<TerminalAgentRunner, "stopActiveRuns">) => void;
|
|
102
89
|
/**
|
|
103
90
|
* @effect Sends a best-effort signal to an owned app dev server before process exit.
|
|
104
91
|
*/
|
|
@@ -107,4 +94,5 @@ export declare const registerOwnedDevServerSignalHandlers: (options: {
|
|
|
107
94
|
}) => void;
|
|
108
95
|
export declare const main: (args?: string[]) => Promise<void>;
|
|
109
96
|
export declare const parseArgs: (args: string[]) => CLIOptions;
|
|
97
|
+
export {};
|
|
110
98
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,uBAAuB,EAGxB,MAAM,cAAc,CAAC;AAItB,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -36,7 +36,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
36
36
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.parseArgs = exports.main = exports.registerOwnedDevServerSignalHandlers = exports.
|
|
39
|
+
exports.parseArgs = exports.main = exports.registerOwnedDevServerSignalHandlers = exports.isAgentVariantsEnabled = exports.updateOwnedDevServerHealthOnExit = exports.buildAgentDevServerHealth = exports.resolveAgentDevServer = exports.buildAgentDevServerContext = exports.DEFAULT_USER_PORT = exports.DEFAULT_PORT = void 0;
|
|
40
40
|
/* eslint-disable no-console */
|
|
41
41
|
const dotenv = __importStar(require("dotenv"));
|
|
42
42
|
const fs_1 = __importDefault(require("fs"));
|
|
@@ -45,21 +45,16 @@ const path_1 = __importDefault(require("path"));
|
|
|
45
45
|
const index_core_1 = require("./index-core");
|
|
46
46
|
const server_1 = require("./server");
|
|
47
47
|
const AuthService_1 = require("./services/AuthService");
|
|
48
|
-
const AgentSessionService_1 = require("./services/AgentSessionService");
|
|
49
|
-
const TerminalAgentRunner_1 = require("./services/TerminalAgentRunner");
|
|
50
48
|
const ConfigManager_1 = require("./services/ConfigManager");
|
|
51
49
|
const SessionBridgeService_1 = require("./services/SessionBridgeService");
|
|
52
50
|
const DevServerRuntimeService_1 = require("./services/DevServerRuntimeService");
|
|
53
51
|
const TelemetryService_1 = require("./services/TelemetryService");
|
|
54
52
|
const harnesses_1 = require("./install/harnesses");
|
|
55
53
|
const signin_1 = require("./onboarding/signin");
|
|
56
|
-
// Re-exported for back-compat with existing tests that import them from here.
|
|
57
|
-
var harnesses_2 = require("./install/harnesses");
|
|
58
|
-
Object.defineProperty(exports, "buildCursorHostedRivetEntry", { enumerable: true, get: function () { return harnesses_2.buildCursorHostedRivetEntry; } });
|
|
59
|
-
Object.defineProperty(exports, "buildCursorLocalRivetEntry", { enumerable: true, get: function () { return harnesses_2.buildCursorLocalRivetEntry; } });
|
|
60
54
|
const portUtils_1 = require("./utils/portUtils");
|
|
61
55
|
const VariantsRuntime_1 = require("./services/VariantsRuntime");
|
|
62
|
-
const
|
|
56
|
+
const router_1 = require("./cli/router");
|
|
57
|
+
const flags_1 = require("./cli/flags");
|
|
63
58
|
const log = (0, index_core_1.createLogger)('RivetCLI');
|
|
64
59
|
exports.DEFAULT_PORT = 4000;
|
|
65
60
|
exports.DEFAULT_USER_PORT = 3000;
|
|
@@ -231,20 +226,9 @@ const updateOwnedDevServerHealthOnExit = (bridge, ownedDevServerPort) => {
|
|
|
231
226
|
});
|
|
232
227
|
};
|
|
233
228
|
exports.updateOwnedDevServerHealthOnExit = updateOwnedDevServerHealthOnExit;
|
|
234
|
-
/**
|
|
235
|
-
* Returns whether embedded agent variants can be offered for this runtime.
|
|
236
|
-
*/
|
|
229
|
+
/** Returns whether variants can be offered for this runtime. */
|
|
237
230
|
const isAgentVariantsEnabled = (options) => !options.noGit;
|
|
238
231
|
exports.isAgentVariantsEnabled = isAgentVariantsEnabled;
|
|
239
|
-
/**
|
|
240
|
-
* @effect Stops active terminal agent processes before the CLI exits on OS signals.
|
|
241
|
-
*/
|
|
242
|
-
const registerAgentSignalHandlers = (runner) => {
|
|
243
|
-
const stopAgentChildren = () => runner.stopActiveRuns();
|
|
244
|
-
process.prependOnceListener('SIGINT', stopAgentChildren);
|
|
245
|
-
process.prependOnceListener('SIGTERM', stopAgentChildren);
|
|
246
|
-
};
|
|
247
|
-
exports.registerAgentSignalHandlers = registerAgentSignalHandlers;
|
|
248
232
|
/**
|
|
249
233
|
* @effect Sends a best-effort signal to an owned app dev server before process exit.
|
|
250
234
|
*/
|
|
@@ -287,41 +271,18 @@ const main = async (args = process.argv.slice(2)) => {
|
|
|
287
271
|
await handleLogout();
|
|
288
272
|
return;
|
|
289
273
|
}
|
|
290
|
-
if (command === 'mcp') {
|
|
291
|
-
const editorFlagIndex = args.indexOf('--editor');
|
|
292
|
-
const mcpEditor = editorFlagIndex !== -1 ? args[editorFlagIndex + 1] : undefined;
|
|
293
|
-
if (args.includes('--http')) {
|
|
294
|
-
// Streamable HTTP + MCP OAuth so clients (Cursor/Claude/Codex) can
|
|
295
|
-
// offer their native "Connect" sign-in instead of the stdio login tool.
|
|
296
|
-
const { startMCPServerHttp } = await Promise.resolve().then(() => __importStar(require('./mcp/httpServer')));
|
|
297
|
-
const portFlagIndex = args.indexOf('--port');
|
|
298
|
-
const parsedPort = portFlagIndex !== -1
|
|
299
|
-
? Number.parseInt(args[portFlagIndex + 1] ?? '', 10)
|
|
300
|
-
: Number.NaN;
|
|
301
|
-
await startMCPServerHttp({
|
|
302
|
-
port: Number.isInteger(parsedPort) && parsedPort > 0
|
|
303
|
-
? parsedPort
|
|
304
|
-
: undefined,
|
|
305
|
-
mcpEditor,
|
|
306
|
-
});
|
|
307
|
-
return;
|
|
308
|
-
}
|
|
309
|
-
const { startMCPServer } = await Promise.resolve().then(() => __importStar(require('./mcp/server')));
|
|
310
|
-
await startMCPServer(mcpEditor);
|
|
311
|
-
return;
|
|
312
|
-
}
|
|
313
274
|
if (command === 'agent') {
|
|
314
275
|
await handleAgent(args.slice(1));
|
|
315
276
|
return;
|
|
316
277
|
}
|
|
317
278
|
if (command === 'install') {
|
|
318
|
-
await handleInstall(args
|
|
279
|
+
await handleInstall(args.slice(1));
|
|
319
280
|
return;
|
|
320
281
|
}
|
|
321
282
|
if (command === 'signin' || command === 'sign-in') {
|
|
322
283
|
const result = await (0, signin_1.runSignIn)({
|
|
323
284
|
noBrowser: args.includes('--no-browser'),
|
|
324
|
-
nextStepHint:
|
|
285
|
+
nextStepHint: 'You\'re all set — open your agent and say "Open Rivet".',
|
|
325
286
|
});
|
|
326
287
|
process.exit(result.ok ? 0 : 1);
|
|
327
288
|
}
|
|
@@ -333,6 +294,15 @@ const main = async (args = process.argv.slice(2)) => {
|
|
|
333
294
|
await handleUninstall(args[1]);
|
|
334
295
|
return;
|
|
335
296
|
}
|
|
297
|
+
// Control-plane subcommands (CLI-first surface): one JSON envelope on
|
|
298
|
+
// stdout, progress on stderr, documented exit codes. `__serve` never
|
|
299
|
+
// resolves on success — it runs the project's server in the foreground.
|
|
300
|
+
if ((0, router_1.isCliControlCommand)(command)) {
|
|
301
|
+
const exitCode = await (0, router_1.runCliControlCommand)(args);
|
|
302
|
+
// Flush stdout before exiting so piped envelopes are never truncated.
|
|
303
|
+
process.stdout.write('', () => process.exit(exitCode));
|
|
304
|
+
return;
|
|
305
|
+
}
|
|
336
306
|
// Parse basic CLI arguments first
|
|
337
307
|
const options = (0, exports.parseArgs)(args);
|
|
338
308
|
// Initialize telemetry
|
|
@@ -434,15 +404,15 @@ const main = async (args = process.argv.slice(2)) => {
|
|
|
434
404
|
devServerHost: project.devServerHost,
|
|
435
405
|
userDevServerPort,
|
|
436
406
|
});
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
407
|
+
// The default `rivet` (desktop/hosted-spawned) runtime has no local agent,
|
|
408
|
+
// so it cannot run variants: the hosted LLM gateway path has been removed
|
|
409
|
+
// and there is no vendor CLI to plan/apply with. It serves the editor with
|
|
410
|
+
// a session bridge only; variant runs require a CLI-first session
|
|
411
|
+
// (`rivet open`) that drives a local vendor-CLI agent.
|
|
412
|
+
const sessionBridge = new SessionBridgeService_1.SessionBridgeService();
|
|
413
|
+
sessionBridge.startSession(projectPath);
|
|
414
|
+
sessionBridge.setDevServerContext(devServerContext);
|
|
415
|
+
sessionBridge.updateDevServerHealth((0, exports.buildAgentDevServerHealth)(devServerContext));
|
|
446
416
|
// Start server; on EADDRINUSE retry with next available port (handles race when desktop or another instance binds first).
|
|
447
417
|
let serverStarted = false;
|
|
448
418
|
let retries = 0;
|
|
@@ -457,7 +427,7 @@ const main = async (args = process.argv.slice(2)) => {
|
|
|
457
427
|
staticEntry: project.entryPoint,
|
|
458
428
|
styleFramework: options.styleFramework,
|
|
459
429
|
tailwindConfig: options.tailwindConfig,
|
|
460
|
-
|
|
430
|
+
sessionBridge,
|
|
461
431
|
rivetPort,
|
|
462
432
|
skipProcessHandlers: retries > 0,
|
|
463
433
|
isGitEnabled: options.noGit ? false : true,
|
|
@@ -644,42 +614,6 @@ const parseArgs = (args) => {
|
|
|
644
614
|
options.tailwindConfig = tailwindConfigValue;
|
|
645
615
|
}
|
|
646
616
|
break;
|
|
647
|
-
case '--claude-bin':
|
|
648
|
-
// eslint-disable-next-line no-case-declarations
|
|
649
|
-
const claudeBinValue = args[++i];
|
|
650
|
-
if (claudeBinValue) {
|
|
651
|
-
options.claudeBin = claudeBinValue;
|
|
652
|
-
}
|
|
653
|
-
break;
|
|
654
|
-
case '--agent':
|
|
655
|
-
// eslint-disable-next-line no-case-declarations
|
|
656
|
-
const agentValue = args[++i];
|
|
657
|
-
if (agentValue && ['claude', 'codex'].includes(agentValue)) {
|
|
658
|
-
options.agent = agentValue;
|
|
659
|
-
}
|
|
660
|
-
break;
|
|
661
|
-
case '--agent-bin':
|
|
662
|
-
// eslint-disable-next-line no-case-declarations
|
|
663
|
-
const agentBinValue = args[++i];
|
|
664
|
-
if (agentBinValue) {
|
|
665
|
-
options.agentBin = agentBinValue;
|
|
666
|
-
}
|
|
667
|
-
break;
|
|
668
|
-
case '--model':
|
|
669
|
-
// eslint-disable-next-line no-case-declarations
|
|
670
|
-
const modelValue = args[++i];
|
|
671
|
-
if (modelValue) {
|
|
672
|
-
options.model = modelValue;
|
|
673
|
-
}
|
|
674
|
-
break;
|
|
675
|
-
case '--agent-timeout-seconds':
|
|
676
|
-
// eslint-disable-next-line no-case-declarations
|
|
677
|
-
const agentTimeoutSecondsValue = args[++i];
|
|
678
|
-
if (agentTimeoutSecondsValue &&
|
|
679
|
-
!isNaN(Number(agentTimeoutSecondsValue))) {
|
|
680
|
-
options.agentTimeoutSeconds = Number(agentTimeoutSecondsValue);
|
|
681
|
-
}
|
|
682
|
-
break;
|
|
683
617
|
// Hosted tryout from the CLI: `--demo-mode` turns on `startServer` demoMode; sibling flags fill that object
|
|
684
618
|
// (template path, worktrees root, TTL, max sessions, child Rivet base port, public base URL). The packaged
|
|
685
619
|
// hosted image uses `src/hosted-demo.ts` env instead of these switches.
|
|
@@ -726,8 +660,7 @@ const parseArgs = (args) => {
|
|
|
726
660
|
case '--demo-base-rivet-port':
|
|
727
661
|
// eslint-disable-next-line no-case-declarations
|
|
728
662
|
const demoBaseRivetPortValue = args[++i];
|
|
729
|
-
if (demoBaseRivetPortValue &&
|
|
730
|
-
!isNaN(Number(demoBaseRivetPortValue))) {
|
|
663
|
+
if (demoBaseRivetPortValue && !isNaN(Number(demoBaseRivetPortValue))) {
|
|
731
664
|
options.demoBaseRivetPort = Number(demoBaseRivetPortValue);
|
|
732
665
|
}
|
|
733
666
|
break;
|
|
@@ -745,7 +678,9 @@ const parseArgs = (args) => {
|
|
|
745
678
|
exports.parseArgs = parseArgs;
|
|
746
679
|
const handleAgent = async (args) => {
|
|
747
680
|
const options = (0, exports.parseArgs)(args);
|
|
748
|
-
|
|
681
|
+
// User-facing URL host. We bind to loopback but surface `localhost` so the
|
|
682
|
+
// browser address bar reads cleanly (and matches the non-agent path).
|
|
683
|
+
const agentHost = 'localhost';
|
|
749
684
|
if (options.help) {
|
|
750
685
|
showHelp();
|
|
751
686
|
return;
|
|
@@ -765,10 +700,6 @@ const handleAgent = async (args) => {
|
|
|
765
700
|
dotenv.config({ path: rivetEnvPath });
|
|
766
701
|
log.debug('📝 Loaded Rivet environment variables');
|
|
767
702
|
}
|
|
768
|
-
const agentKind = options.agent ?? 'claude';
|
|
769
|
-
const agentLabel = agentKind === 'codex' ? 'Codex' : 'Claude Code';
|
|
770
|
-
console.log(`\n⚠️ Rivet agent mode uses ${agentLabel} bypass permissions.`);
|
|
771
|
-
console.log('Only run this in local projects you trust.\n');
|
|
772
703
|
const projectPath = process.cwd();
|
|
773
704
|
const agentDevServer = await (0, exports.resolveAgentDevServer)({
|
|
774
705
|
projectPath,
|
|
@@ -777,19 +708,11 @@ const handleAgent = async (args) => {
|
|
|
777
708
|
const { project, userDevServerPort, devServerContext } = agentDevServer;
|
|
778
709
|
try {
|
|
779
710
|
let rivetPort = options.rivetPort ?? (await (0, portUtils_1.findAvailablePort)(exports.DEFAULT_PORT));
|
|
780
|
-
const runner = new TerminalAgentRunner_1.TerminalAgentRunner({
|
|
781
|
-
agent: agentKind,
|
|
782
|
-
agentBin: options.agentBin,
|
|
783
|
-
claudeBin: options.claudeBin,
|
|
784
|
-
model: options.model,
|
|
785
|
-
timeoutSeconds: options.agentTimeoutSeconds ?? TerminalAgentRunner_1.DEFAULT_AGENT_TIMEOUT_SECONDS,
|
|
786
|
-
});
|
|
787
711
|
const areAgentVariantsEnabled = (0, exports.isAgentVariantsEnabled)(options);
|
|
788
712
|
const variantsRuntime = areAgentVariantsEnabled
|
|
789
713
|
? (0, VariantsRuntime_1.createVariantsRuntime)({
|
|
790
714
|
projectPath,
|
|
791
715
|
telemetry,
|
|
792
|
-
runner,
|
|
793
716
|
devServerContext,
|
|
794
717
|
devServerHealth: (0, exports.buildAgentDevServerHealth)(devServerContext),
|
|
795
718
|
})
|
|
@@ -808,21 +731,12 @@ const handleAgent = async (args) => {
|
|
|
808
731
|
(0, exports.updateOwnedDevServerHealthOnExit)(bridge, ownedDevServerPort);
|
|
809
732
|
});
|
|
810
733
|
}
|
|
811
|
-
|
|
812
|
-
const variantRunService = variantsRuntime?.runService;
|
|
813
|
-
const agentSession = new AgentSessionService_1.AgentSessionService({
|
|
814
|
-
bridge,
|
|
815
|
-
projectPath,
|
|
816
|
-
runner,
|
|
817
|
-
variantRunService,
|
|
818
|
-
worktreeProjectLocator: agentVariantsOrchestrator,
|
|
819
|
-
});
|
|
820
|
-
let serverStarted = false;
|
|
734
|
+
let serverHandle = null;
|
|
821
735
|
let retries = 0;
|
|
822
736
|
const maxRetries = 5;
|
|
823
|
-
while (!
|
|
737
|
+
while (!serverHandle && retries < maxRetries) {
|
|
824
738
|
try {
|
|
825
|
-
await (0, server_1.startServer)({
|
|
739
|
+
serverHandle = await (0, server_1.startServer)({
|
|
826
740
|
userPort: userDevServerPort,
|
|
827
741
|
userHost: project.devServerHost,
|
|
828
742
|
framework: project.framework,
|
|
@@ -833,15 +747,12 @@ const handleAgent = async (args) => {
|
|
|
833
747
|
tailwindConfig: options.tailwindConfig,
|
|
834
748
|
sessionBridge: bridge,
|
|
835
749
|
variantsRuntime,
|
|
836
|
-
|
|
837
|
-
agentApplyMode: 'embedded',
|
|
838
|
-
agentRunController: agentSession,
|
|
750
|
+
agentApplyMode: 'external',
|
|
839
751
|
rivetPort,
|
|
840
752
|
isGitEnabled: options.noGit ? false : true,
|
|
841
753
|
skipProcessHandlers: retries > 0,
|
|
842
754
|
beforeShutdown: agentDevServer.cleanup,
|
|
843
755
|
});
|
|
844
|
-
serverStarted = true;
|
|
845
756
|
}
|
|
846
757
|
catch (err) {
|
|
847
758
|
const code = err?.code;
|
|
@@ -856,15 +767,12 @@ const handleAgent = async (args) => {
|
|
|
856
767
|
}
|
|
857
768
|
}
|
|
858
769
|
}
|
|
859
|
-
if (!
|
|
770
|
+
if (!serverHandle) {
|
|
860
771
|
await agentDevServer.cleanup?.();
|
|
861
772
|
log.error(`❌ Could not start Rivet server after ${maxRetries} attempts.`);
|
|
862
773
|
process.exit(1);
|
|
863
774
|
}
|
|
864
|
-
agentSession.start();
|
|
865
|
-
(0, exports.registerAgentSignalHandlers)(runner);
|
|
866
775
|
log.info(`✅ Rivet agent server started on http://${agentHost}:${rivetPort}`);
|
|
867
|
-
log.info(`${runner.getDisplayName()} session: ${agentSession.getContinuousSessionId()}`);
|
|
868
776
|
if (!options.noBrowser) {
|
|
869
777
|
const rivetUiPath = project.framework === 'static' ? '/' : '/rivet';
|
|
870
778
|
await (0, open_1.default)(`http://${agentHost}:${rivetPort}${rivetUiPath}`);
|
|
@@ -889,16 +797,39 @@ USAGE:
|
|
|
889
797
|
|
|
890
798
|
COMMANDS:
|
|
891
799
|
rivet Start Rivet (auto-login if needed)
|
|
892
|
-
rivet agent Start Rivet with a terminal AI agent
|
|
800
|
+
rivet agent Start Rivet with a terminal AI agent generating variants
|
|
893
801
|
rivet install Set up Rivet for every detected agent (Claude Code, Cursor, Codex, …)
|
|
894
802
|
rivet install cursor Set up Rivet for a specific agent only
|
|
803
|
+
rivet install --mcp Also register the resident MCP server (rivet mcp serve);
|
|
804
|
+
enables Claude Desktop (rivet install claude-desktop --mcp)
|
|
895
805
|
rivet uninstall <name> Remove Rivet from one agent (claude|claude-desktop|cursor|codex)
|
|
896
806
|
rivet uninstall all Remove Rivet from all editors
|
|
897
|
-
rivet update
|
|
807
|
+
rivet update Refresh Rivet's agent guidance and allowlists for installed editors
|
|
898
808
|
rivet signin Sign in or create a Rivet account in your browser
|
|
899
809
|
rivet login Login with Google
|
|
900
810
|
rivet logout Logout from Rivet
|
|
901
811
|
|
|
812
|
+
CONTROL PLANE (agent-oriented contract):
|
|
813
|
+
Every subcommand prints exactly one JSON envelope on stdout —
|
|
814
|
+
{"schemaVersion":1,"ok":true,"command":"…","data":{…}} or
|
|
815
|
+
{"schemaVersion":1,"ok":false,"command":"…","error":{"code","message"}} —
|
|
816
|
+
routes progress to stderr, and never prompts for input.
|
|
817
|
+
Exit codes: 0 ok, 1 failed, 2 usage, 3 auth required, 4 server unavailable,
|
|
818
|
+
5 wait timeout (work still pending or running).
|
|
819
|
+
rivet open [--project <path>] [--agent claude|codex|cursor]
|
|
820
|
+
Start or attach the project's Rivet server
|
|
821
|
+
rivet stop [--project <path>] Stop the CLI-owned server
|
|
822
|
+
rivet status [--watch] Session, runner, and variants status
|
|
823
|
+
rivet wait <workId> [--timeout N] Block until a work id settles (exit 5 on timeout)
|
|
824
|
+
rivet variants start --instruction <text> [--count N] [--element <sel>] [--fresh] [--target <sessionId>:<variantId>]
|
|
825
|
+
rivet variants status|cancel <sessionId>|commit <variantId>|list [--history]
|
|
826
|
+
rivet evidence capture --url <url> Capture rendered design evidence
|
|
827
|
+
rivet reference fetch <url> Fetch Pinterest / Are.na references
|
|
828
|
+
rivet auth status Report signed-in state
|
|
829
|
+
rivet mcp serve [--project <path>] Resident stdio MCP server over these commands
|
|
830
|
+
Handoff (agent invocations): --caller-agent claude|codex|cursor
|
|
831
|
+
--caller-model <model> --caller-session <id>, or --handoff <json>.
|
|
832
|
+
|
|
902
833
|
OPTIONS:
|
|
903
834
|
-h, --help Show this help message
|
|
904
835
|
-v, --version Show version number
|
|
@@ -910,13 +841,7 @@ OPTIONS:
|
|
|
910
841
|
--framework TYPE Override framework detection (nextjs|vite|cra|remix|svelte|static)
|
|
911
842
|
--entry PATH Entry point for static projects (default: index.html)
|
|
912
843
|
--style-framework TYPE Override design token detection (tailwind)
|
|
913
|
-
--anthropic-api-key KEY Anthropic API key for Claude-based agentic modifications
|
|
914
|
-
--agent TYPE Terminal agent for rivet agent (claude|codex; default: claude)
|
|
915
|
-
--agent-bin PATH Terminal agent binary for rivet agent
|
|
916
844
|
--tailwind-config PATH Path to Tailwind config file (e.g., landing/tailwind.config.ts)
|
|
917
|
-
--claude-bin PATH Claude Code binary for rivet agent (default: claude)
|
|
918
|
-
--model MODEL Model for rivet agent (uses agent default if omitted)
|
|
919
|
-
--agent-timeout-seconds SECONDS Timeout for each terminal agent run in rivet agent
|
|
920
845
|
--demo-mode Enable hosted demo mode with session routing
|
|
921
846
|
--no-git Disable git features for this runtime
|
|
922
847
|
--demo-allow-anonymous Allow unauthenticated demo session creation
|
|
@@ -967,7 +892,9 @@ const promptYesNo = async (question) => {
|
|
|
967
892
|
output: process.stdout,
|
|
968
893
|
});
|
|
969
894
|
try {
|
|
970
|
-
const answer = (await rl.question(`${question} [Y/n] `))
|
|
895
|
+
const answer = (await rl.question(`${question} [Y/n] `))
|
|
896
|
+
.trim()
|
|
897
|
+
.toLowerCase();
|
|
971
898
|
return answer === '' || answer === 'y' || answer === 'yes';
|
|
972
899
|
}
|
|
973
900
|
finally {
|
|
@@ -995,15 +922,34 @@ const promptPostInstall = async () => {
|
|
|
995
922
|
const wantsSignIn = await promptYesNo('Sign in or create your Rivet account now?');
|
|
996
923
|
if (wantsSignIn) {
|
|
997
924
|
await (0, signin_1.runSignIn)({
|
|
998
|
-
nextStepHint:
|
|
925
|
+
nextStepHint: 'You\'re all set — open your agent and say "Open Rivet".',
|
|
999
926
|
});
|
|
1000
927
|
}
|
|
1001
928
|
else {
|
|
1002
929
|
console.log("\nNo problem — run `rivet login` whenever you're ready.\n");
|
|
1003
930
|
}
|
|
1004
931
|
};
|
|
1005
|
-
const handleInstall = async (
|
|
1006
|
-
|
|
932
|
+
const handleInstall = async (installArgs) => {
|
|
933
|
+
// `rivet install [editor] [--mcp]` — flags and the editor name can come in
|
|
934
|
+
// either order. `--mcp` opts into registering the resident stdio MCP
|
|
935
|
+
// server (`rivet mcp serve`) alongside the CLI setup.
|
|
936
|
+
const parsed = (0, flags_1.parseFlags)(installArgs, {
|
|
937
|
+
mcp: { takesValue: false },
|
|
938
|
+
'no-telemetry': { takesValue: false },
|
|
939
|
+
});
|
|
940
|
+
if (parsed.errors.length > 0 || parsed.positionals.length > 1) {
|
|
941
|
+
const positionalError = parsed.positionals.length > 1
|
|
942
|
+
? [
|
|
943
|
+
`Expected at most one install target, got ${parsed.positionals.length}`,
|
|
944
|
+
]
|
|
945
|
+
: [];
|
|
946
|
+
console.error(`Invalid install arguments: ${[...parsed.errors, ...positionalError].join('; ')}`);
|
|
947
|
+
console.error('Usage: rivet install [agent] [--mcp]');
|
|
948
|
+
process.exit(2);
|
|
949
|
+
}
|
|
950
|
+
const mcp = parsed.values.mcp === true;
|
|
951
|
+
const editor = parsed.positionals[0];
|
|
952
|
+
const { exitCode } = (0, harnesses_1.installHarnesses)(editor, { mcp });
|
|
1007
953
|
if (exitCode !== 0)
|
|
1008
954
|
process.exit(exitCode);
|
|
1009
955
|
await promptPostInstall();
|