@vetala/vetala 0.3.2-dev → 0.3.3-dev

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
@@ -27,6 +27,13 @@ Current provider support includes Sarvam AI and OpenRouter.
27
27
 
28
28
  ## Patch Notes
29
29
 
30
+ ### v0.3.3-dev
31
+
32
+ - **Cross-Platform TUI Packaging**: npm packages now bundle prebuilt TUI binaries for `linux`, `darwin`, and `win32` on `x64` and `arm64`, with the CLI selecting the matching binary at runtime.
33
+ - **Installed Backend Launcher Fix**: The bundled Go TUI now resolves the package root correctly and starts the compiled backend from `dist/src/ipc-backend.js` in published installs.
34
+ - **Dev Fallback Retained**: Source checkouts still fall back to `npx tsx src/ipc-backend.ts` when the compiled backend is unavailable.
35
+ - **Release Guardrails**: Added Go-side launcher tests, release-time cross-build coverage, and installed-package smoke checks so packaged installs keep working.
36
+
30
37
  ### v0.3.2-dev
31
38
 
32
39
  - **Bundled TUI Packaging Fix**: Published installs now include the `tui/vetala` binary required by the global `vetala` launcher.
@@ -51,7 +58,7 @@ Current provider support includes Sarvam AI and OpenRouter.
51
58
 
52
59
  Vetala is currently tested on Linux.
53
60
 
54
- Windows and macOS have not been validated yet.
61
+ Published npm installs bundle prebuilt TUI binaries for Linux, macOS, and Windows on `x64` and `arm64`, but macOS and Windows should still be treated as early-support targets until they receive broader validation.
55
62
 
56
63
  ## Installation
57
64
 
@@ -62,14 +69,19 @@ npm install -g @vetala/vetala
62
69
  vetala
63
70
  ```
64
71
 
72
+ The published npm package bundles the TUI binary for supported targets, so end users do not need Go for a normal install.
73
+
65
74
  ### Local development install
66
75
 
67
76
  ```bash
68
77
  npm install
78
+ npm run build:tui
69
79
  npm link
70
80
  vetala
71
81
  ```
72
82
 
83
+ `npm run build:tui` is only needed for source checkouts and requires Go.
84
+
73
85
  The package is published as `@vetala/vetala` and exposes a global `vetala` binary through `package.json`.
74
86
 
75
87
  ## Getting Started
@@ -1,3 +1,3 @@
1
1
  export declare const APP_NAME = "Vetala";
2
- export declare const APP_VERSION = "0.3.2-dev";
2
+ export declare const APP_VERSION = "0.3.3-dev";
3
3
  export declare const APP_TAGLINE = "multi-provider coding cli";
@@ -1,4 +1,4 @@
1
1
  export const APP_NAME = "Vetala";
2
- export const APP_VERSION = "0.3.2-dev";
2
+ export const APP_VERSION = "0.3.3-dev";
3
3
  export const APP_TAGLINE = "multi-provider coding cli";
4
4
  //# sourceMappingURL=app-meta.js.map
package/dist/src/cli.js CHANGED
@@ -13,6 +13,7 @@ import { SessionStore } from "./session-store.js";
13
13
  import { SkillRuntime } from "./skills/runtime.js";
14
14
  import { TerminalUI } from "./terminal-ui.js";
15
15
  import { createToolRegistry } from "./tools/index.js";
16
+ import { formatSupportedTuiTargets, resolveBundledTuiBinaryCandidates } from "./tui-binary.js";
16
17
  import { ensureWorkspaceTrust } from "./workspace-trust.js";
17
18
  const program = new Command();
18
19
  program
@@ -66,14 +67,21 @@ program
66
67
  await runOneShot(options.prompt, session, config, store, ui, runtimeProfile);
67
68
  return;
68
69
  }
69
- // The TUI binary is built in the tui/ subdirectory relative to the project root
70
- const tuiBin = join(projectRoot, "tui", "vetala");
71
- const missingTuiMessage = `Vetala could not find its bundled TUI binary at ${tuiBin}.\n` +
72
- "This install is incomplete. Reinstall a package that includes `tui/vetala`, or run `npm run dev` from a repo checkout.";
73
- try {
74
- await access(tuiBin, constants.X_OK);
70
+ const requiredAccess = process.platform === "win32" ? constants.F_OK : constants.X_OK;
71
+ const tuiResolution = resolveBundledTuiBinaryCandidates(projectRoot);
72
+ const missingTuiMessage = buildMissingTuiMessage(tuiResolution);
73
+ let tuiBin = null;
74
+ for (const candidate of tuiResolution.candidates) {
75
+ try {
76
+ await access(candidate, requiredAccess);
77
+ tuiBin = candidate;
78
+ break;
79
+ }
80
+ catch {
81
+ // Try the next packaged or local-dev fallback candidate.
82
+ }
75
83
  }
76
- catch {
84
+ if (!tuiBin) {
77
85
  throw new Error(missingTuiMessage);
78
86
  }
79
87
  const tuiProcess = spawn(tuiBin, ["--workspace", session.workspaceRoot], {
@@ -135,4 +143,23 @@ async function runOneShot(prompt, session, config, store, ui, runtimeProfile) {
135
143
  function resolveProviderOption(value) {
136
144
  return resolveProviderName(value);
137
145
  }
146
+ function buildMissingTuiMessage(resolution) {
147
+ const checked = resolution.candidates.map((candidate) => `- ${candidate}`).join("\n");
148
+ if (!resolution.supported) {
149
+ return [
150
+ `Vetala does not currently bundle a TUI binary for ${process.platform}/${process.arch}.`,
151
+ `Supported targets: ${formatSupportedTuiTargets()}.`,
152
+ "Checked these local fallback paths:",
153
+ checked,
154
+ "Reinstall a supported package build, run `npm run dev`, or build the TUI manually from a repo checkout."
155
+ ].join("\n");
156
+ }
157
+ return [
158
+ `Vetala could not find its bundled TUI binary for ${process.platform}/${process.arch}.`,
159
+ `Expected package file: ${resolution.preferredRelativePath}.`,
160
+ "Checked these paths:",
161
+ checked,
162
+ "This install is incomplete. Reinstall a package that includes the platform-specific TUI binary, or run `npm run dev` from a repo checkout."
163
+ ].join("\n");
164
+ }
138
165
  //# sourceMappingURL=cli.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export declare const BUNDLED_TUI_FILES: string[];
2
+ export declare function resolveBundledTuiFileName(platform: string, arch: string): string | null;
3
+ export declare function resolveBundledTuiBinaryCandidates(projectRoot: string, platform?: string, arch?: string): {
4
+ preferredRelativePath: string | null;
5
+ candidates: string[];
6
+ supported: boolean;
7
+ };
8
+ export declare function formatSupportedTuiTargets(): string;
@@ -0,0 +1,32 @@
1
+ import path from "node:path";
2
+ const TUI_TARGETS = [
3
+ { platform: "linux", arch: "x64", fileName: "vetala-linux-x64" },
4
+ { platform: "linux", arch: "arm64", fileName: "vetala-linux-arm64" },
5
+ { platform: "darwin", arch: "x64", fileName: "vetala-darwin-x64" },
6
+ { platform: "darwin", arch: "arm64", fileName: "vetala-darwin-arm64" },
7
+ { platform: "win32", arch: "x64", fileName: "vetala-win32-x64.exe" },
8
+ { platform: "win32", arch: "arm64", fileName: "vetala-win32-arm64.exe" }
9
+ ];
10
+ export const BUNDLED_TUI_FILES = TUI_TARGETS.map((target) => path.posix.join("tui", target.fileName));
11
+ export function resolveBundledTuiFileName(platform, arch) {
12
+ const target = TUI_TARGETS.find((candidate) => candidate.platform === platform && candidate.arch === arch);
13
+ return target?.fileName ?? null;
14
+ }
15
+ export function resolveBundledTuiBinaryCandidates(projectRoot, platform = process.platform, arch = process.arch) {
16
+ const preferredFileName = resolveBundledTuiFileName(platform, arch);
17
+ const legacyCandidates = platform === "win32"
18
+ ? [path.join(projectRoot, "tui", "vetala.exe"), path.join(projectRoot, "tui", "vetala")]
19
+ : [path.join(projectRoot, "tui", "vetala")];
20
+ const candidates = preferredFileName
21
+ ? [path.join(projectRoot, "tui", preferredFileName), ...legacyCandidates]
22
+ : legacyCandidates;
23
+ return {
24
+ preferredRelativePath: preferredFileName ? path.posix.join("tui", preferredFileName) : null,
25
+ candidates: [...new Set(candidates)],
26
+ supported: preferredFileName !== null
27
+ };
28
+ }
29
+ export function formatSupportedTuiTargets() {
30
+ return TUI_TARGETS.map((target) => `${target.platform}/${target.arch}`).join(", ");
31
+ }
32
+ //# sourceMappingURL=tui-binary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tui-binary.js","sourceRoot":"","sources":["../../src/tui-binary.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAW7B,MAAM,WAAW,GAAgB;IAC/B,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAE;IAChE,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,oBAAoB,EAAE;IACpE,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,mBAAmB,EAAE;IAClE,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,qBAAqB,EAAE;IACtE,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,sBAAsB,EAAE;IACpE,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,wBAAwB,EAAE;CACzE,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;AAEtG,MAAM,UAAU,yBAAyB,CAAC,QAAgB,EAAE,IAAY;IACtE,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,KAAK,QAAQ,IAAI,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IAC3G,OAAO,MAAM,EAAE,QAAQ,IAAI,IAAI,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,iCAAiC,CAC/C,WAAmB,EACnB,WAAmB,OAAO,CAAC,QAAQ,EACnC,OAAe,OAAO,CAAC,IAAI;IAM3B,MAAM,iBAAiB,GAAG,yBAAyB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACpE,MAAM,gBAAgB,GACpB,QAAQ,KAAK,OAAO;QAClB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,YAAY,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QACxF,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,iBAAiB;QAClC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,iBAAiB,CAAC,EAAE,GAAG,gBAAgB,CAAC;QACzE,CAAC,CAAC,gBAAgB,CAAC;IAErB,OAAO;QACL,qBAAqB,EAAE,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI;QAC3F,UAAU,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;QACpC,SAAS,EAAE,iBAAiB,KAAK,IAAI;KACtC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB;IACvC,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vetala/vetala",
3
- "version": "0.3.2-dev",
3
+ "version": "0.3.3-dev",
4
4
  "type": "module",
5
5
  "license": "Apache-2.0",
6
6
  "description": "Terminal-first AI coding CLI with tools, memory, and local skills.",
@@ -30,7 +30,12 @@
30
30
  },
31
31
  "files": [
32
32
  "dist/src",
33
- "tui/vetala",
33
+ "tui/vetala-linux-x64",
34
+ "tui/vetala-linux-arm64",
35
+ "tui/vetala-darwin-x64",
36
+ "tui/vetala-darwin-arm64",
37
+ "tui/vetala-win32-x64.exe",
38
+ "tui/vetala-win32-arm64.exe",
34
39
  "skill",
35
40
  "README.md",
36
41
  "CONTRIBUTING.md",
@@ -43,10 +48,14 @@
43
48
  },
44
49
  "scripts": {
45
50
  "build": "tsc -p tsconfig.json",
51
+ "build:tui": "node scripts/build-tui.mjs",
52
+ "build:tui:all": "node scripts/build-tui.mjs --all",
46
53
  "check": "tsc --noEmit -p tsconfig.json",
47
54
  "dev": "tsx src/cli.ts",
55
+ "prepack": "npm run build:tui:all",
48
56
  "prepare": "npm run build",
49
- "test": "node --test --import tsx test/**/*.ts"
57
+ "test": "node --test --import tsx test/**/*.ts && npm run test:tui",
58
+ "test:tui": "cd tui && go test ."
50
59
  },
51
60
  "dependencies": {
52
61
  "@lydell/node-pty": "^1.2.0-beta.3",
Binary file
Binary file
Binary file
index d0c96aa..763c244 100755
Binary file
Binary file
Binary file