rivet-design 0.12.4 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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 +11 -19
  5. package/dist/agent-variants/SessionStore.d.ts.map +1 -0
  6. package/dist/{mcp/agent-variants → agent-variants}/SessionStore.js +64 -79
  7. package/dist/agent-variants/SessionStore.js.map +1 -0
  8. package/dist/{mcp/agent-variants → agent-variants}/WorktreeOrchestrator.d.ts +53 -21
  9. package/dist/agent-variants/WorktreeOrchestrator.d.ts.map +1 -0
  10. package/dist/{mcp/agent-variants → agent-variants}/WorktreeOrchestrator.js +291 -49
  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 +715 -721
  19. package/dist/agent-variants/contracts.d.ts.map +1 -0
  20. package/dist/{mcp/agent-variants → agent-variants}/contracts.js +2 -3
  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 +440 -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 +374 -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 +18 -20
  170. package/dist/mcp/changeBatchClassification.d.ts.map +1 -1
  171. package/dist/mcp/changeBatchClassification.js +41 -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 +321 -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 +52 -0
  247. package/dist/services/VariantGenerationService.d.ts.map +1 -0
  248. package/dist/services/VariantGenerationService.js +272 -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 +98 -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 +22 -0
  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 +57 -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-BWOvFoal.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
package/README.md CHANGED
@@ -1,60 +1,84 @@
1
1
  # Rivet
2
2
 
3
- Rivet helps you explore multiple design directions for your web app. It generates parallel variants you can compare side by side, refine with precision, and share or implement all from your coding agent.
3
+ Rivet helps you explore multiple design directions for your web app. It opens a local visual editor, generates parallel variants, lets you refine with comments, and can send the chosen direction back into your project.
4
4
 
5
- ## How it works
5
+ ## Install
6
6
 
7
- Rivet runs as an MCP server alongside your coding agent (Claude Code, Cursor, etc.).
7
+ Run the installer from the project where you want AI agents to use Rivet:
8
8
 
9
- 1. **Start from your agent.** Use `/rivet` in Claude Code, or tell your agent "Use Rivet variants" or "Explore with Rivet" along with your design request.
10
- 2. **Connect design references** (optional). Click **Connect design references** in the editor to link your Pinterest or Are.na account. Include relevant pins or boards and Rivet will extract design context from them to inform the variants it generates.
11
- 3. **Refine with the comment tool.** Select any part of the UI and use the comment tool to make more precise variants of that section, or leave comments describing what you'd like to change within a variant.
12
- 4. **Share or implement.** When you're happy, click the **Share** button to get a shareable link you can send to a collaborator — or share it back to your coding agent to implement the chosen direction.
9
+ ```bash
10
+ npx -y rivet-design@latest install
11
+ ```
13
12
 
14
- ## Install
13
+ The installer writes CLI usage guidance and command allowlists for detected shell-capable agents such as Claude Code, Cursor, and Codex. After installing, start a new agent session and say "Open Rivet" or "/rivet".
15
14
 
16
- **Option 1 CLI (recommended)**
15
+ You can also run Rivet directly without a global install:
17
16
 
18
17
  ```bash
19
- claude mcp add --transport stdio --scope user rivet -- npx -y rivet-design@latest mcp --editor claude
18
+ npx -y rivet-design@latest open --project /path/to/app
20
19
  ```
21
20
 
22
- **Option 2 Run Rivet's installer** (adds Rivet globally via Claude Code CLI)
21
+ If installed globally, the package exposes the `rivet` binary:
23
22
 
24
23
  ```bash
25
- npx rivet-design install
24
+ rivet open --project /path/to/app
26
25
  ```
27
26
 
28
- No global install required. `npx` pulls the latest version each time.
27
+ ## CLI Agent Commands
29
28
 
30
- ## Usage
29
+ Rivet's agent-facing commands print one JSON envelope on stdout, write progress to stderr, and do not prompt for input.
31
30
 
32
- Once installed, tell your agent what you want to explore:
31
+ For interactive user workflows, run `rivet open` without `--no-browser` so the Rivet UI opens in the browser. Use `--no-browser` only for headless/background automation, CI/e2e checks, or when the user explicitly asks not to open a browser; in those cases, report the returned `editorUrl`.
33
32
 
33
+ ```bash
34
+ rivet open --project /path/to/app
35
+ rivet status --project /path/to/app
36
+ rivet variants start --project /path/to/app --instruction "try three hero layouts" --count 3
37
+ rivet wait <workId> --project /path/to/app --timeout 120
38
+ rivet variants list --project /path/to/app
39
+ rivet variants commit <variantId> --project /path/to/app
40
+ rivet changes request --project /path/to/app --instruction "make the header coral" --element "#header"
41
+ rivet changes pull --project /path/to/app
42
+ rivet stop --project /path/to/app
34
43
  ```
35
- "Use Rivet variants to explore hero section designs"
36
- "Explore with Rivet show me options for the navigation"
37
- "/rivet redesign the pricing page"
44
+
45
+ For a fresh project, create or use an empty directory, open Rivet there, then start variants with `--fresh`:
46
+
47
+ ```bash
48
+ rivet open --project /path/to/new-app
49
+ rivet variants start --project /path/to/new-app --fresh --instruction "build a SaaS landing page" --count 3
38
50
  ```
39
51
 
40
- Your agent will open Rivet, generate parallel design directions, and let you compare them side by side in the browser. Use the comment tool to refine, connect Pinterest or Are.na boards for design context, and share or implement when you're ready.
52
+ For shell agents, pass caller metadata on each command when available:
41
53
 
42
- ### Supported frameworks
54
+ ```bash
55
+ rivet open --project /path/to/app --caller-agent cursor --caller-model <model> --caller-session <session-id>
56
+ ```
57
+
58
+ ## How It Works
59
+
60
+ 1. `rivet open` starts or attaches to the local Rivet editor server for a project. It can attach to an existing dev server or start the app's standard `dev`, `start`, or `serve` script when possible.
61
+ 2. The editor shows your app and variant previews in the browser. Agents use `rivet variants ...` and `rivet changes ...` to enqueue work.
62
+ 3. Use `rivet wait`, `rivet status`, or `rivet status --watch` to observe progress.
63
+ 4. Commit the chosen variant with `rivet variants commit <variantId>` or use the editor to keep refining.
64
+
65
+ If Rivet reports pull mode, staged work can be drained with `rivet changes pull --project <path>`, applied by the agent, then acknowledged with `rivet changes pull --project <path> --ack <leaseId>`.
66
+
67
+ ## Supported Frameworks
43
68
 
44
69
  - Next.js
45
70
  - Vite
46
71
  - Create React App
47
72
  - Remix
48
73
  - SvelteKit
49
-
50
- Your dev server needs to be running before opening Rivet. Your agent will give you the start command if it isn't.
74
+ - Static HTML
51
75
 
52
76
  ## Requirements
53
77
 
54
- - Node.js 18+
55
- - A running local dev server (Vite, Next.js, etc.)
56
- - Claude Code, Cursor, or another MCP-compatible agent
78
+ - Node.js 24+
79
+ - A shell-capable coding agent for agent-driven flows
80
+ - Git for variant branch/history features
57
81
 
58
82
  ## License
59
83
 
60
- MIT
84
+ GPL-3.0-or-later
package/README.npm.md CHANGED
@@ -1,60 +1,84 @@
1
1
  # Rivet
2
2
 
3
- Rivet helps you explore multiple design directions for your web app. It generates parallel variants you can compare side by side, refine with precision, and share or implement all from your coding agent.
3
+ Rivet helps you explore multiple design directions for your web app. It opens a local visual editor, generates parallel variants, lets you refine with comments, and can send the chosen direction back into your project.
4
4
 
5
- ## How it works
5
+ ## Install
6
6
 
7
- Rivet runs as an MCP server alongside your coding agent (Claude Code, Cursor, etc.).
7
+ Run the installer from the project where you want AI agents to use Rivet:
8
8
 
9
- 1. **Start from your agent.** Use `/rivet` in Claude Code, or tell your agent "Use Rivet variants" or "Explore with Rivet" along with your design request.
10
- 2. **Connect design references** (optional). Click **Connect design references** in the editor to link your Pinterest or Are.na account. Include relevant pins or boards and Rivet will extract design context from them to inform the variants it generates.
11
- 3. **Refine with the comment tool.** Select any part of the UI and use the comment tool to make more precise variants of that section, or leave comments describing what you'd like to change within a variant.
12
- 4. **Share or implement.** When you're happy, click the **Share** button to get a shareable link you can send to a collaborator — or share it back to your coding agent to implement the chosen direction.
9
+ ```bash
10
+ npx -y rivet-design@latest install
11
+ ```
13
12
 
14
- ## Install
13
+ The installer writes CLI usage guidance and command allowlists for detected shell-capable agents such as Claude Code, Cursor, and Codex. After installing, start a new agent session and say "Open Rivet" or "/rivet".
15
14
 
16
- **Option 1 CLI (recommended)**
15
+ You can also run Rivet directly without a global install:
17
16
 
18
17
  ```bash
19
- claude mcp add --transport stdio --scope user rivet -- npx -y rivet-design@latest mcp --editor claude
18
+ npx -y rivet-design@latest open --project /path/to/app
20
19
  ```
21
20
 
22
- **Option 2 Run Rivet's installer** (adds Rivet globally via Claude Code CLI)
21
+ If installed globally, the package exposes the `rivet` binary:
23
22
 
24
23
  ```bash
25
- npx rivet-design install
24
+ rivet open --project /path/to/app
26
25
  ```
27
26
 
28
- No global install required. `npx` pulls the latest version each time.
27
+ ## CLI Agent Commands
29
28
 
30
- ## Usage
29
+ Rivet's agent-facing commands print one JSON envelope on stdout, write progress to stderr, and do not prompt for input.
31
30
 
32
- Once installed, tell your agent what you want to explore:
31
+ For interactive user workflows, run `rivet open` without `--no-browser` so the Rivet UI opens in the browser. Use `--no-browser` only for headless/background automation, CI/e2e checks, or when the user explicitly asks not to open a browser; in those cases, report the returned `editorUrl`.
33
32
 
33
+ ```bash
34
+ rivet open --project /path/to/app
35
+ rivet status --project /path/to/app
36
+ rivet variants start --project /path/to/app --instruction "try three hero layouts" --count 3
37
+ rivet wait <workId> --project /path/to/app --timeout 120
38
+ rivet variants list --project /path/to/app
39
+ rivet variants commit <variantId> --project /path/to/app
40
+ rivet changes request --project /path/to/app --instruction "make the header coral" --element "#header"
41
+ rivet changes pull --project /path/to/app
42
+ rivet stop --project /path/to/app
34
43
  ```
35
- "Use Rivet variants to explore hero section designs"
36
- "Explore with Rivet show me options for the navigation"
37
- "/rivet redesign the pricing page"
44
+
45
+ For a fresh project, create or use an empty directory, open Rivet there, then start variants with `--fresh`:
46
+
47
+ ```bash
48
+ rivet open --project /path/to/new-app
49
+ rivet variants start --project /path/to/new-app --fresh --instruction "build a SaaS landing page" --count 3
38
50
  ```
39
51
 
40
- Your agent will open Rivet, generate parallel design directions, and let you compare them side by side in the browser. Use the comment tool to refine, connect Pinterest or Are.na boards for design context, and share or implement when you're ready.
52
+ For shell agents, pass caller metadata on each command when available:
41
53
 
42
- ### Supported frameworks
54
+ ```bash
55
+ rivet open --project /path/to/app --caller-agent cursor --caller-model <model> --caller-session <session-id>
56
+ ```
57
+
58
+ ## How It Works
59
+
60
+ 1. `rivet open` starts or attaches to the local Rivet editor server for a project. It can attach to an existing dev server or start the app's standard `dev`, `start`, or `serve` script when possible.
61
+ 2. The editor shows your app and variant previews in the browser. Agents use `rivet variants ...` and `rivet changes ...` to enqueue work.
62
+ 3. Use `rivet wait`, `rivet status`, or `rivet status --watch` to observe progress.
63
+ 4. Commit the chosen variant with `rivet variants commit <variantId>` or use the editor to keep refining.
64
+
65
+ If Rivet reports pull mode, staged work can be drained with `rivet changes pull --project <path>`, applied by the agent, then acknowledged with `rivet changes pull --project <path> --ack <leaseId>`.
66
+
67
+ ## Supported Frameworks
43
68
 
44
69
  - Next.js
45
70
  - Vite
46
71
  - Create React App
47
72
  - Remix
48
73
  - SvelteKit
49
-
50
- Your dev server needs to be running before opening Rivet. Your agent will give you the start command if it isn't.
74
+ - Static HTML
51
75
 
52
76
  ## Requirements
53
77
 
54
- - Node.js 18+
55
- - A running local dev server (Vite, Next.js, etc.)
56
- - Claude Code, Cursor, or another MCP-compatible agent
78
+ - Node.js 24+
79
+ - A shell-capable coding agent for agent-driven flows
80
+ - Git for variant branch/history features
57
81
 
58
82
  ## License
59
83
 
60
- MIT
84
+ GPL-3.0-or-later
package/bin/rivet.js CHANGED
@@ -22,20 +22,6 @@ if (!process.env.NODE_ENV) {
22
22
  }
23
23
  }
24
24
 
25
- // In MCP mode, stdout is reserved for the JSON-RPC protocol stream. The dist
26
- // logger's redirectLogsToStderr() runs inside startMCPServer, but module-level
27
- // log calls fire at import time — before that hook. Patch console output here
28
- // so those early lines (and any future ones) go to stderr instead of corrupting
29
- // the protocol stream.
30
- if (process.argv.includes('mcp')) {
31
- console.log = console.error.bind(console);
32
- console.info = console.error.bind(console);
33
- console.warn = console.error.bind(console);
34
- }
35
-
36
- // Import the compiled main function
37
- const { main } = require('../dist/index.js');
38
-
39
25
  // Handle uncaught exceptions gracefully
40
26
  process.on('uncaughtException', (error) => {
41
27
  console.error('Uncaught exception:', error);
@@ -47,14 +33,43 @@ process.on('unhandledRejection', (reason, promise) => {
47
33
  process.exit(1);
48
34
  });
49
35
 
50
- // Handle Ctrl+C gracefully
51
- process.on('SIGINT', () => {
52
- console.log('\n👋 Goodbye!');
53
- process.exit(0);
54
- });
36
+ // Control-plane subcommands route to the lean entry and skip dist/index.js
37
+ // entirely: its static import graph is the dominant fixed cost of an
38
+ // invocation and none of it is needed to emit an envelope. Any resolution
39
+ // failure falls back to the full CLI.
40
+ const args = process.argv.slice(2);
41
+ let controlPlane = null;
42
+ try {
43
+ const { isCliControlCommand } = require('../dist/cli/commandNames.js');
44
+ if (isCliControlCommand(args[0])) {
45
+ controlPlane = require('../dist/cli/entry.js');
46
+ }
47
+ } catch {
48
+ controlPlane = null;
49
+ }
55
50
 
56
- // Start the CLI
57
- main().catch((error) => {
58
- console.error('CLI error:', error);
59
- process.exit(1);
60
- });
51
+ if (controlPlane) {
52
+ // stdout is reserved for JSON envelopes (and MCP frames under
53
+ // `rivet mcp serve`), so no Ctrl+C goodbye on this path.
54
+ process.on('SIGINT', () => {
55
+ process.exit(0);
56
+ });
57
+ controlPlane.runControlPlane(args).catch((error) => {
58
+ console.error('CLI error:', error);
59
+ process.exit(1);
60
+ });
61
+ } else {
62
+ // Handle Ctrl+C gracefully
63
+ process.on('SIGINT', () => {
64
+ console.log('\n👋 Goodbye!');
65
+ process.exit(0);
66
+ });
67
+
68
+ const { main } = require('../dist/index.js');
69
+
70
+ // Start the CLI
71
+ main().catch((error) => {
72
+ console.error('CLI error:', error);
73
+ process.exit(1);
74
+ });
75
+ }
@@ -199,12 +199,20 @@ export declare class SessionStore {
199
199
  * batch; the orchestrator provisions a worktree per item and runs each
200
200
  * through the normal completion/preview pipeline.
201
201
  *
202
+ * With `sourceVariantId`, forks a succeeded code_gen parent: each new item
203
+ * is stamped with the source id (+ sourceLabel/sourceBody) so the
204
+ * orchestrator seeds its worktree from the parent's tree rather than git
205
+ * HEAD / Original. Backs code_gen "Vary" targeting a parent variant.
206
+ *
202
207
  * Reopens the session to `work_items_ready` so the appended pending work is
203
208
  * visible and drives the stage back through generation to ready/degraded.
204
209
  */
205
- appendExistingCodeGenVariants(args: {
210
+ appendCodeGenVariants(args: {
206
211
  sessionId: string;
207
212
  briefs: Brief[];
213
+ /** Fork parent: seed each new variant from this succeeded code_gen
214
+ * variant's worktree instead of the base tree. */
215
+ sourceVariantId?: string;
208
216
  /** Run label (1–2 word intent) derived from THIS batch's instruction.
209
217
  * Stamped onto each appended work item so the variant table tags the new
210
218
  * rows with their OWN batch's label instead of inheriting the session's
@@ -220,23 +228,6 @@ export declare class SessionStore {
220
228
  createdWorkItemIds: string[];
221
229
  briefs: Brief[];
222
230
  };
223
- /**
224
- * Fork a succeeded code_gen variant into N NEW sibling variants. Each forked
225
- * item is seeded from the source variant's worktree (not git HEAD / Original)
226
- * and carries `sourceVariantId` so the orchestrator can copy the parent's
227
- * tree when provisioning. Backs code_gen "Vary" when the UI targets a parent
228
- * variant with `variantRequest.count > 0`.
229
- */
230
- createForkedCodeGenWorkItems(args: {
231
- sessionId: string;
232
- sourceVariantId: string;
233
- briefs: Brief[];
234
- runLabel?: string;
235
- variantContext?: VariantContextBundle;
236
- }): {
237
- createdWorkItemIds: string[];
238
- briefs: Brief[];
239
- };
240
231
  /**
241
232
  * Adopt a PAST variant (from a prior session's persisted history) into THIS
242
233
  * active session as a first-class, already-`succeeded` `static_preview`
@@ -429,6 +420,7 @@ export declare class SessionStore {
429
420
  };
430
421
  getSummary(sessionId: string): TerminalSummary;
431
422
  getVariants(sessionId: string): ActiveVariantSnapshot[];
423
+ getHostWork(sessionId: string): import('./contracts').HostVariantWorkItemSnapshot[];
432
424
  getVariantPick(sessionId: string): VariantPickEnvelope | undefined;
433
425
  /** Validates a report lease without mutating the work item. */
434
426
  validateReportLease(args: {
@@ -439,7 +431,7 @@ export declare class SessionStore {
439
431
  }): void;
440
432
  hasSession(sessionId: string): boolean;
441
433
  /** Read a work item's input blob — used by the orchestrator to recover
442
- * briefLabel / target / projectContext when auto-enqueueing the diff. */
434
+ * briefLabel / target / projectContext when committing the output. */
443
435
  getWorkItemInput(sessionId: string, workItemId: string): unknown;
444
436
  getWorkItemOutput(sessionId: string, workItemId: string): unknown;
445
437
  /** Replaces a completed work item's output after server-side post-processing. */
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SessionStore.d.ts","sourceRoot":"","sources":["../../src/agent-variants/SessionStore.ts"],"names":[],"mappings":"AAEA,OAAO,EAKL,KAAK,KAAK,EACV,KAAK,qBAAqB,EAG1B,KAAK,wBAAwB,EAC7B,KAAK,cAAc,EAInB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,KAAK,EACV,KAAK,0BAA0B,EAC/B,KAAK,MAAM,EACX,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,eAAe,EAEpB,KAAK,mBAAmB,EACxB,KAAK,QAAQ,EAEb,KAAK,cAAc,EACpB,MAAM,aAAa,CAAC;AAerB;;;;;8CAK8C;AAC9C,eAAO,MAAM,oBAAoB,QAAiB,CAAC;AACnD;;kFAEkF;AAClF,eAAO,MAAM,qBAAqB,QAAiB,CAAC;AAEpD,MAAM,WAAW,iBAAiB;IAChC,GAAG,IAAI,MAAM,CAAC;CACf;AAID,MAAM,WAAW,WAAW;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC;yEACqE;IACrE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,sBAAsB,GAAG,iBAAiB,CAAC;IAClD,aAAa,CAAC,EAAE,QAAQ,CAAC;IACzB,kBAAkB,CAAC,EAAE,QAAQ,CAAC;CAC/B;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,wBAAwB,EAAE,CAAC;CAC7C;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB;gFAC4E;IAC5E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,kBAAkB,CAAC;CAChC,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B;;;;oBAIgB;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;4DAMwD;IACxD,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC;iEAC6D;IAC7D,EAAE,CAAC,EAAE,eAAe,CAAC;CACtB;AAmED,eAAO,MAAM,yBAAyB;;;;;CAS5B,CAAC;AAEX,eAAO,MAAM,0BAA0B,EAAE,aAAa,CAAC,sBAAsB,CAkB1E,CAAC;AA2FJ;;;;GAIG;AACH,eAAO,MAAM,cAAc,GACzB,WAAW,aAAa,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,SAAS,KACrD,MAAM,EASR,CAAC;AAiSF,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoC;IAC7D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoB;gBAE9B,KAAK,GAAE,iBAAgC;IAMnD,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,aAAa;IA+EzC,YAAY,CAAC,IAAI,EAAE;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,KAAK,EAAE,CAAC;QAChB,QAAQ,CAAC,EAAE,qBAAqB,EAAE,CAAC;KACpC,GAAG;QAAE,MAAM,EAAE,KAAK,EAAE,CAAA;KAAE;IAyDvB,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,GAAG;QAAE,aAAa,EAAE,QAAQ,CAAA;KAAE;IAkGzE,OAAO,CAAC,IAAI,EAAE;QACZ,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,sBAAsB,EAAE,CAAC;KACtC,GAAG,aAAa;IAqKjB,WAAW,CAAC,IAAI,EAAE;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;KACxB,GAAG,iBAAiB;IAgFrB,cAAc,CAAC,IAAI,EAAE;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,cAAc,CAAC;QACvB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,KAAK,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;QAC1C,8EAA8E;QAC9E,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,sDAAsD;QACtD,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,GAAG,oBAAoB;IAgGxB;;;;;;;;;;OAUG;IACH,sBAAsB,CAAC,IAAI,EAAE;QAC3B,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE;YACP,OAAO,EAAE,MAAM,CAAC;SACjB,CAAC;KACH,GAAG,oBAAoB;IAiCxB;;;;OAIG;IACH,2BAA2B,CAAC,IAAI,EAAE;QAChC,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,aAAa,CAAC,EAAE,0BAA0B,CAAC;QAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,QAAQ;IA6DZ;;;;;;;;OAQG;IACH,kCAAkC,CAAC,IAAI,EAAE;QACvC,SAAS,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;QACxB,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,aAAa,CAAC,EAAE,0BAA0B,CAAC;QAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,QAAQ,EAAE;IAqGd;;;;;;;;;;;;;;;;;OAiBG;IACH,qBAAqB,CAAC,IAAI,EAAE;QAC1B,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,KAAK,EAAE,CAAC;QAChB;2DACmD;QACnD,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB;;;;sFAI8E;QAC9E,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB;;;6CAGqC;QACrC,cAAc,CAAC,EAAE,oBAAoB,CAAC;KACvC,GAAG;QAAE,kBAAkB,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,KAAK,EAAE,CAAA;KAAE;IA6GrD;;;;;;;;;;;;;;;;;OAiBG;IACH,0BAA0B,CAAC,IAAI,EAAE;QAC/B,SAAS,EAAE,MAAM,CAAC;QAClB,0EAA0E;QAC1E,MAAM,EAAE;YAAE,SAAS,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE,CAAC;QACjD,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE;IAwD7D;;;;;;;;;OASG;IACH,qCAAqC,CAAC,IAAI,EAAE;QAC1C,MAAM,EAAE;YAAE,SAAS,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE,CAAC;QACjD,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,cAAc,EAAE,cAAc,CAAC;KAChC,GAAG;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;IAgC9D,4EAA4E;IAC5E,OAAO,CAAC,kBAAkB;IAmB1B;;;;;;OAMG;IACH,sBAAsB,CACpB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EAAE,EACrB,SAAS,EAAE,MAAM,GAChB,IAAI;IAUP;;;;;;OAMG;IACH,qCAAqC,CAAC,IAAI,EAAE;QAC1C,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;KACrB,GAAG,OAAO;IAgBX;;;;OAIG;IACH,yBAAyB,CAAC,IAAI,EAAE;QAC9B,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;KACpB,GAAG,iBAAiB;IAgCrB;;;;;;;;OAQG;IACH,gBAAgB,CAAC,IAAI,EAAE;QACrB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB,GAAG,oBAAoB;IAkBxB;;;;OAIG;IACH,YAAY,CAAC,IAAI,EAAE;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;KAC1C,GAAG,oBAAoB;IAqBxB,MAAM,CAAC,IAAI,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG;QACpD,KAAK,EAAE,WAAW,CAAC;QACnB,aAAa,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;KACnD;IAmBD;;;;;;;OAOG;IACH,cAAc,CAAC,IAAI,EAAE;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GAAG;QACF,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,cAAc,CAAC;QAC5B,YAAY,EAAE,KAAK,CAAC;QACpB,eAAe,EAAE,OAAO,CAAC;KAC1B;IA6BD;;;;;;;OAOG;IACH,cAAc,CAAC,IAAI,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG;QAC/D,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,cAAc,CAAC;QAC5B,YAAY,EAAE,KAAK,CAAC;QACpB,cAAc,EAAE,OAAO,CAAC;KACzB;IAyCD;;;;;OAKG;IACH,cAAc,CAAC,IAAI,EAAE;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;KACf,GAAG;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,KAAK,CAAA;KAAE;IAc9D,iBAAiB,CAAC,IAAI,EAAE;QACtB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,mBAAmB,CAAC;KAC/B,GAAG;QAAE,SAAS,EAAE,OAAO,CAAA;KAAE;IA0B1B,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,KAAK;IAIlC,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAIpC;mCAC+B;IAC/B,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAKtC,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,KAAK,EAAE;IAIrC,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;IAIhE,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe;IAK9C,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,qBAAqB,EAAE;IAKvD,WAAW,CACT,SAAS,EAAE,MAAM,GAChB,OAAO,aAAa,EAAE,2BAA2B,EAAE;IA2BtD,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS;IAIlE,+DAA+D;IAC/D,mBAAmB,CAAC,IAAI,EAAE;QACxB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;KACjB,GAAG,IAAI;IAMR,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAItC;2EACuE;IACvE,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO;IAMhE,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO;IAMjE,iFAAiF;IACjF,qBAAqB,CACnB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,OAAO,GACd,IAAI;IAMP;;;sEAGkE;IAClE,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IAMxE;;;qDAGiD;IACjD,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO;IAOjE,gEAAgE;IAChE,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc;IAMpD,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,WAAW;IASnB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,sBAAsB;IAiB9B,OAAO,CAAC,aAAa;IA+BrB,OAAO,CAAC,iBAAiB;IAczB,OAAO,CAAC,aAAa;IAoBrB,OAAO,CAAC,kCAAkC;IAgB1C,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,wBAAwB;IAehC,OAAO,CAAC,aAAa;IAgBrB;;;;;;OAMG;IACH,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,gBAAgB;IAoDxB,OAAO,CAAC,UAAU;IAkBlB,OAAO,CAAC,SAAS;IAiBjB,OAAO,CAAC,0BAA0B;IAMlC,OAAO,CAAC,UAAU;CAwFnB"}
@@ -1058,11 +1058,23 @@ class SessionStore {
1058
1058
  * batch; the orchestrator provisions a worktree per item and runs each
1059
1059
  * through the normal completion/preview pipeline.
1060
1060
  *
1061
+ * With `sourceVariantId`, forks a succeeded code_gen parent: each new item
1062
+ * is stamped with the source id (+ sourceLabel/sourceBody) so the
1063
+ * orchestrator seeds its worktree from the parent's tree rather than git
1064
+ * HEAD / Original. Backs code_gen "Vary" targeting a parent variant.
1065
+ *
1061
1066
  * Reopens the session to `work_items_ready` so the appended pending work is
1062
1067
  * visible and drives the stage back through generation to ready/degraded.
1063
1068
  */
1064
- appendExistingCodeGenVariants(args) {
1069
+ appendCodeGenVariants(args) {
1065
1070
  const session = this.requireSession(args.sessionId);
1071
+ const source = args.sourceVariantId
1072
+ ? this.requireWorkItem(session, args.sourceVariantId)
1073
+ : null;
1074
+ if (source &&
1075
+ (source.kind !== 'code_gen' || source.status !== 'succeeded')) {
1076
+ throw new errors_1.AgentVariantsError('VARIANT_NOT_EDITABLE', 'Only completed code_gen variants can be varied');
1077
+ }
1066
1078
  if (session.projectContext.kind !== 'existing') {
1067
1079
  throw new errors_1.AgentVariantsError('INVALID_STAGE_ACTION', 'Only existing-project sessions can append code_gen variants');
1068
1080
  }
@@ -1075,81 +1087,19 @@ class SessionStore {
1075
1087
  if (args.briefs.length === 0) {
1076
1088
  throw new errors_1.AgentVariantsError('MISSING_REQUIRED_INPUT', 'At least one brief is required to append variants');
1077
1089
  }
1078
- const createdWorkItemIds = [];
1079
- for (const brief of args.briefs) {
1080
- const context = resolveVariantWorkItemContext({
1081
- bundle: args.variantContext ?? session.projectContext.variantContext,
1082
- projectContext: session.projectContext,
1083
- brief,
1084
- slotIndex: session.briefs.length,
1090
+ if (source) {
1091
+ const activeRefinement = [...session.workItems.values()].find((item) => {
1092
+ if (item.kind !== 'refine_variant')
1093
+ return false;
1094
+ const input = item.input;
1095
+ return (input.variantId === args.sourceVariantId &&
1096
+ (item.status === 'pending' || item.status === 'running'));
1085
1097
  });
1086
- const visualRef = brief.visualReferenceUrl
1087
- ? { visualReferenceUrl: brief.visualReferenceUrl }
1088
- : {};
1089
- const item = {
1090
- id: (0, crypto_1.randomUUID)(),
1091
- kind: 'code_gen',
1092
- status: 'pending',
1093
- attempt: 0,
1094
- dependsOn: [],
1095
- input: {
1096
- briefId: brief.briefId,
1097
- briefLabel: brief.label,
1098
- briefBody: brief.body,
1099
- ...visualRef,
1100
- ...(args.runLabel ? { runLabel: args.runLabel } : {}),
1101
- target: session.target,
1102
- projectContext: session.projectContext,
1103
- ...(context ? { context } : {}),
1104
- },
1105
- acceptedReports: [],
1106
- };
1107
- session.workItems.set(item.id, item);
1108
- // Surface the newest Vary batch at the top of the Directions list, matching
1109
- // the static-preview fork ordering.
1110
- session.workItemOrder.unshift(item.id);
1111
- session.briefs.push(brief);
1112
- createdWorkItemIds.push(item.id);
1113
- }
1114
- session.stage = 'work_items_ready';
1115
- return { createdWorkItemIds, briefs: args.briefs };
1116
- }
1117
- /**
1118
- * Fork a succeeded code_gen variant into N NEW sibling variants. Each forked
1119
- * item is seeded from the source variant's worktree (not git HEAD / Original)
1120
- * and carries `sourceVariantId` so the orchestrator can copy the parent's
1121
- * tree when provisioning. Backs code_gen "Vary" when the UI targets a parent
1122
- * variant with `variantRequest.count > 0`.
1123
- */
1124
- createForkedCodeGenWorkItems(args) {
1125
- const session = this.requireSession(args.sessionId);
1126
- const source = this.requireWorkItem(session, args.sourceVariantId);
1127
- if (source.kind !== 'code_gen' || source.status !== 'succeeded') {
1128
- throw new errors_1.AgentVariantsError('VARIANT_NOT_EDITABLE', 'Only completed code_gen variants can be varied');
1129
- }
1130
- if (session.projectContext.kind !== 'existing') {
1131
- throw new errors_1.AgentVariantsError('INVALID_STAGE_ACTION', 'Only existing-project sessions can fork code_gen variants');
1132
- }
1133
- if (session.variantPick) {
1134
- throw new errors_1.AgentVariantsError('PENDING_CHANGE_CONFLICT', 'Cannot vary a variant after one has already been committed');
1135
- }
1136
- if (session.stage === 'cancelled' || session.stage === 'failed') {
1137
- throw new errors_1.AgentVariantsError('INVALID_STAGE_ACTION', `Cannot fork variants in a ${session.stage} session`);
1138
- }
1139
- if (args.briefs.length === 0) {
1140
- throw new errors_1.AgentVariantsError('MISSING_REQUIRED_INPUT', 'At least one brief is required to fork variants');
1141
- }
1142
- const activeRefinement = [...session.workItems.values()].find((item) => {
1143
- if (item.kind !== 'refine_variant')
1144
- return false;
1145
- const input = item.input;
1146
- return (input.variantId === args.sourceVariantId &&
1147
- (item.status === 'pending' || item.status === 'running'));
1148
- });
1149
- if (activeRefinement) {
1150
- throw new errors_1.AgentVariantsError('PENDING_CHANGE_CONFLICT', 'Cannot vary a variant while an in-place refinement is pending or running');
1098
+ if (activeRefinement) {
1099
+ throw new errors_1.AgentVariantsError('PENDING_CHANGE_CONFLICT', 'Cannot vary a variant while an in-place refinement is pending or running');
1100
+ }
1151
1101
  }
1152
- const sourceInput = source.input;
1102
+ const sourceInput = (source?.input ?? {});
1153
1103
  const createdWorkItemIds = [];
1154
1104
  for (const brief of args.briefs) {
1155
1105
  const context = resolveVariantWorkItemContext({
@@ -1173,11 +1123,15 @@ class SessionStore {
1173
1123
  briefBody: brief.body,
1174
1124
  ...visualRef,
1175
1125
  ...(args.runLabel ? { runLabel: args.runLabel } : {}),
1176
- sourceVariantId: args.sourceVariantId,
1177
- ...(sourceInput.briefLabel
1126
+ ...(args.sourceVariantId
1127
+ ? { sourceVariantId: args.sourceVariantId }
1128
+ : {}),
1129
+ ...(source && sourceInput.briefLabel
1178
1130
  ? { sourceLabel: sourceInput.briefLabel }
1179
1131
  : {}),
1180
- ...(sourceInput.briefBody ? { sourceBody: sourceInput.briefBody } : {}),
1132
+ ...(source && sourceInput.briefBody
1133
+ ? { sourceBody: sourceInput.briefBody }
1134
+ : {}),
1181
1135
  target: session.target,
1182
1136
  projectContext: session.projectContext,
1183
1137
  ...(context ? { context } : {}),
@@ -1185,6 +1139,8 @@ class SessionStore {
1185
1139
  acceptedReports: [],
1186
1140
  };
1187
1141
  session.workItems.set(item.id, item);
1142
+ // Surface the newest Vary batch at the top of the Directions list, matching
1143
+ // the static-preview fork ordering.
1188
1144
  session.workItemOrder.unshift(item.id);
1189
1145
  session.briefs.push(brief);
1190
1146
  createdWorkItemIds.push(item.id);
@@ -1539,7 +1495,7 @@ class SessionStore {
1539
1495
  sessionStage: session.stage,
1540
1496
  };
1541
1497
  }
1542
- // --- Variant pick handoff (queues to pending-changes adapter) -----------
1498
+ // --- Variant pick handoff ----------------------------------------------
1543
1499
  recordVariantPick(args) {
1544
1500
  const session = this.requireSession(args.sessionId);
1545
1501
  if (!['ready', 'degraded'].includes(session.stage)) {
@@ -1582,6 +1538,30 @@ class SessionStore {
1582
1538
  const session = this.requireSession(sessionId);
1583
1539
  return this.variantsOf(session);
1584
1540
  }
1541
+ getHostWork(sessionId) {
1542
+ const session = this.requireSession(sessionId);
1543
+ return [...session.workItems.values()]
1544
+ .filter((item) => item.lease && item.status === 'running')
1545
+ .map((item) => {
1546
+ const input = item.input && typeof item.input === 'object'
1547
+ ? item.input
1548
+ : {};
1549
+ const variantId = item.kind === 'refine_variant' && typeof input.variantId === 'string'
1550
+ ? input.variantId
1551
+ : item.id;
1552
+ return {
1553
+ workId: item.id,
1554
+ variantId,
1555
+ kind: item.kind,
1556
+ status: item.status,
1557
+ leaseId: item.lease.leaseId,
1558
+ attempt: item.lease.attempt,
1559
+ leaseExpiresAt: item.lease.leaseExpiresAt,
1560
+ input: item.input,
1561
+ outputSchema: outputSchemaFor(item.kind),
1562
+ };
1563
+ });
1564
+ }
1585
1565
  getVariantPick(sessionId) {
1586
1566
  return this.requireSession(sessionId).variantPick;
1587
1567
  }
@@ -1595,7 +1575,7 @@ class SessionStore {
1595
1575
  return this.sessions.has(sessionId);
1596
1576
  }
1597
1577
  /** Read a work item's input blob — used by the orchestrator to recover
1598
- * briefLabel / target / projectContext when auto-enqueueing the diff. */
1578
+ * briefLabel / target / projectContext when committing the output. */
1599
1579
  getWorkItemInput(sessionId, workItemId) {
1600
1580
  const session = this.requireSession(sessionId);
1601
1581
  const item = this.requireWorkItem(session, workItemId);
@@ -1894,6 +1874,11 @@ class SessionStore {
1894
1874
  briefId: input.briefId ?? '',
1895
1875
  label: input.briefLabel ?? 'Variant',
1896
1876
  status: item.status,
1877
+ // The filter above admits only code_gen / static_preview items
1878
+ // (incl. adopted + forked static previews). Clients route Vary/apply
1879
+ // on this — never on the display preview kind, which diverges for
1880
+ // existing-project code_gen variants materialized as static HTML.
1881
+ workItemKind: item.kind,
1897
1882
  createdAt: new Date(session.createdAt).toISOString(),
1898
1883
  // Prefer the per-item label stamped by an appended Vary batch; the
1899
1884
  // session-level fallback is correct only for the first batch (its