rivet-design 0.19.0 → 0.20.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 (185) hide show
  1. package/README.md +13 -1
  2. package/README.npm.md +13 -1
  3. package/dist/agent-variants/PreviewRuntime.d.ts +100 -0
  4. package/dist/agent-variants/PreviewRuntime.d.ts.map +1 -0
  5. package/dist/agent-variants/PreviewRuntime.js +577 -0
  6. package/dist/agent-variants/PreviewRuntime.js.map +1 -0
  7. package/dist/agent-variants/WorkspaceInventory.d.ts +81 -0
  8. package/dist/agent-variants/WorkspaceInventory.d.ts.map +1 -0
  9. package/dist/agent-variants/WorkspaceInventory.js +172 -0
  10. package/dist/agent-variants/WorkspaceInventory.js.map +1 -0
  11. package/dist/agent-variants/WorkspaceProvisioning.d.ts +40 -0
  12. package/dist/agent-variants/WorkspaceProvisioning.d.ts.map +1 -0
  13. package/dist/agent-variants/WorkspaceProvisioning.js +419 -0
  14. package/dist/agent-variants/WorkspaceProvisioning.js.map +1 -0
  15. package/dist/agent-variants/WorktreeOrchestrator.d.ts +9 -178
  16. package/dist/agent-variants/WorktreeOrchestrator.d.ts.map +1 -1
  17. package/dist/agent-variants/WorktreeOrchestrator.js +190 -2213
  18. package/dist/agent-variants/WorktreeOrchestrator.js.map +1 -1
  19. package/dist/agent-variants/designContextArtifacts.d.ts +25 -0
  20. package/dist/agent-variants/designContextArtifacts.d.ts.map +1 -0
  21. package/dist/agent-variants/designContextArtifacts.js +471 -0
  22. package/dist/agent-variants/designContextArtifacts.js.map +1 -0
  23. package/dist/agent-variants/variant-project-runtime.d.ts +40 -0
  24. package/dist/agent-variants/variant-project-runtime.d.ts.map +1 -0
  25. package/dist/agent-variants/variant-project-runtime.js +3 -0
  26. package/dist/agent-variants/variant-project-runtime.js.map +1 -0
  27. package/dist/agent-variants/variantWorkspaceFiles.d.ts +44 -0
  28. package/dist/agent-variants/variantWorkspaceFiles.d.ts.map +1 -0
  29. package/dist/agent-variants/variantWorkspaceFiles.js +426 -0
  30. package/dist/agent-variants/variantWorkspaceFiles.js.map +1 -0
  31. package/dist/agent-variants/variantsTelemetry.d.ts +189 -0
  32. package/dist/agent-variants/variantsTelemetry.d.ts.map +1 -0
  33. package/dist/agent-variants/variantsTelemetry.js +160 -0
  34. package/dist/agent-variants/variantsTelemetry.js.map +1 -0
  35. package/dist/cli/commandNames.d.ts.map +1 -1
  36. package/dist/cli/commandNames.js +1 -0
  37. package/dist/cli/commandNames.js.map +1 -1
  38. package/dist/cli/commands/libraryOpen.d.ts.map +1 -1
  39. package/dist/cli/commands/libraryOpen.js +7 -4
  40. package/dist/cli/commands/libraryOpen.js.map +1 -1
  41. package/dist/cli/commands/profile.d.ts.map +1 -1
  42. package/dist/cli/commands/profile.js +19 -2
  43. package/dist/cli/commands/profile.js.map +1 -1
  44. package/dist/cli/commands/serve.d.ts.map +1 -1
  45. package/dist/cli/commands/serve.js +14 -0
  46. package/dist/cli/commands/serve.js.map +1 -1
  47. package/dist/cli/commands/variants.d.ts.map +1 -1
  48. package/dist/cli/commands/variants.js +86 -9
  49. package/dist/cli/commands/variants.js.map +1 -1
  50. package/dist/cli/commands/version.d.ts +3 -0
  51. package/dist/cli/commands/version.d.ts.map +1 -0
  52. package/dist/cli/commands/version.js +29 -0
  53. package/dist/cli/commands/version.js.map +1 -0
  54. package/dist/cli/router.d.ts.map +1 -1
  55. package/dist/cli/router.js +15 -3
  56. package/dist/cli/router.js.map +1 -1
  57. package/dist/index.d.ts.map +1 -1
  58. package/dist/index.js +3 -0
  59. package/dist/index.js.map +1 -1
  60. package/dist/install/automaticCliUpdate.d.ts +8 -0
  61. package/dist/install/automaticCliUpdate.d.ts.map +1 -1
  62. package/dist/install/automaticCliUpdate.js +7 -3
  63. package/dist/install/automaticCliUpdate.js.map +1 -1
  64. package/dist/library/BrowserSessions.d.ts +13 -0
  65. package/dist/library/BrowserSessions.d.ts.map +1 -0
  66. package/dist/library/BrowserSessions.js +62 -0
  67. package/dist/library/BrowserSessions.js.map +1 -0
  68. package/dist/library/HubClient.d.ts.map +1 -1
  69. package/dist/library/HubClient.js +30 -5
  70. package/dist/library/HubClient.js.map +1 -1
  71. package/dist/library/HubServer.d.ts +2 -1
  72. package/dist/library/HubServer.d.ts.map +1 -1
  73. package/dist/library/HubServer.js +6 -2
  74. package/dist/library/HubServer.js.map +1 -1
  75. package/dist/library/browserLaunch.d.ts +6 -0
  76. package/dist/library/browserLaunch.d.ts.map +1 -0
  77. package/dist/library/browserLaunch.js +17 -0
  78. package/dist/library/browserLaunch.js.map +1 -0
  79. package/dist/library/http.d.ts +1 -1
  80. package/dist/library/http.d.ts.map +1 -1
  81. package/dist/library/http.js +2 -2
  82. package/dist/library/http.js.map +1 -1
  83. package/dist/library/hubPort.d.ts +2 -0
  84. package/dist/library/hubPort.d.ts.map +1 -0
  85. package/dist/library/hubPort.js +23 -0
  86. package/dist/library/hubPort.js.map +1 -0
  87. package/dist/routes/library/app.d.ts.map +1 -1
  88. package/dist/routes/library/app.js +13 -1
  89. package/dist/routes/library/app.js.map +1 -1
  90. package/dist/routes/library/browserAccess.d.ts +8 -0
  91. package/dist/routes/library/browserAccess.d.ts.map +1 -0
  92. package/dist/routes/library/browserAccess.js +71 -0
  93. package/dist/routes/library/browserAccess.js.map +1 -0
  94. package/dist/routes/library/index.d.ts.map +1 -1
  95. package/dist/routes/library/index.js +10 -4
  96. package/dist/routes/library/index.js.map +1 -1
  97. package/dist/routes/library/middleware.d.ts +4 -2
  98. package/dist/routes/library/middleware.d.ts.map +1 -1
  99. package/dist/routes/library/middleware.js +26 -3
  100. package/dist/routes/library/middleware.js.map +1 -1
  101. package/dist/routes/library/profiles.d.ts.map +1 -1
  102. package/dist/routes/library/profiles.js +6 -0
  103. package/dist/routes/library/profiles.js.map +1 -1
  104. package/dist/routes/library/types.d.ts +2 -0
  105. package/dist/routes/library/types.d.ts.map +1 -1
  106. package/dist/server.d.ts +2 -0
  107. package/dist/server.d.ts.map +1 -1
  108. package/dist/server.js +31 -5
  109. package/dist/server.js.map +1 -1
  110. package/dist/services/AuthService.d.ts +72 -13
  111. package/dist/services/AuthService.d.ts.map +1 -1
  112. package/dist/services/AuthService.js +57 -13
  113. package/dist/services/AuthService.js.map +1 -1
  114. package/dist/services/BrowserAgentClient.d.ts.map +1 -1
  115. package/dist/services/BrowserAgentClient.js +18 -3
  116. package/dist/services/BrowserAgentClient.js.map +1 -1
  117. package/dist/services/DependencyPreparationService.d.ts +1 -0
  118. package/dist/services/DependencyPreparationService.d.ts.map +1 -1
  119. package/dist/services/DependencyPreparationService.js.map +1 -1
  120. package/dist/services/HistoryReplayService.d.ts.map +1 -1
  121. package/dist/services/HistoryReplayService.js +1 -0
  122. package/dist/services/HistoryReplayService.js.map +1 -1
  123. package/dist/services/IntegrationsClient.d.ts.map +1 -1
  124. package/dist/services/IntegrationsClient.js +121 -5
  125. package/dist/services/IntegrationsClient.js.map +1 -1
  126. package/dist/services/ProjectLibrary.d.ts +6 -1
  127. package/dist/services/ProjectLibrary.d.ts.map +1 -1
  128. package/dist/services/ProjectLibrary.js +20 -4
  129. package/dist/services/ProjectLibrary.js.map +1 -1
  130. package/dist/services/ProjectPackageManager.d.ts +1 -0
  131. package/dist/services/ProjectPackageManager.d.ts.map +1 -1
  132. package/dist/services/ProjectPackageManager.js +24 -8
  133. package/dist/services/ProjectPackageManager.js.map +1 -1
  134. package/dist/services/PrototypeDeployService.d.ts.map +1 -1
  135. package/dist/services/PrototypeDeployService.js +8 -3
  136. package/dist/services/PrototypeDeployService.js.map +1 -1
  137. package/dist/services/TelemetryService.d.ts +2 -2
  138. package/dist/services/TelemetryService.d.ts.map +1 -1
  139. package/dist/services/TelemetryService.js +2 -2
  140. package/dist/services/TelemetryService.js.map +1 -1
  141. package/dist/services/VariantHistoryService.d.ts +9 -0
  142. package/dist/services/VariantHistoryService.d.ts.map +1 -1
  143. package/dist/services/VariantHistoryService.js +11 -2
  144. package/dist/services/VariantHistoryService.js.map +1 -1
  145. package/dist/services/accessTokenRefresh.d.ts.map +1 -1
  146. package/dist/services/accessTokenRefresh.js +12 -4
  147. package/dist/services/accessTokenRefresh.js.map +1 -1
  148. package/dist/services/profiles/DesignProfiles.d.ts +2 -1
  149. package/dist/services/profiles/DesignProfiles.d.ts.map +1 -1
  150. package/dist/services/profiles/DesignProfiles.js +45 -6
  151. package/dist/services/profiles/DesignProfiles.js.map +1 -1
  152. package/dist/services/profiles/ProfileIndex.d.ts +8 -0
  153. package/dist/services/profiles/ProfileIndex.d.ts.map +1 -1
  154. package/dist/services/profiles/ProfileIndex.js +46 -8
  155. package/dist/services/profiles/ProfileIndex.js.map +1 -1
  156. package/dist/services/profiles/profileSearch.d.ts +15 -0
  157. package/dist/services/profiles/profileSearch.d.ts.map +1 -0
  158. package/dist/services/profiles/profileSearch.js +41 -0
  159. package/dist/services/profiles/profileSearch.js.map +1 -0
  160. package/dist/types/design-library.d.ts +38 -0
  161. package/dist/types/design-library.d.ts.map +1 -1
  162. package/dist/types/design-library.js +8 -1
  163. package/dist/types/design-library.js.map +1 -1
  164. package/dist/utils/skills/claude-skill.d.ts +1 -1
  165. package/dist/utils/skills/claude-skill.d.ts.map +1 -1
  166. package/dist/utils/skills/claude-skill.js +1 -1
  167. package/dist/utils/skills/claude-skill.js.map +1 -1
  168. package/dist/utils/skills/cli-guidance.d.ts +2 -2
  169. package/dist/utils/skills/cli-guidance.d.ts.map +1 -1
  170. package/dist/utils/skills/cli-guidance.js +13 -8
  171. package/dist/utils/skills/cli-guidance.js.map +1 -1
  172. package/dist/utils/skills/codex-skill.d.ts +1 -1
  173. package/dist/utils/skills/codex-skill.d.ts.map +1 -1
  174. package/dist/utils/skills/codex-skill.js +6 -4
  175. package/dist/utils/skills/codex-skill.js.map +1 -1
  176. package/dist/utils/skills/cursor-rules.d.ts +1 -1
  177. package/dist/utils/skills/cursor-rules.js +1 -1
  178. package/package.json +1 -1
  179. package/src/ui/dist/assets/LibraryEntry-Db0yQPRU.js +36 -0
  180. package/src/ui/dist/assets/main-BAQFukSb.js +435 -0
  181. package/src/ui/dist/assets/main-Dcp0uKa5.css +1 -0
  182. package/src/ui/dist/index.html +2 -2
  183. package/src/ui/dist/assets/LibraryApp-B4ztVk52.js +0 -36
  184. package/src/ui/dist/assets/main-CAPEQf84.js +0 -438
  185. package/src/ui/dist/assets/main-Ky91HHF_.css +0 -1
package/README.md CHANGED
@@ -32,6 +32,8 @@ rivet open --project /path/to/app
32
32
 
33
33
  Rivet opens one shared project library on your computer. Run `rivet open` inside a project to open its editor, or from a non-project directory to browse saved directions across projects. Projects register automatically when opened or created; **Open project…** also lets you choose an existing folder.
34
34
 
35
+ While Rivet is running, open `http://localhost:16060` in a browser and sign in with Google to reach the same library. Local development installs use port 16061. Set `RIVET_LIBRARY_PORT` to another port before `rivet open` if the default is occupied. Rivet reports a port conflict instead of moving silently. Opening a browser URL does not start the coordinator after a restart; run `rivet open` to start it.
36
+
35
37
  Saved directions live in project bundles under `~/.rivet/library/production`. Their metadata and self-contained previews remain available when a working folder is missing. Editing still requires that folder. Existing histories are copied only after verification, and their source files are preserved. Switching projects in the browser does not change the project targeted by your terminal or agent.
36
38
 
37
39
  ## Automatic Updates
@@ -52,13 +54,23 @@ Updated skill and rule files are available on disk immediately. An agent
52
54
  session that already loaded them may need its normal restart or reload before
53
55
  it uses the refreshed instructions.
54
56
 
57
+ At the start of a host-agent conversation that uses Rivet, the agent runs
58
+ `rivet version status` before opening the project. The command reports the
59
+ installed version, latest published version, and update availability without
60
+ changing the installation. The agent shares those versions, runs `rivet update`
61
+ when a release is available, and reports the outcome before continuing. If an
62
+ update fails, the agent reports the failure and can continue with the installed
63
+ CLI. This notice and update flow happens in the host-agent conversation, not
64
+ in the editor.
65
+
55
66
  ## CLI Agent Commands
56
67
 
57
68
  Rivet's agent-facing commands print one JSON envelope on stdout, write progress to stderr, and do not prompt for input.
58
69
 
59
- For interactive user workflows, run `rivet open` without `--no-browser` so the Rivet UI opens in the browser. Use `--no-browser` only for explicitly unattended automation, headless environments, CI/e2e checks, or when the user explicitly asks not to open a browser; in those cases, report the returned `editorUrl`. Background workers or a background shell command do not make an interactive user request unattended. Always report the returned `editorUrl`; if `browser.action` is `launch_failed`, give the user that link to open manually.
70
+ In Codex within the ChatGPT desktop app or in Claude Code Desktop, use `rivet open --project /path/to/app --no-browser` when the app has an in-app browser that can reach localhost. Open the exact returned `data.editorUrl` in that browser. In Claude Code Desktop, a user may need to select **Open in app** for the link. If the host has no usable in-app browser, run `rivet open` without `--no-browser` to launch the system browser. Always share the returned URL so the user can open it if browser navigation fails.
60
71
 
61
72
  ```bash
73
+ rivet version status
62
74
  rivet open --project /path/to/app
63
75
  rivet status --project /path/to/app
64
76
  rivet variants start --project /path/to/app --instruction "try three hero layouts" --count 3
package/README.npm.md CHANGED
@@ -32,6 +32,8 @@ rivet open --project /path/to/app
32
32
 
33
33
  Rivet opens one shared project library on your computer. Run `rivet open` inside a project to open its editor, or from a non-project directory to browse saved directions across projects. Projects register automatically when opened or created; **Open project…** also lets you choose an existing folder.
34
34
 
35
+ While Rivet is running, open `http://localhost:16060` in a browser and sign in with Google to reach the same library. Local development installs use port 16061. Set `RIVET_LIBRARY_PORT` to another port before `rivet open` if the default is occupied. Rivet reports a port conflict instead of moving silently. Opening a browser URL does not start the coordinator after a restart; run `rivet open` to start it.
36
+
35
37
  Saved directions live in project bundles under `~/.rivet/library/production`. Their metadata and self-contained previews remain available when a working folder is missing. Editing still requires that folder. Existing histories are copied only after verification, and their source files are preserved. Switching projects in the browser does not change the project targeted by your terminal or agent.
36
38
 
37
39
  ## Automatic Updates
@@ -52,13 +54,23 @@ Updated skill and rule files are available on disk immediately. An agent
52
54
  session that already loaded them may need its normal restart or reload before
53
55
  it uses the refreshed instructions.
54
56
 
57
+ At the start of a host-agent conversation that uses Rivet, the agent runs
58
+ `rivet version status` before opening the project. The command reports the
59
+ installed version, latest published version, and update availability without
60
+ changing the installation. The agent shares those versions, runs `rivet update`
61
+ when a release is available, and reports the outcome before continuing. If an
62
+ update fails, the agent reports the failure and can continue with the installed
63
+ CLI. This notice and update flow happens in the host-agent conversation, not
64
+ in the editor.
65
+
55
66
  ## CLI Agent Commands
56
67
 
57
68
  Rivet's agent-facing commands print one JSON envelope on stdout, write progress to stderr, and do not prompt for input.
58
69
 
59
- For interactive user workflows, run `rivet open` without `--no-browser` so the Rivet UI opens in the browser. Use `--no-browser` only for explicitly unattended automation, headless environments, CI/e2e checks, or when the user explicitly asks not to open a browser; in those cases, report the returned `editorUrl`. Background workers or a background shell command do not make an interactive user request unattended. Always report the returned `editorUrl`; if `browser.action` is `launch_failed`, give the user that link to open manually.
70
+ In Codex within the ChatGPT desktop app or in Claude Code Desktop, use `rivet open --project /path/to/app --no-browser` when the app has an in-app browser that can reach localhost. Open the exact returned `data.editorUrl` in that browser. In Claude Code Desktop, a user may need to select **Open in app** for the link. If the host has no usable in-app browser, run `rivet open` without `--no-browser` to launch the system browser. Always share the returned URL so the user can open it if browser navigation fails.
60
71
 
61
72
  ```bash
73
+ rivet version status
62
74
  rivet open --project /path/to/app
63
75
  rivet status --project /path/to/app
64
76
  rivet variants start --project /path/to/app --instruction "try three hero layouts" --count 3
@@ -0,0 +1,100 @@
1
+ import type { ChildProcess } from 'child_process';
2
+ import { type PreviewPackageManager } from '../services/ProjectPackageManager';
3
+ import { type DevServerFailureReason } from '../utils/devServerError';
4
+ import type { ProjectContext } from './contracts';
5
+ import type { ProjectEnvironment, WorktreeManagerLike } from './variant-project-runtime';
6
+ import { type VariantsTelemetry } from './variantsTelemetry';
7
+ export type ResolvedDevServer = {
8
+ cwd: string;
9
+ cmd: string;
10
+ args: string[];
11
+ env: Record<string, string>;
12
+ packageManager: PreviewPackageManager;
13
+ };
14
+ export type PreviewFailure = {
15
+ reason: DevServerFailureReason | 'missing_static_entry' | 'idle_timeout' | 'unknown';
16
+ portInUse: boolean;
17
+ };
18
+ type PreviewRuntimeDeps = {
19
+ worktreeManager: WorktreeManagerLike;
20
+ resolveProjectEnvironment: (sessionId: string) => Promise<ProjectEnvironment>;
21
+ getProjectContext: (sessionId: string) => ProjectContext;
22
+ getDependencySignal: (sessionId: string) => AbortSignal | undefined;
23
+ installDependencies: (worktreePath: string, options?: {
24
+ workspaceRoot: string;
25
+ force?: boolean;
26
+ signal?: AbortSignal;
27
+ }) => Promise<void>;
28
+ telemetry: VariantsTelemetry;
29
+ isSessionLive: (sessionId: string) => boolean;
30
+ isCleanupStarted: (sessionId: string) => boolean;
31
+ hasUiClients: () => boolean;
32
+ changed: () => void;
33
+ switchPreviewPort?: (port: number | null) => void;
34
+ setCommittedDevServerHealth?: (port: number | null) => void;
35
+ startStaticPreviewServer?: (args: {
36
+ rootPath: string;
37
+ port: number;
38
+ host?: string;
39
+ }) => Promise<ChildProcess>;
40
+ activeVariantServerIdleTtlMs: number;
41
+ devServerRestartDelayMs: number;
42
+ };
43
+ export declare class PreviewRuntime {
44
+ private readonly deps;
45
+ private readonly sessions;
46
+ private readonly lingeringCommitted;
47
+ private readonly committedGenerations;
48
+ private generation;
49
+ constructor(deps: PreviewRuntimeDeps);
50
+ openSession(sessionId: string): void;
51
+ registerVariant(sessionId: string, workItemId: string, worktreePath: string): void;
52
+ getPort(sessionId: string, workItemId: string): number | undefined;
53
+ getRunningVariant(sessionId: string, workItemId: string): {
54
+ command: ResolvedDevServer;
55
+ port: number;
56
+ } | undefined;
57
+ getFailure(sessionId: string, workItemId: string): PreviewFailure | undefined;
58
+ setFailure(sessionId: string, workItemId: string, failure: PreviewFailure): void;
59
+ clearFailure(sessionId: string, workItemId: string): void;
60
+ touch(sessionId: string): void;
61
+ startVariant(args: {
62
+ sessionId: string;
63
+ workItemId: string;
64
+ worktreePath: string;
65
+ isFresh: boolean;
66
+ }): Promise<number | undefined>;
67
+ restoreVariant(args: {
68
+ sessionId: string;
69
+ workItemId: string;
70
+ worktreePath: string;
71
+ isFresh: boolean;
72
+ isSucceeded: boolean;
73
+ retryFailed?: boolean;
74
+ }): Promise<number | undefined>;
75
+ stopVariantServers(sessionId: string): Promise<number>;
76
+ startCommitted(args: {
77
+ sessionId: string;
78
+ destinationPath: string;
79
+ mode?: 'vite_app' | 'static_preview';
80
+ }): Promise<number | undefined>;
81
+ getCommittedPort(sessionId: string): number | undefined;
82
+ stopLingeringCommitted(): Promise<void>;
83
+ closeSession(sessionId: string, reason: 'committed' | 'cancel' | 'shutdown'): Promise<void>;
84
+ resolveCommand(sessionId: string, worktreePath: string, port: number, isFresh: boolean): Promise<ResolvedDevServer>;
85
+ private startVariantProcess;
86
+ private watchVariantProcess;
87
+ private failVariant;
88
+ private stopIdleVariants;
89
+ private resolveRunnableCommand;
90
+ private resolveStartPort;
91
+ private resolveExistingProjectCwd;
92
+ private notifyCommittedPort;
93
+ private notifyCommittedHealth;
94
+ private notifyPreviewPort;
95
+ private clearIdleTimer;
96
+ private requireSession;
97
+ private requireVariant;
98
+ }
99
+ export {};
100
+ //# sourceMappingURL=PreviewRuntime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PreviewRuntime.d.ts","sourceRoot":"","sources":["../../src/agent-variants/PreviewRuntime.ts"],"names":[],"mappings":"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"}