rivet-design 0.12.3 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +11 -19
- package/dist/agent-variants/SessionStore.d.ts.map +1 -0
- package/dist/{mcp/agent-variants → agent-variants}/SessionStore.js +77 -80
- package/dist/agent-variants/SessionStore.js.map +1 -0
- package/dist/{mcp/agent-variants → agent-variants}/WorktreeOrchestrator.d.ts +53 -21
- package/dist/agent-variants/WorktreeOrchestrator.d.ts.map +1 -0
- package/dist/{mcp/agent-variants → agent-variants}/WorktreeOrchestrator.js +291 -49
- 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 +715 -721
- package/dist/agent-variants/contracts.d.ts.map +1 -0
- package/dist/{mcp/agent-variants → agent-variants}/contracts.js +2 -3
- 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 +440 -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 +374 -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 +18 -20
- package/dist/mcp/changeBatchClassification.d.ts.map +1 -1
- package/dist/mcp/changeBatchClassification.js +41 -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 +321 -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 +52 -0
- package/dist/services/VariantGenerationService.d.ts.map +1 -0
- package/dist/services/VariantGenerationService.js +272 -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 +98 -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 +22 -0
- 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 +57 -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-BWOvFoal.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-CLAqO1bm.js +0 -656
- package/src/ui/dist/assets/main-Ke-Q9lWa.css +0 -1
- /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,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.readSessionHandoff = exports.writeSessionHandoff = exports.sessionHandoffPath = exports.SESSION_HANDOFF_VERSION = void 0;
|
|
4
|
+
const fs_1 = require("fs");
|
|
5
|
+
const path_1 = require("path");
|
|
6
|
+
/**
|
|
7
|
+
* Durable, owner-only record of the handoff that started a session — the
|
|
8
|
+
* on-disk counterpart of the in-memory session attribution. Written under
|
|
9
|
+
* `<projectPath>/.rivet/cli/handoff.json` with `0600` permissions (the same
|
|
10
|
+
* discipline as the daemon token) because it can carry the caller's chat
|
|
11
|
+
* session id. That id never leaves this file: work items are stamped with
|
|
12
|
+
* agent kind and model only, and telemetry never receives it.
|
|
13
|
+
*/
|
|
14
|
+
exports.SESSION_HANDOFF_VERSION = 1;
|
|
15
|
+
const OWNER_ONLY_FILE_MODE = 0o600;
|
|
16
|
+
const sessionHandoffPath = (projectPath) => (0, path_1.join)(projectPath, '.rivet', 'cli', 'handoff.json');
|
|
17
|
+
exports.sessionHandoffPath = sessionHandoffPath;
|
|
18
|
+
/** Atomically persist the session-starting handoff, owner-only. */
|
|
19
|
+
const writeSessionHandoff = (projectPath, record) => {
|
|
20
|
+
const filePath = (0, exports.sessionHandoffPath)(projectPath);
|
|
21
|
+
(0, fs_1.mkdirSync)((0, path_1.dirname)(filePath), { recursive: true });
|
|
22
|
+
const tempPath = `${filePath}.${process.pid}.tmp`;
|
|
23
|
+
const fd = (0, fs_1.openSync)(tempPath, 'w', OWNER_ONLY_FILE_MODE);
|
|
24
|
+
try {
|
|
25
|
+
(0, fs_1.writeSync)(fd, JSON.stringify({
|
|
26
|
+
version: exports.SESSION_HANDOFF_VERSION,
|
|
27
|
+
recordedAt: new Date().toISOString(),
|
|
28
|
+
...record,
|
|
29
|
+
}));
|
|
30
|
+
}
|
|
31
|
+
finally {
|
|
32
|
+
(0, fs_1.closeSync)(fd);
|
|
33
|
+
}
|
|
34
|
+
(0, fs_1.chmodSync)(tempPath, OWNER_ONLY_FILE_MODE);
|
|
35
|
+
(0, fs_1.renameSync)(tempPath, filePath);
|
|
36
|
+
};
|
|
37
|
+
exports.writeSessionHandoff = writeSessionHandoff;
|
|
38
|
+
/** Read the persisted session handoff, or null when missing/corrupt. */
|
|
39
|
+
const readSessionHandoff = (projectPath) => {
|
|
40
|
+
try {
|
|
41
|
+
const parsed = JSON.parse((0, fs_1.readFileSync)((0, exports.sessionHandoffPath)(projectPath), 'utf8'));
|
|
42
|
+
return parsed.version === exports.SESSION_HANDOFF_VERSION ? parsed : null;
|
|
43
|
+
}
|
|
44
|
+
catch {
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
exports.readSessionHandoff = readSessionHandoff;
|
|
49
|
+
//# sourceMappingURL=handoffStore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handoffStore.js","sourceRoot":"","sources":["../../src/cli/handoffStore.ts"],"names":[],"mappings":";;;AAAA,2BAQY;AACZ,+BAAqC;AAGrC;;;;;;;GAOG;AAEU,QAAA,uBAAuB,GAAG,CAAC,CAAC;AAWzC,MAAM,oBAAoB,GAAG,KAAK,CAAC;AAE5B,MAAM,kBAAkB,GAAG,CAAC,WAAmB,EAAU,EAAE,CAChE,IAAA,WAAI,EAAC,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;AADxC,QAAA,kBAAkB,sBACsB;AAErD,mEAAmE;AAC5D,MAAM,mBAAmB,GAAG,CACjC,WAAmB,EACnB,MAA4D,EACtD,EAAE;IACR,MAAM,QAAQ,GAAG,IAAA,0BAAkB,EAAC,WAAW,CAAC,CAAC;IACjD,IAAA,cAAS,EAAC,IAAA,cAAO,EAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,GAAG,QAAQ,IAAI,OAAO,CAAC,GAAG,MAAM,CAAC;IAClD,MAAM,EAAE,GAAG,IAAA,aAAQ,EAAC,QAAQ,EAAE,GAAG,EAAE,oBAAoB,CAAC,CAAC;IACzD,IAAI,CAAC;QACH,IAAA,cAAS,EACP,EAAE,EACF,IAAI,CAAC,SAAS,CAAC;YACb,OAAO,EAAE,+BAAuB;YAChC,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACpC,GAAG,MAAM;SACV,CAAC,CACH,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,IAAA,cAAS,EAAC,EAAE,CAAC,CAAC;IAChB,CAAC;IACD,IAAA,cAAS,EAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC;IAC1C,IAAA,eAAU,EAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AACjC,CAAC,CAAC;AAtBW,QAAA,mBAAmB,uBAsB9B;AAEF,wEAAwE;AACjE,MAAM,kBAAkB,GAAG,CAChC,WAAmB,EACU,EAAE;IAC/B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CACvB,IAAA,iBAAY,EAAC,IAAA,0BAAkB,EAAC,WAAW,CAAC,EAAE,MAAM,CAAC,CAC9B,CAAC;QAC1B,OAAO,MAAM,CAAC,OAAO,KAAK,+BAAuB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IACpE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAXW,QAAA,kBAAkB,sBAW7B"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
type HostWorkItem = {
|
|
2
|
+
workId: string;
|
|
3
|
+
variantId?: string;
|
|
4
|
+
kind?: string;
|
|
5
|
+
input?: {
|
|
6
|
+
worktreePath?: string;
|
|
7
|
+
briefLabel?: string;
|
|
8
|
+
briefBody?: string;
|
|
9
|
+
instruction?: string;
|
|
10
|
+
};
|
|
11
|
+
outputSchema?: unknown;
|
|
12
|
+
};
|
|
13
|
+
export type StatusWithHostWork = {
|
|
14
|
+
variants?: {
|
|
15
|
+
sessionId?: string;
|
|
16
|
+
hostWork?: HostWorkItem[];
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
export type HostWorkNextAction = {
|
|
20
|
+
action: 'complete_host_variant_work';
|
|
21
|
+
message: string;
|
|
22
|
+
command: 'rivet variants complete';
|
|
23
|
+
parallelism: {
|
|
24
|
+
recommended: true;
|
|
25
|
+
strategy: 'one_worker_per_work_item';
|
|
26
|
+
instructions: string;
|
|
27
|
+
};
|
|
28
|
+
sessionId?: string;
|
|
29
|
+
workItems: Array<{
|
|
30
|
+
workId: string;
|
|
31
|
+
variantId?: string;
|
|
32
|
+
kind?: string;
|
|
33
|
+
worktreePath?: string;
|
|
34
|
+
briefLabel?: string;
|
|
35
|
+
briefBody?: string;
|
|
36
|
+
instruction?: string;
|
|
37
|
+
outputSchema?: unknown;
|
|
38
|
+
}>;
|
|
39
|
+
};
|
|
40
|
+
export declare const buildHostWorkNextAction: (status: StatusWithHostWork) => HostWorkNextAction | null;
|
|
41
|
+
export declare const withHostWorkNextAction: <T extends StatusWithHostWork>(status: T) => T & {
|
|
42
|
+
nextAction?: HostWorkNextAction;
|
|
43
|
+
};
|
|
44
|
+
export {};
|
|
45
|
+
//# sourceMappingURL=hostWorkNextAction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hostWorkNextAction.d.ts","sourceRoot":"","sources":["../../src/cli/hostWorkNextAction.ts"],"names":[],"mappings":"AAAA,KAAK,YAAY,GAAG;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE;QACN,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,EAAE;QACT,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;KAC3B,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,4BAA4B,CAAC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,yBAAyB,CAAC;IACnC,WAAW,EAAE;QACX,WAAW,EAAE,IAAI,CAAC;QAClB,QAAQ,EAAE,0BAA0B,CAAC;QACrC,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,KAAK,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,YAAY,CAAC,EAAE,OAAO,CAAC;KACxB,CAAC,CAAC;CACJ,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,QAAQ,kBAAkB,KACzB,kBAAkB,GAAG,IAkCvB,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,CAAC,SAAS,kBAAkB,EACjE,QAAQ,CAAC,KACR,CAAC,GAAG;IAAE,UAAU,CAAC,EAAE,kBAAkB,CAAA;CAGvC,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.withHostWorkNextAction = exports.buildHostWorkNextAction = void 0;
|
|
4
|
+
const buildHostWorkNextAction = (status) => {
|
|
5
|
+
const hostWork = status.variants?.hostWork ?? [];
|
|
6
|
+
if (hostWork.length === 0) {
|
|
7
|
+
return null;
|
|
8
|
+
}
|
|
9
|
+
return {
|
|
10
|
+
action: 'complete_host_variant_work',
|
|
11
|
+
message: 'You are the host worker for these independent variant work items. Run them in parallel when your host supports subagents, then report each completion with rivet variants complete.',
|
|
12
|
+
command: 'rivet variants complete',
|
|
13
|
+
parallelism: {
|
|
14
|
+
recommended: true,
|
|
15
|
+
strategy: 'one_worker_per_work_item',
|
|
16
|
+
instructions: 'Spawn one subagent or parallel task per work item when available. Each item has its own worktreePath and can be edited independently.',
|
|
17
|
+
},
|
|
18
|
+
...(status.variants?.sessionId
|
|
19
|
+
? { sessionId: status.variants.sessionId }
|
|
20
|
+
: {}),
|
|
21
|
+
workItems: hostWork.map((item) => ({
|
|
22
|
+
workId: item.workId,
|
|
23
|
+
...(item.variantId ? { variantId: item.variantId } : {}),
|
|
24
|
+
...(item.kind ? { kind: item.kind } : {}),
|
|
25
|
+
...(item.input?.worktreePath
|
|
26
|
+
? { worktreePath: item.input.worktreePath }
|
|
27
|
+
: {}),
|
|
28
|
+
...(item.input?.briefLabel ? { briefLabel: item.input.briefLabel } : {}),
|
|
29
|
+
...(item.input?.briefBody ? { briefBody: item.input.briefBody } : {}),
|
|
30
|
+
...(item.input?.instruction
|
|
31
|
+
? { instruction: item.input.instruction }
|
|
32
|
+
: {}),
|
|
33
|
+
...(item.outputSchema ? { outputSchema: item.outputSchema } : {}),
|
|
34
|
+
})),
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
exports.buildHostWorkNextAction = buildHostWorkNextAction;
|
|
38
|
+
const withHostWorkNextAction = (status) => {
|
|
39
|
+
const nextAction = (0, exports.buildHostWorkNextAction)(status);
|
|
40
|
+
return nextAction ? { ...status, nextAction } : status;
|
|
41
|
+
};
|
|
42
|
+
exports.withHostWorkNextAction = withHostWorkNextAction;
|
|
43
|
+
//# sourceMappingURL=hostWorkNextAction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hostWorkNextAction.js","sourceRoot":"","sources":["../../src/cli/hostWorkNextAction.ts"],"names":[],"mappings":";;;AA0CO,MAAM,uBAAuB,GAAG,CACrC,MAA0B,EACC,EAAE;IAC7B,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,EAAE,QAAQ,IAAI,EAAE,CAAC;IACjD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO;QACL,MAAM,EAAE,4BAA4B;QACpC,OAAO,EACL,qLAAqL;QACvL,OAAO,EAAE,yBAAyB;QAClC,WAAW,EAAE;YACX,WAAW,EAAE,IAAI;YACjB,QAAQ,EAAE,0BAA0B;YACpC,YAAY,EACV,uIAAuI;SAC1I;QACD,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS;YAC5B,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE;YAC1C,CAAC,CAAC,EAAE,CAAC;QACP,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACjC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY;gBAC1B,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;gBAC3C,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxE,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrE,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW;gBACzB,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;gBACzC,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClE,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC,CAAC;AApCW,QAAA,uBAAuB,2BAoClC;AAEK,MAAM,sBAAsB,GAAG,CACpC,MAAS,EACgC,EAAE;IAC3C,MAAM,UAAU,GAAG,IAAA,+BAAuB,EAAC,MAAM,CAAC,CAAC;IACnD,OAAO,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;AACzD,CAAC,CAAC;AALW,QAAA,sBAAsB,0BAKjC"}
|
package/dist/cli/io.d.ts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { CliCommandResult, CliEnvelope } from './envelope';
|
|
2
|
+
/**
|
|
3
|
+
* Output surface for CLI subcommands. Envelopes go to stdout; human-readable
|
|
4
|
+
* progress goes to stderr. Injectable so tests can capture both streams
|
|
5
|
+
* without spawning a process.
|
|
6
|
+
*
|
|
7
|
+
* The CLI contract is non-interactive: this surface deliberately exposes no
|
|
8
|
+
* stdin reader, so agent-reachable subcommands cannot block on input.
|
|
9
|
+
*/
|
|
10
|
+
export type CliIO = {
|
|
11
|
+
writeEnvelope: (envelope: CliEnvelope) => void;
|
|
12
|
+
writeProgress: (message: string) => void;
|
|
13
|
+
};
|
|
14
|
+
export declare const processCliIO: CliIO;
|
|
15
|
+
/** Print a command result and return its exit code. */
|
|
16
|
+
export declare const emitResult: (io: CliIO, result: CliCommandResult) => number;
|
|
17
|
+
//# sourceMappingURL=io.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"io.d.ts","sourceRoot":"","sources":["../../src/cli/io.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAGhE;;;;;;;GAOG;AACH,MAAM,MAAM,KAAK,GAAG;IAClB,aAAa,EAAE,CAAC,QAAQ,EAAE,WAAW,KAAK,IAAI,CAAC;IAC/C,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAC1C,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAO1B,CAAC;AAEF,uDAAuD;AACvD,eAAO,MAAM,UAAU,GAAI,IAAI,KAAK,EAAE,QAAQ,gBAAgB,KAAG,MAGhE,CAAC"}
|
package/dist/cli/io.js
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.emitResult = exports.processCliIO = void 0;
|
|
4
|
+
const envelope_1 = require("./envelope");
|
|
5
|
+
exports.processCliIO = {
|
|
6
|
+
writeEnvelope: (envelope) => {
|
|
7
|
+
process.stdout.write(`${(0, envelope_1.serializeEnvelope)(envelope)}\n`);
|
|
8
|
+
},
|
|
9
|
+
writeProgress: (message) => {
|
|
10
|
+
process.stderr.write(`${message}\n`);
|
|
11
|
+
},
|
|
12
|
+
};
|
|
13
|
+
/** Print a command result and return its exit code. */
|
|
14
|
+
const emitResult = (io, result) => {
|
|
15
|
+
io.writeEnvelope(result.envelope);
|
|
16
|
+
return result.exitCode;
|
|
17
|
+
};
|
|
18
|
+
exports.emitResult = emitResult;
|
|
19
|
+
//# sourceMappingURL=io.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"io.js","sourceRoot":"","sources":["../../src/cli/io.ts"],"names":[],"mappings":";;;AACA,yCAA+C;AAelC,QAAA,YAAY,GAAU;IACjC,aAAa,EAAE,CAAC,QAAQ,EAAE,EAAE;QAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAA,4BAAiB,EAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC3D,CAAC;IACD,aAAa,EAAE,CAAC,OAAO,EAAE,EAAE;QACzB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,IAAI,CAAC,CAAC;IACvC,CAAC;CACF,CAAC;AAEF,uDAAuD;AAChD,MAAM,UAAU,GAAG,CAAC,EAAS,EAAE,MAAwB,EAAU,EAAE;IACxE,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAClC,OAAO,MAAM,CAAC,QAAQ,CAAC;AACzB,CAAC,CAAC;AAHW,QAAA,UAAU,cAGrB"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { type CliCommandResult } from './envelope';
|
|
2
|
+
import { type CliIO } from './io';
|
|
3
|
+
/**
|
|
4
|
+
* Dispatch for the `rivet` control-plane subcommands (the CLI-first
|
|
5
|
+
* surface). Every command emits exactly one JSON envelope on stdout (NDJSON
|
|
6
|
+
* for streaming surfaces), routes progress to stderr, and maps onto the
|
|
7
|
+
* documented exit codes. Handlers are imported lazily so a subcommand only
|
|
8
|
+
* loads the services it needs.
|
|
9
|
+
*/
|
|
10
|
+
export { isCliControlCommand } from './commandNames';
|
|
11
|
+
export declare const splitMcpServeArgs: (rest: string[]) => string[] | null;
|
|
12
|
+
/**
|
|
13
|
+
* Route one control-plane subcommand to its handler. Exported for the MCP
|
|
14
|
+
* server (`rivet mcp serve`), which calls it in-process per tool call —
|
|
15
|
+
* the CLI and MCP are two front-ends over this one dispatch.
|
|
16
|
+
*/
|
|
17
|
+
export declare const dispatch: (command: string, rest: string[], io: CliIO) => Promise<CliCommandResult>;
|
|
18
|
+
/**
|
|
19
|
+
* Run one control-plane subcommand end to end: dispatch, emit the envelope,
|
|
20
|
+
* record telemetry, and return the documented exit code.
|
|
21
|
+
*/
|
|
22
|
+
export declare const runCliControlCommand: (args: string[], io?: CliIO) => Promise<number>;
|
|
23
|
+
//# sourceMappingURL=router.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/cli/router.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,gBAAgB,EACtB,MAAM,YAAY,CAAC;AACpB,OAAO,EAA4B,KAAK,KAAK,EAAE,MAAM,MAAM,CAAC;AAG5D;;;;;;GAMG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AA6CrD,eAAO,MAAM,iBAAiB,GAAI,MAAM,MAAM,EAAE,KAAG,MAAM,EAAE,GAAG,IAM7D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,QAAQ,GACnB,SAAS,MAAM,EACf,MAAM,MAAM,EAAE,EACd,IAAI,KAAK,KACR,OAAO,CAAC,gBAAgB,CA0E1B,CAAC;AAyBF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,GAC/B,MAAM,MAAM,EAAE,EACd,KAAI,KAAoB,KACvB,OAAO,CAAC,MAAM,CAsDhB,CAAC"}
|
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.runCliControlCommand = exports.dispatch = exports.splitMcpServeArgs = exports.isCliControlCommand = void 0;
|
|
37
|
+
const envelope_1 = require("./envelope");
|
|
38
|
+
const io_1 = require("./io");
|
|
39
|
+
const handoff_1 = require("./handoff");
|
|
40
|
+
/**
|
|
41
|
+
* Dispatch for the `rivet` control-plane subcommands (the CLI-first
|
|
42
|
+
* surface). Every command emits exactly one JSON envelope on stdout (NDJSON
|
|
43
|
+
* for streaming surfaces), routes progress to stderr, and maps onto the
|
|
44
|
+
* documented exit codes. Handlers are imported lazily so a subcommand only
|
|
45
|
+
* loads the services it needs.
|
|
46
|
+
*/
|
|
47
|
+
var commandNames_1 = require("./commandNames");
|
|
48
|
+
Object.defineProperty(exports, "isCliControlCommand", { enumerable: true, get: function () { return commandNames_1.isCliControlCommand; } });
|
|
49
|
+
/** One-line usage summaries surfaced by `--help` on each subcommand. */
|
|
50
|
+
const COMMAND_USAGE = {
|
|
51
|
+
open: [
|
|
52
|
+
'rivet open [--project <path>] [--agent claude|codex|cursor] [--rivet-port N] [--user-port N] [--framework <f>] [--entry <p>] [--no-browser] [--no-git]',
|
|
53
|
+
'Start or attach to the project\u2019s Rivet server (idempotent per project root).',
|
|
54
|
+
],
|
|
55
|
+
stop: ['rivet stop [--project <path>]', 'Stop the CLI-owned Rivet server.'],
|
|
56
|
+
status: [
|
|
57
|
+
'rivet status [--project <path>] [--watch]',
|
|
58
|
+
'Session, runner, and variants status; --watch streams NDJSON.',
|
|
59
|
+
],
|
|
60
|
+
wait: [
|
|
61
|
+
'rivet wait <workId> [--timeout <seconds>] [--project <path>]',
|
|
62
|
+
'Block until a work id settles; exits 5 on timeout.',
|
|
63
|
+
],
|
|
64
|
+
variants: [
|
|
65
|
+
'rivet variants <start|status|cancel|commit|complete|list> [options]',
|
|
66
|
+
'start: --instruction <text> [--count N] [--element <selector>] [--fresh] [--target <sessionId>:<variantId>] · cancel <sessionId> · commit <variantId> [--session <id>] · list [--history]',
|
|
67
|
+
],
|
|
68
|
+
evidence: [
|
|
69
|
+
'rivet evidence capture --url <url> [--screenshot] [--width N --height N]',
|
|
70
|
+
'Capture rendered design evidence for a URL.',
|
|
71
|
+
],
|
|
72
|
+
reference: [
|
|
73
|
+
'rivet reference fetch <url>',
|
|
74
|
+
'Fetch Pinterest / Are.na design-reference data via the connected account.',
|
|
75
|
+
],
|
|
76
|
+
auth: ['rivet auth status', 'Report signed-in state (server-validated).'],
|
|
77
|
+
mcp: [
|
|
78
|
+
'rivet mcp serve [--project <path>]',
|
|
79
|
+
'Start the resident stdio MCP server (three deep tools over the CLI control plane). Bare `rivet mcp` — the deleted per-tool server — stays removed.',
|
|
80
|
+
],
|
|
81
|
+
};
|
|
82
|
+
/**
|
|
83
|
+
* Agent invocations carry an optional handoff on every subcommand:
|
|
84
|
+
* `--caller-agent claude|codex|cursor`, `--caller-model <model>`,
|
|
85
|
+
* `--caller-session <chat-session-id>` (env: RIVET_CALLER_AGENT/MODEL/
|
|
86
|
+
* SESSION), or one `--handoff '{"agent":…,"model":…,"session":…}'`.
|
|
87
|
+
*/
|
|
88
|
+
const HANDOFF_USAGE = 'Optional handoff flags on every command: --caller-agent claude|codex|cursor, --caller-model <model>, --caller-session <id>, or --handoff <json>. Human-direct invocations omit them.';
|
|
89
|
+
const splitMcpServeArgs = (rest) => {
|
|
90
|
+
const serveIndex = rest.indexOf('serve');
|
|
91
|
+
if (serveIndex === -1) {
|
|
92
|
+
return null;
|
|
93
|
+
}
|
|
94
|
+
return [...rest.slice(0, serveIndex), ...rest.slice(serveIndex + 1)];
|
|
95
|
+
};
|
|
96
|
+
exports.splitMcpServeArgs = splitMcpServeArgs;
|
|
97
|
+
/**
|
|
98
|
+
* Route one control-plane subcommand to its handler. Exported for the MCP
|
|
99
|
+
* server (`rivet mcp serve`), which calls it in-process per tool call —
|
|
100
|
+
* the CLI and MCP are two front-ends over this one dispatch.
|
|
101
|
+
*/
|
|
102
|
+
const dispatch = async (command, rest, io) => {
|
|
103
|
+
if (command === 'mcp') {
|
|
104
|
+
const serveArgs = (0, exports.splitMcpServeArgs)(rest);
|
|
105
|
+
if (serveArgs) {
|
|
106
|
+
const { handleMcpServe } = await Promise.resolve().then(() => __importStar(require('./commands/mcpServe')));
|
|
107
|
+
return handleMcpServe(serveArgs, io);
|
|
108
|
+
}
|
|
109
|
+
// The per-tool MCP server is gone: agents drive Rivet with `rivet` CLI
|
|
110
|
+
// commands (or the resident `rivet mcp serve` adapter over them). A
|
|
111
|
+
// stale host registration can still spawn bare `rivet mcp` (with
|
|
112
|
+
// arbitrary legacy flags, which are ignored); fail fast with the removal
|
|
113
|
+
// envelope on stdout and human guidance on stderr — MCP hosts surface
|
|
114
|
+
// stderr.
|
|
115
|
+
io.writeProgress('The Rivet MCP server has been removed. Agents drive Rivet with `rivet` CLI commands now.\n' +
|
|
116
|
+
'Run `npx -y rivet-design@latest install` to update your agent setup (this also removes stale MCP registrations).');
|
|
117
|
+
return (0, envelope_1.errorResult)('mcp', 'MCP_REMOVED', 'The Rivet MCP server has been removed. Run `npx -y rivet-design@latest install` to update your agent setup, then drive Rivet with `rivet` CLI commands (`rivet open`, `rivet variants start`, …).');
|
|
118
|
+
}
|
|
119
|
+
if (command === 'open') {
|
|
120
|
+
const { handleOpen } = await Promise.resolve().then(() => __importStar(require('./commands/open')));
|
|
121
|
+
return handleOpen(rest, io);
|
|
122
|
+
}
|
|
123
|
+
if (command === 'stop') {
|
|
124
|
+
const { handleStop } = await Promise.resolve().then(() => __importStar(require('./commands/stop')));
|
|
125
|
+
return handleStop(rest);
|
|
126
|
+
}
|
|
127
|
+
if (command === 'status') {
|
|
128
|
+
const { handleStatus } = await Promise.resolve().then(() => __importStar(require('./commands/status')));
|
|
129
|
+
return handleStatus(rest, io);
|
|
130
|
+
}
|
|
131
|
+
if (command === 'wait') {
|
|
132
|
+
const { handleWait } = await Promise.resolve().then(() => __importStar(require('./commands/wait')));
|
|
133
|
+
return handleWait(rest);
|
|
134
|
+
}
|
|
135
|
+
if (command === 'variants') {
|
|
136
|
+
const { handleVariants } = await Promise.resolve().then(() => __importStar(require('./commands/variants')));
|
|
137
|
+
return handleVariants(rest);
|
|
138
|
+
}
|
|
139
|
+
if (command === 'evidence') {
|
|
140
|
+
if (rest[0] !== 'capture') {
|
|
141
|
+
return (0, envelope_1.errorResult)('evidence', 'USAGE_ERROR', 'Usage: rivet evidence capture --url <url>');
|
|
142
|
+
}
|
|
143
|
+
const { handleEvidenceCapture } = await Promise.resolve().then(() => __importStar(require('./commands/evidence')));
|
|
144
|
+
return handleEvidenceCapture(rest.slice(1));
|
|
145
|
+
}
|
|
146
|
+
if (command === 'reference') {
|
|
147
|
+
if (rest[0] !== 'fetch') {
|
|
148
|
+
return (0, envelope_1.errorResult)('reference', 'USAGE_ERROR', 'Usage: rivet reference fetch <url>');
|
|
149
|
+
}
|
|
150
|
+
const { handleReferenceFetch } = await Promise.resolve().then(() => __importStar(require('./commands/reference')));
|
|
151
|
+
return handleReferenceFetch(rest.slice(1));
|
|
152
|
+
}
|
|
153
|
+
if (command === 'auth') {
|
|
154
|
+
const { handleAuth } = await Promise.resolve().then(() => __importStar(require('./commands/auth')));
|
|
155
|
+
return handleAuth(rest);
|
|
156
|
+
}
|
|
157
|
+
if (command === '__serve') {
|
|
158
|
+
const { handleServe } = await Promise.resolve().then(() => __importStar(require('./commands/serve')));
|
|
159
|
+
return handleServe(rest, io);
|
|
160
|
+
}
|
|
161
|
+
return (0, envelope_1.errorResult)(command, 'USAGE_ERROR', `Unknown command: ${command}`);
|
|
162
|
+
};
|
|
163
|
+
exports.dispatch = dispatch;
|
|
164
|
+
/** Caller attribution for command telemetry (kind and model only). */
|
|
165
|
+
const telemetryHandoffFields = (args) => {
|
|
166
|
+
const valueOf = (flag) => {
|
|
167
|
+
const index = args.indexOf(flag);
|
|
168
|
+
return index !== -1 ? args[index + 1] : undefined;
|
|
169
|
+
};
|
|
170
|
+
const parsed = (0, handoff_1.parseHandoff)({
|
|
171
|
+
callerAgent: valueOf('--caller-agent'),
|
|
172
|
+
callerModel: valueOf('--caller-model'),
|
|
173
|
+
callerSession: valueOf('--caller-session'),
|
|
174
|
+
handoffJson: valueOf('--handoff'),
|
|
175
|
+
});
|
|
176
|
+
if (!parsed.ok || !parsed.handoff) {
|
|
177
|
+
return {};
|
|
178
|
+
}
|
|
179
|
+
return {
|
|
180
|
+
callerAgent: parsed.handoff.agent,
|
|
181
|
+
callerModel: parsed.handoff.model,
|
|
182
|
+
};
|
|
183
|
+
};
|
|
184
|
+
/**
|
|
185
|
+
* Run one control-plane subcommand end to end: dispatch, emit the envelope,
|
|
186
|
+
* record telemetry, and return the documented exit code.
|
|
187
|
+
*/
|
|
188
|
+
const runCliControlCommand = async (args, io = io_1.processCliIO) => {
|
|
189
|
+
// stdout is reserved for the JSON envelope: route every service log line
|
|
190
|
+
// to stderr, exactly as MCP mode does for its protocol stream.
|
|
191
|
+
const { redirectLogsToStderr } = await Promise.resolve().then(() => __importStar(require('../utils/logger')));
|
|
192
|
+
redirectLogsToStderr();
|
|
193
|
+
const [command, ...rest] = args;
|
|
194
|
+
const startedAt = Date.now();
|
|
195
|
+
if (rest.includes('--help') || rest.includes('-h')) {
|
|
196
|
+
const usage = COMMAND_USAGE[command] ?? [];
|
|
197
|
+
return (0, io_1.emitResult)(io, {
|
|
198
|
+
envelope: {
|
|
199
|
+
schemaVersion: envelope_1.CLI_SCHEMA_VERSION,
|
|
200
|
+
ok: true,
|
|
201
|
+
command,
|
|
202
|
+
data: { usage, handoff: HANDOFF_USAGE },
|
|
203
|
+
},
|
|
204
|
+
exitCode: 0,
|
|
205
|
+
});
|
|
206
|
+
}
|
|
207
|
+
let result;
|
|
208
|
+
try {
|
|
209
|
+
result = await (0, exports.dispatch)(command, rest, io);
|
|
210
|
+
}
|
|
211
|
+
catch (error) {
|
|
212
|
+
result = (0, envelope_1.errorResult)(command, 'OPERATION_FAILED', error instanceof Error ? error.message : String(error));
|
|
213
|
+
}
|
|
214
|
+
const exitCode = (0, io_1.emitResult)(io, result);
|
|
215
|
+
if (!rest.includes('--no-telemetry')) {
|
|
216
|
+
try {
|
|
217
|
+
const { TelemetryService } = await Promise.resolve().then(() => __importStar(require('../services/TelemetryService')));
|
|
218
|
+
const telemetry = new TelemetryService({ source: 'cli' });
|
|
219
|
+
telemetry.trackCliCommandCompleted({
|
|
220
|
+
command: result.envelope.command,
|
|
221
|
+
ok: result.envelope.ok,
|
|
222
|
+
exitCode,
|
|
223
|
+
errorCode: result.envelope.ok ? undefined : result.envelope.error.code,
|
|
224
|
+
durationMs: Date.now() - startedAt,
|
|
225
|
+
...telemetryHandoffFields(rest),
|
|
226
|
+
});
|
|
227
|
+
await telemetry.shutdown();
|
|
228
|
+
}
|
|
229
|
+
catch {
|
|
230
|
+
// Telemetry is never allowed to break a CLI invocation.
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
return exitCode;
|
|
234
|
+
};
|
|
235
|
+
exports.runCliControlCommand = runCliControlCommand;
|
|
236
|
+
//# sourceMappingURL=router.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/cli/router.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAIoB;AACpB,6BAA4D;AAC5D,uCAAyC;AAEzC;;;;;;GAMG;AAEH,+CAAqD;AAA5C,mHAAA,mBAAmB,OAAA;AAE5B,wEAAwE;AACxE,MAAM,aAAa,GAA6B;IAC9C,IAAI,EAAE;QACJ,wJAAwJ;QACxJ,mFAAmF;KACpF;IACD,IAAI,EAAE,CAAC,+BAA+B,EAAE,kCAAkC,CAAC;IAC3E,MAAM,EAAE;QACN,2CAA2C;QAC3C,+DAA+D;KAChE;IACD,IAAI,EAAE;QACJ,8DAA8D;QAC9D,oDAAoD;KACrD;IACD,QAAQ,EAAE;QACR,qEAAqE;QACrE,2LAA2L;KAC5L;IACD,QAAQ,EAAE;QACR,0EAA0E;QAC1E,6CAA6C;KAC9C;IACD,SAAS,EAAE;QACT,6BAA6B;QAC7B,2EAA2E;KAC5E;IACD,IAAI,EAAE,CAAC,mBAAmB,EAAE,4CAA4C,CAAC;IACzE,GAAG,EAAE;QACH,oCAAoC;QACpC,oJAAoJ;KACrJ;CACF,CAAC;AAEF;;;;;GAKG;AACH,MAAM,aAAa,GACjB,sLAAsL,CAAC;AAElL,MAAM,iBAAiB,GAAG,CAAC,IAAc,EAAmB,EAAE;IACnE,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACzC,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC;AACvE,CAAC,CAAC;AANW,QAAA,iBAAiB,qBAM5B;AAEF;;;;GAIG;AACI,MAAM,QAAQ,GAAG,KAAK,EAC3B,OAAe,EACf,IAAc,EACd,EAAS,EACkB,EAAE;IAC7B,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;QACtB,MAAM,SAAS,GAAG,IAAA,yBAAiB,EAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,EAAE,cAAc,EAAE,GAAG,wDAAa,qBAAqB,GAAC,CAAC;YAC/D,OAAO,cAAc,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACvC,CAAC;QACD,uEAAuE;QACvE,oEAAoE;QACpE,iEAAiE;QACjE,yEAAyE;QACzE,sEAAsE;QACtE,UAAU;QACV,EAAE,CAAC,aAAa,CACd,4FAA4F;YAC1F,kHAAkH,CACrH,CAAC;QACF,OAAO,IAAA,sBAAW,EAChB,KAAK,EACL,aAAa,EACb,mMAAmM,CACpM,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACvB,MAAM,EAAE,UAAU,EAAE,GAAG,wDAAa,iBAAiB,GAAC,CAAC;QACvD,OAAO,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACvB,MAAM,EAAE,UAAU,EAAE,GAAG,wDAAa,iBAAiB,GAAC,CAAC;QACvD,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IACD,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,MAAM,EAAE,YAAY,EAAE,GAAG,wDAAa,mBAAmB,GAAC,CAAC;QAC3D,OAAO,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAChC,CAAC;IACD,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACvB,MAAM,EAAE,UAAU,EAAE,GAAG,wDAAa,iBAAiB,GAAC,CAAC;QACvD,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IACD,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;QAC3B,MAAM,EAAE,cAAc,EAAE,GAAG,wDAAa,qBAAqB,GAAC,CAAC;QAC/D,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;QAC3B,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,IAAA,sBAAW,EAChB,UAAU,EACV,aAAa,EACb,2CAA2C,CAC5C,CAAC;QACJ,CAAC;QACD,MAAM,EAAE,qBAAqB,EAAE,GAAG,wDAAa,qBAAqB,GAAC,CAAC;QACtE,OAAO,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,CAAC;IACD,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;YACxB,OAAO,IAAA,sBAAW,EAChB,WAAW,EACX,aAAa,EACb,oCAAoC,CACrC,CAAC;QACJ,CAAC;QACD,MAAM,EAAE,oBAAoB,EAAE,GAAG,wDAAa,sBAAsB,GAAC,CAAC;QACtE,OAAO,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC;IACD,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACvB,MAAM,EAAE,UAAU,EAAE,GAAG,wDAAa,iBAAiB,GAAC,CAAC;QACvD,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IACD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,EAAE,WAAW,EAAE,GAAG,wDAAa,kBAAkB,GAAC,CAAC;QACzD,OAAO,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,IAAA,sBAAW,EAAC,OAAO,EAAE,aAAa,EAAE,oBAAoB,OAAO,EAAE,CAAC,CAAC;AAC5E,CAAC,CAAC;AA9EW,QAAA,QAAQ,YA8EnB;AAEF,sEAAsE;AACtE,MAAM,sBAAsB,GAAG,CAC7B,IAAc,EACkC,EAAE;IAClD,MAAM,OAAO,GAAG,CAAC,IAAY,EAAsB,EAAE;QACnD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACjC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACpD,CAAC,CAAC;IACF,MAAM,MAAM,GAAG,IAAA,sBAAY,EAAC;QAC1B,WAAW,EAAE,OAAO,CAAC,gBAAgB,CAAC;QACtC,WAAW,EAAE,OAAO,CAAC,gBAAgB,CAAC;QACtC,aAAa,EAAE,OAAO,CAAC,kBAAkB,CAAC;QAC1C,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC;KAClC,CAAC,CAAC;IACH,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAClC,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO;QACL,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK;QACjC,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK;KAClC,CAAC;AACJ,CAAC,CAAC;AAEF;;;GAGG;AACI,MAAM,oBAAoB,GAAG,KAAK,EACvC,IAAc,EACd,KAAY,iBAAY,EACP,EAAE;IACnB,yEAAyE;IACzE,+DAA+D;IAC/D,MAAM,EAAE,oBAAoB,EAAE,GAAG,wDAAa,iBAAiB,GAAC,CAAC;IACjE,oBAAoB,EAAE,CAAC;IAEvB,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAChC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE7B,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACnD,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAC3C,OAAO,IAAA,eAAU,EAAC,EAAE,EAAE;YACpB,QAAQ,EAAE;gBACR,aAAa,EAAE,6BAAkB;gBACjC,EAAE,EAAE,IAAI;gBACR,OAAO;gBACP,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE;aACxC;YACD,QAAQ,EAAE,CAAC;SACZ,CAAC,CAAC;IACL,CAAC;IAED,IAAI,MAAwB,CAAC;IAC7B,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,IAAA,gBAAQ,EAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IAC7C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,GAAG,IAAA,sBAAW,EAClB,OAAO,EACP,kBAAkB,EAClB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACvD,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,IAAA,eAAU,EAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IAExC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACrC,IAAI,CAAC;YACH,MAAM,EAAE,gBAAgB,EAAE,GAAG,wDAAa,8BAA8B,GAAC,CAAC;YAC1E,MAAM,SAAS,GAAG,IAAI,gBAAgB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;YAC1D,SAAS,CAAC,wBAAwB,CAAC;gBACjC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO;gBAChC,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE;gBACtB,QAAQ;gBACR,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI;gBACtE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;gBAClC,GAAG,sBAAsB,CAAC,IAAI,CAAC;aAChC,CAAC,CAAC;YACH,MAAM,SAAS,CAAC,QAAQ,EAAE,CAAC;QAC7B,CAAC;QAAC,MAAM,CAAC;YACP,wDAAwD;QAC1D,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAzDW,QAAA,oBAAoB,wBAyD/B"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import type { CallerHandoff } from './handoff';
|
|
2
|
+
/**
|
|
3
|
+
* Resolves which apply runner a CLI-started server uses, closing the
|
|
4
|
+
* `--agent` producer gap: the invoking agent's handoff is the default
|
|
5
|
+
* signal for which vendor CLI should execute applies.
|
|
6
|
+
*
|
|
7
|
+
* Precedence (first match wins), per the CLI-first design:
|
|
8
|
+
* 1. Explicit `--agent` on the server start (`claude`, `codex`, `cursor`).
|
|
9
|
+
* 2. User-level configuration (`~/.rivet/config.json`), same values.
|
|
10
|
+
* 3. Handoff `caller-agent` from the invocation that started the session
|
|
11
|
+
* (agent-initiated starts only — human-direct starts contribute none).
|
|
12
|
+
* 4. PATH probe for a known vendor binary.
|
|
13
|
+
* 5. None found → unavailable; a local vendor CLI runner is required.
|
|
14
|
+
*
|
|
15
|
+
* Runner identity is NEVER read from project-local files: the runner
|
|
16
|
+
* executes with bypassed permissions, so only the invoking process (flags,
|
|
17
|
+
* env, user-scope config) may influence which binary that is.
|
|
18
|
+
*/
|
|
19
|
+
/** Vendor kinds a session can resolve to as its apply runner. */
|
|
20
|
+
export type RunnerVendor = 'claude' | 'codex' | 'cursor';
|
|
21
|
+
/** Vendor CLI binary probed on PATH for each runner kind. */
|
|
22
|
+
export declare const RUNNER_VENDOR_BINARIES: Record<RunnerVendor, string>;
|
|
23
|
+
/** Vendors the embedded terminal runner can execute today. */
|
|
24
|
+
export declare const EXECUTABLE_RUNNER_VENDORS: readonly RunnerVendor[];
|
|
25
|
+
/** Values accepted for the explicit `--agent` flag and user-config `runner`. */
|
|
26
|
+
export declare const EXPLICIT_RUNNER_SELECTIONS: readonly string[];
|
|
27
|
+
/**
|
|
28
|
+
* Usage-error message for an invalid explicit `--agent` value, or null when
|
|
29
|
+
* the value is absent or one of the accepted selections.
|
|
30
|
+
*/
|
|
31
|
+
export declare const explicitRunnerSelectionError: (value: string | undefined) => string | null;
|
|
32
|
+
export type RunnerSource = 'flag' | 'user_config' | 'handoff' | 'path_probe';
|
|
33
|
+
export type ResolvedRunner = {
|
|
34
|
+
mode: 'runner';
|
|
35
|
+
vendor: RunnerVendor;
|
|
36
|
+
source: RunnerSource;
|
|
37
|
+
} | {
|
|
38
|
+
mode: 'unavailable';
|
|
39
|
+
};
|
|
40
|
+
export type BinaryProbe = (binary: string) => boolean;
|
|
41
|
+
/** True when `binary` resolves to an executable on PATH. */
|
|
42
|
+
export declare const isBinaryOnPath: (binary: string, env?: NodeJS.ProcessEnv) => boolean;
|
|
43
|
+
export type ResolveRunnerOptions = {
|
|
44
|
+
/** Explicit `--agent` value on the server start, when supplied. */
|
|
45
|
+
explicitAgent?: string;
|
|
46
|
+
/** `runner` value from user-level `~/.rivet/config.json`, when set. */
|
|
47
|
+
configuredRunner?: string;
|
|
48
|
+
/** Handoff from the invocation that started the session, when present. */
|
|
49
|
+
handoff?: CallerHandoff | null;
|
|
50
|
+
/** Injectable PATH probe (defaults to a real executable check). */
|
|
51
|
+
probe?: BinaryProbe;
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* Resolve the session's apply runner by the documented precedence. The
|
|
55
|
+
* result is fixed for the server's lifetime; later invocations with a
|
|
56
|
+
* different caller-agent never flip it (they are logged and surfaced in
|
|
57
|
+
* `rivet status` instead).
|
|
58
|
+
*/
|
|
59
|
+
export declare const resolveRunner: (options: ResolveRunnerOptions) => ResolvedRunner;
|
|
60
|
+
//# sourceMappingURL=runnerSelection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runnerSelection.d.ts","sourceRoot":"","sources":["../../src/cli/runnerSelection.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C;;;;;;;;;;;;;;;;GAgBG;AAEH,iEAAiE;AACjE,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEzD,6DAA6D;AAC7D,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAI/D,CAAC;AAEF,8DAA8D;AAC9D,eAAO,MAAM,yBAAyB,EAAE,SAAS,YAAY,EAI5D,CAAC;AAEF,gFAAgF;AAChF,eAAO,MAAM,0BAA0B,EAAE,SAAS,MAAM,EAEvD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,4BAA4B,GACvC,OAAO,MAAM,GAAG,SAAS,KACxB,MAAM,GAAG,IAQX,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,aAAa,GAAG,SAAS,GAAG,YAAY,CAAC;AAE7E,MAAM,MAAM,cAAc,GACtB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,YAAY,CAAA;CAAE,GAC9D;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,CAAC;AAE5B,MAAM,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;AAEtD,4DAA4D;AAC5D,eAAO,MAAM,cAAc,GACzB,QAAQ,MAAM,EACd,MAAK,MAAM,CAAC,UAAwB,KACnC,OAYF,CAAC;AAiBF,MAAM,MAAM,oBAAoB,GAAG;IACjC,mEAAmE;IACnE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uEAAuE;IACvE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,0EAA0E;IAC1E,OAAO,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IAC/B,mEAAmE;IACnE,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,aAAa,GACxB,SAAS,oBAAoB,KAC5B,cAyBF,CAAC"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.resolveRunner = exports.isBinaryOnPath = exports.explicitRunnerSelectionError = exports.EXPLICIT_RUNNER_SELECTIONS = exports.EXECUTABLE_RUNNER_VENDORS = exports.RUNNER_VENDOR_BINARIES = void 0;
|
|
4
|
+
const fs_1 = require("fs");
|
|
5
|
+
const path_1 = require("path");
|
|
6
|
+
/** Vendor CLI binary probed on PATH for each runner kind. */
|
|
7
|
+
exports.RUNNER_VENDOR_BINARIES = {
|
|
8
|
+
claude: 'claude',
|
|
9
|
+
codex: 'codex',
|
|
10
|
+
cursor: 'cursor-agent',
|
|
11
|
+
};
|
|
12
|
+
/** Vendors the embedded terminal runner can execute today. */
|
|
13
|
+
exports.EXECUTABLE_RUNNER_VENDORS = [
|
|
14
|
+
'claude',
|
|
15
|
+
'codex',
|
|
16
|
+
'cursor',
|
|
17
|
+
];
|
|
18
|
+
/** Values accepted for the explicit `--agent` flag and user-config `runner`. */
|
|
19
|
+
exports.EXPLICIT_RUNNER_SELECTIONS = [
|
|
20
|
+
...exports.EXECUTABLE_RUNNER_VENDORS,
|
|
21
|
+
];
|
|
22
|
+
/**
|
|
23
|
+
* Usage-error message for an invalid explicit `--agent` value, or null when
|
|
24
|
+
* the value is absent or one of the accepted selections.
|
|
25
|
+
*/
|
|
26
|
+
const explicitRunnerSelectionError = (value) => {
|
|
27
|
+
if (value === undefined) {
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
if (exports.EXPLICIT_RUNNER_SELECTIONS.includes(value.trim().toLowerCase())) {
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
return `Flag --agent must be one of ${exports.EXPLICIT_RUNNER_SELECTIONS.join('|')} (got "${value}")`;
|
|
34
|
+
};
|
|
35
|
+
exports.explicitRunnerSelectionError = explicitRunnerSelectionError;
|
|
36
|
+
/** True when `binary` resolves to an executable on PATH. */
|
|
37
|
+
const isBinaryOnPath = (binary, env = process.env) => {
|
|
38
|
+
const pathValue = env.PATH ?? '';
|
|
39
|
+
for (const dir of pathValue.split(path_1.delimiter)) {
|
|
40
|
+
if (!dir)
|
|
41
|
+
continue;
|
|
42
|
+
try {
|
|
43
|
+
(0, fs_1.accessSync)((0, path_1.join)(dir, binary), fs_1.constants.X_OK);
|
|
44
|
+
return true;
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
// Not here — keep probing.
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
return false;
|
|
51
|
+
};
|
|
52
|
+
exports.isBinaryOnPath = isBinaryOnPath;
|
|
53
|
+
const asExecutableVendor = (value) => {
|
|
54
|
+
if (!value)
|
|
55
|
+
return null;
|
|
56
|
+
const candidate = value.trim().toLowerCase();
|
|
57
|
+
return exports.EXECUTABLE_RUNNER_VENDORS.includes(candidate)
|
|
58
|
+
? candidate
|
|
59
|
+
: null;
|
|
60
|
+
};
|
|
61
|
+
/** Explicit selection value (flag or user config): a vendor or invalid. */
|
|
62
|
+
const asExplicitSelection = (value) => {
|
|
63
|
+
return asExecutableVendor(value);
|
|
64
|
+
};
|
|
65
|
+
/**
|
|
66
|
+
* Resolve the session's apply runner by the documented precedence. The
|
|
67
|
+
* result is fixed for the server's lifetime; later invocations with a
|
|
68
|
+
* different caller-agent never flip it (they are logged and surfaced in
|
|
69
|
+
* `rivet status` instead).
|
|
70
|
+
*/
|
|
71
|
+
const resolveRunner = (options) => {
|
|
72
|
+
const probe = options.probe ?? ((binary) => (0, exports.isBinaryOnPath)(binary));
|
|
73
|
+
const explicit = asExplicitSelection(options.explicitAgent);
|
|
74
|
+
if (explicit) {
|
|
75
|
+
return { mode: 'runner', vendor: explicit, source: 'flag' };
|
|
76
|
+
}
|
|
77
|
+
const configured = asExplicitSelection(options.configuredRunner);
|
|
78
|
+
if (configured) {
|
|
79
|
+
return { mode: 'runner', vendor: configured, source: 'user_config' };
|
|
80
|
+
}
|
|
81
|
+
const handoffVendor = asExecutableVendor(options.handoff?.agent);
|
|
82
|
+
if (handoffVendor && probe(exports.RUNNER_VENDOR_BINARIES[handoffVendor])) {
|
|
83
|
+
return { mode: 'runner', vendor: handoffVendor, source: 'handoff' };
|
|
84
|
+
}
|
|
85
|
+
for (const vendor of exports.EXECUTABLE_RUNNER_VENDORS) {
|
|
86
|
+
if (probe(exports.RUNNER_VENDOR_BINARIES[vendor])) {
|
|
87
|
+
return { mode: 'runner', vendor, source: 'path_probe' };
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
return { mode: 'unavailable' };
|
|
91
|
+
};
|
|
92
|
+
exports.resolveRunner = resolveRunner;
|
|
93
|
+
//# sourceMappingURL=runnerSelection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runnerSelection.js","sourceRoot":"","sources":["../../src/cli/runnerSelection.ts"],"names":[],"mappings":"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"}
|