@vetala/vetala 0.3.1-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 +19 -1
- package/dist/src/app-meta.d.ts +1 -1
- package/dist/src/app-meta.js +1 -1
- package/dist/src/cli.js +47 -3
- package/dist/src/cli.js.map +1 -1
- package/dist/src/tui-binary.d.ts +8 -0
- package/dist/src/tui-binary.js +32 -0
- package/dist/src/tui-binary.js.map +1 -0
- package/package.json +13 -3
- package/tui/vetala-darwin-arm64 +0 -0
- package/tui/vetala-darwin-x64 +0 -0
- package/tui/vetala-linux-arm64 +0 -0
- package/tui/vetala-linux-x64 +0 -0
- package/tui/vetala-win32-arm64.exe +0 -0
- package/tui/vetala-win32-x64.exe +0 -0
package/README.md
CHANGED
|
@@ -27,6 +27,19 @@ 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
|
+
|
|
37
|
+
### v0.3.2-dev
|
|
38
|
+
|
|
39
|
+
- **Bundled TUI Packaging Fix**: Published installs now include the `tui/vetala` binary required by the global `vetala` launcher.
|
|
40
|
+
- **Clearer Startup Failure**: The CLI now reports an explicit install error when the bundled TUI binary is missing instead of crashing with an unhandled `ENOENT`.
|
|
41
|
+
- **Packaging Regression Coverage**: Added a regression test to keep the packaged file list and app version metadata in sync.
|
|
42
|
+
|
|
30
43
|
### v0.3.1-dev
|
|
31
44
|
|
|
32
45
|
- **Improved Search Matching**: Fixed a bug in `search_repo` glob matching to correctly handle nested directory patterns and absolute paths.
|
|
@@ -45,7 +58,7 @@ Current provider support includes Sarvam AI and OpenRouter.
|
|
|
45
58
|
|
|
46
59
|
Vetala is currently tested on Linux.
|
|
47
60
|
|
|
48
|
-
Windows and macOS
|
|
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.
|
|
49
62
|
|
|
50
63
|
## Installation
|
|
51
64
|
|
|
@@ -56,14 +69,19 @@ npm install -g @vetala/vetala
|
|
|
56
69
|
vetala
|
|
57
70
|
```
|
|
58
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
|
+
|
|
59
74
|
### Local development install
|
|
60
75
|
|
|
61
76
|
```bash
|
|
62
77
|
npm install
|
|
78
|
+
npm run build:tui
|
|
63
79
|
npm link
|
|
64
80
|
vetala
|
|
65
81
|
```
|
|
66
82
|
|
|
83
|
+
`npm run build:tui` is only needed for source checkouts and requires Go.
|
|
84
|
+
|
|
67
85
|
The package is published as `@vetala/vetala` and exposes a global `vetala` binary through `package.json`.
|
|
68
86
|
|
|
69
87
|
## Getting Started
|
package/dist/src/app-meta.d.ts
CHANGED
package/dist/src/app-meta.js
CHANGED
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
|
|
@@ -26,7 +27,8 @@ program
|
|
|
26
27
|
.option("--model <model>", "Override the model for this run")
|
|
27
28
|
.action(async (options) => {
|
|
28
29
|
const { spawn } = await import("node:child_process");
|
|
29
|
-
const {
|
|
30
|
+
const { constants } = await import("node:fs");
|
|
31
|
+
const { access, readFile } = await import("node:fs/promises");
|
|
30
32
|
const { join } = await import("node:path");
|
|
31
33
|
const { fileURLToPath } = await import("node:url");
|
|
32
34
|
const { default: updateNotifier } = await import("update-notifier");
|
|
@@ -65,11 +67,34 @@ program
|
|
|
65
67
|
await runOneShot(options.prompt, session, config, store, ui, runtimeProfile);
|
|
66
68
|
return;
|
|
67
69
|
}
|
|
68
|
-
|
|
69
|
-
const
|
|
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
|
+
}
|
|
83
|
+
}
|
|
84
|
+
if (!tuiBin) {
|
|
85
|
+
throw new Error(missingTuiMessage);
|
|
86
|
+
}
|
|
70
87
|
const tuiProcess = spawn(tuiBin, ["--workspace", session.workspaceRoot], {
|
|
71
88
|
stdio: "inherit"
|
|
72
89
|
});
|
|
90
|
+
tuiProcess.on("error", (error) => {
|
|
91
|
+
if (error.code === "ENOENT") {
|
|
92
|
+
console.error(missingTuiMessage);
|
|
93
|
+
process.exit(1);
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
throw error;
|
|
97
|
+
});
|
|
73
98
|
tuiProcess.on("close", (code) => {
|
|
74
99
|
process.exit(code ?? 0);
|
|
75
100
|
});
|
|
@@ -118,4 +143,23 @@ async function runOneShot(prompt, session, config, store, ui, runtimeProfile) {
|
|
|
118
143
|
function resolveProviderOption(value) {
|
|
119
144
|
return resolveProviderName(value);
|
|
120
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
|
+
}
|
|
121
165
|
//# sourceMappingURL=cli.js.map
|
package/dist/src/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,QAAQ,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;
|
|
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.
|
|
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,6 +30,12 @@
|
|
|
30
30
|
},
|
|
31
31
|
"files": [
|
|
32
32
|
"dist/src",
|
|
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",
|
|
33
39
|
"skill",
|
|
34
40
|
"README.md",
|
|
35
41
|
"CONTRIBUTING.md",
|
|
@@ -42,10 +48,14 @@
|
|
|
42
48
|
},
|
|
43
49
|
"scripts": {
|
|
44
50
|
"build": "tsc -p tsconfig.json",
|
|
51
|
+
"build:tui": "node scripts/build-tui.mjs",
|
|
52
|
+
"build:tui:all": "node scripts/build-tui.mjs --all",
|
|
45
53
|
"check": "tsc --noEmit -p tsconfig.json",
|
|
46
54
|
"dev": "tsx src/cli.ts",
|
|
55
|
+
"prepack": "npm run build:tui:all",
|
|
47
56
|
"prepare": "npm run build",
|
|
48
|
-
"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 ."
|
|
49
59
|
},
|
|
50
60
|
"dependencies": {
|
|
51
61
|
"@lydell/node-pty": "^1.2.0-beta.3",
|
|
@@ -62,4 +72,4 @@
|
|
|
62
72
|
"tsx": "^4.20.5",
|
|
63
73
|
"typescript": "^5.8.2"
|
|
64
74
|
}
|
|
65
|
-
}
|
|
75
|
+
}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|