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
@@ -1,100 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DesignTokenService = void 0;
4
- const TailwindCSSTokenAdapter_1 = require("./adapters/TailwindCSSTokenAdapter");
5
- const TailwindTokenAdapter_1 = require("./adapters/TailwindTokenAdapter");
6
- const logger_1 = require("../utils/logger");
7
- const log = (0, logger_1.createLogger)('DesignTokenService');
8
- /**
9
- * Service for detecting and extracting design tokens from various CSS frameworks.
10
- * Orchestrates token adapters and provides caching.
11
- */
12
- class DesignTokenService {
13
- adapters = [];
14
- cache = new Map();
15
- constructor() {
16
- // v4 adapter listed first so it wins detection for v4 projects
17
- this.adapters = [new TailwindCSSTokenAdapter_1.TailwindCSSTokenAdapter(), new TailwindTokenAdapter_1.TailwindTokenAdapter()];
18
- }
19
- /**
20
- * Detects and extracts design tokens from the project.
21
- * Returns cached result if available.
22
- *
23
- * @param projectRoot - Root directory of the project
24
- * @param styleFrameworkOverride - Optional framework override to skip detection
25
- * @param configPath - Optional explicit path to config file (e.g., landing/tailwind.config.ts)
26
- * @returns Token registry and framework name, or null if no tokens found
27
- */
28
- extractTokens(projectRoot, styleFrameworkOverride, configPath) {
29
- // Check cache first
30
- const cached = this.cache.get(projectRoot);
31
- if (cached) {
32
- log.debug('Returning cached tokens');
33
- return cached;
34
- }
35
- // Determine which adapter to use
36
- let adapterToUse = null;
37
- if (styleFrameworkOverride) {
38
- // Filter to matching adapters, then pick the one that detects the project
39
- const matchingAdapters = this.adapters.filter((a) => a.getFramework() === styleFrameworkOverride);
40
- adapterToUse =
41
- matchingAdapters.find((a) => a.detect(projectRoot)) || null;
42
- if (adapterToUse) {
43
- log.info(`Using ${styleFrameworkOverride} tokens (CLI override)`);
44
- }
45
- }
46
- else {
47
- // Auto-detect
48
- adapterToUse = this.adapters.find((a) => a.detect(projectRoot)) || null;
49
- if (adapterToUse) {
50
- log.info(`Detected ${adapterToUse.getFramework()} tokens`);
51
- }
52
- }
53
- if (!adapterToUse) {
54
- log.info('No design tokens found in project');
55
- return null;
56
- }
57
- // Extract tokens
58
- const registry = adapterToUse.extract(projectRoot, configPath);
59
- if (!registry) {
60
- return null;
61
- }
62
- const result = {
63
- registry,
64
- framework: adapterToUse.getFramework(),
65
- };
66
- // Cache the result
67
- this.cache.set(projectRoot, result);
68
- log.info(`Extracted tokens: ${this.summarizeRegistry(registry)}`);
69
- return result;
70
- }
71
- /**
72
- * Invalidates the cache for a specific project.
73
- * Should be called when token configuration files change.
74
- *
75
- * @param projectRoot - Root directory of the project
76
- */
77
- invalidateCache(projectRoot) {
78
- this.cache.delete(projectRoot);
79
- log.debug(`Cache invalidated for ${projectRoot}`);
80
- }
81
- /**
82
- * Clears all cached token data
83
- */
84
- clearCache() {
85
- this.cache.clear();
86
- log.debug('All token cache cleared');
87
- }
88
- /**
89
- * Creates a summary of the token registry for logging
90
- */
91
- summarizeRegistry(registry) {
92
- const counts = Object.entries(registry).map(([category, tokens]) => {
93
- const count = Object.keys(tokens).length;
94
- return count > 0 ? `${count} ${category}` : null;
95
- });
96
- return counts.filter(Boolean).join(', ') || 'no tokens';
97
- }
98
- }
99
- exports.DesignTokenService = DesignTokenService;
100
- //# sourceMappingURL=DesignTokenService.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DesignTokenService.js","sourceRoot":"","sources":["../../src/services/DesignTokenService.ts"],"names":[],"mappings":"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"}
@@ -1,51 +0,0 @@
1
- import type { AgentVariantsOrchestrator } from '../mcp/agent-variants';
2
- import type { ChangeRequest } from '../types/change-request-types';
3
- import type { TerminalAgentRunResult } from './TerminalAgentRunner';
4
- import { SessionBridgeService } from './SessionBridgeService';
5
- export type InlineVariantAgentRunner = {
6
- getDisplayName?: () => string;
7
- runChangeRequest: (params: {
8
- request: ChangeRequest;
9
- cwd: string;
10
- sessionId: string;
11
- resumeSession?: boolean;
12
- onFeedback: (message: string) => void;
13
- }) => Promise<TerminalAgentRunResult>;
14
- };
15
- export type InlineVariantGenerationServiceOptions = {
16
- bridge: SessionBridgeService;
17
- orchestrator: AgentVariantsOrchestrator;
18
- runner: InlineVariantAgentRunner;
19
- projectPath?: string;
20
- createSessionId?: () => string;
21
- leaseHeartbeatMs?: number;
22
- };
23
- /**
24
- * Runs selected-element variant requests through the server-owned variants lifecycle.
25
- */
26
- export declare class InlineVariantGenerationService {
27
- private bridge;
28
- private orchestrator;
29
- private runner;
30
- private projectPath;
31
- private createSessionId;
32
- private leaseHeartbeatMs;
33
- constructor(options: InlineVariantGenerationServiceOptions);
34
- /**
35
- * @effect Starts an inline variants session, runs each leased worktree with an isolated terminal agent, and reports each result.
36
- */
37
- processVariantRequest(request: ChangeRequest): Promise<TerminalAgentRunResult>;
38
- /**
39
- * @effect Converts per-variant setup/reporting failures into failed results after sibling runs settle.
40
- */
41
- private runLeasedVariantSafely;
42
- /**
43
- * @effect Runs one leased code-generation item and reports its terminal status to the variants orchestrator.
44
- */
45
- private runLeasedVariant;
46
- /**
47
- * @effect Periodically reports a running status so long terminal agent runs keep their variant lease.
48
- */
49
- private startLeaseHeartbeat;
50
- }
51
- //# sourceMappingURL=InlineVariantGenerationService.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"InlineVariantGenerationService.d.ts","sourceRoot":"","sources":["../../src/services/InlineVariantGenerationService.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,yBAAyB,EAG1B,MAAM,uBAAuB,CAAC;AAO/B,OAAO,KAAK,EACV,aAAa,EAGd,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAuC9D,MAAM,MAAM,wBAAwB,GAAG;IACrC,cAAc,CAAC,EAAE,MAAM,MAAM,CAAC;IAC9B,gBAAgB,EAAE,CAAC,MAAM,EAAE;QACzB,OAAO,EAAE,aAAa,CAAC;QACvB,GAAG,EAAE,MAAM,CAAC;QACZ,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;KACvC,KAAK,OAAO,CAAC,sBAAsB,CAAC,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,qCAAqC,GAAG;IAClD,MAAM,EAAE,oBAAoB,CAAC;IAC7B,YAAY,EAAE,yBAAyB,CAAC;IACxC,MAAM,EAAE,wBAAwB,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,MAAM,CAAC;IAC/B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAyQF;;GAEG;AACH,qBAAa,8BAA8B;IACzC,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,YAAY,CAA4B;IAChD,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,eAAe,CAAe;IACtC,OAAO,CAAC,gBAAgB,CAAS;gBAErB,OAAO,EAAE,qCAAqC;IAU1D;;OAEG;IACG,qBAAqB,CACzB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,sBAAsB,CAAC;IAsHlC;;OAEG;YACW,sBAAsB;IA+BpC;;OAEG;YACW,gBAAgB;IA2F9B;;OAEG;IACH,OAAO,CAAC,mBAAmB;CAoB5B"}
@@ -1,475 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.InlineVariantGenerationService = void 0;
7
- const crypto_1 = require("crypto");
8
- const path_1 = __importDefault(require("path"));
9
- const index_core_1 = require("../index-core");
10
- const changeBatchClassification_1 = require("../mcp/changeBatchClassification");
11
- const variantContext_1 = require("../mcp/agent-variants/variantContext");
12
- const log = (0, index_core_1.createLogger)('InlineVariantGenerationService');
13
- const INLINE_VARIANT_LEASE_HEARTBEAT_MS = 60_000;
14
- const INLINE_VARIANT_BRIEF_DIRECTIONS = [
15
- {
16
- label: 'Refined Focus',
17
- body: 'Subtle polish with tighter hierarchy and calmer emphasis.',
18
- },
19
- {
20
- label: 'Bold Contrast',
21
- body: 'Stronger contrast with clearer visual weight and presence.',
22
- },
23
- {
24
- label: 'Airy Layout',
25
- body: 'More breathing room with lighter spacing and softer rhythm.',
26
- },
27
- {
28
- label: 'Editorial Polish',
29
- body: 'Magazine-like composition with crisp details and confident tone.',
30
- },
31
- {
32
- label: 'Playful Accent',
33
- body: 'Expressive accents with lively color and approachable energy.',
34
- },
35
- {
36
- label: 'Calm Minimal',
37
- body: 'Reduced ornament with quiet structure and restrained styling.',
38
- },
39
- {
40
- label: 'Dense Utility',
41
- body: 'Compact information density with practical controls and clarity.',
42
- },
43
- {
44
- label: 'Sharp Detail',
45
- body: 'Precise edges with stronger alignment and cleaner finishing.',
46
- },
47
- ];
48
- const hasWhitespace = (value) => /\s/.test(value);
49
- const deriveTarget = (element) => {
50
- const filePaths = element.filePaths ?? [];
51
- if (filePaths.length === 1) {
52
- return { type: 'file', ref: filePaths[0] };
53
- }
54
- if (element.rivetId) {
55
- return {
56
- type: 'element',
57
- ref: `[data-rivet-id="${element.rivetId}"]`,
58
- };
59
- }
60
- if (element.id && !hasWhitespace(element.id)) {
61
- return { type: 'element', ref: `#${element.id}` };
62
- }
63
- if (element.xpath) {
64
- return { type: 'element', ref: element.xpath };
65
- }
66
- const classTokens = element.className.trim().split(/\s+/).filter(Boolean);
67
- if (classTokens.length === 1) {
68
- return { type: 'element', ref: `.${classTokens[0]}` };
69
- }
70
- return { type: 'element', ref: element.tagName.toLowerCase() };
71
- };
72
- const getWorktreePath = (workItem) => {
73
- if (!workItem.input || typeof workItem.input !== 'object') {
74
- return null;
75
- }
76
- const worktreePath = workItem.input
77
- .worktreePath;
78
- return typeof worktreePath === 'string' && worktreePath.trim()
79
- ? worktreePath
80
- : null;
81
- };
82
- const resolveSourceVariantId = (request) => {
83
- const batchTarget = request.target;
84
- if (batchTarget?.kind === 'variant') {
85
- return batchTarget.variantId;
86
- }
87
- const change = request.changes[0];
88
- if (change?.kind === 'comment' && change.target?.kind === 'variant') {
89
- return change.target.variantId;
90
- }
91
- return undefined;
92
- };
93
- const getBrief = (workItem) => {
94
- const input = workItem.input && typeof workItem.input === 'object'
95
- ? workItem.input
96
- : {};
97
- return {
98
- label: typeof input.briefLabel === 'string' && input.briefLabel.trim()
99
- ? input.briefLabel
100
- : 'Variant',
101
- body: typeof input.briefBody === 'string' && input.briefBody.trim()
102
- ? input.briefBody
103
- : 'Create a distinct inline variation.',
104
- };
105
- };
106
- const isInsidePath = (rootPath, candidatePath) => {
107
- const relativePath = path_1.default.relative(rootPath, candidatePath);
108
- return (relativePath === '' ||
109
- (!relativePath.startsWith('..') && !path_1.default.isAbsolute(relativePath)));
110
- };
111
- const rebaseFilePath = (args) => {
112
- const trimmedPath = args.filePath.trim();
113
- if (!trimmedPath) {
114
- return null;
115
- }
116
- if (!path_1.default.isAbsolute(trimmedPath)) {
117
- const worktreeRelativePath = path_1.default.resolve(args.worktreeProjectPath, trimmedPath);
118
- return isInsidePath(args.worktreeProjectPath, worktreeRelativePath)
119
- ? worktreeRelativePath
120
- : null;
121
- }
122
- if (isInsidePath(args.worktreePath, trimmedPath)) {
123
- return trimmedPath;
124
- }
125
- if (args.baseProjectPath && isInsidePath(args.baseProjectPath, trimmedPath)) {
126
- return path_1.default.join(args.worktreeProjectPath, path_1.default.relative(args.baseProjectPath, trimmedPath));
127
- }
128
- return null;
129
- };
130
- const rebaseFilePaths = (args) => Array.from(new Set(args.filePaths
131
- .map((filePath) => rebaseFilePath({
132
- filePath,
133
- baseProjectPath: args.baseProjectPath,
134
- worktreePath: args.worktreePath,
135
- worktreeProjectPath: args.worktreeProjectPath,
136
- }))
137
- .filter((filePath) => Boolean(filePath))));
138
- const rebaseElementFilePaths = (args) => ({
139
- ...args.element,
140
- filePaths: rebaseFilePaths({
141
- filePaths: args.element.filePaths,
142
- baseProjectPath: args.baseProjectPath,
143
- worktreePath: args.worktreePath,
144
- worktreeProjectPath: args.worktreeProjectPath,
145
- }),
146
- });
147
- const buildInlineVariantBriefs = (count) => INLINE_VARIANT_BRIEF_DIRECTIONS.slice(0, count).map((brief) => ({
148
- ...brief,
149
- }));
150
- const buildInlineVariantImageContextInputs = (images) => (images ?? []).map((dataUrl, index) => ({
151
- transport: 'upload',
152
- dataUrl,
153
- label: `Reference image ${index + 1}`,
154
- userIntent: 'Inline variant visual reference',
155
- }));
156
- const isReferenceImageSource = (source) => source.transport === 'file' &&
157
- typeof source.mimeType === 'string' &&
158
- source.mimeType.startsWith('image/');
159
- const getReferenceImagePaths = (workItem) => {
160
- if (!workItem.input || typeof workItem.input !== 'object') {
161
- return [];
162
- }
163
- const context = workItem.input.context;
164
- if (!Array.isArray(context?.userContext)) {
165
- return [];
166
- }
167
- return context.userContext
168
- .filter(isReferenceImageSource)
169
- .map((source) => source.path);
170
- };
171
- const formatReferenceImageInstruction = (referenceImagePaths) => {
172
- if (referenceImagePaths.length === 0) {
173
- return undefined;
174
- }
175
- return [
176
- 'Reference images:',
177
- ...referenceImagePaths.map((referencePath, index) => `${index + 1}. ${referencePath}`),
178
- 'Read these images before making changes.',
179
- ].join('\n');
180
- };
181
- const buildVariantChangeRequest = (args) => {
182
- const brief = getBrief(args.workItem);
183
- const referenceImageInstruction = formatReferenceImageInstruction(getReferenceImagePaths(args.workItem));
184
- const instruction = [
185
- `Create inline variant "${brief.label}".`,
186
- `Variant direction: ${brief.body}`,
187
- `Original request: ${args.comment.instruction}`,
188
- referenceImageInstruction,
189
- 'Apply the change only in this variant worktree. Keep the edit scoped to the selected/commented element context.',
190
- ]
191
- .filter((line) => Boolean(line))
192
- .join('\n');
193
- const commentWithoutImages = { ...args.comment };
194
- delete commentWithoutImages.images;
195
- return {
196
- ...args.baseRequest,
197
- worktreePath: args.worktreePath,
198
- sourceFiles: rebaseFilePaths({
199
- filePaths: args.baseRequest.sourceFiles,
200
- baseProjectPath: args.baseProjectPath,
201
- worktreePath: args.worktreePath,
202
- worktreeProjectPath: args.worktreeProjectPath,
203
- }),
204
- changes: [
205
- {
206
- ...commentWithoutImages,
207
- element: rebaseElementFilePaths({
208
- element: args.comment.element,
209
- baseProjectPath: args.baseProjectPath,
210
- worktreePath: args.worktreePath,
211
- worktreeProjectPath: args.worktreeProjectPath,
212
- }),
213
- elements: args.comment.elements?.map((element) => rebaseElementFilePaths({
214
- element,
215
- baseProjectPath: args.baseProjectPath,
216
- worktreePath: args.worktreePath,
217
- worktreeProjectPath: args.worktreeProjectPath,
218
- })),
219
- instruction,
220
- variantRequest: undefined,
221
- },
222
- ],
223
- };
224
- };
225
- /**
226
- * Runs selected-element variant requests through the server-owned variants lifecycle.
227
- */
228
- class InlineVariantGenerationService {
229
- bridge;
230
- orchestrator;
231
- runner;
232
- projectPath;
233
- createSessionId;
234
- leaseHeartbeatMs;
235
- constructor(options) {
236
- this.bridge = options.bridge;
237
- this.orchestrator = options.orchestrator;
238
- this.runner = options.runner;
239
- this.projectPath = options.projectPath;
240
- this.createSessionId = options.createSessionId ?? crypto_1.randomUUID;
241
- this.leaseHeartbeatMs =
242
- options.leaseHeartbeatMs ?? INLINE_VARIANT_LEASE_HEARTBEAT_MS;
243
- }
244
- /**
245
- * @effect Starts an inline variants session, runs each leased worktree with an isolated terminal agent, and reports each result.
246
- */
247
- async processVariantRequest(request) {
248
- if (!(0, changeBatchClassification_1.isSingleVariantRequestBatch)(request)) {
249
- this.bridge.reportFeedback('Inline variants require one variant comment.');
250
- this.bridge.setStatus('READY');
251
- return { success: false, error: 'Invalid inline variant request' };
252
- }
253
- const comment = request.changes[0];
254
- const count = comment.variantRequest?.count;
255
- if (typeof count !== 'number') {
256
- this.bridge.reportFeedback('Inline variant request is missing a count.');
257
- this.bridge.setStatus('READY');
258
- return { success: false, error: 'Missing variant count' };
259
- }
260
- const agentLabel = this.runner.getDisplayName?.() ?? 'Claude Code';
261
- this.bridge.setStatus('APPLYING');
262
- this.bridge.reportFeedback(`Starting ${count} inline variants.`);
263
- try {
264
- const imageContextInputs = buildInlineVariantImageContextInputs(comment.images);
265
- const contextProjectPath = this.projectPath ?? this.bridge.getProjectPath();
266
- let sessionId;
267
- let variantContext;
268
- if (imageContextInputs.length > 0 && !contextProjectPath) {
269
- const error = 'Inline variant image context requires a project path';
270
- this.bridge.reportFeedback(`${error}.`);
271
- this.bridge.setStatus('READY');
272
- return { success: false, error };
273
- }
274
- if (imageContextInputs.length > 0 && contextProjectPath) {
275
- sessionId = this.createSessionId();
276
- variantContext = (0, variantContext_1.createVariantContextBundle)({
277
- sessionId,
278
- prompt: comment.instruction,
279
- workspaceRoot: contextProjectPath,
280
- userContextInputs: imageContextInputs,
281
- allowedRoots: [contextProjectPath],
282
- });
283
- }
284
- const sourceVariantId = resolveSourceVariantId(request);
285
- const startResult = await this.orchestrator.startUnified({
286
- prompt: comment.instruction,
287
- target: deriveTarget(comment.element),
288
- ...(sessionId ? { sessionId } : {}),
289
- projectContext: {
290
- kind: 'existing',
291
- ...(contextProjectPath ? { projectPath: contextProjectPath } : {}),
292
- ...(variantContext ? { variantContext } : {}),
293
- },
294
- leaseOwner: `rivet-agent-${agentLabel.toLowerCase().replace(/\s+/g, '-')}`,
295
- briefs: buildInlineVariantBriefs(count),
296
- allowAccumulate: true,
297
- ...(sourceVariantId ? { sourceVariantId } : {}),
298
- });
299
- const leasedItems = startResult.leasedWorkItems ?? [];
300
- this.bridge.reportFeedback(`Creating ${leasedItems.length} worktrees.`);
301
- if (leasedItems.length === 0) {
302
- const error = 'No inline variant work items were leased';
303
- this.bridge.reportFeedback(`${error}.`);
304
- await this.orchestrator
305
- .cancel({
306
- sessionId: startResult.sessionId,
307
- reason: error,
308
- })
309
- .catch((cancelError) => {
310
- log.warn('Inline variant session cancellation failed', cancelError);
311
- });
312
- this.bridge.setStatus('READY');
313
- return { success: false, error };
314
- }
315
- const results = await Promise.all(leasedItems.map((workItem, index) => this.runLeasedVariantSafely({
316
- request,
317
- comment,
318
- workItem,
319
- leaseId: startResult.leaseId ?? '',
320
- sessionId: startResult.sessionId,
321
- index,
322
- })));
323
- const succeededCount = results.filter((result) => result.success).length;
324
- const hasSucceededVariant = succeededCount > 0;
325
- const isCompleteSuccess = succeededCount === results.length;
326
- const failedResult = results.find((result) => !result.success);
327
- this.bridge.reportFeedback(isCompleteSuccess
328
- ? `${agentLabel} finished generating inline variants.`
329
- : `${agentLabel} finished with one or more variant failures.`);
330
- this.bridge.reportFeedback('__RIVET_REFRESH_GIT__');
331
- this.bridge.setStatus('READY');
332
- return hasSucceededVariant
333
- ? { success: true }
334
- : {
335
- success: false,
336
- error: failedResult?.error ?? 'Inline variant generation failed',
337
- };
338
- }
339
- catch (error) {
340
- const message = error instanceof Error ? error.message : String(error);
341
- log.error('Inline variant generation failed', error);
342
- this.bridge.reportFeedback(`${agentLabel} failed variants: ${message}`);
343
- this.bridge.reportFeedback('__RIVET_REFRESH_GIT__');
344
- this.bridge.setStatus('READY');
345
- return { success: false, error: message };
346
- }
347
- }
348
- /**
349
- * @effect Converts per-variant setup/reporting failures into failed results after sibling runs settle.
350
- */
351
- async runLeasedVariantSafely(args) {
352
- try {
353
- return await this.runLeasedVariant(args);
354
- }
355
- catch (error) {
356
- const message = error instanceof Error ? error.message : String(error);
357
- const brief = getBrief(args.workItem);
358
- log.error(`Inline variant ${brief.label} failed`, error);
359
- this.bridge.reportFeedback(`Variant ${brief.label} failed: ${message}`);
360
- await this.orchestrator
361
- .reportComplete({
362
- sessionId: args.sessionId,
363
- workItemId: args.workItem.id,
364
- leaseId: args.leaseId,
365
- attempt: args.workItem.attempt,
366
- status: 'failed',
367
- error: { code: 'VARIANT_RUN_FAILED', message },
368
- })
369
- .catch((reportError) => {
370
- log.warn('Inline variant failure report failed', reportError);
371
- });
372
- return { success: false, error: message };
373
- }
374
- }
375
- /**
376
- * @effect Runs one leased code-generation item and reports its terminal status to the variants orchestrator.
377
- */
378
- async runLeasedVariant(args) {
379
- const worktreePath = getWorktreePath(args.workItem);
380
- const brief = getBrief(args.workItem);
381
- if (!worktreePath) {
382
- const error = `Variant ${brief.label} has no worktree path.`;
383
- await this.orchestrator.reportComplete({
384
- sessionId: args.sessionId,
385
- workItemId: args.workItem.id,
386
- leaseId: args.leaseId,
387
- attempt: args.workItem.attempt,
388
- status: 'failed',
389
- error: { code: 'MISSING_WORKTREE', message: error },
390
- });
391
- this.bridge.reportFeedback(error);
392
- return { success: false, error };
393
- }
394
- const agentLabel = this.runner.getDisplayName?.() ?? 'Claude Code';
395
- const terminalSessionId = this.createSessionId();
396
- const worktreeProjectPath = await this.orchestrator.getProjectCwdInWorktree(worktreePath);
397
- this.bridge.reportFeedback(`Running ${agentLabel} for variant ${args.index + 1}: ${brief.label}.`);
398
- await this.orchestrator.reportComplete({
399
- sessionId: args.sessionId,
400
- workItemId: args.workItem.id,
401
- leaseId: args.leaseId,
402
- attempt: args.workItem.attempt,
403
- status: 'running',
404
- });
405
- const stopHeartbeat = this.startLeaseHeartbeat({
406
- sessionId: args.sessionId,
407
- workItem: args.workItem,
408
- leaseId: args.leaseId,
409
- });
410
- let result;
411
- try {
412
- result = await this.runner.runChangeRequest({
413
- request: buildVariantChangeRequest({
414
- baseRequest: args.request,
415
- comment: args.comment,
416
- workItem: args.workItem,
417
- worktreePath,
418
- worktreeProjectPath,
419
- baseProjectPath: this.bridge.getProjectPath(),
420
- }),
421
- cwd: worktreeProjectPath,
422
- sessionId: terminalSessionId,
423
- resumeSession: false,
424
- onFeedback: (message) => this.bridge.reportFeedback(`${brief.label}: ${message}`),
425
- });
426
- }
427
- finally {
428
- stopHeartbeat();
429
- }
430
- if (!result.success) {
431
- const error = result.error ?? 'unknown error';
432
- await this.orchestrator.reportComplete({
433
- sessionId: args.sessionId,
434
- workItemId: args.workItem.id,
435
- leaseId: args.leaseId,
436
- attempt: args.workItem.attempt,
437
- status: 'failed',
438
- error: { code: 'AGENT_FAILED', message: error },
439
- });
440
- this.bridge.reportFeedback(`${agentLabel} failed variant ${brief.label}: ${error}`);
441
- return { success: false, error };
442
- }
443
- await this.orchestrator.reportComplete({
444
- sessionId: args.sessionId,
445
- workItemId: args.workItem.id,
446
- leaseId: args.leaseId,
447
- attempt: args.workItem.attempt,
448
- status: 'succeeded',
449
- output: { worktreePath, changedFiles: [] },
450
- });
451
- this.bridge.reportFeedback(`${agentLabel} completed variant ${brief.label}.`);
452
- return { success: true };
453
- }
454
- /**
455
- * @effect Periodically reports a running status so long terminal agent runs keep their variant lease.
456
- */
457
- startLeaseHeartbeat(args) {
458
- const interval = setInterval(() => {
459
- void this.orchestrator
460
- .reportComplete({
461
- sessionId: args.sessionId,
462
- workItemId: args.workItem.id,
463
- leaseId: args.leaseId,
464
- attempt: args.workItem.attempt,
465
- status: 'running',
466
- })
467
- .catch((error) => {
468
- log.warn('Inline variant lease heartbeat failed', error);
469
- });
470
- }, this.leaseHeartbeatMs);
471
- return () => clearInterval(interval);
472
- }
473
- }
474
- exports.InlineVariantGenerationService = InlineVariantGenerationService;
475
- //# sourceMappingURL=InlineVariantGenerationService.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"InlineVariantGenerationService.js","sourceRoot":"","sources":["../../src/services/InlineVariantGenerationService.ts"],"names":[],"mappings":"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"}