@rayu-dev/rayu-cli 1.2.12 → 1.2.14

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rayu-dev/rayu-cli",
3
- "version": "1.2.12",
3
+ "version": "1.2.14",
4
4
  "description": "Rayu-CLI — a multi-provider AI coding CLI",
5
5
  "type": "module",
6
6
  "bin": {
@@ -18,6 +18,7 @@
18
18
  "dev": "bun run src/entrypoints/cli.tsx",
19
19
  "build": "bun run scripts/build.ts",
20
20
  "build:binaries": "bun run scripts/build-binaries.ts",
21
+ "build-native": "bun run scripts/build-native.ts",
21
22
  "build:packages": "bun run scripts/build-packages.ts",
22
23
  "package": "bun run scripts/build-binaries.ts",
23
24
  "typecheck": "tsc --noEmit",
@@ -42,6 +43,7 @@
42
43
  "@aws-sdk/client-bedrock-runtime": "^3.1057.0",
43
44
  "@aws-sdk/client-sts": "^3.1057.0",
44
45
  "@commander-js/extra-typings": "12",
46
+ "@google/genai": "2.8.0",
45
47
  "@growthbook/growthbook": "^1.6.5",
46
48
  "@modelcontextprotocol/sdk": "^1.29.0",
47
49
  "@opentelemetry/api": "^1.9.1",
@@ -33,16 +33,26 @@ function writeMarker() {
33
33
  } catch (_) {}
34
34
  }
35
35
 
36
- // npm v7+ pipes lifecycle script stdout/stderr, so we open /dev/tty directly
37
- // to write straight to the user's terminal (proven to work with PTY parent).
36
+ // npm v7+ pipes lifecycle script stdout/stderr, so we open the terminal
37
+ // device directly to write straight to the user's terminal.
38
+ // On Unix: /dev/tty, on Windows: CON
39
+ const isWindows = process.platform === 'win32';
40
+ const ttyDevice = isWindows ? 'CON' : '/dev/tty';
41
+
38
42
  try {
39
- const fd = fs.openSync('/dev/tty', 'w');
43
+ const fd = fs.openSync(ttyDevice, 'w');
40
44
  fs.writeSync(fd, message);
41
45
  fs.closeSync(fd);
42
46
  // Postinstall showed the message — mark as done so binary skips it
43
47
  writeMarker();
44
48
  } catch (_) {
45
- // No controlling terminal (CI, Docker, Windows) — fall through.
46
- // The binary will show the message on the user's first rayu run instead.
47
- process.stdout.write(message);
49
+ // No controlling terminal (CI, Docker, headless) — fall through.
50
+ // Write to stdout as best-effort, and still write the marker so the
51
+ // binary doesn't try to show it again in a non-interactive context.
52
+ try {
53
+ process.stdout.write(message);
54
+ } catch (_e) {
55
+ // stdout may be closed in some CI environments
56
+ }
57
+ writeMarker();
48
58
  }