@vzn/vx 0.0.640 → 0.0.642
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/launcher.sh +9 -2
- package/package.json +5 -12
- package/skills/vx/SKILL.md +4 -4
- package/src/bin.ts +8 -6
- package/src/cache/archive.ts +735 -107
- package/src/cache/cache.ts +133 -29
- package/src/cache/fold-memo.ts +58 -0
- package/src/cache/git-inputs.ts +213 -31
- package/src/cache/index.ts +9 -2
- package/src/cache/inputs.ts +244 -108
- package/src/cache/key-fold.ts +90 -69
- package/src/cache/layer.ts +9 -7
- package/src/cache/layered-cache.ts +74 -9
- package/src/cache/output-index.ts +25 -4
- package/src/cache/remote-lane.ts +27 -10
- package/src/cache/schema.ts +13 -3
- package/src/cache/scoped-cache.ts +11 -3
- package/src/cache/umask.ts +29 -0
- package/src/cli/docs.ts +71 -7
- package/src/cli/help.ts +11 -5
- package/src/cli/plan-format.ts +4 -1
- package/src/cli/run.ts +10 -3
- package/src/cli/select.ts +2 -0
- package/src/cli/upgrade.ts +37 -2
- package/src/cli/watch-filter.ts +1 -6
- package/src/cli/watch-fs.ts +2 -1
- package/src/exec/runner.ts +5 -0
- package/src/exec/sandbox-runtime.ts +81 -1
- package/src/graph/priorities.ts +14 -1
- package/src/handoff.ts +5 -0
- package/src/history/history.ts +43 -33
- package/src/index.ts +11 -1
- package/src/orchestrator/deferred-outputs.ts +3 -2
- package/src/orchestrator/execute-task.ts +20 -14
- package/src/orchestrator/hit-restore.ts +111 -29
- package/src/orchestrator/index.ts +1 -0
- package/src/orchestrator/local-shortcircuit.ts +8 -0
- package/src/orchestrator/lockfile-claim.ts +54 -8
- package/src/orchestrator/miss-save.ts +27 -17
- package/src/orchestrator/output-host.ts +9 -1
- package/src/orchestrator/plan.ts +4 -0
- package/src/orchestrator/plugin-host.ts +35 -5
- package/src/orchestrator/plugin.ts +29 -3
- package/src/orchestrator/prepare.ts +74 -5
- package/src/orchestrator/projects.ts +6 -1
- package/src/orchestrator/run-report.ts +30 -9
- package/src/orchestrator/run.ts +62 -38
- package/src/orchestrator/sandbox-request.ts +1 -48
- package/src/orchestrator/save-lane.ts +17 -10
- package/src/orchestrator/signals.ts +7 -10
- package/src/orchestrator/stable-keys.ts +83 -25
- package/src/orchestrator/task-hash.ts +46 -12
- package/src/report/events.ts +12 -0
- package/src/report/framed-output.ts +2 -1
- package/src/report/logger.ts +58 -15
- package/src/report/status-line.ts +45 -4
- package/src/report/summary.ts +11 -6
- package/src/util/errors.ts +1 -1
- package/src/util/hidden-prompt.ts +74 -0
- package/src/util/index.ts +13 -0
- package/src/util/paths.ts +58 -5
- package/src/util/secrets.ts +150 -0
- package/src/workspace/affected.ts +63 -13
- package/src/workspace/config-eval.ts +2 -2
- package/src/workspace/config-schema.ts +37 -3
- package/src/workspace/project-loader.ts +6 -4
- package/src/workspace/workspace.ts +17 -11
- package/docs/caching.md +0 -2352
- package/docs/cli.md +0 -3280
- package/docs/execution.md +0 -675
- package/docs/features.md +0 -178
- package/docs/patterns.md +0 -219
- package/docs/schema.md +0 -2461
- package/docs/security.md +0 -252
- package/src/cli/docs-corpus.ts +0 -21
- package/src/cli/docs-text.d.ts +0 -5
package/launcher.sh
CHANGED
|
@@ -35,8 +35,15 @@ scope=${scope##*/}
|
|
|
35
35
|
# directory up to the git top-level (handoff.ts workspaceFile, the same
|
|
36
36
|
# rule). One hop (VX_HANDED_OFF, which also names this launcher), never to
|
|
37
37
|
# this package itself (`-ef`: same inode, so a pnpm symlink counts as
|
|
38
|
-
# itself). Shell tests and builtins only, no fork per level.
|
|
39
|
-
|
|
38
|
+
# itself). Shell tests and builtins only, no fork per level. `vx upgrade -g`
|
|
39
|
+
# moves only this global vx, so it never hands off (owner, 2026-10-16).
|
|
40
|
+
stay=
|
|
41
|
+
if [ "${1-}" = upgrade ]; then
|
|
42
|
+
for a in "$@"; do
|
|
43
|
+
case $a in -g | --global) stay=1 ;; esac
|
|
44
|
+
done
|
|
45
|
+
fi
|
|
46
|
+
if [ -z "${VX_HANDED_OFF-}" ] && [ -z "$stay" ]; then
|
|
40
47
|
d=$PWD
|
|
41
48
|
while :; do
|
|
42
49
|
root=
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vzn/vx",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.642",
|
|
4
4
|
"description": "Task orchestration you own: correct, sandboxed, extensible, with a content-addressed build cache.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -21,10 +21,10 @@
|
|
|
21
21
|
"node": ">=18"
|
|
22
22
|
},
|
|
23
23
|
"optionalDependencies": {
|
|
24
|
-
"@vzn/vx-linux-x64": "0.0.
|
|
25
|
-
"@vzn/vx-linux-arm64": "0.0.
|
|
26
|
-
"@vzn/vx-darwin-x64": "0.0.
|
|
27
|
-
"@vzn/vx-darwin-arm64": "0.0.
|
|
24
|
+
"@vzn/vx-linux-x64": "0.0.642",
|
|
25
|
+
"@vzn/vx-linux-arm64": "0.0.642",
|
|
26
|
+
"@vzn/vx-darwin-x64": "0.0.642",
|
|
27
|
+
"@vzn/vx-darwin-arm64": "0.0.642"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
30
|
"@anthropic-ai/sandbox-runtime": "^0.0.76"
|
|
@@ -35,13 +35,6 @@
|
|
|
35
35
|
"config",
|
|
36
36
|
"schemas",
|
|
37
37
|
"skills",
|
|
38
|
-
"docs/cli.md",
|
|
39
|
-
"docs/schema.md",
|
|
40
|
-
"docs/caching.md",
|
|
41
|
-
"docs/execution.md",
|
|
42
|
-
"docs/patterns.md",
|
|
43
|
-
"docs/security.md",
|
|
44
|
-
"docs/features.md",
|
|
45
38
|
"launcher.sh",
|
|
46
39
|
"launcher.cjs",
|
|
47
40
|
"README.md",
|
package/skills/vx/SKILL.md
CHANGED
|
@@ -23,7 +23,7 @@ task failed or was skipped, or the command was refused. `vx last --format
|
|
|
23
23
|
json` prints the run as JSON afterwards, a row per task. A refusal under
|
|
24
24
|
`--format json` (or `--dry=json`) is one line on stdout,
|
|
25
25
|
`{"ok":false,"error":{"code","message","docs"}}`: branch on `code`;
|
|
26
|
-
`docs` (or `vx docs <code>`
|
|
26
|
+
`docs` (or `vx docs <code>`) says what to do.
|
|
27
27
|
Without a TTY a missing task name never prompts: vx exits 1 and lists the
|
|
28
28
|
tasks it found.
|
|
29
29
|
|
|
@@ -95,9 +95,9 @@ vx info --format json # vx and Bun versions, projects, config errors, plugins,
|
|
|
95
95
|
the config, do not force. A task with no `inputs` has no key, so every
|
|
96
96
|
cached task behind it misses: give it `inputs`.
|
|
97
97
|
- Every JSON shape is a JSON Schema in `node_modules/@vzn/vx/schemas/`.
|
|
98
|
-
-
|
|
99
|
-
|
|
100
|
-
whole.
|
|
98
|
+
- Reference: `vx docs <words> --format json` searches the reference pages at
|
|
99
|
+
this vx's release tag on GitHub (online); the sections holding every word
|
|
100
|
+
print whole.
|
|
101
101
|
- Docs as markdown: https://vznjs.github.io/vx/llms.txt (its index).
|
|
102
102
|
When that host is unreachable, the same pages are
|
|
103
103
|
`https://raw.githubusercontent.com/vznjs/vx/main/packages/vx-docs/src/content/docs/<page>.md`:
|
package/src/bin.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env -S bun --no-env-file --no-install
|
|
2
2
|
// Wrapped in an explicit async main so `bun build --compile` accepts
|
|
3
3
|
// the file. The compile target doesn't allow top-level await.
|
|
4
|
-
import { handOff, localVx, vxPath } from './handoff.js'
|
|
4
|
+
import { handOff, localVx, upgradesOnlyItself, vxPath } from './handoff.js'
|
|
5
5
|
|
|
6
6
|
let settled = false
|
|
7
7
|
|
|
@@ -10,11 +10,13 @@ async function main(): Promise<void> {
|
|
|
10
10
|
try {
|
|
11
11
|
// Inside the try: `process.cwd()` throws EMFILE when out of descriptors,
|
|
12
12
|
// and that is a one-line UserError below, not a stack.
|
|
13
|
-
const local =
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
const local = upgradesOnlyItself(argv)
|
|
14
|
+
? null
|
|
15
|
+
: await localVx(
|
|
16
|
+
process.cwd(),
|
|
17
|
+
process.execPath,
|
|
18
|
+
Bun.main.startsWith('/$bunfs') || (process.argv[1] ?? '').startsWith('/$bunfs'),
|
|
19
|
+
)
|
|
18
20
|
if (local !== null) await handOff(local, argv)
|
|
19
21
|
// `vx --version` needs one leaf module; the dispatcher and the util
|
|
20
22
|
// barrel it pulled in were 20 ms of its 28 (2026-10-01).
|