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,115 @@
|
|
|
1
|
+
import type { VariantHistoryManifest, VariantHistoryStatus } from './VariantHistoryService';
|
|
2
|
+
import { type ProjectMetadataMigration } from './projectMetadataMigrations';
|
|
3
|
+
/** A variant row as stored in (or destined for) the projection. `manifest`
|
|
4
|
+
* reproduces the on-disk manifest exactly; `hasStaticPreview` is the listing
|
|
5
|
+
* affordance captured when the row was projected. */
|
|
6
|
+
export interface VariantIndexEntry {
|
|
7
|
+
manifest: VariantHistoryManifest;
|
|
8
|
+
hasStaticPreview: boolean;
|
|
9
|
+
}
|
|
10
|
+
export interface VariantIndexEntryInput extends VariantIndexEntry {
|
|
11
|
+
/** The manifest file's mtime when projected — freshness-audit metadata. */
|
|
12
|
+
manifestMtimeMs: number;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Embedded SQLite metadata projection at `<project>/.rivet/rivet.db`.
|
|
16
|
+
*
|
|
17
|
+
* Holds fast, rebuildable indexes over durable `.rivet/` artifacts — first
|
|
18
|
+
* slice: the variant history list. It is never the source of truth: rows are
|
|
19
|
+
* projected from manifests, deleting the database loses nothing, and a
|
|
20
|
+
* corrupt database is recreated and re-projected. Artifact bodies (source
|
|
21
|
+
* trees, HTML, screenshots) and credentials never land here.
|
|
22
|
+
*
|
|
23
|
+
* One instance manages one open handle per project, shared across calls; all
|
|
24
|
+
* statements are synchronous and short (`DatabaseSync`), with WAL + a busy
|
|
25
|
+
* timeout for cross-process access.
|
|
26
|
+
*/
|
|
27
|
+
export declare class ProjectMetadataStore {
|
|
28
|
+
private readonly handles;
|
|
29
|
+
/** Projects whose index must rebuild before it can be trusted again,
|
|
30
|
+
* regardless of the durable state row. Recording staleness here cannot
|
|
31
|
+
* fail, so a projection-write failure always forces a rebuild in this
|
|
32
|
+
* process even when the durable stale flag below can't land (e.g. the
|
|
33
|
+
* database is readable but unwritable). The durable row covers restarts. */
|
|
34
|
+
private readonly staleOverrides;
|
|
35
|
+
private readonly migrations;
|
|
36
|
+
/** `migrations` is injectable so tests can exercise upgrade paths with
|
|
37
|
+
* synthetic lists; production callers use the default. */
|
|
38
|
+
constructor(migrations?: readonly ProjectMetadataMigration[]);
|
|
39
|
+
databasePath(projectPath: string): string;
|
|
40
|
+
hasDatabase(projectPath: string): boolean;
|
|
41
|
+
/**
|
|
42
|
+
* Open (creating and migrating as needed) the project's database.
|
|
43
|
+
* Idempotent.
|
|
44
|
+
*
|
|
45
|
+
* @effect Creates `.rivet/rivet.db` and applies pending migrations.
|
|
46
|
+
*/
|
|
47
|
+
initialize(projectPath: string): Promise<void>;
|
|
48
|
+
/**
|
|
49
|
+
* Project one manifest into the variants index, inserting or replacing its
|
|
50
|
+
* row. Called by VariantHistoryService after every successful manifest
|
|
51
|
+
* write (persist, status change, rename, deployment recording).
|
|
52
|
+
*
|
|
53
|
+
* @effect Writes one row; creates the database on first use.
|
|
54
|
+
*/
|
|
55
|
+
upsertVariantFromManifest(args: {
|
|
56
|
+
projectPath: string;
|
|
57
|
+
manifest: VariantHistoryManifest;
|
|
58
|
+
manifestMtimeMs: number;
|
|
59
|
+
hasStaticPreview: boolean;
|
|
60
|
+
}): Promise<void>;
|
|
61
|
+
/**
|
|
62
|
+
* Replace the project's entire variants index with `entries` and mark it
|
|
63
|
+
* ready. This is the backfill path (first read of pre-SQLite history), the
|
|
64
|
+
* recovery path after a stale projection, and the rebuild after the user
|
|
65
|
+
* deletes `rivet.db` — one mechanism for all three.
|
|
66
|
+
*
|
|
67
|
+
* @effect Rewrites the variants table in one transaction.
|
|
68
|
+
*/
|
|
69
|
+
rebuildVariantIndex(args: {
|
|
70
|
+
projectPath: string;
|
|
71
|
+
entries: VariantIndexEntryInput[];
|
|
72
|
+
}): Promise<void>;
|
|
73
|
+
/** Whether the variants index can serve reads: the database exists, opens
|
|
74
|
+
* at a supported schema version, no in-process staleness override is
|
|
75
|
+
* pending, and a rebuild has completed since the last projection failure. */
|
|
76
|
+
isVariantIndexReady(projectPath: string): Promise<boolean>;
|
|
77
|
+
/**
|
|
78
|
+
* Flag the variants index as out of sync with the manifests on disk, so
|
|
79
|
+
* the next read rebuilds before serving. Called when a projection write
|
|
80
|
+
* fails after its manifest write succeeded. Never throws: the in-memory
|
|
81
|
+
* override is recorded first and cannot fail; the durable flag (which
|
|
82
|
+
* covers process restarts) is best-effort on top.
|
|
83
|
+
*
|
|
84
|
+
* @effect Records the in-process override; writes one metadata_state row.
|
|
85
|
+
*/
|
|
86
|
+
markVariantIndexStale(projectPath: string): Promise<void>;
|
|
87
|
+
listVariants(args: {
|
|
88
|
+
projectPath: string;
|
|
89
|
+
limit?: number;
|
|
90
|
+
status?: VariantHistoryStatus;
|
|
91
|
+
}): Promise<VariantIndexEntry[]>;
|
|
92
|
+
searchVariants(args: {
|
|
93
|
+
projectPath: string;
|
|
94
|
+
query: string;
|
|
95
|
+
limit?: number;
|
|
96
|
+
}): Promise<VariantIndexEntry[]>;
|
|
97
|
+
/** Close every open handle. For tests and process shutdown. */
|
|
98
|
+
closeAll(): void;
|
|
99
|
+
private selectEntries;
|
|
100
|
+
private upsertRow;
|
|
101
|
+
private readState;
|
|
102
|
+
private writeState;
|
|
103
|
+
/**
|
|
104
|
+
* Open the project's database, creating and migrating it as needed. A
|
|
105
|
+
* corrupt file is deleted (with its WAL/SHM siblings) and recreated once —
|
|
106
|
+
* safe because the projection is rebuildable from manifests. A database at
|
|
107
|
+
* a newer schema version is rethrown untouched.
|
|
108
|
+
*
|
|
109
|
+
* @effect Creates `.rivet/` and the database file; caches the open handle.
|
|
110
|
+
*/
|
|
111
|
+
private openDatabase;
|
|
112
|
+
private openAndMigrate;
|
|
113
|
+
private deleteDatabaseFiles;
|
|
114
|
+
}
|
|
115
|
+
//# sourceMappingURL=ProjectMetadataStore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProjectMetadataStore.d.ts","sourceRoot":"","sources":["../../src/services/ProjectMetadataStore.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,sBAAsB,EACtB,oBAAoB,EACrB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAIL,KAAK,wBAAwB,EAC9B,MAAM,6BAA6B,CAAC;AAoBrC;;sDAEsD;AACtD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,sBAAsB,CAAC;IACjC,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,sBAAuB,SAAQ,iBAAiB;IAC/D,2EAA2E;IAC3E,eAAe,EAAE,MAAM,CAAC;CACzB;AAkBD;;;;;;;;;;;;GAYG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqC;IAC7D;;;;iFAI6E;IAC7E,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAqB;IACpD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsC;IAEjE;+DAC2D;gBAEzD,UAAU,GAAE,SAAS,wBAAwB,EAAgC;IAK/E,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IAIzC,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAIzC;;;;;OAKG;IACG,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpD;;;;;;OAMG;IACG,yBAAyB,CAAC,IAAI,EAAE;QACpC,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,sBAAsB,CAAC;QACjC,eAAe,EAAE,MAAM,CAAC;QACxB,gBAAgB,EAAE,OAAO,CAAC;KAC3B,GAAG,OAAO,CAAC,IAAI,CAAC;IAKjB;;;;;;;OAOG;IACG,mBAAmB,CAAC,IAAI,EAAE;QAC9B,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,sBAAsB,EAAE,CAAC;KACnC,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBjB;;kFAE8E;IACxE,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAShE;;;;;;;;OAQG;IACG,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAazD,YAAY,CAAC,IAAI,EAAE;QACvB,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,oBAAoB,CAAC;KAC/B,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAW1B,cAAc,CAAC,IAAI,EAAE;QACzB,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAehC,+DAA+D;IAC/D,QAAQ,IAAI,IAAI;IAWhB,OAAO,CAAC,aAAa;IAwBrB,OAAO,CAAC,SAAS;IAkCjB,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,UAAU;IAOlB;;;;;;;OAOG;YACW,YAAY;YAsDZ,cAAc;IA4B5B,OAAO,CAAC,mBAAmB;CAY5B"}
|
|
@@ -0,0 +1,336 @@
|
|
|
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
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.ProjectMetadataStore = void 0;
|
|
40
|
+
const fs_1 = __importDefault(require("fs"));
|
|
41
|
+
const path_1 = __importDefault(require("path"));
|
|
42
|
+
const logger_1 = require("../utils/logger");
|
|
43
|
+
const projectMetadataMigrations_1 = require("./projectMetadataMigrations");
|
|
44
|
+
const log = (0, logger_1.createLogger)('ProjectMetadataStore');
|
|
45
|
+
const RIVET_DIRNAME = '.rivet';
|
|
46
|
+
const DATABASE_FILENAME = 'rivet.db';
|
|
47
|
+
/** Extra files SQLite keeps alongside the database in WAL mode. Removed
|
|
48
|
+
* together with the database when recovering from corruption — a stale WAL
|
|
49
|
+
* against a fresh database would itself be corruption. */
|
|
50
|
+
const DATABASE_SIBLING_SUFFIXES = ['-wal', '-shm'];
|
|
51
|
+
const VARIANT_INDEX_STATE_KEY = 'variant_index_state';
|
|
52
|
+
const VARIANT_INDEX_READY = 'ready';
|
|
53
|
+
const VARIANT_INDEX_STALE = 'stale';
|
|
54
|
+
/** How long a statement waits on a cross-process lock before failing. The
|
|
55
|
+
* CLI, server, and desktop can all open the same project database. */
|
|
56
|
+
const BUSY_TIMEOUT_MS = 5_000;
|
|
57
|
+
/** node:sqlite is loaded lazily so its one-time ExperimentalWarning fires
|
|
58
|
+
* only in processes that actually touch the projection, not on every CLI
|
|
59
|
+
* invocation's stderr. */
|
|
60
|
+
let databaseSyncCtor = null;
|
|
61
|
+
const loadDatabaseSync = async () => {
|
|
62
|
+
if (!databaseSyncCtor) {
|
|
63
|
+
databaseSyncCtor = (await Promise.resolve().then(() => __importStar(require('node:sqlite')))).DatabaseSync;
|
|
64
|
+
}
|
|
65
|
+
return databaseSyncCtor;
|
|
66
|
+
};
|
|
67
|
+
/**
|
|
68
|
+
* Embedded SQLite metadata projection at `<project>/.rivet/rivet.db`.
|
|
69
|
+
*
|
|
70
|
+
* Holds fast, rebuildable indexes over durable `.rivet/` artifacts — first
|
|
71
|
+
* slice: the variant history list. It is never the source of truth: rows are
|
|
72
|
+
* projected from manifests, deleting the database loses nothing, and a
|
|
73
|
+
* corrupt database is recreated and re-projected. Artifact bodies (source
|
|
74
|
+
* trees, HTML, screenshots) and credentials never land here.
|
|
75
|
+
*
|
|
76
|
+
* One instance manages one open handle per project, shared across calls; all
|
|
77
|
+
* statements are synchronous and short (`DatabaseSync`), with WAL + a busy
|
|
78
|
+
* timeout for cross-process access.
|
|
79
|
+
*/
|
|
80
|
+
class ProjectMetadataStore {
|
|
81
|
+
handles = new Map();
|
|
82
|
+
/** Projects whose index must rebuild before it can be trusted again,
|
|
83
|
+
* regardless of the durable state row. Recording staleness here cannot
|
|
84
|
+
* fail, so a projection-write failure always forces a rebuild in this
|
|
85
|
+
* process even when the durable stale flag below can't land (e.g. the
|
|
86
|
+
* database is readable but unwritable). The durable row covers restarts. */
|
|
87
|
+
staleOverrides = new Set();
|
|
88
|
+
migrations;
|
|
89
|
+
/** `migrations` is injectable so tests can exercise upgrade paths with
|
|
90
|
+
* synthetic lists; production callers use the default. */
|
|
91
|
+
constructor(migrations = projectMetadataMigrations_1.PROJECT_METADATA_MIGRATIONS) {
|
|
92
|
+
this.migrations = migrations;
|
|
93
|
+
}
|
|
94
|
+
databasePath(projectPath) {
|
|
95
|
+
return path_1.default.join(projectPath, RIVET_DIRNAME, DATABASE_FILENAME);
|
|
96
|
+
}
|
|
97
|
+
hasDatabase(projectPath) {
|
|
98
|
+
return fs_1.default.existsSync(this.databasePath(projectPath));
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Open (creating and migrating as needed) the project's database.
|
|
102
|
+
* Idempotent.
|
|
103
|
+
*
|
|
104
|
+
* @effect Creates `.rivet/rivet.db` and applies pending migrations.
|
|
105
|
+
*/
|
|
106
|
+
async initialize(projectPath) {
|
|
107
|
+
await this.openDatabase(projectPath);
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Project one manifest into the variants index, inserting or replacing its
|
|
111
|
+
* row. Called by VariantHistoryService after every successful manifest
|
|
112
|
+
* write (persist, status change, rename, deployment recording).
|
|
113
|
+
*
|
|
114
|
+
* @effect Writes one row; creates the database on first use.
|
|
115
|
+
*/
|
|
116
|
+
async upsertVariantFromManifest(args) {
|
|
117
|
+
const db = await this.openDatabase(args.projectPath);
|
|
118
|
+
this.upsertRow(db, args);
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Replace the project's entire variants index with `entries` and mark it
|
|
122
|
+
* ready. This is the backfill path (first read of pre-SQLite history), the
|
|
123
|
+
* recovery path after a stale projection, and the rebuild after the user
|
|
124
|
+
* deletes `rivet.db` — one mechanism for all three.
|
|
125
|
+
*
|
|
126
|
+
* @effect Rewrites the variants table in one transaction.
|
|
127
|
+
*/
|
|
128
|
+
async rebuildVariantIndex(args) {
|
|
129
|
+
const db = await this.openDatabase(args.projectPath);
|
|
130
|
+
db.exec('BEGIN IMMEDIATE');
|
|
131
|
+
try {
|
|
132
|
+
db.exec('DELETE FROM variants');
|
|
133
|
+
for (const entry of args.entries) {
|
|
134
|
+
this.upsertRow(db, { ...entry, projectPath: args.projectPath });
|
|
135
|
+
}
|
|
136
|
+
this.writeState(db, VARIANT_INDEX_STATE_KEY, VARIANT_INDEX_READY);
|
|
137
|
+
db.exec('COMMIT');
|
|
138
|
+
this.staleOverrides.delete(path_1.default.resolve(args.projectPath));
|
|
139
|
+
}
|
|
140
|
+
catch (err) {
|
|
141
|
+
db.exec('ROLLBACK');
|
|
142
|
+
throw err;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
/** Whether the variants index can serve reads: the database exists, opens
|
|
146
|
+
* at a supported schema version, no in-process staleness override is
|
|
147
|
+
* pending, and a rebuild has completed since the last projection failure. */
|
|
148
|
+
async isVariantIndexReady(projectPath) {
|
|
149
|
+
if (this.staleOverrides.has(path_1.default.resolve(projectPath)))
|
|
150
|
+
return false;
|
|
151
|
+
if (!this.handles.has(path_1.default.resolve(projectPath))) {
|
|
152
|
+
if (!this.hasDatabase(projectPath))
|
|
153
|
+
return false;
|
|
154
|
+
}
|
|
155
|
+
const db = await this.openDatabase(projectPath);
|
|
156
|
+
return this.readState(db, VARIANT_INDEX_STATE_KEY) === VARIANT_INDEX_READY;
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Flag the variants index as out of sync with the manifests on disk, so
|
|
160
|
+
* the next read rebuilds before serving. Called when a projection write
|
|
161
|
+
* fails after its manifest write succeeded. Never throws: the in-memory
|
|
162
|
+
* override is recorded first and cannot fail; the durable flag (which
|
|
163
|
+
* covers process restarts) is best-effort on top.
|
|
164
|
+
*
|
|
165
|
+
* @effect Records the in-process override; writes one metadata_state row.
|
|
166
|
+
*/
|
|
167
|
+
async markVariantIndexStale(projectPath) {
|
|
168
|
+
this.staleOverrides.add(path_1.default.resolve(projectPath));
|
|
169
|
+
try {
|
|
170
|
+
const db = await this.openDatabase(projectPath);
|
|
171
|
+
this.writeState(db, VARIANT_INDEX_STATE_KEY, VARIANT_INDEX_STALE);
|
|
172
|
+
}
|
|
173
|
+
catch (err) {
|
|
174
|
+
log.warn(`markVariantIndexStale: durable stale flag failed for ${projectPath} — the in-memory override still forces a rebuild in this process`, err);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
async listVariants(args) {
|
|
178
|
+
const db = await this.openDatabase(args.projectPath);
|
|
179
|
+
const conditions = [];
|
|
180
|
+
const params = [];
|
|
181
|
+
if (args.status) {
|
|
182
|
+
conditions.push('status = ?');
|
|
183
|
+
params.push(args.status);
|
|
184
|
+
}
|
|
185
|
+
return this.selectEntries(db, conditions, params, args.limit);
|
|
186
|
+
}
|
|
187
|
+
async searchVariants(args) {
|
|
188
|
+
const db = await this.openDatabase(args.projectPath);
|
|
189
|
+
// Escape LIKE wildcards so the query only ever matches literally.
|
|
190
|
+
const escaped = args.query.replace(/[\\%_]/g, (match) => `\\${match}`);
|
|
191
|
+
const pattern = `%${escaped}%`;
|
|
192
|
+
const clause = "(label LIKE ? ESCAPE '\\' OR brief LIKE ? ESCAPE '\\' OR session_prompt LIKE ? ESCAPE '\\' OR run_label LIKE ? ESCAPE '\\')";
|
|
193
|
+
return this.selectEntries(db, [clause], [pattern, pattern, pattern, pattern], args.limit);
|
|
194
|
+
}
|
|
195
|
+
/** Close every open handle. For tests and process shutdown. */
|
|
196
|
+
closeAll() {
|
|
197
|
+
for (const [key, db] of this.handles) {
|
|
198
|
+
try {
|
|
199
|
+
db.close();
|
|
200
|
+
}
|
|
201
|
+
catch (err) {
|
|
202
|
+
log.warn(`closeAll: failed to close database for ${key}`, err);
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
this.handles.clear();
|
|
206
|
+
}
|
|
207
|
+
selectEntries(db, conditions, params, limit) {
|
|
208
|
+
const where = conditions.length > 0 ? `WHERE ${conditions.join(' AND ')}` : '';
|
|
209
|
+
// Newest-first with id tiebreaks so equal timestamps order predictably.
|
|
210
|
+
let sql = `SELECT manifest_json, has_static_preview FROM variants ${where} ORDER BY created_at DESC, session_id ASC, variant_id ASC`;
|
|
211
|
+
if (limit !== undefined && limit > 0) {
|
|
212
|
+
sql += ' LIMIT ?';
|
|
213
|
+
params = [...params, limit];
|
|
214
|
+
}
|
|
215
|
+
const rows = db.prepare(sql).all(...params);
|
|
216
|
+
return rows.map((row) => ({
|
|
217
|
+
manifest: JSON.parse(row.manifest_json),
|
|
218
|
+
hasStaticPreview: row.has_static_preview === 1,
|
|
219
|
+
}));
|
|
220
|
+
}
|
|
221
|
+
upsertRow(db, args) {
|
|
222
|
+
const { manifest } = args;
|
|
223
|
+
db.prepare(`INSERT OR REPLACE INTO variants (
|
|
224
|
+
session_id, variant_id, label, brief, session_prompt, run_label,
|
|
225
|
+
status, created_at, status_changed_at, has_tree, serve_kind,
|
|
226
|
+
has_static_preview, manifest_mtime_ms, manifest_json
|
|
227
|
+
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(manifest.sessionId, manifest.variantId, manifest.label, manifest.brief, manifest.sessionPrompt, manifest.runLabel ?? null, manifest.status, manifest.createdAt, manifest.statusChangedAt, manifest.tree ? 1 : 0, manifest.serve?.kind ?? null, args.hasStaticPreview ? 1 : 0, Math.round(args.manifestMtimeMs), JSON.stringify(manifest));
|
|
228
|
+
}
|
|
229
|
+
readState(db, key) {
|
|
230
|
+
const row = db
|
|
231
|
+
.prepare('SELECT value FROM metadata_state WHERE key = ?')
|
|
232
|
+
.get(key);
|
|
233
|
+
return row?.value ?? null;
|
|
234
|
+
}
|
|
235
|
+
writeState(db, key, value) {
|
|
236
|
+
db.prepare(`INSERT INTO metadata_state (key, value, updated_at) VALUES (?, ?, ?)
|
|
237
|
+
ON CONFLICT(key) DO UPDATE SET value = excluded.value, updated_at = excluded.updated_at`).run(key, value, new Date().toISOString());
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* Open the project's database, creating and migrating it as needed. A
|
|
241
|
+
* corrupt file is deleted (with its WAL/SHM siblings) and recreated once —
|
|
242
|
+
* safe because the projection is rebuildable from manifests. A database at
|
|
243
|
+
* a newer schema version is rethrown untouched.
|
|
244
|
+
*
|
|
245
|
+
* @effect Creates `.rivet/` and the database file; caches the open handle.
|
|
246
|
+
*/
|
|
247
|
+
async openDatabase(projectPath) {
|
|
248
|
+
const key = path_1.default.resolve(projectPath);
|
|
249
|
+
const dbPath = this.databasePath(key);
|
|
250
|
+
const existing = this.handles.get(key);
|
|
251
|
+
if (existing) {
|
|
252
|
+
// A deleted rivet.db must trigger a rebuild ("delete the projection"
|
|
253
|
+
// is the documented reset), not keep serving the unlinked file through
|
|
254
|
+
// this handle.
|
|
255
|
+
if (fs_1.default.existsSync(dbPath))
|
|
256
|
+
return existing;
|
|
257
|
+
try {
|
|
258
|
+
existing.close();
|
|
259
|
+
}
|
|
260
|
+
catch (err) {
|
|
261
|
+
log.warn(`openDatabase: failed to close stale handle for ${key}`, err);
|
|
262
|
+
}
|
|
263
|
+
this.handles.delete(key);
|
|
264
|
+
}
|
|
265
|
+
fs_1.default.mkdirSync(path_1.default.dirname(dbPath), { recursive: true });
|
|
266
|
+
let opened;
|
|
267
|
+
try {
|
|
268
|
+
opened = await this.openAndMigrate(dbPath);
|
|
269
|
+
}
|
|
270
|
+
catch (err) {
|
|
271
|
+
if (err instanceof projectMetadataMigrations_1.UnsupportedSchemaVersionError)
|
|
272
|
+
throw err;
|
|
273
|
+
log.warn(`openDatabase: ${dbPath} is unreadable — recreating the projection`, err);
|
|
274
|
+
this.deleteDatabaseFiles(dbPath);
|
|
275
|
+
opened = await this.openAndMigrate(dbPath);
|
|
276
|
+
}
|
|
277
|
+
const { db, wasUpgraded } = opened;
|
|
278
|
+
if (wasUpgraded) {
|
|
279
|
+
// Migrations only change schema shape (see projectMetadataMigrations)
|
|
280
|
+
// — any column they add that derives from manifests starts empty.
|
|
281
|
+
// Marking the index stale makes the next read re-project every row,
|
|
282
|
+
// so migrations never need data backfills of their own. Outside
|
|
283
|
+
// openAndMigrate so a failed flag write can't look like corruption;
|
|
284
|
+
// the in-memory override alone already forces the rebuild.
|
|
285
|
+
this.staleOverrides.add(key);
|
|
286
|
+
try {
|
|
287
|
+
this.writeState(db, VARIANT_INDEX_STATE_KEY, VARIANT_INDEX_STALE);
|
|
288
|
+
}
|
|
289
|
+
catch (err) {
|
|
290
|
+
log.warn(`openDatabase: durable stale flag failed after upgrading ${dbPath}`, err);
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
this.handles.set(key, db);
|
|
294
|
+
return db;
|
|
295
|
+
}
|
|
296
|
+
async openAndMigrate(dbPath) {
|
|
297
|
+
const DatabaseSync = await loadDatabaseSync();
|
|
298
|
+
const db = new DatabaseSync(dbPath);
|
|
299
|
+
try {
|
|
300
|
+
db.exec('PRAGMA journal_mode = WAL');
|
|
301
|
+
db.exec(`PRAGMA busy_timeout = ${BUSY_TIMEOUT_MS}`);
|
|
302
|
+
const { fromVersion, toVersion } = (0, projectMetadataMigrations_1.applyProjectMetadataMigrations)(db, {
|
|
303
|
+
migrations: this.migrations,
|
|
304
|
+
});
|
|
305
|
+
const wasUpgraded = fromVersion > 0 && toVersion > fromVersion;
|
|
306
|
+
if (wasUpgraded) {
|
|
307
|
+
log.info(`openAndMigrate: upgraded ${dbPath} from schema version ${fromVersion} to ${toVersion} — index will rebuild on next read`);
|
|
308
|
+
}
|
|
309
|
+
return { db, wasUpgraded };
|
|
310
|
+
}
|
|
311
|
+
catch (err) {
|
|
312
|
+
try {
|
|
313
|
+
db.close();
|
|
314
|
+
}
|
|
315
|
+
catch {
|
|
316
|
+
// The open error is the one worth surfacing.
|
|
317
|
+
}
|
|
318
|
+
throw err;
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
deleteDatabaseFiles(dbPath) {
|
|
322
|
+
for (const target of [
|
|
323
|
+
dbPath,
|
|
324
|
+
...DATABASE_SIBLING_SUFFIXES.map((suffix) => `${dbPath}${suffix}`),
|
|
325
|
+
]) {
|
|
326
|
+
try {
|
|
327
|
+
fs_1.default.rmSync(target, { force: true });
|
|
328
|
+
}
|
|
329
|
+
catch (err) {
|
|
330
|
+
log.warn(`deleteDatabaseFiles: failed to remove ${target}`, err);
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
exports.ProjectMetadataStore = ProjectMetadataStore;
|
|
336
|
+
//# sourceMappingURL=ProjectMetadataStore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProjectMetadataStore.js","sourceRoot":"","sources":["../../src/services/ProjectMetadataStore.ts"],"names":[],"mappings":"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"}
|