@vzn/vx 0.0.636 → 0.0.638
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 +39 -11
- package/docs/caching.md +246 -213
- package/docs/cli.md +791 -705
- package/docs/execution.md +68 -76
- package/docs/features.md +47 -42
- package/docs/patterns.md +26 -25
- package/docs/schema.md +392 -205
- package/docs/security.md +76 -39
- package/launcher.sh +43 -0
- package/package.json +5 -5
- package/schemas/cache.json +41 -19
- package/schemas/info.json +23 -11
- package/schemas/last.json +48 -2
- package/schemas/lock.json +1 -1
- package/schemas/plan.json +4 -4
- package/schemas/show.json +5 -3
- package/schemas/why.json +15 -1
- package/skills/vx/SKILL.md +28 -13
- package/src/bin.ts +30 -9
- package/src/cache/archive.ts +11 -0
- package/src/cache/cache.ts +124 -53
- package/src/cache/chained-cache.ts +4 -0
- package/src/cache/git-inputs.ts +277 -63
- package/src/cache/index.ts +15 -1
- package/src/cache/inputs.ts +102 -36
- package/src/cache/key-fold.ts +8 -7
- package/src/cache/layer.ts +15 -18
- package/src/cache/layered-cache.ts +20 -102
- package/src/cache/plugin-cache.ts +248 -0
- package/src/cache/policy.ts +32 -27
- package/src/cache/run-history.ts +104 -14
- package/src/cache/run-store.ts +77 -0
- package/src/cache/schema.ts +58 -31
- package/src/cache/scoped-cache.ts +237 -0
- package/src/cli/cache.ts +173 -34
- package/src/cli/completions.ts +11 -7
- package/src/cli/core-alias.ts +1 -1
- package/src/cli/foreign-flags.ts +13 -12
- package/src/cli/help.ts +110 -70
- package/src/cli/index.ts +67 -24
- package/src/cli/info.ts +43 -27
- package/src/cli/init.ts +115 -407
- package/src/cli/last.ts +157 -9
- package/src/cli/lock.ts +356 -122
- package/src/cli/plan-format.ts +7 -5
- package/src/cli/plugin-commands.ts +81 -14
- package/src/cli/plugin-templates.ts +11 -11
- package/src/cli/run.ts +116 -160
- package/src/cli/select.ts +50 -47
- package/src/cli/show.ts +83 -59
- package/src/cli/task-verb.ts +6 -13
- package/src/cli/upgrade.ts +415 -149
- package/src/cli/watch-cycle.ts +9 -2
- package/src/cli/watch-filter.ts +39 -61
- package/src/cli/watch-fs.ts +29 -16
- package/src/cli/watch-judge.ts +18 -4
- package/src/cli/watch-set.ts +16 -42
- package/src/cli/watch.ts +227 -230
- package/src/cli/why.ts +38 -18
- package/src/cli/workspace-config.ts +33 -70
- package/src/config.ts +169 -70
- package/src/exec/env.ts +1 -31
- package/src/exec/executor.ts +1 -5
- package/src/exec/kill-tree.ts +2 -1
- package/src/exec/sandbox-runtime.ts +12 -1
- package/src/exec/sandbox-violations.ts +9 -1
- package/src/graph/dependency-spec.ts +1 -1
- package/src/graph/index.ts +1 -0
- package/src/graph/priorities.ts +1 -1
- package/src/graph/scheduler.ts +27 -7
- package/src/graph/task-graph.ts +76 -24
- package/src/handoff.ts +169 -0
- package/src/index.ts +35 -58
- package/src/orchestrator/affected-tasks.ts +15 -8
- package/src/orchestrator/command-windows.ts +44 -0
- package/src/orchestrator/deferred-outputs.ts +12 -10
- package/src/orchestrator/doctor.ts +98 -110
- package/src/orchestrator/download-policy.ts +3 -3
- package/src/orchestrator/events.ts +19 -3
- package/src/orchestrator/excluded-keys.ts +0 -2
- package/src/orchestrator/execute-task.ts +147 -69
- package/src/orchestrator/failure-mode.ts +19 -10
- package/src/orchestrator/fingerprint-watch.ts +18 -15
- package/src/orchestrator/forecast.ts +10 -2
- package/src/orchestrator/framed-output.ts +9 -5
- package/src/orchestrator/graph-stage.ts +5 -5
- package/src/orchestrator/history.ts +126 -30
- package/src/orchestrator/hit-restore.ts +15 -3
- package/src/orchestrator/index.ts +20 -5
- package/src/orchestrator/local-shortcircuit.ts +2 -1
- package/src/orchestrator/lockfile-claim.ts +79 -20
- package/src/orchestrator/logger.ts +80 -41
- package/src/orchestrator/metrics.ts +78 -9
- package/src/orchestrator/miss-save.ts +3 -0
- package/src/orchestrator/options.ts +42 -29
- package/src/orchestrator/output-host.ts +72 -0
- package/src/orchestrator/plan.ts +6 -8
- package/src/orchestrator/plugin-host.ts +100 -66
- package/src/orchestrator/plugin.ts +173 -67
- package/src/orchestrator/prepare.ts +163 -78
- package/src/orchestrator/projects.ts +105 -99
- package/src/orchestrator/remote-prefetch.ts +11 -6
- package/src/orchestrator/run-context.ts +25 -6
- package/src/orchestrator/run-failures.ts +17 -8
- package/src/orchestrator/run-lock.ts +1 -1
- package/src/orchestrator/run-records.ts +1 -1
- package/src/orchestrator/run-report.ts +9 -9
- package/src/orchestrator/run-settings.ts +48 -0
- package/src/orchestrator/run.ts +244 -119
- package/src/orchestrator/sandbox-fix.ts +39 -20
- package/src/orchestrator/sandbox-request.ts +84 -13
- package/src/orchestrator/signals.ts +1 -1
- package/src/orchestrator/stable-keys.ts +13 -11
- package/src/orchestrator/status-line.ts +49 -7
- package/src/orchestrator/summary.ts +115 -106
- package/src/orchestrator/task-hash.ts +12 -83
- package/src/orchestrator/telemetry.ts +4 -4
- package/src/settings.ts +428 -0
- package/src/{orchestrator → util}/colors.ts +5 -0
- package/src/util/config-frame.ts +31 -2
- package/src/util/errors.ts +33 -1
- package/src/util/essential-env.ts +31 -0
- package/src/util/hide-env.ts +107 -0
- package/src/util/index.ts +16 -3
- package/src/util/paths.ts +10 -0
- package/src/util/refusal-notice.ts +111 -0
- package/src/util/report.ts +31 -0
- package/src/util/settle.ts +49 -30
- package/src/util/size.ts +23 -4
- package/src/util/timing.ts +3 -2
- package/src/util/ui.ts +186 -0
- package/src/util/ulid.ts +1 -1
- package/src/util/verbs.ts +0 -15
- package/src/workspace/affected.ts +84 -232
- package/src/workspace/config-eval.ts +15 -20
- package/src/workspace/config-imports.ts +78 -3
- package/src/workspace/config-schema.ts +209 -268
- package/src/workspace/dependency-rules.ts +65 -0
- package/src/workspace/filter.ts +2 -2
- package/src/workspace/fingerprint.ts +11 -121
- package/src/workspace/index.ts +20 -27
- package/src/workspace/load-reads.ts +4 -4
- package/src/workspace/lockfile.ts +96 -140
- package/src/workspace/migration.ts +307 -215
- package/src/workspace/package-graph.ts +30 -216
- package/src/workspace/project-loader.ts +80 -285
- package/src/workspace/repo-id.ts +2 -1
- package/src/workspace/workspace.ts +363 -831
- package/src/cache/config-evals.ts +0 -130
- package/src/workspace/config-cache.ts +0 -661
- package/src/workspace/migrate-scripts.ts +0 -1121
package/docs/patterns.md
CHANGED
|
@@ -27,24 +27,25 @@ restore. Everything else lines up with Turbo or Nx by design.
|
|
|
27
27
|
|
|
28
28
|
### Cache key composition
|
|
29
29
|
|
|
30
|
-
The set of bytes fed into the hash mirrors Turbo's key recipe
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
| Component | Turbo | Nx | vx
|
|
34
|
-
| -------------------------------------- | ------------ | ---------------------- |
|
|
35
|
-
| Task identity (`project#task`) | yes | yes | yes
|
|
36
|
-
| Resolved command + env declarations | yes | yes | yes
|
|
37
|
-
| Declared input file contents | yes | yes | yes
|
|
38
|
-
| Declared env-var **values** at runtime | yes | yes | yes
|
|
39
|
-
| Upstream task hashes (cascade) | yes | yes | yes
|
|
40
|
-
| Workspace lockfile
|
|
41
|
-
| Forwarded CLI args (after `--`) | yes | yes | yes
|
|
42
|
-
| Project `package.json` bytes
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
like `['src/**']` doesn't miss a
|
|
30
|
+
The set of bytes fed into the hash mirrors Turbo's key recipe; the
|
|
31
|
+
package-manager parts come from a plugin.
|
|
32
|
+
|
|
33
|
+
| Component | Turbo | Nx | vx | vx source |
|
|
34
|
+
| -------------------------------------- | ------------ | ---------------------- | ------ | --------------------------------------------- |
|
|
35
|
+
| Task identity (`project#task`) | yes | yes | yes | `src/cache/layer.ts` (`CacheKeyInput.taskId`) |
|
|
36
|
+
| Resolved command + env declarations | yes | yes | yes | `src/cache/layer.ts` (`taskConfigHash`) |
|
|
37
|
+
| Declared input file contents | yes | yes | yes | `src/cache/layer.ts` (`inputFiles`) |
|
|
38
|
+
| Declared env-var **values** at runtime | yes | yes | yes | `src/cache/layer.ts` (`envValues`) |
|
|
39
|
+
| Upstream task hashes (cascade) | yes | yes | yes | `src/cache/layer.ts` (`upstreamHashes`) |
|
|
40
|
+
| Workspace lockfile | yes | yes | plugin | `@vzn/vx-lockfile` (`VxPlugin.fingerprint`) |
|
|
41
|
+
| Forwarded CLI args (after `--`) | yes | yes | yes | `src/cache/layer.ts` (`forwardArgs`) |
|
|
42
|
+
| Project `package.json` bytes | via lockfile | `externalDependencies` | plugin | `@vzn/vx-lockfile` (an input file) |
|
|
43
|
+
|
|
44
|
+
Core keys no package file (2026-10-14): the lockfile and each
|
|
45
|
+
project's `package.json` key a task through `@vzn/vx-lockfile`, which
|
|
46
|
+
claims the lockfile and adds `package.json` to every cached task's
|
|
47
|
+
inputs, so narrow `cache.inputs.files` like `['src/**']` doesn't miss a
|
|
48
|
+
`package.json` dep bump.
|
|
48
49
|
|
|
49
50
|
The two **divergences** from Turbo's recipe — TypeScript-resolved
|
|
50
51
|
config hash and per-task forwarded-args fold — are documented in
|
|
@@ -91,12 +92,12 @@ parser's docblock marks them (`src/graph/dependency-spec.ts`).
|
|
|
91
92
|
|
|
92
93
|
### Workspace discovery
|
|
93
94
|
|
|
94
|
-
| Capability | Source | vx source
|
|
95
|
-
| ----------------------------------------------------- | ------------ |
|
|
96
|
-
| Read `pnpm-workspace.yaml`
|
|
97
|
-
| Read `package.json` `workspaces` (
|
|
98
|
-
| Build package-dep graph from workspace `dependencies` | Turbo + Nx | `src/workspace/package-graph.ts`
|
|
99
|
-
| Lockfile fingerprint at workspace level | Turbo + Nx | `src/workspace/fingerprint.ts`
|
|
95
|
+
| Capability | Source | vx source |
|
|
96
|
+
| ----------------------------------------------------- | ------------ | --------------------------------- |
|
|
97
|
+
| Read `pnpm-workspace.yaml` (adoption) | pnpm + Turbo | `@vzn/vx-migrate`'s `packages.ts` |
|
|
98
|
+
| Read `package.json` `workspaces` (adoption) | Turbo | `@vzn/vx-migrate`'s `packages.ts` |
|
|
99
|
+
| Build package-dep graph from workspace `dependencies` | Turbo + Nx | `src/workspace/package-graph.ts` |
|
|
100
|
+
| Lockfile fingerprint at workspace level | Turbo + Nx | `src/workspace/fingerprint.ts` |
|
|
100
101
|
|
|
101
102
|
### Cache topology
|
|
102
103
|
|
|
@@ -140,7 +141,7 @@ Turbo-aware cache server can transit our blobs unchanged.
|
|
|
140
141
|
| Independent siblings continue past failure | Turbo `--continue=dependencies-successful` | `src/graph/scheduler.ts` |
|
|
141
142
|
| Persistent / long-running tasks (dev servers) | Turbo `persistent`, Nx `continuous` | `src/exec/runner.ts` (`runPersistent`) + `src/orchestrator/execute-task.ts` |
|
|
142
143
|
| Project-local `node_modules/.bin` on PATH | Turbo + pnpm | `src/exec/env.ts` (`binPaths`) |
|
|
143
|
-
|
|
|
144
|
+
| Project-`package.json` invalidation, by a plugin | Turbo (via lockfile) + Nx (`externalDependencies`) | `@vzn/vx-lockfile` (its `project` stage lists it as an input) |
|
|
144
145
|
|
|
145
146
|
### Output handling
|
|
146
147
|
|