rivet-design 0.13.1 → 0.13.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -10,6 +10,10 @@ Run the installer from the project where you want AI agents to use Rivet:
10
10
  npx -y rivet-design@latest install
11
11
  ```
12
12
 
13
+ Rivet requires Node.js 22.13 or newer. The installer exits with an upgrade
14
+ message on older runtimes instead of continuing with an outdated Rivet
15
+ release.
16
+
13
17
  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".
14
18
 
15
19
  You can also run Rivet directly without a global install:
@@ -75,7 +79,7 @@ If Rivet reports pull mode, staged work can be drained with `rivet changes pull
75
79
 
76
80
  ## Requirements
77
81
 
78
- - Node.js 24+
82
+ - Node.js 22.13+
79
83
  - A shell-capable coding agent for agent-driven flows
80
84
  - Git for variant branch/history features
81
85
 
package/README.npm.md CHANGED
@@ -10,6 +10,10 @@ Run the installer from the project where you want AI agents to use Rivet:
10
10
  npx -y rivet-design@latest install
11
11
  ```
12
12
 
13
+ Rivet requires Node.js 22.13 or newer. The installer exits with an upgrade
14
+ message on older runtimes instead of continuing with an outdated Rivet
15
+ release.
16
+
13
17
  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".
14
18
 
15
19
  You can also run Rivet directly without a global install:
@@ -75,7 +79,7 @@ If Rivet reports pull mode, staged work can be drained with `rivet changes pull
75
79
 
76
80
  ## Requirements
77
81
 
78
- - Node.js 24+
82
+ - Node.js 22.13+
79
83
  - A shell-capable coding agent for agent-driven flows
80
84
  - Git for variant branch/history features
81
85
 
@@ -1 +1 @@
1
- {"version":3,"file":"codexGuidance.d.ts","sourceRoot":"","sources":["../../src/install/codexGuidance.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,eAAe,GAAI,UAAS,MAAqB,KAAG,MACtB,CAAC;AAsB5C,MAAM,MAAM,cAAc,GACxB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhE,eAAO,MAAM,kBAAkB,GAC7B,UAAS,MAAqB,KAC7B,cAsBF,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,UAAS,MAAqB,KAC7B,cAmBF,CAAC"}
1
+ {"version":3,"file":"codexGuidance.d.ts","sourceRoot":"","sources":["../../src/install/codexGuidance.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,eAAe,GAAI,UAAS,MAAqB,KAAG,MACtB,CAAC;AAyB5C,MAAM,MAAM,cAAc,GACxB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhE,eAAO,MAAM,kBAAkB,GAC7B,UAAS,MAAqB,KAC7B,cAsBF,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,UAAS,MAAqB,KAC7B,cAmBF,CAAC"}
@@ -33,9 +33,10 @@ const stripSection = (contents) => {
33
33
  const end = contents.indexOf(SECTION_END, begin);
34
34
  if (end === -1)
35
35
  return contents;
36
- const before = contents.slice(0, begin).replace(/\n+$/, '\n');
37
- const after = contents.slice(end + SECTION_END.length).replace(/^\n+/, '\n');
38
- return `${before}${after}`.trim() ? `${before}${after}` : '';
36
+ const sectionStart = begin > 0 && contents[begin - 1] === '\n' ? begin - 1 : begin;
37
+ const afterMarker = end + SECTION_END.length;
38
+ const sectionEnd = contents[afterMarker] === '\n' ? afterMarker + 1 : afterMarker;
39
+ return `${contents.slice(0, sectionStart)}${contents.slice(sectionEnd)}`;
39
40
  };
40
41
  const writeCodexGuidance = (homeDir = os_1.default.homedir()) => {
41
42
  const filePath = (0, exports.codexAgentsPath)(homeDir);
@@ -45,7 +46,7 @@ const writeCodexGuidance = (homeDir = os_1.default.homedir()) => {
45
46
  : '';
46
47
  const withoutSection = stripSection(existing);
47
48
  const next = withoutSection
48
- ? `${withoutSection.replace(/\n+$/, '')}\n\n${buildSection()}\n`
49
+ ? `${withoutSection}\n${buildSection()}\n`
49
50
  : `${buildSection()}\n`;
50
51
  if (next === existing) {
51
52
  return { ok: true, changed: false };
@@ -1 +1 @@
1
- {"version":3,"file":"codexGuidance.js","sourceRoot":"","sources":["../../src/install/codexGuidance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codexGuidance.js","sourceRoot":"","sources":["../../src/install/codexGuidance.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"harnesses.d.ts","sourceRoot":"","sources":["../../src/install/harnesses.ts"],"names":[],"mappings":"AAMA,OAAO,EAIL,gBAAgB,EAQjB,MAAM,cAAc,CAAC;AAwBtB;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,GAAG;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC;AAE/D;;;;;GAKG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAEtD;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,OAAO;IACtB,kEAAkE;IAClE,EAAE,EAAE,MAAM,CAAC;IACX,uDAAuD;IACvD,KAAK,EAAE,MAAM,CAAC;IACd,+CAA+C;IAC/C,eAAe,EAAE,MAAM,CAAC;IACxB,8DAA8D;IAC9D,UAAU,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,6DAA6D;IAC7D,MAAM,IAAI,OAAO,CAAC;IAClB,iFAAiF;IACjF,mBAAmB,IAAI,MAAM,CAAC;IAC9B,OAAO,CAAC,OAAO,CAAC,EAAE,qBAAqB,GAAG,cAAc,CAAC;IACzD,qDAAqD;IACrD,SAAS,IAAI,OAAO,CAAC;IACrB,yFAAyF;IACzF,MAAM,IAAI,OAAO,CAAC;IAClB,2EAA2E;IAC3E,SAAS,EAAE,MAAM,CAAC;IAClB,kFAAkF;IAClF,WAAW,EAAE,MAAM,CAAC;IACpB,2FAA2F;IAC3F,WAAW,EAAE,MAAM,CAAC;CACrB;AA6XD,eAAO,MAAM,SAAS,EAAE,OAAO,EAK9B,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,IAAI,MAAM,KAAG,OAAO,GAAG,SACf,CAAC;AAErC,eAAO,MAAM,iBAAiB,GAC5B,UAAU,qBAAqB,KAC9B,OAAO,EAKP,CAAC;AAEJ,8DAA8D;AAC9D,eAAO,MAAM,kBAAkB,GAAI,KAAK,MAAM,KAAG,MACkB,CAAC;AAqBpE;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAC3B,SAAS,MAAM,EACf,UAAU,qBAAqB,KAC9B;IAAE,QAAQ,EAAE,MAAM,CAAA;CA2EpB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,GAAI,SAAS,MAAM,KAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAkCtE,CAAC;AAEF,iFAAiF;AACjF,eAAO,MAAM,eAAe,QAAO,IAUlC,CAAC;AAEF,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
1
+ {"version":3,"file":"harnesses.d.ts","sourceRoot":"","sources":["../../src/install/harnesses.ts"],"names":[],"mappings":"AAMA,OAAO,EAIL,gBAAgB,EAQjB,MAAM,cAAc,CAAC;AAwBtB;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,GAAG;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC;AAE/D;;;;;GAKG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAEtD;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,OAAO;IACtB,kEAAkE;IAClE,EAAE,EAAE,MAAM,CAAC;IACX,uDAAuD;IACvD,KAAK,EAAE,MAAM,CAAC;IACd,+CAA+C;IAC/C,eAAe,EAAE,MAAM,CAAC;IACxB,8DAA8D;IAC9D,UAAU,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,6DAA6D;IAC7D,MAAM,IAAI,OAAO,CAAC;IAClB,iFAAiF;IACjF,mBAAmB,IAAI,MAAM,CAAC;IAC9B,OAAO,CAAC,OAAO,CAAC,EAAE,qBAAqB,GAAG,cAAc,CAAC;IACzD,qDAAqD;IACrD,SAAS,IAAI,OAAO,CAAC;IACrB,yFAAyF;IACzF,MAAM,IAAI,OAAO,CAAC;IAClB,2EAA2E;IAC3E,SAAS,EAAE,MAAM,CAAC;IAClB,kFAAkF;IAClF,WAAW,EAAE,MAAM,CAAC;IACpB,2FAA2F;IAC3F,WAAW,EAAE,MAAM,CAAC;CACrB;AA0YD,eAAO,MAAM,SAAS,EAAE,OAAO,EAK9B,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,IAAI,MAAM,KAAG,OAAO,GAAG,SACf,CAAC;AAErC,eAAO,MAAM,iBAAiB,GAC5B,UAAU,qBAAqB,KAC9B,OAAO,EAKP,CAAC;AAEJ,8DAA8D;AAC9D,eAAO,MAAM,kBAAkB,GAAI,KAAK,MAAM,KAAG,MACkB,CAAC;AAqBpE;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAC3B,SAAS,MAAM,EACf,UAAU,qBAAqB,KAC9B;IAAE,QAAQ,EAAE,MAAM,CAAA;CA2EpB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,GAAI,SAAS,MAAM,KAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAkCtE,CAAC;AAEF,iFAAiF;AACjF,eAAO,MAAM,eAAe,QAAO,IAUlC,CAAC;AAEF,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
@@ -76,6 +76,13 @@ const reportAllowlistWrite = (label, filePath, result) => {
76
76
  return true;
77
77
  };
78
78
  const claudeSkillDir = () => path_1.default.join(os_1.default.homedir(), '.claude', 'skills', 'rivet');
79
+ const isClaudeCodeCliAvailable = binaryDetect('claude');
80
+ /**
81
+ * Detects Claude Code through either its terminal command or Claude Desktop,
82
+ * whose Code surface reads the same user-level `~/.claude` configuration.
83
+ */
84
+ const isClaudeCodeAvailable = () => isClaudeCodeCliAvailable() ||
85
+ fs_1.default.existsSync(path_1.default.dirname((0, legacyMcp_1.claudeDesktopConfigPath)()));
79
86
  /** Uniform progress line for an `--mcp` registration attempt. */
80
87
  const reportMcpRegistration = (label, result) => {
81
88
  if (!result.ok) {
@@ -96,8 +103,8 @@ const claudeHarness = {
96
103
  sendButtonLabel: 'Send to Claude Code',
97
104
  installUrl: 'https://claude.ai/download',
98
105
  supportsMcp: true,
99
- detect: binaryDetect('claude'),
100
- notInstalledMessage: () => 'Claude Code is not installed or not in your PATH.\nInstall it: https://claude.ai/download',
106
+ detect: isClaudeCodeAvailable,
107
+ notInstalledMessage: () => 'Claude Code is not installed as a terminal command or through the Claude desktop app.\nInstall it: https://claude.ai/download',
101
108
  install: (options) => {
102
109
  const skill = (0, skillWriter_1.writeSkillFileIfNeeded)();
103
110
  if (skill.success) {
@@ -111,9 +118,12 @@ const claudeHarness = {
111
118
  console.log('✓ Removed the MCP registration a previous Rivet version wrote');
112
119
  }
113
120
  let mcpOk = true;
114
- if (options?.mcp) {
121
+ if (options?.mcp && isClaudeCodeCliAvailable()) {
115
122
  mcpOk = reportMcpRegistration('Claude Code', (0, mcpRegistration_1.registerClaudeCodeMcp)());
116
123
  }
124
+ else if (options?.mcp) {
125
+ console.log(' Skipped Claude Code MCP registration: the `claude` terminal command is not available.');
126
+ }
117
127
  return { ok: skill.success && allowlistOk && mcpOk, changed: true };
118
128
  },
119
129
  uninstall: () => {
@@ -136,7 +146,7 @@ const claudeHarness = {
136
146
  return changed;
137
147
  },
138
148
  update: () => {
139
- if (!binaryDetect('claude')())
149
+ if (!isClaudeCodeAvailable())
140
150
  return false;
141
151
  const skill = (0, skillWriter_1.writeSkillFileIfNeeded)();
142
152
  const allowlist = (0, allowlists_1.writeClaudeAllowlist)();
@@ -153,7 +163,7 @@ const claudeHarness = {
153
163
  },
154
164
  nextSteps: `
155
165
  Next steps:
156
- 1. Start a new Claude Code session
166
+ 1. Start a new Claude Code session in your terminal or the desktop app
157
167
  2. Type /rivet or say "Open Rivet"
158
168
  `,
159
169
  summaryHint: 'start a new session, then /rivet',
@@ -289,19 +299,18 @@ Next steps:
289
299
  restartHint: 'Start a new Codex session to apply changes.',
290
300
  };
291
301
  /**
292
- * Claude Desktop is retired as a *CLI* install target: it has no shell
293
- * access, so it cannot run `rivet` commands. With `--mcp` it re-enters the
294
- * flow the resident `rivet mcp serve` stdio server is exactly the bridge a
295
- * shell-less host needs. Without the flag, install only cleans up what old
296
- * versions wrote.
302
+ * Claude Desktop chat is retired as a CLI install target because it has no
303
+ * project shell. Claude Code in the desktop app uses the `claude` harness.
304
+ * With `--mcp`, this target configures the resident `rivet mcp serve` stdio
305
+ * server for chat. Without the flag, install only cleans up prior entries.
297
306
  */
298
- const CLAUDE_DESKTOP_OUT_OF_SCOPE_MESSAGE = `Claude Desktop has no shell access to run the \`rivet\` CLI. To use Rivet
299
- from Claude Desktop, register the MCP server instead:
307
+ const CLAUDE_DESKTOP_OUT_OF_SCOPE_MESSAGE = `Claude Desktop chat has no project shell for running the \`rivet\` CLI. To use
308
+ Rivet from chat, register the MCP server instead:
300
309
 
301
310
  rivet install claude-desktop --mcp
302
311
 
303
- Otherwise use Claude Code (\`rivet install claude\`) the browser editor
304
- still works alongside any shell-capable agent.`;
312
+ For Claude Code in the desktop app, run \`rivet install claude\` instead. A
313
+ separate terminal installation of Claude Code is not required.`;
305
314
  const claudeDesktopHarness = {
306
315
  id: 'claude-desktop',
307
316
  label: 'the Claude desktop app',
@@ -1 +1 @@
1
- {"version":3,"file":"harnesses.js","sourceRoot":"","sources":["../../src/install/harnesses.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"harnesses.js","sourceRoot":"","sources":["../../src/install/harnesses.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"static.d.ts","sourceRoot":"","sources":["../../src/routes/static.ts"],"names":[],"mappings":"AAAA,OAAgB,EAAqB,MAAM,EAAE,MAAM,SAAS,CAAC;AAG7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAMlE,KAAK,mBAAmB,GAAG;IACzB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,2BAA2B,CAAC,EAAE,MAAM,CAAC;CACtC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAC7B,eAAe,iBAAiB,EAChC,cAAc,MAAM,EACpB,UAAS,mBAAwB,KAChC,MAuDF,CAAC"}
1
+ {"version":3,"file":"static.d.ts","sourceRoot":"","sources":["../../src/routes/static.ts"],"names":[],"mappings":"AAAA,OAAgB,EAAqB,MAAM,EAAE,MAAM,SAAS,CAAC;AAG7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAMlE,KAAK,mBAAmB,GAAG;IACzB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,2BAA2B,CAAC,EAAE,MAAM,CAAC;CACtC,CAAC;AA2EF;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAC7B,eAAe,iBAAiB,EAChC,cAAc,MAAM,EACpB,UAAS,mBAAwB,KAChC,MAqDF,CAAC"}
@@ -43,6 +43,78 @@ const fs_1 = __importDefault(require("fs"));
43
43
  const logger_1 = require("../utils/logger");
44
44
  const preview_bridge_1 = require("../proxy-middleware/preview-bridge");
45
45
  const log = (0, logger_1.createLogger)('StaticRoutes');
46
+ /** Renders a friendly HTML page when the project has no entry file yet. */
47
+ const renderEmptyState = (entryFileName) => `<!DOCTYPE html>
48
+ <html lang="en">
49
+ <head>
50
+ <meta charset="UTF-8" />
51
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
52
+ <title>No entry file</title>
53
+ <style>
54
+ * { margin: 0; padding: 0; box-sizing: border-box; }
55
+ body {
56
+ min-height: 100vh;
57
+ display: flex;
58
+ align-items: center;
59
+ justify-content: center;
60
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
61
+ background: #0a0a0b;
62
+ color: #e4e4e7;
63
+ }
64
+ .container {
65
+ text-align: center;
66
+ max-width: 420px;
67
+ padding: 2rem;
68
+ }
69
+ .icon {
70
+ width: 48px;
71
+ height: 48px;
72
+ margin: 0 auto 1.25rem;
73
+ border-radius: 12px;
74
+ background: #18181b;
75
+ border: 1px solid #27272a;
76
+ display: flex;
77
+ align-items: center;
78
+ justify-content: center;
79
+ }
80
+ .icon svg { width: 24px; height: 24px; color: #71717a; }
81
+ h1 {
82
+ font-size: 1.125rem;
83
+ font-weight: 600;
84
+ margin-bottom: 0.5rem;
85
+ color: #fafafa;
86
+ }
87
+ p {
88
+ font-size: 0.875rem;
89
+ line-height: 1.5;
90
+ color: #a1a1aa;
91
+ }
92
+ code {
93
+ display: inline-block;
94
+ margin-top: 0.75rem;
95
+ padding: 0.25rem 0.625rem;
96
+ background: #18181b;
97
+ border: 1px solid #27272a;
98
+ border-radius: 6px;
99
+ font-family: "SF Mono", "Fira Code", monospace;
100
+ font-size: 0.8125rem;
101
+ color: #d4d4d8;
102
+ }
103
+ </style>
104
+ </head>
105
+ <body>
106
+ <div class="container">
107
+ <div class="icon">
108
+ <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor">
109
+ <path stroke-linecap="round" stroke-linejoin="round" d="M19.5 14.25v-2.625a3.375 3.375 0 0 0-3.375-3.375h-1.5A1.125 1.125 0 0 1 13.5 7.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H8.25m2.25 0H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 0 0-9-9Z" />
110
+ </svg>
111
+ </div>
112
+ <h1>No entry file found</h1>
113
+ <p>This project doesn\u2019t have an entry file yet. Create one to get started.</p>
114
+ <code>${entryFileName}</code>
115
+ </div>
116
+ </body>
117
+ </html>`;
46
118
  /**
47
119
  * Create routes for serving static files
48
120
  */
@@ -64,15 +136,15 @@ const createStaticRoutes = (staticService, _projectPath, options = {}) => {
64
136
  }
65
137
  res.sendFile(entryFileName, { root: basePath });
66
138
  };
139
+ const sendEmptyState = (res) => {
140
+ res.status(200).type('html').send(renderEmptyState(entryFileName));
141
+ };
67
142
  // Serve the entry point at /static/ (root of static site)
68
143
  router.get('/static', (_req, res) => {
69
144
  const entryPath = path_1.default.join(basePath, entryFileName);
70
145
  log.debug(`Serving entry point: ${entryPath}`);
71
146
  if (!fs_1.default.existsSync(entryPath)) {
72
- res.status(404).json({
73
- error: 'Static entry not found',
74
- details: entryPath,
75
- });
147
+ sendEmptyState(res);
76
148
  return;
77
149
  }
78
150
  sendEntry(res, entryPath);
@@ -81,10 +153,7 @@ const createStaticRoutes = (staticService, _projectPath, options = {}) => {
81
153
  const entryPath = path_1.default.join(basePath, entryFileName);
82
154
  log.debug(`Serving entry point: ${entryPath}`);
83
155
  if (!fs_1.default.existsSync(entryPath)) {
84
- res.status(404).json({
85
- error: 'Static entry not found',
86
- details: entryPath,
87
- });
156
+ sendEmptyState(res);
88
157
  return;
89
158
  }
90
159
  sendEntry(res, entryPath);
@@ -1 +1 @@
1
- {"version":3,"file":"static.js","sourceRoot":"","sources":["../../src/routes/static.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAA6D;AAC7D,gDAAwB;AACxB,4CAAoB;AAEpB,4CAA+C;AAC/C,uEAAyE;AAEzE,MAAM,GAAG,GAAG,IAAA,qBAAY,EAAC,cAAc,CAAC,CAAC;AAOzC;;GAEG;AACI,MAAM,kBAAkB,GAAG,CAChC,aAAgC,EAChC,YAAoB,EACpB,UAA+B,EAAE,EACzB,EAAE;IACV,MAAM,MAAM,GAAG,IAAA,gBAAM,GAAE,CAAC;IAExB,4CAA4C;IAC5C,MAAM,QAAQ,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC;IAC7C,MAAM,aAAa,GAAG,aAAa,CAAC,gBAAgB,EAAE,CAAC;IAEvD,GAAG,CAAC,IAAI,CAAC,8BAA8B,QAAQ,EAAE,CAAC,CAAC;IACnD,GAAG,CAAC,IAAI,CAAC,eAAe,aAAa,EAAE,CAAC,CAAC;IAEzC,MAAM,SAAS,GAAG,CAAC,GAAa,EAAE,SAAiB,EAAE,EAAE;QACrD,IAAI,OAAO,CAAC,sBAAsB,EAAE,CAAC;YACnC,GAAG;iBACA,IAAI,CAAC,MAAM,CAAC;iBACZ,IAAI,CACH,IAAA,oCAAmB,EAAC,YAAE,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE;gBACtD,oBAAoB,EAAE,OAAO,CAAC,2BAA2B;aAC1D,CAAC,CACH,CAAC;YACJ,OAAO;QACT,CAAC;QACD,GAAG,CAAC,QAAQ,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IAClD,CAAC,CAAC;IAEF,0DAA0D;IAC1D,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,IAAa,EAAE,GAAa,EAAE,EAAE;QACrD,MAAM,SAAS,GAAG,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QACrD,GAAG,CAAC,KAAK,CAAC,wBAAwB,SAAS,EAAE,CAAC,CAAC;QAC/C,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9B,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACnB,KAAK,EAAE,wBAAwB;gBAC/B,OAAO,EAAE,SAAS;aACnB,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,IAAa,EAAE,GAAa,EAAE,EAAE;QACtD,MAAM,SAAS,GAAG,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QACrD,GAAG,CAAC,KAAK,CAAC,wBAAwB,SAAS,EAAE,CAAC,CAAC;QAC/C,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9B,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACnB,KAAK,EAAE,wBAAwB;gBAC/B,OAAO,EAAE,SAAS;aACnB,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,+BAA+B;IAC/B,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,iBAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEhD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AA3DW,QAAA,kBAAkB,sBA2D7B"}
1
+ {"version":3,"file":"static.js","sourceRoot":"","sources":["../../src/routes/static.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAA6D;AAC7D,gDAAwB;AACxB,4CAAoB;AAEpB,4CAA+C;AAC/C,uEAAyE;AAEzE,MAAM,GAAG,GAAG,IAAA,qBAAY,EAAC,cAAc,CAAC,CAAC;AAOzC,2EAA2E;AAC3E,MAAM,gBAAgB,GAAG,CAAC,aAAqB,EAAU,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAmEhD,aAAa;;;QAGjB,CAAC;AAET;;GAEG;AACI,MAAM,kBAAkB,GAAG,CAChC,aAAgC,EAChC,YAAoB,EACpB,UAA+B,EAAE,EACzB,EAAE;IACV,MAAM,MAAM,GAAG,IAAA,gBAAM,GAAE,CAAC;IAExB,4CAA4C;IAC5C,MAAM,QAAQ,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC;IAC7C,MAAM,aAAa,GAAG,aAAa,CAAC,gBAAgB,EAAE,CAAC;IAEvD,GAAG,CAAC,IAAI,CAAC,8BAA8B,QAAQ,EAAE,CAAC,CAAC;IACnD,GAAG,CAAC,IAAI,CAAC,eAAe,aAAa,EAAE,CAAC,CAAC;IAEzC,MAAM,SAAS,GAAG,CAAC,GAAa,EAAE,SAAiB,EAAE,EAAE;QACrD,IAAI,OAAO,CAAC,sBAAsB,EAAE,CAAC;YACnC,GAAG;iBACA,IAAI,CAAC,MAAM,CAAC;iBACZ,IAAI,CACH,IAAA,oCAAmB,EAAC,YAAE,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE;gBACtD,oBAAoB,EAAE,OAAO,CAAC,2BAA2B;aAC1D,CAAC,CACH,CAAC;YACJ,OAAO;QACT,CAAC;QACD,GAAG,CAAC,QAAQ,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IAClD,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,CAAC,GAAa,EAAE,EAAE;QACvC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAAC;IACrE,CAAC,CAAC;IAEF,0DAA0D;IAC1D,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,IAAa,EAAE,GAAa,EAAE,EAAE;QACrD,MAAM,SAAS,GAAG,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QACrD,GAAG,CAAC,KAAK,CAAC,wBAAwB,SAAS,EAAE,CAAC,CAAC;QAC/C,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9B,cAAc,CAAC,GAAG,CAAC,CAAC;YACpB,OAAO;QACT,CAAC;QACD,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,IAAa,EAAE,GAAa,EAAE,EAAE;QACtD,MAAM,SAAS,GAAG,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QACrD,GAAG,CAAC,KAAK,CAAC,wBAAwB,SAAS,EAAE,CAAC,CAAC;QAC/C,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9B,cAAc,CAAC,GAAG,CAAC,CAAC;YACpB,OAAO;QACT,CAAC;QACD,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,+BAA+B;IAC/B,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,iBAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEhD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAzDW,QAAA,kBAAkB,sBAyD7B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rivet-design",
3
- "version": "0.13.1",
3
+ "version": "0.13.3",
4
4
  "description": "Local visual web development tool with AI-powered code modification",
5
5
  "main": "dist/index.js",
6
6
  "workspaces": [
@@ -13,6 +13,7 @@
13
13
  "rivet": "./bin/rivet.js"
14
14
  },
15
15
  "scripts": {
16
+ "preinstall": "node scripts/verify-node-version.cjs",
16
17
  "build": "npm run clean && tsc && npm run build:assets && npm run build:ui && npm run build:bin",
17
18
  "build:assets": "mkdir -p dist/services/templates/designmd && cp src/services/templates/designmd/*.md dist/services/templates/designmd/",
18
19
  "build:ui": "cd src/ui && vite build",
@@ -30,6 +31,7 @@
30
31
  "format": "prettier --write .",
31
32
  "format:check": "prettier --check .",
32
33
  "test": "node --max-old-space-size=4096 ./node_modules/jest/bin/jest.js --config src/jest.config.ts",
34
+ "test:install": "yarn build && node scripts/test-host-install.mjs",
33
35
  "test:watch": "jest --config src/jest.config.ts --watch",
34
36
  "test:coverage": "jest --config src/jest.config.ts --coverage",
35
37
  "deadcode": "knip",
@@ -38,11 +40,12 @@
38
40
  "docs:sync": "node scripts/sync-external-docs.js",
39
41
  "deploy:supabase:functions": "bash scripts/deploy-supabase-functions.sh",
40
42
  "ratchet": "tsx scripts/ratchet.ts",
41
- "bench": "tsx benchmarks/bench.ts",
42
- "bench:run": "tsx benchmarks/runner.ts",
43
- "bench:review": "tsx benchmarks/review/server.ts",
44
- "bench:review:hosted": "BENCH_REVIEW_HOSTED=true BENCH_REVIEW_OPEN=false tsx benchmarks/review/server.ts --hosted",
45
- "bench:list": "tsx benchmarks/list.ts",
43
+ "bench": "node --import tsx benchmarks/bench.ts",
44
+ "bench:run": "node --import tsx benchmarks/runner.ts",
45
+ "bench:compare": "node --import tsx benchmarks/compare.ts",
46
+ "bench:review": "node --import tsx benchmarks/review/server.ts",
47
+ "bench:review:hosted": "BENCH_REVIEW_HOSTED=true BENCH_REVIEW_OPEN=false node --import tsx benchmarks/review/server.ts --hosted",
48
+ "bench:list": "node --import tsx benchmarks/list.ts",
46
49
  "smoke:cli": "node scripts/smoke-cli.mjs",
47
50
  "perf:cli": "node scripts/bench-cli.mjs",
48
51
  "check:pre-commit": "npx lint-staged && yarn build && cd src/ui && yarn typecheck && cd ../.. && cd src/proxy && yarn build && cd ../.. && cd desktop/renderer && yarn build && cd ../..",
@@ -122,6 +125,7 @@
122
125
  "dist/",
123
126
  "src/ui/dist/",
124
127
  "bin/",
128
+ "scripts/verify-node-version.cjs",
125
129
  "README.npm.md"
126
130
  ],
127
131
  "keywords": [
@@ -154,9 +158,6 @@
154
158
  "publishConfig": {
155
159
  "access": "public"
156
160
  },
157
- "engines": {
158
- "node": ">=24.0.0"
159
- },
160
161
  "prettier": {
161
162
  "printWidth": 80,
162
163
  "tabWidth": 2,
@@ -0,0 +1,52 @@
1
+ 'use strict';
2
+
3
+ const MINIMUM_NODE_VERSION = [22, 13, 0];
4
+ const MINIMUM_NODE_VERSION_LABEL = '22.13';
5
+
6
+ /** Returns comparable major, minor, and patch numbers for a Node version. */
7
+ const parseNodeVersion = (version) => {
8
+ const parts = version.replace(/^v/, '').split('.');
9
+ return MINIMUM_NODE_VERSION.map((_, index) =>
10
+ Number.parseInt(parts[index] ?? '', 10),
11
+ );
12
+ };
13
+
14
+ /** Throws an actionable install error when `version` cannot run Rivet. */
15
+ const assertSupportedNodeVersion = (version) => {
16
+ const parsedVersion = parseNodeVersion(version);
17
+ const firstDifferenceIndex = parsedVersion.findIndex(
18
+ (part, index) => part !== MINIMUM_NODE_VERSION[index],
19
+ );
20
+ const isValid = parsedVersion.every(Number.isInteger);
21
+ const isSupported =
22
+ isValid &&
23
+ (firstDifferenceIndex === -1 ||
24
+ parsedVersion[firstDifferenceIndex] >
25
+ MINIMUM_NODE_VERSION[firstDifferenceIndex]);
26
+
27
+ if (!isSupported) {
28
+ throw new Error(
29
+ `Rivet requires Node.js ${MINIMUM_NODE_VERSION_LABEL} or newer. ` +
30
+ `Current version: ${version}. Upgrade Node.js, then install ` +
31
+ '`rivet-design@latest` again.',
32
+ );
33
+ }
34
+ };
35
+
36
+ /** @effect Reports an unsupported runtime and fails the package install. */
37
+ const verifyCurrentNodeVersion = () => {
38
+ try {
39
+ assertSupportedNodeVersion(globalThis.process.versions.node);
40
+ } catch (error) {
41
+ globalThis.console.error(
42
+ `\n${error instanceof Error ? error.message : String(error)}\n`,
43
+ );
44
+ globalThis.process.exitCode = 1;
45
+ }
46
+ };
47
+
48
+ if (require.main === module) {
49
+ verifyCurrentNodeVersion();
50
+ }
51
+
52
+ module.exports = { assertSupportedNodeVersion };