@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 +13 -1
- package/dist/src/app-meta.d.ts +1 -1
- package/dist/src/app-meta.js +1 -1
- package/dist/src/cli.js +34 -7
- 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 +12 -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 → 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,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
|
|
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
|
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
|
|
@@ -66,14 +67,21 @@ program
|
|
|
66
67
|
await runOneShot(options.prompt, session, config, store, ui, runtimeProfile);
|
|
67
68
|
return;
|
|
68
69
|
}
|
|
69
|
-
|
|
70
|
-
const
|
|
71
|
-
const missingTuiMessage =
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
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
|
-
|
|
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
|
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":";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;AACtD,OAAO,EAAE,yBAAyB,EAAE,iCAAiC,EAAE,MAAM,iBAAiB,CAAC;AAE/F,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE5D,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,QAAQ,CAAC;KACd,OAAO,CAAC,WAAW,CAAC;KACpB,WAAW,CAAC,4BAA4B,CAAC;KACzC,MAAM,CAAC,uBAAuB,EAAE,8BAA8B,CAAC;KAC/D,MAAM,CAAC,OAAO,EAAE,uBAAuB,CAAC;KACxC,MAAM,CAAC,sBAAsB,EAAE,2BAA2B,CAAC;KAC3D,MAAM,CAAC,uBAAuB,EAAE,oCAAoC,CAAC;KACrE,MAAM,CAAC,iBAAiB,EAAE,iCAAiC,CAAC;KAC5D,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;IACrD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;IAC9C,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAC9D,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;IAC3C,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;IACnD,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAEpE,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC1C,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC/D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IAElF,cAAc,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;IAEjC,IAAI,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;IAChC,MAAM,cAAc,GAAG,wBAAwB,EAAE,CAAC;IAClD,MAAM,EAAE,GAAG,IAAI,UAAU,CAAC,cAAc,CAAC,CAAC;IAC1C,MAAM,KAAK,GAAG,IAAI,YAAY,EAAE,CAAC;IACjC,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IACpC,IAAI,OAAO,GAAG,MAAM,cAAc,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAE/G,IAAI,OAAO,CAAC,aAAa,KAAK,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;QAC5C,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACjE,IAAI,OAAO,CAAC,QAAQ,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,qBAAqB,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,gBAAgB,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QACtC,MAAM,YAAY,GAAG,gBAAgB,IAAI,OAAO,CAAC,QAAQ,CAAC;QAC1D,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC;QAE/E,IAAI,YAAY,KAAK,OAAO,CAAC,QAAQ,IAAI,SAAS,KAAK,OAAO,CAAC,KAAK,EAAE,CAAC;YACrE,MAAM,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,aAAa,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QAEpF,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QAED,MAAM,GAAG,aAAa,CAAC;QACvB,MAAM,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,cAAc,CAAC,CAAC;QAC7E,OAAO;IACT,CAAC;IAED,MAAM,cAAc,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC;IACtF,MAAM,aAAa,GAAG,iCAAiC,CAAC,WAAW,CAAC,CAAC;IACrE,MAAM,iBAAiB,GAAG,sBAAsB,CAAC,aAAa,CAAC,CAAC;IAChE,IAAI,MAAM,GAAkB,IAAI,CAAC;IAEjC,KAAK,MAAM,SAAS,IAAI,aAAa,CAAC,UAAU,EAAE,CAAC;QACjD,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;YACxC,MAAM,GAAG,SAAS,CAAC;YACnB,MAAM;QACR,CAAC;QAAC,MAAM,CAAC;YACP,yDAAyD;QAC3D,CAAC;IACH,CAAC;IAED,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,aAAa,EAAE,OAAO,CAAC,aAAa,CAAC,EAAE;QACvE,KAAK,EAAE,SAAS;KACjB,CAAC,CAAC;IAEH,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;QAC/B,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACvD,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YACjC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAChB,OAAO;QACT,CAAC;QAED,MAAM,KAAK,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;QAC9B,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAEvC,KAAK,UAAU,cAAc,CAC3B,KAAmB,EACnB,aAAqB,EACrB,eAA6B,EAC7B,YAAoB,EACpB,OAA2C;IAE3C,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,KAAK,CAAC,aAAa,CAAC,aAAa,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC;AAC3E,CAAC;AAED,KAAK,UAAU,UAAU,CACvB,MAAc,EACd,OAAqB,EACrB,MAA8C,EAC9C,KAAmB,EACnB,EAAc,EACd,cAA2D;IAE3D,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK;QACpB,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC;YACzB,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,CAAC,CAAC,IAAI,CAAC;IAET,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,IAAI,eAAe,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC7G,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC;YAC9B,UAAU,EAAE,GAAG,EAAE,CAAC,OAAO;YACzB,YAAY,EAAE,KAAK;SACpB,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC;YACtB,MAAM;YACN,OAAO;YACP,YAAY,EAAE,KAAK;YACnB,SAAS;YACT,UAAU,EAAE,IAAI,UAAU,CAAC,OAAO,CAAC,aAAa,EAAE,SAAS,CAAC;YAC5D,cAAc;YACd,MAAM;YACN,KAAK,EAAE,kBAAkB,CAAC;gBACxB,gBAAgB,EAAE,MAAM,CAAC,kBAAkB,KAAK,UAAU;gBAC1D,YAAY,EAAE,MAAM;aACrB,CAAC;YACF,EAAE;SACH,CAAC,CAAC;QAEH,MAAM,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;YAAS,CAAC;QACT,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC;IACpB,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAyB;IACtD,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,sBAAsB,CAAC,UAAgE;IAC9F,MAAM,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,KAAK,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEtF,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;QAC1B,OAAO;YACL,qDAAqD,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,GAAG;YACxF,sBAAsB,yBAAyB,EAAE,GAAG;YACpD,qCAAqC;YACrC,OAAO;YACP,yGAAyG;SAC1G,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;IAED,OAAO;QACL,oDAAoD,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,GAAG;QACvF,0BAA0B,UAAU,CAAC,qBAAqB,GAAG;QAC7D,sBAAsB;QACtB,OAAO;QACP,4IAA4I;KAC7I,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
|
|
@@ -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,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
|