@pentoshi/clai 3.11.14 → 3.11.16

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.
@@ -0,0 +1,93 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Postinstall script for @pentoshi/clai.
4
+ * Automatically checks for Bun (required by OpenTUI) and installs it into
5
+ * ~/.clai/bin/bun across Linux, macOS, and Windows if missing.
6
+ */
7
+ import { spawnSync } from "node:child_process";
8
+ import { accessSync, chmodSync, constants, existsSync, mkdirSync } from "node:fs";
9
+ import { homedir } from "node:os";
10
+ import { delimiter, join } from "node:path";
11
+
12
+ function findBun() {
13
+ const binName = process.platform === "win32" ? "bun.exe" : "bun";
14
+ const fromEnv = process.env.BUN_INSTALL
15
+ ? join(process.env.BUN_INSTALL, "bin", binName)
16
+ : undefined;
17
+ const targetDir = join(homedir(), ".clai");
18
+ const candidates = [
19
+ fromEnv,
20
+ join(targetDir, "bin", binName),
21
+ join(homedir(), ".bun", "bin", binName),
22
+ ...(process.env.PATH ?? "")
23
+ .split(delimiter)
24
+ .filter(Boolean)
25
+ .map((dir) => join(dir, binName)),
26
+ ].filter(Boolean);
27
+
28
+ const checkMode = process.platform === "win32" ? constants.F_OK : constants.X_OK;
29
+
30
+ for (const path of candidates) {
31
+ try {
32
+ accessSync(path, checkMode);
33
+ return path;
34
+ } catch {
35
+ // try next
36
+ }
37
+ }
38
+ return undefined;
39
+ }
40
+
41
+ if (!findBun() && process.env.CLAI_NO_BUN_AUTO_INSTALL !== "1") {
42
+ const targetDir = join(homedir(), ".clai");
43
+ const binName = process.platform === "win32" ? "bun.exe" : "bun";
44
+ const targetBin = join(targetDir, "bin", binName);
45
+
46
+ mkdirSync(join(targetDir, "bin"), { recursive: true });
47
+
48
+ const env = {
49
+ ...process.env,
50
+ BUN_INSTALL: targetDir,
51
+ };
52
+
53
+ console.log("Setting up Bun runtime for OpenTUI (~/.clai/bin)...");
54
+ try {
55
+ if (process.platform === "win32") {
56
+ spawnSync(
57
+ "powershell",
58
+ [
59
+ "-NoProfile",
60
+ "-ExecutionPolicy",
61
+ "Bypass",
62
+ "-Command",
63
+ "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; irm https://bun.sh/install.ps1 | iex",
64
+ ],
65
+ { env, stdio: "inherit", windowsHide: true },
66
+ );
67
+ } else {
68
+ const res = spawnSync(
69
+ "sh",
70
+ ["-c", "curl -fsSL https://bun.sh/install | bash"],
71
+ { env, stdio: "inherit" },
72
+ );
73
+
74
+ if (res.status !== 0) {
75
+ spawnSync(
76
+ "sh",
77
+ ["-c", "wget -qO- https://bun.sh/install | bash"],
78
+ { env, stdio: "inherit" },
79
+ );
80
+ }
81
+ }
82
+
83
+ if (existsSync(targetBin) && process.platform !== "win32") {
84
+ try {
85
+ chmodSync(targetBin, 0o755);
86
+ } catch {
87
+ // ignore
88
+ }
89
+ }
90
+ } catch (err) {
91
+ console.warn("Notice: Automatic Bun setup skipped or failed:", err?.message || err);
92
+ }
93
+ }
@@ -3,8 +3,10 @@
3
3
  * Prefer re-exec under Bun when available; otherwise fall back with a clear hint.
4
4
  */
5
5
  export declare function isBunRuntime(): boolean;
6
- /** Resolve `bun` on PATH (cross-platform). */
6
+ /** Resolve `bun` on PATH or local clai/bun bin dirs (cross-platform). */
7
7
  export declare function findBunExecutable(): string | undefined;
8
+ /** Automatically install Bun into ~/.clai/bin if missing (cross-platform). */
9
+ export declare function autoInstallBun(): string | undefined;
8
10
  export declare function openTuiRuntimeHint(): string;
9
11
  /**
10
12
  * If we are not already under Bun, re-launch this process with Bun using the
@@ -3,26 +3,33 @@
3
3
  * Prefer re-exec under Bun when available; otherwise fall back with a clear hint.
4
4
  */
5
5
  import { spawnSync } from "node:child_process";
6
- import { accessSync, constants } from "node:fs";
6
+ import { accessSync, chmodSync, constants, existsSync } from "node:fs";
7
7
  import { delimiter, join } from "node:path";
8
+ import { homedir } from "node:os";
8
9
  export function isBunRuntime() {
9
10
  return typeof globalThis.Bun !== "undefined";
10
11
  }
11
- /** Resolve `bun` on PATH (cross-platform). */
12
+ /** Resolve `bun` on PATH or local clai/bun bin dirs (cross-platform). */
12
13
  export function findBunExecutable() {
14
+ const binName = process.platform === "win32" ? "bun.exe" : "bun";
13
15
  const fromEnv = process.env.BUN_INSTALL
14
- ? join(process.env.BUN_INSTALL, "bin", process.platform === "win32" ? "bun.exe" : "bun")
16
+ ? join(process.env.BUN_INSTALL, "bin", binName)
15
17
  : undefined;
18
+ const claiBin = join(homedir(), ".clai", "bin", binName);
19
+ const bunHomeBin = join(homedir(), ".bun", "bin", binName);
16
20
  const candidates = [
17
21
  fromEnv,
22
+ claiBin,
23
+ bunHomeBin,
18
24
  ...(process.env.PATH ?? "")
19
25
  .split(delimiter)
20
26
  .filter(Boolean)
21
- .map((dir) => join(dir, process.platform === "win32" ? "bun.exe" : "bun")),
27
+ .map((dir) => join(dir, binName)),
22
28
  ].filter((p) => Boolean(p));
29
+ const checkMode = process.platform === "win32" ? constants.F_OK : constants.X_OK;
23
30
  for (const path of candidates) {
24
31
  try {
25
- accessSync(path, constants.X_OK);
32
+ accessSync(path, checkMode);
26
33
  return path;
27
34
  }
28
35
  catch {
@@ -31,6 +38,51 @@ export function findBunExecutable() {
31
38
  }
32
39
  return undefined;
33
40
  }
41
+ /** Automatically install Bun into ~/.clai/bin if missing (cross-platform). */
42
+ export function autoInstallBun() {
43
+ if (process.env.CLAI_NO_BUN_AUTO_INSTALL === "1")
44
+ return undefined;
45
+ const targetDir = join(homedir(), ".clai");
46
+ const binName = process.platform === "win32" ? "bun.exe" : "bun";
47
+ const targetBin = join(targetDir, "bin", binName);
48
+ const env = {
49
+ ...process.env,
50
+ BUN_INSTALL: targetDir,
51
+ };
52
+ console.log(" [clai] Setting up Bun runtime for OpenTUI (~/.clai/bin)...");
53
+ try {
54
+ if (process.platform === "win32") {
55
+ spawnSync("powershell", [
56
+ "-NoProfile",
57
+ "-ExecutionPolicy",
58
+ "Bypass",
59
+ "-Command",
60
+ "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; irm https://bun.sh/install.ps1 | iex",
61
+ ], { env, stdio: "inherit", windowsHide: true });
62
+ }
63
+ else {
64
+ const res = spawnSync("sh", ["-c", "curl -fsSL https://bun.sh/install | bash"], { env, stdio: "inherit" });
65
+ if (res.status !== 0) {
66
+ spawnSync("sh", ["-c", "wget -qO- https://bun.sh/install | bash"], { env, stdio: "inherit" });
67
+ }
68
+ }
69
+ if (existsSync(targetBin)) {
70
+ if (process.platform !== "win32") {
71
+ try {
72
+ chmodSync(targetBin, 0o755);
73
+ }
74
+ catch {
75
+ // ignore
76
+ }
77
+ }
78
+ return targetBin;
79
+ }
80
+ }
81
+ catch {
82
+ // try fallback check below
83
+ }
84
+ return findBunExecutable();
85
+ }
34
86
  export function openTuiRuntimeHint() {
35
87
  return [
36
88
  "OpenTUI needs the Bun runtime (Node/tsx cannot load the native renderer).",
@@ -55,7 +107,10 @@ export function reexecWithBunIfNeeded(entryPath) {
55
107
  return false;
56
108
  if (process.env.CLAI_FORCE_NODE === "1")
57
109
  return false;
58
- const bun = findBunExecutable();
110
+ let bun = findBunExecutable();
111
+ if (!bun && process.stdout.isTTY) {
112
+ bun = autoInstallBun();
113
+ }
59
114
  if (!bun)
60
115
  return false;
61
116
  if (!entryPath)
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/tui/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/tui/runtime.ts"],"names":[],"mappings":"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"}
@@ -2,5 +2,5 @@
2
2
  * AUTO-GENERATED by scripts/sync-version.mjs — do not edit by hand.
3
3
  * Source of truth: package.json "version".
4
4
  */
5
- export declare const VERSION: "3.11.14";
6
- export declare const VERSION_TAG: "v3.11.14";
5
+ export declare const VERSION: "3.11.16";
6
+ export declare const VERSION_TAG: "v3.11.16";
@@ -2,6 +2,6 @@
2
2
  * AUTO-GENERATED by scripts/sync-version.mjs — do not edit by hand.
3
3
  * Source of truth: package.json "version".
4
4
  */
5
- export const VERSION = "3.11.14";
6
- export const VERSION_TAG = "v3.11.14";
5
+ export const VERSION = "3.11.16";
6
+ export const VERSION_TAG = "v3.11.16";
7
7
  //# sourceMappingURL=version.generated.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pentoshi/clai",
3
- "version": "3.11.14",
3
+ "version": "3.11.16",
4
4
  "description": "A fast, cross-platform AI CLI assistant with ask and agent modes for shell tasks, file operations, and cybersecurity workflows.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -46,6 +46,7 @@
46
46
  "prepublishOnly": "npm run build",
47
47
  "precompile": "node scripts/sync-version.mjs",
48
48
  "compile": "node scripts/embed-prompts.mjs && bun run scripts/build.ts",
49
+ "postinstall": "node bin/postinstall.mjs",
49
50
  "install:opentui-platforms": "node scripts/install-opentui-platforms.mjs",
50
51
  "typecheck": "tsc -p tsconfig.json --noEmit",
51
52
  "pretest": "node scripts/sync-version.mjs",