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.
Files changed (535) hide show
  1. package/README.md +50 -26
  2. package/README.npm.md +50 -26
  3. package/bin/rivet.js +39 -24
  4. package/dist/{mcp/agent-variants → agent-variants}/SessionStore.d.ts +13 -20
  5. package/dist/agent-variants/SessionStore.d.ts.map +1 -0
  6. package/dist/{mcp/agent-variants → agent-variants}/SessionStore.js +74 -84
  7. package/dist/agent-variants/SessionStore.js.map +1 -0
  8. package/dist/{mcp/agent-variants → agent-variants}/WorktreeOrchestrator.d.ts +58 -25
  9. package/dist/agent-variants/WorktreeOrchestrator.d.ts.map +1 -0
  10. package/dist/{mcp/agent-variants → agent-variants}/WorktreeOrchestrator.js +299 -57
  11. package/dist/agent-variants/WorktreeOrchestrator.js.map +1 -0
  12. package/dist/{mcp/agent-variants → agent-variants}/WorktreeOrchestrator.testHelpers.d.ts +1 -9
  13. package/dist/agent-variants/WorktreeOrchestrator.testHelpers.d.ts.map +1 -0
  14. package/dist/{mcp/agent-variants → agent-variants}/WorktreeOrchestrator.testHelpers.js +3 -18
  15. package/dist/agent-variants/WorktreeOrchestrator.testHelpers.js.map +1 -0
  16. package/dist/agent-variants/briefContent.d.ts.map +1 -0
  17. package/dist/agent-variants/briefContent.js.map +1 -0
  18. package/dist/{mcp/agent-variants → agent-variants}/contracts.d.ts +716 -722
  19. package/dist/agent-variants/contracts.d.ts.map +1 -0
  20. package/dist/{mcp/agent-variants → agent-variants}/contracts.js +4 -5
  21. package/dist/agent-variants/contracts.js.map +1 -0
  22. package/dist/agent-variants/createProjectArtifacts.d.ts.map +1 -0
  23. package/dist/agent-variants/createProjectArtifacts.js.map +1 -0
  24. package/dist/agent-variants/diffQa.d.ts.map +1 -0
  25. package/dist/agent-variants/diffQa.js.map +1 -0
  26. package/dist/{mcp/agent-variants → agent-variants}/elementRefToTarget.d.ts +1 -1
  27. package/dist/agent-variants/elementRefToTarget.d.ts.map +1 -0
  28. package/dist/agent-variants/elementRefToTarget.js.map +1 -0
  29. package/dist/agent-variants/errors.d.ts.map +1 -0
  30. package/dist/agent-variants/errors.js.map +1 -0
  31. package/dist/agent-variants/generatedDestination.d.ts +29 -0
  32. package/dist/agent-variants/generatedDestination.d.ts.map +1 -0
  33. package/dist/agent-variants/generatedDestination.js +59 -0
  34. package/dist/agent-variants/generatedDestination.js.map +1 -0
  35. package/dist/{mcp/agent-variants → agent-variants}/index.d.ts +3 -6
  36. package/dist/agent-variants/index.d.ts.map +1 -0
  37. package/dist/{mcp/agent-variants → agent-variants}/index.js +3 -6
  38. package/dist/agent-variants/index.js.map +1 -0
  39. package/dist/agent-variants/previewQa.d.ts.map +1 -0
  40. package/dist/agent-variants/previewQa.js.map +1 -0
  41. package/dist/agent-variants/runLabel.d.ts.map +1 -0
  42. package/dist/agent-variants/runLabel.js.map +1 -0
  43. package/dist/agent-variants/runPlan.d.ts.map +1 -0
  44. package/dist/agent-variants/runPlan.js.map +1 -0
  45. package/dist/agent-variants/sourceContext.d.ts.map +1 -0
  46. package/dist/agent-variants/sourceContext.js.map +1 -0
  47. package/dist/agent-variants/variantContext.d.ts.map +1 -0
  48. package/dist/agent-variants/variantContext.js.map +1 -0
  49. package/dist/cli/client.d.ts +43 -0
  50. package/dist/cli/client.d.ts.map +1 -0
  51. package/dist/cli/client.js +109 -0
  52. package/dist/cli/client.js.map +1 -0
  53. package/dist/cli/commandNames.d.ts +9 -0
  54. package/dist/cli/commandNames.d.ts.map +1 -0
  55. package/dist/cli/commandNames.js +24 -0
  56. package/dist/cli/commandNames.js.map +1 -0
  57. package/dist/cli/commands/auth.d.ts +10 -0
  58. package/dist/cli/commands/auth.d.ts.map +1 -0
  59. package/dist/cli/commands/auth.js +81 -0
  60. package/dist/cli/commands/auth.js.map +1 -0
  61. package/dist/cli/commands/elementSelector.d.ts +10 -0
  62. package/dist/cli/commands/elementSelector.d.ts.map +1 -0
  63. package/dist/cli/commands/elementSelector.js +41 -0
  64. package/dist/cli/commands/elementSelector.js.map +1 -0
  65. package/dist/cli/commands/evidence.d.ts +9 -0
  66. package/dist/cli/commands/evidence.d.ts.map +1 -0
  67. package/dist/cli/commands/evidence.js +85 -0
  68. package/dist/cli/commands/evidence.js.map +1 -0
  69. package/dist/cli/commands/mcpServe.d.ts +40 -0
  70. package/dist/cli/commands/mcpServe.d.ts.map +1 -0
  71. package/dist/cli/commands/mcpServe.js +485 -0
  72. package/dist/cli/commands/mcpServe.js.map +1 -0
  73. package/dist/cli/commands/open.d.ts +28 -0
  74. package/dist/cli/commands/open.d.ts.map +1 -0
  75. package/dist/cli/commands/open.js +280 -0
  76. package/dist/cli/commands/open.js.map +1 -0
  77. package/dist/cli/commands/reference.d.ts +8 -0
  78. package/dist/cli/commands/reference.d.ts.map +1 -0
  79. package/dist/cli/commands/reference.js +101 -0
  80. package/dist/cli/commands/reference.js.map +1 -0
  81. package/dist/cli/commands/serve.d.ts +9 -0
  82. package/dist/cli/commands/serve.d.ts.map +1 -0
  83. package/dist/cli/commands/serve.js +182 -0
  84. package/dist/cli/commands/serve.js.map +1 -0
  85. package/dist/cli/commands/shared.d.ts +31 -0
  86. package/dist/cli/commands/shared.d.ts.map +1 -0
  87. package/dist/cli/commands/shared.js +82 -0
  88. package/dist/cli/commands/shared.js.map +1 -0
  89. package/dist/cli/commands/status.d.ts +10 -0
  90. package/dist/cli/commands/status.d.ts.map +1 -0
  91. package/dist/cli/commands/status.js +61 -0
  92. package/dist/cli/commands/status.js.map +1 -0
  93. package/dist/cli/commands/stop.d.ts +8 -0
  94. package/dist/cli/commands/stop.d.ts.map +1 -0
  95. package/dist/cli/commands/stop.js +41 -0
  96. package/dist/cli/commands/stop.js.map +1 -0
  97. package/dist/cli/commands/variants.d.ts +4 -0
  98. package/dist/cli/commands/variants.d.ts.map +1 -0
  99. package/dist/cli/commands/variants.js +435 -0
  100. package/dist/cli/commands/variants.js.map +1 -0
  101. package/dist/cli/commands/wait.d.ts +10 -0
  102. package/dist/cli/commands/wait.d.ts.map +1 -0
  103. package/dist/cli/commands/wait.js +101 -0
  104. package/dist/cli/commands/wait.js.map +1 -0
  105. package/dist/cli/entry.d.ts +12 -0
  106. package/dist/cli/entry.d.ts.map +1 -0
  107. package/dist/cli/entry.js +61 -0
  108. package/dist/cli/entry.js.map +1 -0
  109. package/dist/cli/envelope.d.ts +60 -0
  110. package/dist/cli/envelope.d.ts.map +1 -0
  111. package/dist/cli/envelope.js +57 -0
  112. package/dist/cli/envelope.js.map +1 -0
  113. package/dist/cli/flags.d.ts +20 -0
  114. package/dist/cli/flags.d.ts.map +1 -0
  115. package/dist/cli/flags.js +72 -0
  116. package/dist/cli/flags.js.map +1 -0
  117. package/dist/cli/handoff.d.ts +54 -0
  118. package/dist/cli/handoff.d.ts.map +1 -0
  119. package/dist/cli/handoff.js +106 -0
  120. package/dist/cli/handoff.js.map +1 -0
  121. package/dist/cli/handoffStore.d.ts +24 -0
  122. package/dist/cli/handoffStore.d.ts.map +1 -0
  123. package/dist/cli/handoffStore.js +49 -0
  124. package/dist/cli/handoffStore.js.map +1 -0
  125. package/dist/cli/hostWorkNextAction.d.ts +45 -0
  126. package/dist/cli/hostWorkNextAction.d.ts.map +1 -0
  127. package/dist/cli/hostWorkNextAction.js +43 -0
  128. package/dist/cli/hostWorkNextAction.js.map +1 -0
  129. package/dist/cli/io.d.ts +17 -0
  130. package/dist/cli/io.d.ts.map +1 -0
  131. package/dist/cli/io.js +19 -0
  132. package/dist/cli/io.js.map +1 -0
  133. package/dist/cli/router.d.ts +23 -0
  134. package/dist/cli/router.d.ts.map +1 -0
  135. package/dist/cli/router.js +236 -0
  136. package/dist/cli/router.js.map +1 -0
  137. package/dist/cli/runnerSelection.d.ts +60 -0
  138. package/dist/cli/runnerSelection.d.ts.map +1 -0
  139. package/dist/cli/runnerSelection.js +93 -0
  140. package/dist/cli/runnerSelection.js.map +1 -0
  141. package/dist/cli/serverHandshake.d.ts +51 -0
  142. package/dist/cli/serverHandshake.d.ts.map +1 -0
  143. package/dist/cli/serverHandshake.js +144 -0
  144. package/dist/cli/serverHandshake.js.map +1 -0
  145. package/dist/index.d.ts +2 -14
  146. package/dist/index.d.ts.map +1 -1
  147. package/dist/index.js +84 -138
  148. package/dist/index.js.map +1 -1
  149. package/dist/install/allowlists.d.ts +65 -0
  150. package/dist/install/allowlists.d.ts.map +1 -0
  151. package/dist/install/allowlists.js +333 -0
  152. package/dist/install/allowlists.js.map +1 -0
  153. package/dist/install/codexGuidance.d.ts +11 -0
  154. package/dist/install/codexGuidance.d.ts.map +1 -0
  155. package/dist/install/codexGuidance.js +90 -0
  156. package/dist/install/codexGuidance.js.map +1 -0
  157. package/dist/install/harnesses.d.ts +37 -26
  158. package/dist/install/harnesses.d.ts.map +1 -1
  159. package/dist/install/harnesses.js +312 -502
  160. package/dist/install/harnesses.js.map +1 -1
  161. package/dist/install/legacyMcp.d.ts +26 -0
  162. package/dist/install/legacyMcp.d.ts.map +1 -0
  163. package/dist/install/legacyMcp.js +160 -0
  164. package/dist/install/legacyMcp.js.map +1 -0
  165. package/dist/install/mcpRegistration.d.ts +45 -0
  166. package/dist/install/mcpRegistration.d.ts.map +1 -0
  167. package/dist/install/mcpRegistration.js +215 -0
  168. package/dist/install/mcpRegistration.js.map +1 -0
  169. package/dist/mcp/changeBatchClassification.d.ts +20 -20
  170. package/dist/mcp/changeBatchClassification.d.ts.map +1 -1
  171. package/dist/mcp/changeBatchClassification.js +46 -46
  172. package/dist/mcp/changeBatchClassification.js.map +1 -1
  173. package/dist/proxy-middleware/proxy-config.d.ts +6 -0
  174. package/dist/proxy-middleware/proxy-config.d.ts.map +1 -1
  175. package/dist/proxy-middleware/proxy-config.js +162 -5
  176. package/dist/proxy-middleware/proxy-config.js.map +1 -1
  177. package/dist/routes/agentVariants.d.ts +14 -2
  178. package/dist/routes/agentVariants.d.ts.map +1 -1
  179. package/dist/routes/agentVariants.js +366 -65
  180. package/dist/routes/agentVariants.js.map +1 -1
  181. package/dist/routes/cli.d.ts +31 -0
  182. package/dist/routes/cli.d.ts.map +1 -0
  183. package/dist/routes/cli.js +95 -0
  184. package/dist/routes/cli.js.map +1 -0
  185. package/dist/routes/git.d.ts +1 -0
  186. package/dist/routes/git.d.ts.map +1 -1
  187. package/dist/routes/git.js +2 -1
  188. package/dist/routes/git.js.map +1 -1
  189. package/dist/routes/inlineStartTracker.d.ts +23 -0
  190. package/dist/routes/inlineStartTracker.d.ts.map +1 -0
  191. package/dist/routes/inlineStartTracker.js +17 -0
  192. package/dist/routes/inlineStartTracker.js.map +1 -0
  193. package/dist/routes/mcp.d.ts +2 -12
  194. package/dist/routes/mcp.d.ts.map +1 -1
  195. package/dist/routes/mcp.js +4 -785
  196. package/dist/routes/mcp.js.map +1 -1
  197. package/dist/server.d.ts +24 -9
  198. package/dist/server.d.ts.map +1 -1
  199. package/dist/server.js +169 -33
  200. package/dist/server.js.map +1 -1
  201. package/dist/services/CommitMessageGenerator.d.ts +9 -1
  202. package/dist/services/CommitMessageGenerator.d.ts.map +1 -1
  203. package/dist/services/CommitMessageGenerator.js +4 -1
  204. package/dist/services/CommitMessageGenerator.js.map +1 -1
  205. package/dist/services/ComponentSearchService.d.ts +4 -1
  206. package/dist/services/ComponentSearchService.d.ts.map +1 -1
  207. package/dist/services/ComponentSearchService.js.map +1 -1
  208. package/dist/services/ConfigManager.d.ts +8 -0
  209. package/dist/services/ConfigManager.d.ts.map +1 -1
  210. package/dist/services/ConfigManager.js +9 -0
  211. package/dist/services/ConfigManager.js.map +1 -1
  212. package/dist/services/HistoryReplayService.d.ts +20 -9
  213. package/dist/services/HistoryReplayService.d.ts.map +1 -1
  214. package/dist/services/HistoryReplayService.js +99 -43
  215. package/dist/services/HistoryReplayService.js.map +1 -1
  216. package/dist/services/MCPVariantsTelemetry.d.ts +1 -1
  217. package/dist/services/MCPVariantsTelemetry.d.ts.map +1 -1
  218. package/dist/services/MCPVariantsTelemetry.js +1 -0
  219. package/dist/services/MCPVariantsTelemetry.js.map +1 -1
  220. package/dist/services/PRTitleGenerator.d.ts +10 -2
  221. package/dist/services/PRTitleGenerator.d.ts.map +1 -1
  222. package/dist/services/PRTitleGenerator.js +8 -2
  223. package/dist/services/PRTitleGenerator.js.map +1 -1
  224. package/dist/services/ProjectDetectionService.d.ts.map +1 -1
  225. package/dist/services/ProjectDetectionService.js +14 -4
  226. package/dist/services/ProjectDetectionService.js.map +1 -1
  227. package/dist/services/ProjectMetadataStore.d.ts +115 -0
  228. package/dist/services/ProjectMetadataStore.d.ts.map +1 -0
  229. package/dist/services/ProjectMetadataStore.js +336 -0
  230. package/dist/services/ProjectMetadataStore.js.map +1 -0
  231. package/dist/services/SessionBridgeService.d.ts +52 -224
  232. package/dist/services/SessionBridgeService.d.ts.map +1 -1
  233. package/dist/services/SessionBridgeService.js +97 -649
  234. package/dist/services/SessionBridgeService.js.map +1 -1
  235. package/dist/services/SessionService.d.ts +4 -1
  236. package/dist/services/SessionService.d.ts.map +1 -1
  237. package/dist/services/SessionService.js +7 -4
  238. package/dist/services/SessionService.js.map +1 -1
  239. package/dist/services/StaticFileService.d.ts.map +1 -1
  240. package/dist/services/StaticFileService.js +6 -0
  241. package/dist/services/StaticFileService.js.map +1 -1
  242. package/dist/services/TelemetryService.d.ts +16 -80
  243. package/dist/services/TelemetryService.d.ts.map +1 -1
  244. package/dist/services/TelemetryService.js +18 -94
  245. package/dist/services/TelemetryService.js.map +1 -1
  246. package/dist/services/VariantGenerationService.d.ts +45 -0
  247. package/dist/services/VariantGenerationService.d.ts.map +1 -0
  248. package/dist/services/VariantGenerationService.js +214 -0
  249. package/dist/services/VariantGenerationService.js.map +1 -0
  250. package/dist/services/VariantHistoryService.d.ts +37 -1
  251. package/dist/services/VariantHistoryService.d.ts.map +1 -1
  252. package/dist/services/VariantHistoryService.js +122 -1
  253. package/dist/services/VariantHistoryService.js.map +1 -1
  254. package/dist/services/VariantRunService.d.ts +25 -6
  255. package/dist/services/VariantRunService.d.ts.map +1 -1
  256. package/dist/services/VariantRunService.js +99 -4
  257. package/dist/services/VariantRunService.js.map +1 -1
  258. package/dist/services/VariantsRuntime.d.ts +1 -3
  259. package/dist/services/VariantsRuntime.d.ts.map +1 -1
  260. package/dist/services/VariantsRuntime.js +0 -1
  261. package/dist/services/VariantsRuntime.js.map +1 -1
  262. package/dist/services/WorktreeManager.d.ts +1 -1
  263. package/dist/services/WorktreeManager.d.ts.map +1 -1
  264. package/dist/services/createAgentVariantsOrchestrator.d.ts +2 -2
  265. package/dist/services/createAgentVariantsOrchestrator.d.ts.map +1 -1
  266. package/dist/services/createAgentVariantsOrchestrator.js +2 -3
  267. package/dist/services/createAgentVariantsOrchestrator.js.map +1 -1
  268. package/dist/services/projectMetadataMigrations.d.ts +59 -0
  269. package/dist/services/projectMetadataMigrations.d.ts.map +1 -0
  270. package/dist/services/projectMetadataMigrations.js +109 -0
  271. package/dist/services/projectMetadataMigrations.js.map +1 -0
  272. package/dist/types/change-request-types.d.ts +32 -4
  273. package/dist/types/change-request-types.d.ts.map +1 -1
  274. package/dist/utils/logger.d.ts +2 -1
  275. package/dist/utils/logger.d.ts.map +1 -1
  276. package/dist/utils/logger.js +3 -7
  277. package/dist/utils/logger.js.map +1 -1
  278. package/dist/utils/loopback.d.ts +3 -0
  279. package/dist/utils/loopback.d.ts.map +1 -0
  280. package/dist/utils/loopback.js +13 -0
  281. package/dist/utils/loopback.js.map +1 -0
  282. package/dist/utils/pid.d.ts +3 -0
  283. package/dist/utils/pid.d.ts.map +1 -0
  284. package/dist/utils/pid.js +15 -0
  285. package/dist/utils/pid.js.map +1 -0
  286. package/dist/utils/queueAccess.d.ts +7 -0
  287. package/dist/utils/queueAccess.d.ts.map +1 -1
  288. package/dist/utils/queueAccess.js +8 -1
  289. package/dist/utils/queueAccess.js.map +1 -1
  290. package/dist/utils/shouldRecordHostedDemoSessionAction.d.ts +3 -3
  291. package/dist/utils/shouldRecordHostedDemoSessionAction.d.ts.map +1 -1
  292. package/dist/utils/shouldRecordHostedDemoSessionAction.js +3 -19
  293. package/dist/utils/shouldRecordHostedDemoSessionAction.js.map +1 -1
  294. package/dist/utils/skillWriter.d.ts.map +1 -1
  295. package/dist/utils/skillWriter.js +12 -11
  296. package/dist/utils/skillWriter.js.map +1 -1
  297. package/dist/utils/skills/claude-skill.d.ts +7 -2
  298. package/dist/utils/skills/claude-skill.d.ts.map +1 -1
  299. package/dist/utils/skills/claude-skill.js +10 -83
  300. package/dist/utils/skills/claude-skill.js.map +1 -1
  301. package/dist/utils/skills/cli-guidance.d.ts +12 -0
  302. package/dist/utils/skills/cli-guidance.d.ts.map +1 -0
  303. package/dist/utils/skills/cli-guidance.js +59 -0
  304. package/dist/utils/skills/cli-guidance.js.map +1 -0
  305. package/dist/utils/skills/cursor-rules.d.ts +8 -2
  306. package/dist/utils/skills/cursor-rules.d.ts.map +1 -1
  307. package/dist/utils/skills/cursor-rules.js +11 -80
  308. package/dist/utils/skills/cursor-rules.js.map +1 -1
  309. package/dist/utils/variantSessionStart.d.ts +1 -1
  310. package/dist/utils/variantSessionStart.d.ts.map +1 -1
  311. package/dist/utils/variantSessionStart.js +1 -1
  312. package/dist/utils/variantSessionStart.js.map +1 -1
  313. package/package.json +4 -4
  314. package/src/ui/dist/assets/main-B725ucb9.js +419 -0
  315. package/src/ui/dist/assets/main-Dyos9I29.css +1 -0
  316. package/src/ui/dist/index.html +2 -2
  317. package/dist/mcp/agent-variants/SessionStore.d.ts.map +0 -1
  318. package/dist/mcp/agent-variants/SessionStore.js.map +0 -1
  319. package/dist/mcp/agent-variants/WorktreeOrchestrator.d.ts.map +0 -1
  320. package/dist/mcp/agent-variants/WorktreeOrchestrator.js.map +0 -1
  321. package/dist/mcp/agent-variants/WorktreeOrchestrator.testHelpers.d.ts.map +0 -1
  322. package/dist/mcp/agent-variants/WorktreeOrchestrator.testHelpers.js.map +0 -1
  323. package/dist/mcp/agent-variants/areNaSourceContext.d.ts +0 -20
  324. package/dist/mcp/agent-variants/areNaSourceContext.d.ts.map +0 -1
  325. package/dist/mcp/agent-variants/areNaSourceContext.js +0 -118
  326. package/dist/mcp/agent-variants/areNaSourceContext.js.map +0 -1
  327. package/dist/mcp/agent-variants/briefContent.d.ts.map +0 -1
  328. package/dist/mcp/agent-variants/briefContent.js.map +0 -1
  329. package/dist/mcp/agent-variants/contracts.d.ts.map +0 -1
  330. package/dist/mcp/agent-variants/contracts.js.map +0 -1
  331. package/dist/mcp/agent-variants/createProjectArtifacts.d.ts.map +0 -1
  332. package/dist/mcp/agent-variants/createProjectArtifacts.js.map +0 -1
  333. package/dist/mcp/agent-variants/createZeroToOneTool.d.ts +0 -63
  334. package/dist/mcp/agent-variants/createZeroToOneTool.d.ts.map +0 -1
  335. package/dist/mcp/agent-variants/createZeroToOneTool.js +0 -265
  336. package/dist/mcp/agent-variants/createZeroToOneTool.js.map +0 -1
  337. package/dist/mcp/agent-variants/diffQa.d.ts.map +0 -1
  338. package/dist/mcp/agent-variants/diffQa.js.map +0 -1
  339. package/dist/mcp/agent-variants/elementRefToTarget.d.ts.map +0 -1
  340. package/dist/mcp/agent-variants/elementRefToTarget.js.map +0 -1
  341. package/dist/mcp/agent-variants/errors.d.ts.map +0 -1
  342. package/dist/mcp/agent-variants/errors.js.map +0 -1
  343. package/dist/mcp/agent-variants/generatedDestination.d.ts +0 -75
  344. package/dist/mcp/agent-variants/generatedDestination.d.ts.map +0 -1
  345. package/dist/mcp/agent-variants/generatedDestination.js +0 -103
  346. package/dist/mcp/agent-variants/generatedDestination.js.map +0 -1
  347. package/dist/mcp/agent-variants/index.d.ts.map +0 -1
  348. package/dist/mcp/agent-variants/index.js.map +0 -1
  349. package/dist/mcp/agent-variants/pendingChangesAdapter.d.ts +0 -38
  350. package/dist/mcp/agent-variants/pendingChangesAdapter.d.ts.map +0 -1
  351. package/dist/mcp/agent-variants/pendingChangesAdapter.js +0 -93
  352. package/dist/mcp/agent-variants/pendingChangesAdapter.js.map +0 -1
  353. package/dist/mcp/agent-variants/pinterestSourceContext.d.ts +0 -23
  354. package/dist/mcp/agent-variants/pinterestSourceContext.d.ts.map +0 -1
  355. package/dist/mcp/agent-variants/pinterestSourceContext.js +0 -137
  356. package/dist/mcp/agent-variants/pinterestSourceContext.js.map +0 -1
  357. package/dist/mcp/agent-variants/previewQa.d.ts.map +0 -1
  358. package/dist/mcp/agent-variants/previewQa.js.map +0 -1
  359. package/dist/mcp/agent-variants/runLabel.d.ts.map +0 -1
  360. package/dist/mcp/agent-variants/runLabel.js.map +0 -1
  361. package/dist/mcp/agent-variants/runPlan.d.ts.map +0 -1
  362. package/dist/mcp/agent-variants/runPlan.js.map +0 -1
  363. package/dist/mcp/agent-variants/sourceContext.d.ts.map +0 -1
  364. package/dist/mcp/agent-variants/sourceContext.js.map +0 -1
  365. package/dist/mcp/agent-variants/tools.d.ts +0 -187
  366. package/dist/mcp/agent-variants/tools.d.ts.map +0 -1
  367. package/dist/mcp/agent-variants/tools.js +0 -1165
  368. package/dist/mcp/agent-variants/tools.js.map +0 -1
  369. package/dist/mcp/agent-variants/variantContext.d.ts.map +0 -1
  370. package/dist/mcp/agent-variants/variantContext.js.map +0 -1
  371. package/dist/mcp/auth/httpOAuthProvider.d.ts +0 -103
  372. package/dist/mcp/auth/httpOAuthProvider.d.ts.map +0 -1
  373. package/dist/mcp/auth/httpOAuthProvider.js +0 -735
  374. package/dist/mcp/auth/httpOAuthProvider.js.map +0 -1
  375. package/dist/mcp/auth/tools.d.ts +0 -39
  376. package/dist/mcp/auth/tools.d.ts.map +0 -1
  377. package/dist/mcp/auth/tools.js +0 -304
  378. package/dist/mcp/auth/tools.js.map +0 -1
  379. package/dist/mcp/branding.d.ts +0 -4
  380. package/dist/mcp/branding.d.ts.map +0 -1
  381. package/dist/mcp/branding.js +0 -8
  382. package/dist/mcp/branding.js.map +0 -1
  383. package/dist/mcp/hostedServer.d.ts +0 -27
  384. package/dist/mcp/hostedServer.d.ts.map +0 -1
  385. package/dist/mcp/hostedServer.js +0 -71
  386. package/dist/mcp/hostedServer.js.map +0 -1
  387. package/dist/mcp/httpServer.d.ts +0 -63
  388. package/dist/mcp/httpServer.d.ts.map +0 -1
  389. package/dist/mcp/httpServer.js +0 -602
  390. package/dist/mcp/httpServer.js.map +0 -1
  391. package/dist/mcp/instructions.d.ts +0 -25
  392. package/dist/mcp/instructions.d.ts.map +0 -1
  393. package/dist/mcp/instructions.js +0 -39
  394. package/dist/mcp/instructions.js.map +0 -1
  395. package/dist/mcp/integrations/tools.d.ts +0 -19
  396. package/dist/mcp/integrations/tools.d.ts.map +0 -1
  397. package/dist/mcp/integrations/tools.js +0 -101
  398. package/dist/mcp/integrations/tools.js.map +0 -1
  399. package/dist/mcp/server.d.ts +0 -214
  400. package/dist/mcp/server.d.ts.map +0 -1
  401. package/dist/mcp/server.js +0 -2536
  402. package/dist/mcp/server.js.map +0 -1
  403. package/dist/mcp/toolAnalytics.d.ts +0 -26
  404. package/dist/mcp/toolAnalytics.d.ts.map +0 -1
  405. package/dist/mcp/toolAnalytics.js +0 -95
  406. package/dist/mcp/toolAnalytics.js.map +0 -1
  407. package/dist/mcp/types.d.ts +0 -7
  408. package/dist/mcp/types.d.ts.map +0 -1
  409. package/dist/mcp/types.js +0 -3
  410. package/dist/mcp/types.js.map +0 -1
  411. package/dist/mcp/watchLoopResumePrompt.d.ts +0 -16
  412. package/dist/mcp/watchLoopResumePrompt.d.ts.map +0 -1
  413. package/dist/mcp/watchLoopResumePrompt.js +0 -21
  414. package/dist/mcp/watchLoopResumePrompt.js.map +0 -1
  415. package/dist/prompts/agentModPrompts.d.ts +0 -4
  416. package/dist/prompts/agentModPrompts.d.ts.map +0 -1
  417. package/dist/prompts/agentModPrompts.js +0 -34
  418. package/dist/prompts/agentModPrompts.js.map +0 -1
  419. package/dist/prompts/tokenWriterPrompts.d.ts +0 -4
  420. package/dist/prompts/tokenWriterPrompts.d.ts.map +0 -1
  421. package/dist/prompts/tokenWriterPrompts.js +0 -59
  422. package/dist/prompts/tokenWriterPrompts.js.map +0 -1
  423. package/dist/routes/comments.d.ts +0 -3
  424. package/dist/routes/comments.d.ts.map +0 -1
  425. package/dist/routes/comments.js +0 -113
  426. package/dist/routes/comments.js.map +0 -1
  427. package/dist/routes/components.d.ts +0 -7
  428. package/dist/routes/components.d.ts.map +0 -1
  429. package/dist/routes/components.js +0 -88
  430. package/dist/routes/components.js.map +0 -1
  431. package/dist/routes/controls.d.ts +0 -7
  432. package/dist/routes/controls.d.ts.map +0 -1
  433. package/dist/routes/controls.js +0 -50
  434. package/dist/routes/controls.js.map +0 -1
  435. package/dist/routes/design.d.ts +0 -2
  436. package/dist/routes/design.d.ts.map +0 -1
  437. package/dist/routes/design.js +0 -29
  438. package/dist/routes/design.js.map +0 -1
  439. package/dist/routes/modifications.d.ts +0 -10
  440. package/dist/routes/modifications.d.ts.map +0 -1
  441. package/dist/routes/modifications.js +0 -394
  442. package/dist/routes/modifications.js.map +0 -1
  443. package/dist/routes/tokens.d.ts +0 -2
  444. package/dist/routes/tokens.d.ts.map +0 -1
  445. package/dist/routes/tokens.js +0 -115
  446. package/dist/routes/tokens.js.map +0 -1
  447. package/dist/services/AgentSessionService.d.ts +0 -91
  448. package/dist/services/AgentSessionService.d.ts.map +0 -1
  449. package/dist/services/AgentSessionService.js +0 -282
  450. package/dist/services/AgentSessionService.js.map +0 -1
  451. package/dist/services/BridgeBatchPipeline.d.ts +0 -103
  452. package/dist/services/BridgeBatchPipeline.d.ts.map +0 -1
  453. package/dist/services/BridgeBatchPipeline.js +0 -295
  454. package/dist/services/BridgeBatchPipeline.js.map +0 -1
  455. package/dist/services/BridgeQueueStore.d.ts +0 -28
  456. package/dist/services/BridgeQueueStore.d.ts.map +0 -1
  457. package/dist/services/BridgeQueueStore.js +0 -88
  458. package/dist/services/BridgeQueueStore.js.map +0 -1
  459. package/dist/services/CSSTokenWriter.d.ts +0 -22
  460. package/dist/services/CSSTokenWriter.d.ts.map +0 -1
  461. package/dist/services/CSSTokenWriter.js +0 -116
  462. package/dist/services/CSSTokenWriter.js.map +0 -1
  463. package/dist/services/DesignTokenService.d.ts +0 -39
  464. package/dist/services/DesignTokenService.d.ts.map +0 -1
  465. package/dist/services/DesignTokenService.js +0 -100
  466. package/dist/services/DesignTokenService.js.map +0 -1
  467. package/dist/services/InlineVariantGenerationService.d.ts +0 -51
  468. package/dist/services/InlineVariantGenerationService.d.ts.map +0 -1
  469. package/dist/services/InlineVariantGenerationService.js +0 -475
  470. package/dist/services/InlineVariantGenerationService.js.map +0 -1
  471. package/dist/services/InterfaceGenerationService.d.ts +0 -12
  472. package/dist/services/InterfaceGenerationService.d.ts.map +0 -1
  473. package/dist/services/InterfaceGenerationService.js +0 -256
  474. package/dist/services/InterfaceGenerationService.js.map +0 -1
  475. package/dist/services/TailwindConfigWriter.d.ts +0 -24
  476. package/dist/services/TailwindConfigWriter.d.ts.map +0 -1
  477. package/dist/services/TailwindConfigWriter.js +0 -105
  478. package/dist/services/TailwindConfigWriter.js.map +0 -1
  479. package/dist/services/TerminalAgentRunner.d.ts +0 -65
  480. package/dist/services/TerminalAgentRunner.d.ts.map +0 -1
  481. package/dist/services/TerminalAgentRunner.js +0 -511
  482. package/dist/services/TerminalAgentRunner.js.map +0 -1
  483. package/dist/services/VisualVariantAgentRunner.d.ts +0 -20
  484. package/dist/services/VisualVariantAgentRunner.d.ts.map +0 -1
  485. package/dist/services/VisualVariantAgentRunner.js +0 -66
  486. package/dist/services/VisualVariantAgentRunner.js.map +0 -1
  487. package/dist/services/adapters/TailwindCSSTokenAdapter.d.ts +0 -35
  488. package/dist/services/adapters/TailwindCSSTokenAdapter.d.ts.map +0 -1
  489. package/dist/services/adapters/TailwindCSSTokenAdapter.js +0 -278
  490. package/dist/services/adapters/TailwindCSSTokenAdapter.js.map +0 -1
  491. package/dist/services/agent/AgentCore.d.ts +0 -126
  492. package/dist/services/agent/AgentCore.d.ts.map +0 -1
  493. package/dist/services/agent/AgentCore.js +0 -759
  494. package/dist/services/agent/AgentCore.js.map +0 -1
  495. package/dist/services/agent/AgentModService.d.ts +0 -98
  496. package/dist/services/agent/AgentModService.d.ts.map +0 -1
  497. package/dist/services/agent/AgentModService.js +0 -400
  498. package/dist/services/agent/AgentModService.js.map +0 -1
  499. package/dist/services/agent/index.d.ts +0 -2
  500. package/dist/services/agent/index.d.ts.map +0 -1
  501. package/dist/services/agent/index.js +0 -6
  502. package/dist/services/agent/index.js.map +0 -1
  503. package/dist/types/editor-interface-types.d.ts +0 -67
  504. package/dist/types/editor-interface-types.d.ts.map +0 -1
  505. package/dist/types/editor-interface-types.js +0 -12
  506. package/dist/types/editor-interface-types.js.map +0 -1
  507. package/dist/utils/elementRefToContext.d.ts +0 -4
  508. package/dist/utils/elementRefToContext.d.ts.map +0 -1
  509. package/dist/utils/elementRefToContext.js +0 -63
  510. package/dist/utils/elementRefToContext.js.map +0 -1
  511. package/dist/utils/skills/shared-variants-protocol.d.ts +0 -69
  512. package/dist/utils/skills/shared-variants-protocol.d.ts.map +0 -1
  513. package/dist/utils/skills/shared-variants-protocol.js +0 -292
  514. package/dist/utils/skills/shared-variants-protocol.js.map +0 -1
  515. package/src/ui/dist/assets/main-Dnah9pII.css +0 -1
  516. package/src/ui/dist/assets/main-plq7aT76.js +0 -656
  517. /package/dist/{mcp/agent-variants → agent-variants}/briefContent.d.ts +0 -0
  518. /package/dist/{mcp/agent-variants → agent-variants}/briefContent.js +0 -0
  519. /package/dist/{mcp/agent-variants → agent-variants}/createProjectArtifacts.d.ts +0 -0
  520. /package/dist/{mcp/agent-variants → agent-variants}/createProjectArtifacts.js +0 -0
  521. /package/dist/{mcp/agent-variants → agent-variants}/diffQa.d.ts +0 -0
  522. /package/dist/{mcp/agent-variants → agent-variants}/diffQa.js +0 -0
  523. /package/dist/{mcp/agent-variants → agent-variants}/elementRefToTarget.js +0 -0
  524. /package/dist/{mcp/agent-variants → agent-variants}/errors.d.ts +0 -0
  525. /package/dist/{mcp/agent-variants → agent-variants}/errors.js +0 -0
  526. /package/dist/{mcp/agent-variants → agent-variants}/previewQa.d.ts +0 -0
  527. /package/dist/{mcp/agent-variants → agent-variants}/previewQa.js +0 -0
  528. /package/dist/{mcp/agent-variants → agent-variants}/runLabel.d.ts +0 -0
  529. /package/dist/{mcp/agent-variants → agent-variants}/runLabel.js +0 -0
  530. /package/dist/{mcp/agent-variants → agent-variants}/runPlan.d.ts +0 -0
  531. /package/dist/{mcp/agent-variants → agent-variants}/runPlan.js +0 -0
  532. /package/dist/{mcp/agent-variants → agent-variants}/sourceContext.d.ts +0 -0
  533. /package/dist/{mcp/agent-variants → agent-variants}/sourceContext.js +0 -0
  534. /package/dist/{mcp/agent-variants → agent-variants}/variantContext.d.ts +0 -0
  535. /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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"}