@visulima/task-runner 1.0.0-alpha.13 → 1.0.0-alpha.15

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/CHANGELOG.md CHANGED
@@ -1,3 +1,25 @@
1
+ ## @visulima/task-runner [1.0.0-alpha.15](https://github.com/visulima/visulima/compare/@visulima/task-runner@1.0.0-alpha.14...@visulima/task-runner@1.0.0-alpha.15) (2026-05-19)
2
+
3
+ ### Features
4
+
5
+ * **task-runner:** auto-capture outputs for compound build scripts ([e084434](https://github.com/visulima/visulima/commit/e0844344cf184177999a82b708299f08fbfd31ec))
6
+ * **task-runner:** per-target hashMode "trace" opt-in ([#643](https://github.com/visulima/visulima/issues/643)) ([32353ff](https://github.com/visulima/visulima/commit/32353ff7a760ae9486e23cc4042fab46a2f2cc11))
7
+ * **vis:** attested keyless-signed remote cache (Sigstore) ([4732610](https://github.com/visulima/visulima/commit/47326103a668ab99fcfc4e21f2c9efeaa5892944))
8
+
9
+ ## @visulima/task-runner [1.0.0-alpha.14](https://github.com/visulima/visulima/compare/@visulima/task-runner@1.0.0-alpha.13...@visulima/task-runner@1.0.0-alpha.14) (2026-05-14)
10
+
11
+ ### Bug Fixes
12
+
13
+ * **release:** patch NAPI version-check string and ship fresh loader on release ([0676e33](https://github.com/visulima/visulima/commit/0676e336f453c9ae38c9f3a5fbbb675f9bff7ea0))
14
+
15
+ ### Miscellaneous Chores
16
+
17
+ * **tooling:** apply prettier and eslint formatting sweep ([c2c641d](https://github.com/visulima/visulima/commit/c2c641d40242e99030cb990fa01039db5e267667))
18
+
19
+ ### Tests
20
+
21
+ * fixed count ([6fdd45e](https://github.com/visulima/visulima/commit/6fdd45e3855b619d09d3f33ec7c4277e59ef84da))
22
+
1
23
  ## @visulima/task-runner [1.0.0-alpha.13](https://github.com/visulima/visulima/compare/@visulima/task-runner@1.0.0-alpha.12...@visulima/task-runner@1.0.0-alpha.13) (2026-05-11)
2
24
 
3
25
  ### Features
package/dist/index.d.ts CHANGED
@@ -215,6 +215,107 @@ interface RemoteCacheSigning {
215
215
  verifyOnDownload?: boolean;
216
216
  }
217
217
  /**
218
+ * Keyless artifact attestation hooks for the HTTP backend.
219
+ *
220
+ * Layered *above* {@link RemoteCacheSigning}: HMAC proves the bytes
221
+ * weren't tampered with by anyone lacking the shared secret (integrity);
222
+ * an attestation proves *who* produced them (authenticity — a Sigstore
223
+ * keyless bundle in practice). Both can be active at once.
224
+ *
225
+ * task-runner stays dependency-free: it never imports Sigstore. The
226
+ * caller (vis) supplies these callbacks; task-runner only moves the
227
+ * opaque bundle string through the `X-Artifact-Attestation` header and
228
+ * decides accept/reject from the boolean the verifier returns. REAPI
229
+ * does not consume these — REAPI integrity rides on CAS content-
230
+ * addressing, and authenticity is a server/transport concern there.
231
+ */
232
+ interface RemoteCacheAttestation {
233
+ /**
234
+ * Expected keyless signer identity. Serializable so it can live in
235
+ * `vis.config.ts`. task-runner does not consume this — it is config
236
+ * passthrough for the vis-side `verifyArtifact` hook, which must
237
+ * enforce it. Without an expected identity a valid bundle from *any*
238
+ * Fulcio identity over the same digest verifies (integrity, not
239
+ * authenticity), so the vis hook treats "verify requested without an
240
+ * expected identity" as a misconfiguration.
241
+ *
242
+ * Three forms (pick one):
243
+ * - `{ github }` — GitHub Actions preset. Expands to the Fulcio
244
+ * issuer + an escaped, anchored SAN. The ergonomic default.
245
+ * - `{ oidcIssuer, san }` — a *literal* signer identity. vis escapes
246
+ * and anchors it for you; pass the plain URI, not a regex.
247
+ * - `{ oidcIssuer, sanRegex }` — advanced: a raw, unescaped regex.
248
+ * You own anchoring (sigstore-js matches via `String.match`).
249
+ */
250
+ expectedIdentity?: {
251
+ /**
252
+ * GitHub Actions preset. Expands to issuer
253
+ * `https://token.actions.githubusercontent.com` and the
254
+ * anchored SAN `https://github.com/{repo}/{workflow}@{ref}`.
255
+ */
256
+ github: {
257
+ /** Git ref the workflow ran on, e.g. `refs/heads/main` or `refs/tags/v1.2.3`. */
258
+ ref: string;
259
+ /** `owner/name`, e.g. `visulima/visulima`. */
260
+ repo: string;
261
+ /** Workflow path, e.g. `.github/workflows/release.yml`. */
262
+ workflow: string;
263
+ };
264
+ } | {
265
+ /** Fulcio cert issuer extension, matched exactly. */
266
+ oidcIssuer: string;
267
+ /**
268
+ * Literal signer identity (certificate SAN). vis
269
+ * regex-escapes and anchors this — pass the plain URI,
270
+ * e.g. `https://github.com/org/repo/.github/workflows/ci.yml@refs/heads/main`.
271
+ */
272
+ san: string;
273
+ } | {
274
+ /** Fulcio cert issuer extension, matched exactly. */
275
+ oidcIssuer: string;
276
+ /**
277
+ * Advanced: raw, unescaped SAN regex. You own anchoring
278
+ * (`^…$`); an unanchored value is substring-matched.
279
+ */
280
+ sanRegex: string;
281
+ };
282
+ /**
283
+ * Called when a download is rejected (or downgraded to a cache miss)
284
+ * because its attestation is missing or failed verification. Without
285
+ * this hook the rejection is silent. Mirrors `onUploadError`.
286
+ */
287
+ onReject?: (hash: string, reason: "invalid" | "missing") => void;
288
+ /**
289
+ * Reject downloads whose attestation is missing or fails
290
+ * verification. With `verifyArtifact` set but this `false`, a bad
291
+ * attestation is treated as a cache miss (re-execute) rather than a
292
+ * hard failure.
293
+ * @default false
294
+ */
295
+ requireOnDownload?: boolean;
296
+ /**
297
+ * Produce an opaque attestation bundle for the staged artifact,
298
+ * called after the body is staged and before the PUT. Return `null`
299
+ * to upload without an attestation (e.g. no ambient OIDC outside
300
+ * CI). Any returned string is sent verbatim in the
301
+ * `X-Artifact-Attestation` header.
302
+ */
303
+ signArtifact?: (input: {
304
+ archivePath: string;
305
+ hash: string;
306
+ }) => Promise<string | null>;
307
+ /**
308
+ * Verify a received attestation bundle against the staged artifact.
309
+ * Resolve `false` to reject the cached entry. Only called when the
310
+ * download carried an `X-Artifact-Attestation` header.
311
+ */
312
+ verifyArtifact?: (input: {
313
+ archivePath: string;
314
+ attestation: string;
315
+ hash: string;
316
+ }) => Promise<boolean>;
317
+ }
318
+ /**
218
319
  * Canonical remote-cache configuration consumed by
219
320
  * `createRemoteCacheBackend`. Both `HttpRemoteCache` and
220
321
  * `ReapiRemoteCache` accept this shape directly — backend-specific
@@ -238,6 +339,11 @@ interface RemoteCacheOptions {
238
339
  */
239
340
  allowInsecureBearer?: boolean;
240
341
  /**
342
+ * HTTP-only: keyless artifact attestation hooks (Sigstore in
343
+ * practice). Layered above `signing` — integrity vs authenticity.
344
+ */
345
+ attestation?: RemoteCacheAttestation;
346
+ /**
241
347
  * Wire-protocol selector. `"http"` is the Turborepo-compatible
242
348
  * single-tarball cache; `"reapi"` switches to the Bazel Remote
243
349
  * Execution API gRPC client, unlocking `bazel-remote`,
@@ -473,7 +579,7 @@ type TaskPriority = "high" | "low" | "normal";
473
579
  * number of in-flight tasks across every target that opts into the
474
580
  * group via {@link TargetConfiguration.concurrencyGroup}. Independent
475
581
  * of `--parallel`: the global cap still bounds total in-flight tasks,
476
- * and group caps further bound the named subset. Values `<= 0` are
582
+ * and group caps further bound the named subset. Values `&lt;= 0` are
477
583
  * ignored.
478
584
  */
479
585
  type ConcurrencyGroups = Record<string, number>;
@@ -518,10 +624,27 @@ interface Task {
518
624
  * runner uses faithful defaults (mtime + mode preserved).
519
625
  */
520
626
  cacheRestore?: CacheRestoreOptions;
627
+ /**
628
+ * Workspace-level concurrency group. Carried over from
629
+ * {@link TargetConfiguration.concurrencyGroup}; the scheduler maps
630
+ * the name to a numeric cap via
631
+ * {@link TaskRunnerOptions.concurrencyGroups}.
632
+ */
633
+ concurrencyGroup?: string;
521
634
  /** Hash of the task inputs for caching */
522
635
  hash?: string;
523
636
  /** Detailed hash information */
524
637
  hashDetails?: TaskHashDetails;
638
+ /**
639
+ * How this task's cache key is derived. Carried over from
640
+ * {@link TargetConfiguration.hashMode} at task graph creation.
641
+ * `"trace"` routes the task through the file-access tracker so the
642
+ * key comes from the files it actually read — the per-target
643
+ * equivalent of the global {@link TaskRunnerOptions.autoFingerprint}.
644
+ * Absent / `"declared"` keeps the Nx-style upfront hash from
645
+ * explicit {@link Task.outputs} and declared inputs.
646
+ */
647
+ hashMode?: "declared" | "trace";
525
648
  /** Unique identifier for the task, typically "project:target:configuration" */
526
649
  id: string;
527
650
  /**
@@ -530,13 +653,6 @@ interface Task {
530
653
  */
531
654
  maxConcurrent?: number;
532
655
  /**
533
- * Workspace-level concurrency group. Carried over from
534
- * {@link TargetConfiguration.concurrencyGroup}; the scheduler maps
535
- * the name to a numeric cap via
536
- * {@link TaskRunnerOptions.concurrencyGroups}.
537
- */
538
- concurrencyGroup?: string;
539
- /**
540
656
  * Output patterns this task produces. Each entry is either a
541
657
  * literal path, a glob (`"dist/**"`), a negative glob
542
658
  * (`"!dist/cache/**"`), or `{ auto: true }` to pick up whatever
@@ -735,8 +851,6 @@ interface TargetConfiguration {
735
851
  cacheRestore?: CacheRestoreOptions;
736
852
  /** The command to run (alternative to executor) */
737
853
  command?: string;
738
- /** Named configurations (e.g., "production", "development") */
739
- configurations?: Record<string, Record<string, unknown>>;
740
854
  /**
741
855
  * Workspace-level concurrency group this target opts into. The
742
856
  * scheduler caps the *combined* in-flight count of every task whose
@@ -752,14 +866,41 @@ interface TargetConfiguration {
752
866
  * finalisation phase outside the scheduler.
753
867
  */
754
868
  concurrencyGroup?: string;
869
+ /** Named configurations (e.g., "production", "development") */
870
+ configurations?: Record<string, Record<string, unknown>>;
755
871
  /** Other targets this target depends on */
756
872
  dependsOn?: (string | TargetDependencyConfig)[];
757
873
  /** The executor/command to run */
758
874
  executor?: string;
875
+ /**
876
+ * How this target's cache key is derived.
877
+ *
878
+ * - `"declared"` (default): the Nx-style path — the hash is built
879
+ * up-front from explicitly declared `inputs` (plus named/global
880
+ * inputs and the lockfile). Deterministic and portable across
881
+ * machines: two runners with the same workspace state produce the
882
+ * same key regardless of OS or syscall surface.
883
+ * - `"trace"`: the task is run under the file-access tracker
884
+ * (strace on Linux, an fs preload shim elsewhere) and the cache
885
+ * key is derived from the files it actually *read* during
886
+ * execution — no `inputs` declaration required. Mirrors the
887
+ * shipped `{ auto: true }` output capture, but for the input
888
+ * side. Use for compound or opaque commands whose real input set
889
+ * is impractical to enumerate.
890
+ *
891
+ * Opt-in per target precisely because trace mode trades
892
+ * reproducibility for convenience: the observed read set can differ
893
+ * across runners with different syscall surfaces (a static binary on
894
+ * a host without strace records nothing), so a trace key is **not**
895
+ * guaranteed portable between machines. Leave targets on
896
+ * `"declared"` whenever the input set can reasonably be listed.
897
+ *
898
+ * Equivalent to flipping {@link TaskRunnerOptions.autoFingerprint}
899
+ * on for this one target while every other target stays declared.
900
+ */
901
+ hashMode?: "declared" | "trace";
759
902
  /** Input patterns for cache invalidation */
760
903
  inputs?: (string | InputDefinition)[];
761
- /** Options passed to the executor */
762
- options?: Record<string, unknown>;
763
904
  /**
764
905
  * Maximum number of in-flight instances of this target across the
765
906
  * whole graph. When set, the scheduler refuses to start an
@@ -769,7 +910,7 @@ interface TargetConfiguration {
769
910
  * and `maxConcurrent` further bounds the per-target subset.
770
911
  *
771
912
  * Use for tests/deploys that share an external resource (DB, port,
772
- * mock server). Set to `1` to serialize. Values `<= 0` are ignored.
913
+ * mock server). Set to `1` to serialize. Values `&lt;= 0` are ignored.
773
914
  *
774
915
  * If multiple projects declare different values for the same
775
916
  * target name, the runner uses the smallest declared cap. Caps
@@ -777,8 +918,20 @@ interface TargetConfiguration {
777
918
  * separate finalisation phase outside the scheduler.
778
919
  */
779
920
  maxConcurrent?: number;
780
- /** Output patterns produced by this target */
781
- outputs?: string[];
921
+ /** Options passed to the executor */
922
+ options?: Record<string, unknown>;
923
+ /**
924
+ * Output patterns produced by this target. Each entry is a literal
925
+ * path, a glob (`"dist/**"`), a negative glob (`"!dist/cache/**"`),
926
+ * or `{ auto: true }` to cache whatever files the task actually
927
+ * wrote during execution (resolved from the file-access tracker).
928
+ * `{ auto: true }` lets a build script cache zero-config without
929
+ * the author enumerating its output layout; it contributes nothing
930
+ * — and the runner declines to seed the cache — when write
931
+ * tracking isn't available for the task, so a hit can never restore
932
+ * a missing artifact.
933
+ */
934
+ outputs?: OutputSpec[];
782
935
  /** Whether this target supports parallel execution */
783
936
  parallelism?: boolean;
784
937
  /**
@@ -1026,6 +1179,11 @@ interface TaskRunnerOptions {
1026
1179
  *
1027
1180
  * Falls back to explicit inputs (Nx-style) when file tracking
1028
1181
  * is not supported on the current platform.
1182
+ *
1183
+ * This is the workspace-wide switch. To opt a single target into
1184
+ * traced hashing without flipping it for the whole graph, set
1185
+ * {@link TargetConfiguration.hashMode} to `"trace"` on that target
1186
+ * instead.
1029
1187
  * @default false
1030
1188
  */
1031
1189
  autoFingerprint?: boolean;
@@ -1037,6 +1195,26 @@ interface TaskRunnerOptions {
1037
1195
  /** Directory for storing cache */
1038
1196
  cacheDirectory?: string;
1039
1197
  /**
1198
+ * Workspace-level concurrency group caps. Maps a group name to the
1199
+ * maximum number of in-flight tasks across every target whose
1200
+ * `concurrencyGroup` field equals the same name. Independent of
1201
+ * `parallel`: the global cap still bounds total tasks, and group
1202
+ * caps further bound the named subset.
1203
+ *
1204
+ * Common shape — one cap per shared resource:
1205
+ *
1206
+ * ```ts
1207
+ * concurrencyGroups: {
1208
+ * "db-bound": 2, // any target hitting the local Postgres
1209
+ * "deploy-lock": 1, // any deploy target
1210
+ * }
1211
+ * ```
1212
+ *
1213
+ * Targets opt in via {@link TargetConfiguration.concurrencyGroup}.
1214
+ * Values `&lt;= 0` are ignored.
1215
+ */
1216
+ concurrencyGroups?: ConcurrencyGroups;
1217
+ /**
1040
1218
  * Directory used to persist run summaries (`runs/`),
1041
1219
  * `last-summary.json`, and other run-scoped state. Defaults to
1042
1220
  * `{workspaceRoot}/.task-runner` when omitted so standalone
@@ -1102,26 +1280,6 @@ interface TaskRunnerOptions {
1102
1280
  * @default false
1103
1281
  */
1104
1282
  incrementalFileHashing?: boolean;
1105
- /**
1106
- * Workspace-level concurrency group caps. Maps a group name to the
1107
- * maximum number of in-flight tasks across every target whose
1108
- * `concurrencyGroup` field equals the same name. Independent of
1109
- * `parallel`: the global cap still bounds total tasks, and group
1110
- * caps further bound the named subset.
1111
- *
1112
- * Common shape — one cap per shared resource:
1113
- *
1114
- * ```ts
1115
- * concurrencyGroups: {
1116
- * "db-bound": 2, // any target hitting the local Postgres
1117
- * "deploy-lock": 1, // any deploy target
1118
- * }
1119
- * ```
1120
- *
1121
- * Targets opt in via {@link TargetConfiguration.concurrencyGroup}.
1122
- * Values `<= 0` are ignored.
1123
- */
1124
- concurrencyGroups?: ConcurrencyGroups;
1125
1283
  /** Maximum age of cache entries in milliseconds */
1126
1284
  maxCacheAge?: number;
1127
1285
  /** Maximum cache size (e.g., "1GB") */
@@ -3301,4 +3459,4 @@ declare const isLinkedWorktree: (workspaceRoot: string) => boolean;
3301
3459
  * recreating a fixture at the same path would otherwise leak stale results.
3302
3460
  */
3303
3461
  declare const resetWorktreeCache: () => void;
3304
- export { type ActionResult, type AffectedOptions, type AffectedResult, type AffectedScope, type BlobSource, Cache, type CacheMissReason, type CacheMode, type CacheOptions, type CacheRestoreOptions, type CachedResult, type CasDigest, type ChromeTraceEvent, CompositeLifeCycle, type ConcurrencyGroups, type ConcurrentCloseEvent, type ConcurrentCommandConfig, type ConcurrentCommandInput, type ConcurrentRunResult, type ConcurrentRunnerOptions, ConsoleLifeCycle, type ConstraintViolation, type ConstraintsConfig, DEFAULT_CACHE_DIRECTORY_NAME, type DependencyKindRules, type DependencyType, type DetectedFramework, EmptyLifeCycle, type EnvMatcher, type EnvironmentInput, type ExternalDependencyInput, type FileAccess, FileAccessTracker, type FileSetBase, type FileSetInput, type FileSetPattern, type FileSnapshot, type FingerprintContributor, type FingerprintHook, FingerprintManager, type GraphFormat, type GraphJson, type GraphVisualizerOptions, HttpRemoteCache, INPUT_URI_SCHEMES, InProcessTaskHasher, IncrementalFileHasher, type IncrementalHasherOptions, type InputDefinition, type InputHandlerOptions, type InputUriScheme, InvalidInputUriError, type LifeCycleInterface, LockfileHasher, type LogMode, LogReporter, type NamedInputs, type NodePlatform, type OutputSpec, type PackageLockfileHash, type ParseCommandsOptions, type PartitionOptions, type ProcessEvent, type ProjectConfiguration, type ProjectGraph, type ProjectGraphDependency, type ProjectGraphProjectNode, ReapiRemoteCache, type ReapiRemoteCacheOptions, type RemoteCacheBackend, type RemoteCacheCompression, type RemoteCacheOptions, type RemoteCacheSigning, type ResolvedDependency, type RestartOptions, type RunSummary, type RunSummaryPathOptions, type RuntimeInput, type TagRelationships, type TargetConfiguration, type TargetDependencyConfig, type Task, type TaskExecutionOptions, type TaskExecutor, type TaskFingerprint, type TaskGraph, type TaskHashDetails, type TaskHasher, type TaskHasherOptions, TaskOrchestrator, type TaskOrchestratorOptions, type TaskPriority, type TaskResult, type TaskResults, type TaskRunnerContext, type TaskRunnerOptions, TaskScheduler, type TaskStatus, type TaskSummary, type TaskTarget, type TasksRunner, type TeardownOptions, TerminalBuffer, type TokenContext, type TrackedExecutionResult, TrackedTaskExecutor, type TrackingResult, type TypeBoundaries, V2_AC, V2_CAS, V2_INDEX, V2_ROOT, V2_TMP, type WhenCondition, type WhenContext, type WorkspaceConfiguration, acEntryPath, actionDigestForTaskHash, buildForwardDependencyMap, buildReverseDependencyMap, casBlobPath, collectFiles, computeTaskHash, containsBlob, containsByTaskHash, createFailureResult, createInputHandler, createLogReporter, createRemoteCacheBackend, createTaskGraph, defaultTaskRunner, detectFrameworks, detectScriptShell, digestBuffer, digestFile, enforceProjectConstraints, evaluateWhen, expandAffected, expandArguments, expandShortcut, expandTokens, expandTokensInString, expandWildcard, explainWhen, extractPackageName, fetchBlobToFile, filterAffectedTasks, findCycle, findCycles, formatCacheSize, formatTimingTable, generatePreloadScript, generateRunSummary, getAffectedProjects, getChangedFiles, getCurrentBranch, getDependentTasks, getFrameworkEnvVariables, getLastRunSummaryPath, getLeafTasks, getMainWorktreeRoot, getTaskId, getTransitiveDependencies, hashFile, hashStrings, inferFrameworkEnvPatterns, isLinkedWorktree, isNativeAvailable, loadNativeBindings, logTimings, looksLikeInputUri, makeAcyclic, parseCacheSize, parseCommands, parseInputUri, parseNpmLockfile, parsePartition, parsePnpmLockfile, parseTaskId, parseYarnLockfile, projectGraphToDot, putBlobFromBytes, putBlobFromFile, readLastRunSummary, readPackageDeps, resetBranchCache, resetWorktreeCache, resolveCacheMode, resolveOutputs, resolveTaskCwd, resolveTurboEnvCompat, retrieveByTaskHash, reverseTaskGraph, runConcurrentFallback, runConcurrently, runTeardown, sortObjectKeys, storeByTaskHash, stripQuotes, taskHashIndexPath, toChromeTrace, toGraphAscii, toGraphHtml, toGraphJson, toGraphvizDot, touchBlob, uniqueId, verifyBlob, walkTaskGraph, withRestart, writeChromeTrace, writeLastRunSummary, writeRunSummary };
3462
+ export { type ActionResult, type AffectedOptions, type AffectedResult, type AffectedScope, type BlobSource, Cache, type CacheMissReason, type CacheMode, type CacheOptions, type CacheRestoreOptions, type CachedResult, type CasDigest, type ChromeTraceEvent, CompositeLifeCycle, type ConcurrencyGroups, type ConcurrentCloseEvent, type ConcurrentCommandConfig, type ConcurrentCommandInput, type ConcurrentRunResult, type ConcurrentRunnerOptions, ConsoleLifeCycle, type ConstraintViolation, type ConstraintsConfig, DEFAULT_CACHE_DIRECTORY_NAME, type DependencyKindRules, type DependencyType, type DetectedFramework, EmptyLifeCycle, type EnvMatcher, type EnvironmentInput, type ExternalDependencyInput, type FileAccess, FileAccessTracker, type FileSetBase, type FileSetInput, type FileSetPattern, type FileSnapshot, type FingerprintContributor, type FingerprintHook, FingerprintManager, type GraphFormat, type GraphJson, type GraphVisualizerOptions, HttpRemoteCache, INPUT_URI_SCHEMES, InProcessTaskHasher, IncrementalFileHasher, type IncrementalHasherOptions, type InputDefinition, type InputHandlerOptions, type InputUriScheme, InvalidInputUriError, type LifeCycleInterface, LockfileHasher, type LogMode, LogReporter, type NamedInputs, type NodePlatform, type OutputSpec, type PackageLockfileHash, type ParseCommandsOptions, type PartitionOptions, type ProcessEvent, type ProjectConfiguration, type ProjectGraph, type ProjectGraphDependency, type ProjectGraphProjectNode, ReapiRemoteCache, type ReapiRemoteCacheOptions, type RemoteCacheAttestation, type RemoteCacheBackend, type RemoteCacheCompression, type RemoteCacheOptions, type RemoteCacheSigning, type ResolvedDependency, type RestartOptions, type RunSummary, type RunSummaryPathOptions, type RuntimeInput, type TagRelationships, type TargetConfiguration, type TargetDependencyConfig, type Task, type TaskExecutionOptions, type TaskExecutor, type TaskFingerprint, type TaskGraph, type TaskHashDetails, type TaskHasher, type TaskHasherOptions, TaskOrchestrator, type TaskOrchestratorOptions, type TaskPriority, type TaskResult, type TaskResults, type TaskRunnerContext, type TaskRunnerOptions, TaskScheduler, type TaskStatus, type TaskSummary, type TaskTarget, type TasksRunner, type TeardownOptions, TerminalBuffer, type TokenContext, type TrackedExecutionResult, TrackedTaskExecutor, type TrackingResult, type TypeBoundaries, V2_AC, V2_CAS, V2_INDEX, V2_ROOT, V2_TMP, type WhenCondition, type WhenContext, type WorkspaceConfiguration, acEntryPath, actionDigestForTaskHash, buildForwardDependencyMap, buildReverseDependencyMap, casBlobPath, collectFiles, computeTaskHash, containsBlob, containsByTaskHash, createFailureResult, createInputHandler, createLogReporter, createRemoteCacheBackend, createTaskGraph, defaultTaskRunner, detectFrameworks, detectScriptShell, digestBuffer, digestFile, enforceProjectConstraints, evaluateWhen, expandAffected, expandArguments, expandShortcut, expandTokens, expandTokensInString, expandWildcard, explainWhen, extractPackageName, fetchBlobToFile, filterAffectedTasks, findCycle, findCycles, formatCacheSize, formatTimingTable, generatePreloadScript, generateRunSummary, getAffectedProjects, getChangedFiles, getCurrentBranch, getDependentTasks, getFrameworkEnvVariables, getLastRunSummaryPath, getLeafTasks, getMainWorktreeRoot, getTaskId, getTransitiveDependencies, hashFile, hashStrings, inferFrameworkEnvPatterns, isLinkedWorktree, isNativeAvailable, loadNativeBindings, logTimings, looksLikeInputUri, makeAcyclic, parseCacheSize, parseCommands, parseInputUri, parseNpmLockfile, parsePartition, parsePnpmLockfile, parseTaskId, parseYarnLockfile, projectGraphToDot, putBlobFromBytes, putBlobFromFile, readLastRunSummary, readPackageDeps, resetBranchCache, resetWorktreeCache, resolveCacheMode, resolveOutputs, resolveTaskCwd, resolveTurboEnvCompat, retrieveByTaskHash, reverseTaskGraph, runConcurrentFallback, runConcurrently, runTeardown, sortObjectKeys, storeByTaskHash, stripQuotes, taskHashIndexPath, toChromeTrace, toGraphAscii, toGraphHtml, toGraphJson, toGraphvizDot, touchBlob, uniqueId, verifyBlob, walkTaskGraph, withRestart, writeChromeTrace, writeLastRunSummary, writeRunSummary };
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- import{buildForwardDependencyMap as o,buildReverseDependencyMap as t,expandAffected as a,filterAffectedTasks as s,getAffectedProjects as p,getChangedFiles as n}from"./packem_shared/buildForwardDependencyMap-w1FVPFdv.js";import{createRemoteCacheBackend as i,resolveCacheMode as f,resolveTurboEnvCompat as c}from"./packem_shared/resolveCacheMode-DXe7i-tj.js";import{actionDigestForTaskHash as x,containsByTaskHash as h,retrieveByTaskHash as d,storeByTaskHash as k}from"./packem_shared/actionDigestForTaskHash-BOL4fZ9v.js";import{HttpRemoteCache as T}from"./packem_shared/HttpRemoteCache-Ch-_9ejF.js";import{ReapiRemoteCache as g}from"./packem_shared/ReapiRemoteCache-B3uQuVqP.js";import{Cache as R,DEFAULT_CACHE_DIRECTORY_NAME as v,formatCacheSize as F,parseCacheSize as B}from"./packem_shared/Cache-C540ZPYk.js";import{digestBuffer as b,digestFile as I}from"./packem_shared/digestBuffer-g11aCaDx.js";import{V2_AC as E,V2_CAS as P,V2_INDEX as H,V2_ROOT as A,V2_TMP as w,acEntryPath as D,casBlobPath as _,taskHashIndexPath as G}from"./packem_shared/V2_ROOT-injxWBrl.js";import{containsBlob as N,fetchBlobToFile as O,putBlobFromBytes as U,putBlobFromFile as V,touchBlob as W,verifyBlob as j}from"./packem_shared/containsBlob-DBWgvkM_.js";import{toChromeTrace as Y,writeChromeTrace as q}from"./packem_shared/toChromeTrace-DxN5NQIU.js";import{parseCommands as K}from"./packem_shared/parseCommands-b1K2vIxj.js";import{runConcurrently as X}from"./packem_shared/runConcurrently-DYbMGyGv.js";import{runConcurrentFallback as $}from"./packem_shared/runConcurrentFallback-Dpqxuyv-.js";import{defaultTaskRunner as re}from"./packem_shared/defaultTaskRunner-Byi0zsgh.js";import{detectScriptShell as te}from"./packem_shared/detectScriptShell-CaTDk5cW.js";import{FileAccessTracker as se,generatePreloadScript as pe}from"./packem_shared/FileAccessTracker-DSNf03JW.js";import{FingerprintManager as me}from"./packem_shared/FingerprintManager-CYW2EwLc.js";import{detectFrameworks as fe,getFrameworkEnvVariables as ce,inferFrameworkEnvPatterns as le}from"./packem_shared/detectFrameworks-WVZJOPgN.js";import{projectGraphToDot as he,toGraphAscii as de,toGraphHtml as ke,toGraphJson as ue,toGraphvizDot as Te}from"./packem_shared/projectGraphToDot-FN6oHDGH.js";import{IncrementalFileHasher as ge}from"./packem_shared/IncrementalFileHasher-CdLXVB5F.js";import{CompositeLifeCycle as Re,ConsoleLifeCycle as ve,EmptyLifeCycle as Fe}from"./packem_shared/CompositeLifeCycle-D0zWvAXJ.js";import{LockfileHasher as Se,extractPackageName as be,parseNpmLockfile as Ie,parsePnpmLockfile as Le,parseYarnLockfile as Ee}from"./packem_shared/extractPackageName-BeL6Gc3a.js";import{LogReporter as He,createLogReporter as Ae}from"./packem_shared/LogReporter-BUPWiXAq.js";import{isNativeAvailable as De,loadNativeBindings as _e}from"./packem_shared/isNativeAvailable-BOavFPX1.js";import{resolveOutputs as Me}from"./packem_shared/resolveOutputs-BBjdaraf.js";import{INPUT_URI_SCHEMES as Oe,InvalidInputUriError as Ue,looksLikeInputUri as Ve,parseInputUri as We}from"./packem_shared/INPUT_URI_SCHEMES-Csrd0tlg.js";import{enforceProjectConstraints as ze}from"./packem_shared/enforceProjectConstraints-dNc1SwRi.js";import{generateRunSummary as qe,getLastRunSummaryPath as Je,readLastRunSummary as Ke,writeLastRunSummary as Qe,writeRunSummary as Xe}from"./packem_shared/generateRunSummary-beN13GH4.js";import{createTaskGraph as $e,getTaskId as er,parseTaskId as rr}from"./packem_shared/createTaskGraph-CEYYI-DL.js";import{findCycle as tr,findCycles as ar,getDependentTasks as sr,getLeafTasks as pr,getTransitiveDependencies as nr,makeAcyclic as mr,reverseTaskGraph as ir,walkTaskGraph as fr}from"./packem_shared/findCycle-BY8-jmzB.js";import{InProcessTaskHasher as lr,computeTaskHash as xr}from"./packem_shared/computeTaskHash-Xxd8v-X3.js";import{TaskOrchestrator as dr}from"./packem_shared/TaskOrchestrator-CXeojk7n.js";import{TaskScheduler as ur,parsePartition as Tr}from"./packem_shared/parsePartition-uzPNgtPp.js";import{TerminalBuffer as gr}from"./packem_shared/TerminalBuffer-BtZy7TpT.js";import{TrackedTaskExecutor as Rr}from"./packem_shared/TrackedTaskExecutor-D3-LNT_d.js";import{d as Fr,j as Br,T as Sr,b as br,E as Ir,v as Lr,h as Er,O as Pr}from"./packem_shared/utils-BH2W5Wml.js";import{evaluateWhen as Ar,explainWhen as wr,getCurrentBranch as Dr,resetBranchCache as _r}from"./packem_shared/getCurrentBranch-D-qoZByx.js";import{getMainWorktreeRoot as Mr,isLinkedWorktree as Nr,resetWorktreeCache as Or}from"./packem_shared/getMainWorktreeRoot-DRN_i8jA.js";import{createInputHandler as Vr}from"./packem_shared/createInputHandler-CkDCpPYy.js";import{expandArguments as jr}from"./packem_shared/expandArguments-4mab7-Ds.js";import{expandShortcut as Yr}from"./packem_shared/expandShortcut-BErNHNXZ.js";import{expandTokens as Jr,expandTokensInString as Kr}from"./packem_shared/expandTokensInString-Cyx0qSFA.js";import{expandWildcard as Xr}from"./packem_shared/expandWildcard-DE0dOOZF.js";import{formatTimingTable as $r,logTimings as eo}from"./packem_shared/formatTimingTable-CP3rsDwf.js";import{runTeardown as oo}from"./packem_shared/runTeardown-DBBpBAyb.js";import{stripQuotes as ao}from"./packem_shared/stripQuotes-jkZb0CL9.js";import{withRestart as po}from"./packem_shared/withRestart-DKtEGsQA.js";export{R as Cache,Re as CompositeLifeCycle,ve as ConsoleLifeCycle,v as DEFAULT_CACHE_DIRECTORY_NAME,Fe as EmptyLifeCycle,se as FileAccessTracker,me as FingerprintManager,T as HttpRemoteCache,Oe as INPUT_URI_SCHEMES,lr as InProcessTaskHasher,ge as IncrementalFileHasher,Ue as InvalidInputUriError,Se as LockfileHasher,He as LogReporter,g as ReapiRemoteCache,dr as TaskOrchestrator,ur as TaskScheduler,gr as TerminalBuffer,Rr as TrackedTaskExecutor,E as V2_AC,P as V2_CAS,H as V2_INDEX,A as V2_ROOT,w as V2_TMP,D as acEntryPath,x as actionDigestForTaskHash,o as buildForwardDependencyMap,t as buildReverseDependencyMap,_ as casBlobPath,Fr as collectFiles,xr as computeTaskHash,N as containsBlob,h as containsByTaskHash,Br as createFailureResult,Vr as createInputHandler,Ae as createLogReporter,i as createRemoteCacheBackend,$e as createTaskGraph,re as defaultTaskRunner,fe as detectFrameworks,te as detectScriptShell,b as digestBuffer,I as digestFile,ze as enforceProjectConstraints,Ar as evaluateWhen,a as expandAffected,jr as expandArguments,Yr as expandShortcut,Jr as expandTokens,Kr as expandTokensInString,Xr as expandWildcard,wr as explainWhen,be as extractPackageName,O as fetchBlobToFile,s as filterAffectedTasks,tr as findCycle,ar as findCycles,F as formatCacheSize,$r as formatTimingTable,pe as generatePreloadScript,qe as generateRunSummary,p as getAffectedProjects,n as getChangedFiles,Dr as getCurrentBranch,sr as getDependentTasks,ce as getFrameworkEnvVariables,Je as getLastRunSummaryPath,pr as getLeafTasks,Mr as getMainWorktreeRoot,er as getTaskId,nr as getTransitiveDependencies,Sr as hashFile,br as hashStrings,le as inferFrameworkEnvPatterns,Nr as isLinkedWorktree,De as isNativeAvailable,_e as loadNativeBindings,eo as logTimings,Ve as looksLikeInputUri,mr as makeAcyclic,B as parseCacheSize,K as parseCommands,We as parseInputUri,Ie as parseNpmLockfile,Tr as parsePartition,Le as parsePnpmLockfile,rr as parseTaskId,Ee as parseYarnLockfile,he as projectGraphToDot,U as putBlobFromBytes,V as putBlobFromFile,Ke as readLastRunSummary,Ir as readPackageDeps,_r as resetBranchCache,Or as resetWorktreeCache,f as resolveCacheMode,Me as resolveOutputs,Lr as resolveTaskCwd,c as resolveTurboEnvCompat,d as retrieveByTaskHash,ir as reverseTaskGraph,$ as runConcurrentFallback,X as runConcurrently,oo as runTeardown,Er as sortObjectKeys,k as storeByTaskHash,ao as stripQuotes,G as taskHashIndexPath,Y as toChromeTrace,de as toGraphAscii,ke as toGraphHtml,ue as toGraphJson,Te as toGraphvizDot,W as touchBlob,Pr as uniqueId,j as verifyBlob,fr as walkTaskGraph,po as withRestart,q as writeChromeTrace,Qe as writeLastRunSummary,Xe as writeRunSummary};
1
+ import{buildForwardDependencyMap as o,buildReverseDependencyMap as t,expandAffected as a,filterAffectedTasks as s,getAffectedProjects as p,getChangedFiles as n}from"./packem_shared/buildForwardDependencyMap-w1FVPFdv.js";import{createRemoteCacheBackend as i,resolveCacheMode as f,resolveTurboEnvCompat as c}from"./packem_shared/resolveCacheMode-DEDFC-kM.js";import{actionDigestForTaskHash as x,containsByTaskHash as h,retrieveByTaskHash as d,storeByTaskHash as k}from"./packem_shared/actionDigestForTaskHash-BOL4fZ9v.js";import{HttpRemoteCache as T}from"./packem_shared/HttpRemoteCache-D3Z6b_FO.js";import{ReapiRemoteCache as g}from"./packem_shared/ReapiRemoteCache-B3uQuVqP.js";import{Cache as R,DEFAULT_CACHE_DIRECTORY_NAME as v,formatCacheSize as F,parseCacheSize as B}from"./packem_shared/Cache-C540ZPYk.js";import{digestBuffer as b,digestFile as I}from"./packem_shared/digestBuffer-g11aCaDx.js";import{V2_AC as E,V2_CAS as P,V2_INDEX as H,V2_ROOT as A,V2_TMP as w,acEntryPath as D,casBlobPath as _,taskHashIndexPath as G}from"./packem_shared/V2_ROOT-injxWBrl.js";import{containsBlob as N,fetchBlobToFile as O,putBlobFromBytes as U,putBlobFromFile as V,touchBlob as W,verifyBlob as j}from"./packem_shared/containsBlob-DBWgvkM_.js";import{toChromeTrace as Y,writeChromeTrace as q}from"./packem_shared/toChromeTrace-DxN5NQIU.js";import{parseCommands as K}from"./packem_shared/parseCommands-b1K2vIxj.js";import{runConcurrently as X}from"./packem_shared/runConcurrently-DYbMGyGv.js";import{runConcurrentFallback as $}from"./packem_shared/runConcurrentFallback-Dpqxuyv-.js";import{defaultTaskRunner as re}from"./packem_shared/defaultTaskRunner-DtBuDlMy.js";import{detectScriptShell as te}from"./packem_shared/detectScriptShell-CaTDk5cW.js";import{FileAccessTracker as se,generatePreloadScript as pe}from"./packem_shared/FileAccessTracker-DSNf03JW.js";import{FingerprintManager as me}from"./packem_shared/FingerprintManager-CYW2EwLc.js";import{detectFrameworks as fe,getFrameworkEnvVariables as ce,inferFrameworkEnvPatterns as le}from"./packem_shared/detectFrameworks-WVZJOPgN.js";import{projectGraphToDot as he,toGraphAscii as de,toGraphHtml as ke,toGraphJson as ue,toGraphvizDot as Te}from"./packem_shared/projectGraphToDot-FN6oHDGH.js";import{IncrementalFileHasher as ge}from"./packem_shared/IncrementalFileHasher-CdLXVB5F.js";import{CompositeLifeCycle as Re,ConsoleLifeCycle as ve,EmptyLifeCycle as Fe}from"./packem_shared/CompositeLifeCycle-D0zWvAXJ.js";import{LockfileHasher as Se,extractPackageName as be,parseNpmLockfile as Ie,parsePnpmLockfile as Le,parseYarnLockfile as Ee}from"./packem_shared/extractPackageName-BeL6Gc3a.js";import{LogReporter as He,createLogReporter as Ae}from"./packem_shared/LogReporter-BUPWiXAq.js";import{isNativeAvailable as De,loadNativeBindings as _e}from"./packem_shared/isNativeAvailable-BOavFPX1.js";import{resolveOutputs as Me}from"./packem_shared/resolveOutputs-BBjdaraf.js";import{INPUT_URI_SCHEMES as Oe,InvalidInputUriError as Ue,looksLikeInputUri as Ve,parseInputUri as We}from"./packem_shared/INPUT_URI_SCHEMES-Csrd0tlg.js";import{enforceProjectConstraints as ze}from"./packem_shared/enforceProjectConstraints-dNc1SwRi.js";import{generateRunSummary as qe,getLastRunSummaryPath as Je,readLastRunSummary as Ke,writeLastRunSummary as Qe,writeRunSummary as Xe}from"./packem_shared/generateRunSummary-beN13GH4.js";import{createTaskGraph as $e,getTaskId as er,parseTaskId as rr}from"./packem_shared/createTaskGraph-D6nPDd4s.js";import{findCycle as tr,findCycles as ar,getDependentTasks as sr,getLeafTasks as pr,getTransitiveDependencies as nr,makeAcyclic as mr,reverseTaskGraph as ir,walkTaskGraph as fr}from"./packem_shared/findCycle-BY8-jmzB.js";import{InProcessTaskHasher as lr,computeTaskHash as xr}from"./packem_shared/computeTaskHash-Xxd8v-X3.js";import{TaskOrchestrator as dr}from"./packem_shared/TaskOrchestrator-epY79EWq.js";import{TaskScheduler as ur,parsePartition as Tr}from"./packem_shared/parsePartition-uzPNgtPp.js";import{TerminalBuffer as gr}from"./packem_shared/TerminalBuffer-BtZy7TpT.js";import{TrackedTaskExecutor as Rr}from"./packem_shared/TrackedTaskExecutor-D3-LNT_d.js";import{d as Fr,j as Br,T as Sr,b as br,E as Ir,v as Lr,h as Er,O as Pr}from"./packem_shared/utils-BH2W5Wml.js";import{evaluateWhen as Ar,explainWhen as wr,getCurrentBranch as Dr,resetBranchCache as _r}from"./packem_shared/getCurrentBranch-D-qoZByx.js";import{getMainWorktreeRoot as Mr,isLinkedWorktree as Nr,resetWorktreeCache as Or}from"./packem_shared/getMainWorktreeRoot-DRN_i8jA.js";import{createInputHandler as Vr}from"./packem_shared/createInputHandler-CkDCpPYy.js";import{expandArguments as jr}from"./packem_shared/expandArguments-4mab7-Ds.js";import{expandShortcut as Yr}from"./packem_shared/expandShortcut-BErNHNXZ.js";import{expandTokens as Jr,expandTokensInString as Kr}from"./packem_shared/expandTokensInString-Cyx0qSFA.js";import{expandWildcard as Xr}from"./packem_shared/expandWildcard-DE0dOOZF.js";import{formatTimingTable as $r,logTimings as eo}from"./packem_shared/formatTimingTable-CP3rsDwf.js";import{runTeardown as oo}from"./packem_shared/runTeardown-DBBpBAyb.js";import{stripQuotes as ao}from"./packem_shared/stripQuotes-jkZb0CL9.js";import{withRestart as po}from"./packem_shared/withRestart-DKtEGsQA.js";export{R as Cache,Re as CompositeLifeCycle,ve as ConsoleLifeCycle,v as DEFAULT_CACHE_DIRECTORY_NAME,Fe as EmptyLifeCycle,se as FileAccessTracker,me as FingerprintManager,T as HttpRemoteCache,Oe as INPUT_URI_SCHEMES,lr as InProcessTaskHasher,ge as IncrementalFileHasher,Ue as InvalidInputUriError,Se as LockfileHasher,He as LogReporter,g as ReapiRemoteCache,dr as TaskOrchestrator,ur as TaskScheduler,gr as TerminalBuffer,Rr as TrackedTaskExecutor,E as V2_AC,P as V2_CAS,H as V2_INDEX,A as V2_ROOT,w as V2_TMP,D as acEntryPath,x as actionDigestForTaskHash,o as buildForwardDependencyMap,t as buildReverseDependencyMap,_ as casBlobPath,Fr as collectFiles,xr as computeTaskHash,N as containsBlob,h as containsByTaskHash,Br as createFailureResult,Vr as createInputHandler,Ae as createLogReporter,i as createRemoteCacheBackend,$e as createTaskGraph,re as defaultTaskRunner,fe as detectFrameworks,te as detectScriptShell,b as digestBuffer,I as digestFile,ze as enforceProjectConstraints,Ar as evaluateWhen,a as expandAffected,jr as expandArguments,Yr as expandShortcut,Jr as expandTokens,Kr as expandTokensInString,Xr as expandWildcard,wr as explainWhen,be as extractPackageName,O as fetchBlobToFile,s as filterAffectedTasks,tr as findCycle,ar as findCycles,F as formatCacheSize,$r as formatTimingTable,pe as generatePreloadScript,qe as generateRunSummary,p as getAffectedProjects,n as getChangedFiles,Dr as getCurrentBranch,sr as getDependentTasks,ce as getFrameworkEnvVariables,Je as getLastRunSummaryPath,pr as getLeafTasks,Mr as getMainWorktreeRoot,er as getTaskId,nr as getTransitiveDependencies,Sr as hashFile,br as hashStrings,le as inferFrameworkEnvPatterns,Nr as isLinkedWorktree,De as isNativeAvailable,_e as loadNativeBindings,eo as logTimings,Ve as looksLikeInputUri,mr as makeAcyclic,B as parseCacheSize,K as parseCommands,We as parseInputUri,Ie as parseNpmLockfile,Tr as parsePartition,Le as parsePnpmLockfile,rr as parseTaskId,Ee as parseYarnLockfile,he as projectGraphToDot,U as putBlobFromBytes,V as putBlobFromFile,Ke as readLastRunSummary,Ir as readPackageDeps,_r as resetBranchCache,Or as resetWorktreeCache,f as resolveCacheMode,Me as resolveOutputs,Lr as resolveTaskCwd,c as resolveTurboEnvCompat,d as retrieveByTaskHash,ir as reverseTaskGraph,$ as runConcurrentFallback,X as runConcurrently,oo as runTeardown,Er as sortObjectKeys,k as storeByTaskHash,ao as stripQuotes,G as taskHashIndexPath,Y as toChromeTrace,de as toGraphAscii,ke as toGraphHtml,ue as toGraphJson,Te as toGraphvizDot,W as touchBlob,Pr as uniqueId,j as verifyBlob,fr as walkTaskGraph,po as withRestart,q as writeChromeTrace,Qe as writeLastRunSummary,Xe as writeRunSummary};