@michaelrwalker/stagehand 0.8.0 → 0.10.0

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.
Files changed (41) hide show
  1. package/README.md +74 -7
  2. package/dist/cache.d.ts +11 -2
  3. package/dist/cache.d.ts.map +1 -1
  4. package/dist/cache.js +37 -5
  5. package/dist/cache.js.map +1 -1
  6. package/dist/index.d.ts +1 -1
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js.map +1 -1
  9. package/dist/script.d.ts +27 -1
  10. package/dist/script.d.ts.map +1 -1
  11. package/dist/script.js +58 -9
  12. package/dist/script.js.map +1 -1
  13. package/dist/state.d.ts +7 -1
  14. package/dist/state.d.ts.map +1 -1
  15. package/dist/state.js.map +1 -1
  16. package/dist/types.d.ts +54 -3
  17. package/dist/types.d.ts.map +1 -1
  18. package/dist/ui/frame.d.ts.map +1 -1
  19. package/dist/ui/frame.js +7 -3
  20. package/dist/ui/frame.js.map +1 -1
  21. package/dist/ui/renderer.d.ts +2 -0
  22. package/dist/ui/renderer.d.ts.map +1 -1
  23. package/dist/ui/renderer.js +11 -1
  24. package/dist/ui/renderer.js.map +1 -1
  25. package/package.json +1 -1
  26. package/skills/building-scripts/branching-steps/SKILL.md +144 -0
  27. package/skills/building-scripts/command-line-flags/SKILL.md +115 -0
  28. package/skills/building-scripts/getting-started/SKILL.md +1 -1
  29. package/skills/building-scripts/prompting-the-user/SKILL.md +91 -0
  30. package/skills/building-scripts/structuring-phases-and-steps/SKILL.md +5 -1
  31. package/skills/building-scripts/typed-context-and-input/SKILL.md +1 -1
  32. package/skills/caching/caching-expensive-work/SKILL.md +66 -8
  33. package/skills/caching/caching-expensive-work/references/cache-api.md +17 -7
  34. package/skills/compensation-safety/adding-rollbacks/SKILL.md +3 -1
  35. package/skills/compensation-safety/cleaning-context/SKILL.md +1 -1
  36. package/skills/compensation-safety/conditional-steps/SKILL.md +19 -3
  37. package/skills/errors-results/handling-results-and-errors/SKILL.md +19 -4
  38. package/skills/observability/log-placement-and-rendering/SKILL.md +1 -1
  39. package/skills/observability/reporting-progress/SKILL.md +3 -1
  40. package/skills/reuse/reusable-routines-and-mounts/SKILL.md +3 -3
  41. package/skills/reuse/splitting-steps-across-files/SKILL.md +1 -1
package/README.md CHANGED
@@ -303,6 +303,26 @@ per placement.
303
303
  `when` returning false marks the step **skipped** — its rollback never runs.
304
304
  Phases accept `when` too, which skips all their steps.
305
305
 
306
+ ### Branching: `addBranch`
307
+
308
+ `when` skips a step, which leaves later steps without what it would have
309
+ produced. `addBranch` chooses between two arms that return the same shape, so
310
+ `ctx` is typed correctly whichever one runs — the natural home for an override
311
+ flag:
312
+
313
+ ```ts
314
+ .addBranch({
315
+ name: "resolve commit",
316
+ condition: ({ flags }) => Boolean(flags.sha),
317
+ onTrue: ({ flags }) => ({ sha: flags.sha as string }),
318
+ onFalse: async ({ input }) => ({ sha: await git.head(input.service) }),
319
+ })
320
+ ```
321
+
322
+ `onTrue` fixes the output type and `onFalse` must match it. A branch takes
323
+ `description`, `retry` and `timeoutMs`, but no `rollback`, `cache` or `clean`:
324
+ cache the phase it lives in instead.
325
+
306
326
  ## Caching
307
327
 
308
328
  A phase or a step can reuse what it produced on an earlier run. Point it at a
@@ -330,14 +350,55 @@ contributed, minus anything they `clean`ed. Keys from earlier phases are never
330
350
  part of it, so a hit can't overwrite a value this run just computed. A step
331
351
  stores exactly what its handler returned.
332
352
 
333
- **There is no key.** The store is the identity. Say when an entry stops being
334
- good with `stale`, or delete the file:
353
+ **One entry per phase or step.** The store holds a single result for each.
354
+ Two options decide whether it can be reused: `key` says what it was computed
355
+ *for*, and `stale` says whether it is still fresh.
356
+
357
+ ```ts
358
+ .addStep({
359
+ name: "fetch pricing",
360
+ cache: { store: cache, key: ({ input }) => input.sku },
361
+ handler: async ({ input }) => ({ price: await price(input.sku) }),
362
+ })
363
+ ```
364
+
365
+ `key` returns a string, stored alongside the entry and compared with `===` on
366
+ the next run:
367
+
368
+ | Stored entry | Key matches | Result |
369
+ |---|---|---|
370
+ | none | — | runs, stores the value and its key |
371
+ | yes | no | runs, overwrites both |
372
+ | yes | yes | hit |
373
+
374
+ There is still only one entry: going back to an earlier key is a miss too. It
375
+ answers "is this the same thing as last time?" — it is not memoization.
376
+
377
+ The string is deliberate. Only you know whether two inputs are the same, so
378
+ the function owns that decision. If order doesn't matter, sort. If the input
379
+ is an object, serialise it the way you mean it:
380
+
381
+ ```ts
382
+ key: ({ ctx }) => [...ctx.skus].sort().join(","), // same SKUs, any order
383
+ key: ({ input, flags }) => JSON.stringify([input.region, flags.env]),
384
+ ```
385
+
386
+ `key` sees the context entering the phase or step — the same `{ input, ctx,
387
+ flags }` as `when` — and is evaluated once, so the entry is written under the
388
+ key it was read with, whatever the work does to the context afterwards. A
389
+ rerun forced by a new key says so: `key changed` beside the step in the
390
+ terminal, and `cacheMiss: "key changed"` on its `StepReport` (or on every step
391
+ of a cached phase). An entry written before `key` was declared has no key, so
392
+ it misses once and is rewritten.
393
+
394
+ Both together:
335
395
 
336
396
  ```ts
337
397
  .addPhase("Build", {
338
398
  cache: {
339
399
  store: cache,
340
- stale: ({ value, ctx, ageMs }) => ageMs > 3_600_000 || value.sha !== ctx.sha,
400
+ key: ({ ctx }) => ctx.sha, // a new commit rebuilds
401
+ stale: ({ ageMs }) => ageMs > 3_600_000, // so does an hour passing
341
402
  schema: BuildSchema, // optional; a value that no longer fits is a miss
342
403
  },
343
404
  })
@@ -394,7 +455,8 @@ compiling and silently address nothing.
394
455
  Invalidation flows backwards only — a later step can drop an earlier phase's
395
456
  entry, not the reverse.
396
457
 
397
- `write` restamps the entry as written *now* unless you pass `keepAge`. Reach
458
+ `write` keeps the entry's `key` — a correction is still for the same input —
459
+ and restamps the entry as written *now* unless you pass `keepAge`. Reach
398
460
  for it when you are correcting a value rather than refreshing it: restamping
399
461
  silently buys another full TTL for data that is exactly as old as it was a
400
462
  moment ago, which is the opposite of what you want when the cache is there to
@@ -426,6 +488,7 @@ interface CacheStore {
426
488
  write(slot: string, entry: CachedEntry): Awaitable<void>;
427
489
  clear(slot: string): Awaitable<void>;
428
490
  }
491
+ // CachedEntry is { value: unknown; savedAt: number; key?: string }
429
492
  ```
430
493
 
431
494
  `slot` is derived from the phase or step name so several phases can share one
@@ -433,8 +496,11 @@ store; scripts never write it. `fileStore(path)` keeps every slot in one JSON
433
496
  file — a missing, unreadable or corrupt file all read as no cache at all, so
434
497
  deleting it is always a valid reset. `memoryStore()` lasts for the process.
435
498
 
436
- A store that throws — unreadable file, full disk, a `stale` predicate with a bug
437
- — logs a warning and does the work. Caching never decides whether a run passes.
499
+ A store that throws — unreadable file, full disk, a `stale` predicate or a
500
+ `key` with a bug — logs a warning and does the work. Caching never decides
501
+ whether a run passes. A `key` that throws (or returns something other than a
502
+ string) also leaves the stored entry untouched, since there is no key to file
503
+ the new result under.
438
504
 
439
505
  ## Script options
440
506
 
@@ -612,7 +678,7 @@ fragment someone else's script also mounts.
612
678
 
613
679
  ## Examples
614
680
 
615
- Eleven runnable scripts, each aimed at a different part of the API. Most take
681
+ Twelve runnable scripts, each aimed at a different part of the API. Most take
616
682
  a flag to switch between the happy path and the interesting one.
617
683
 
618
684
  | | |
@@ -627,6 +693,7 @@ a flag to switch between the happy path and the interesting one.
627
693
  | [`cache.ts`](examples/cache.ts) | A cached `Build` phase and a cached step. Run it twice to watch the second run skip both. `-- --fresh` to rebuild and overwrite |
628
694
  | [`invalidate.ts`](examples/invalidate.ts) | `context.cache` from inside a step: correct an entry without refetching, drop one that is beyond saving, and watch the shape guard catch an entry written before the code changed. `-- --patch`, `-- --drop`, `-- --drift` |
629
695
  | [`routine.ts`](examples/routine.ts) | One reusable fragment in [`routines/channel.ts`](examples/routines/channel.ts), mounted by a sync script and, months later, a report that maps its own input onto the routine's — and gets the pull from cache. `-- --multi` mounts it twice, one storefront and API key per mount |
696
+ | [`branch.ts`](examples/branch.ts) | `addBranch` with an override flag: both arms hand later steps the same `sha`. `-- --sha abc1234` takes the override arm |
630
697
  | [`validate.ts`](examples/validate.ts) | The smallest thing that runs: two steps, `rollback: "none"` |
631
698
 
632
699
  ```
package/dist/cache.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import type { CacheMissReason } from "./state.js";
1
2
  import type { CacheMode, CacheOptions, CacheSource, CacheStore } from "./types.js";
2
3
  /** Lives for the lifetime of the process. Useful in tests, and for re-runs. */
3
4
  export declare function memoryStore(): CacheStore;
@@ -19,14 +20,22 @@ export type CacheLookup = {
19
20
  ageMs: number;
20
21
  } | {
21
22
  hit: false;
23
+ reason?: CacheMissReason;
22
24
  };
25
+ /**
26
+ * Evaluate `key` once, against the context entering the phase or step, so the
27
+ * read and the write that follows agree on it — by the time the write happens
28
+ * the context has moved on. `undefined` means no key was declared, or caching
29
+ * is off and nothing will read or write it.
30
+ */
31
+ export declare function cacheKey(cache: CacheOptions, input: unknown, ctx: unknown, mode: CacheMode, flags: unknown): Promise<string | undefined>;
23
32
  /**
24
33
  * Read an entry and put it through every gate. A failure at any gate is a
25
34
  * miss — the work runs and the entry is replaced — never an error.
26
35
  */
27
- export declare function readCache(cache: CacheOptions, slot: string, input: unknown, ctx: unknown, mode: CacheMode, flags: unknown): Promise<CacheLookup>;
36
+ export declare function readCache(cache: CacheOptions, slot: string, key: string | undefined, input: unknown, ctx: unknown, mode: CacheMode, flags: unknown): Promise<CacheLookup>;
28
37
  /** Only ever called after the phase or step has fully succeeded. */
29
- export declare function writeCache(cache: CacheOptions, slot: string, value: unknown, mode: CacheMode): Promise<void>;
38
+ export declare function writeCache(cache: CacheOptions, slot: string, value: unknown, key: string | undefined, mode: CacheMode): Promise<void>;
30
39
  /** Identifies a phase's entry. Steps hang off their phase to avoid collisions. */
31
40
  export declare const phaseSlot: (phase: string) => string;
32
41
  export declare const stepSlot: (phase: string, step: string) => string;
@@ -1 +1 @@
1
- {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../src/cache.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,SAAS,EACT,YAAY,EACZ,WAAW,EACX,UAAU,EAEX,MAAM,YAAY,CAAC;AAMpB,+EAA+E;AAC/E,wBAAgB,WAAW,IAAI,UAAU,CAWxC;AA2BD;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CAoEtD;AAgBD,yEAAyE;AACzE,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,CAMxF;AAED,MAAM,MAAM,WAAW,GACnB;IAAE,GAAG,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC5C;IAAE,GAAG,EAAE,KAAK,CAAA;CAAE,CAAC;AAInB;;;GAGG;AACH,wBAAsB,SAAS,CAC7B,KAAK,EAAE,YAAY,EACnB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,EACd,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,WAAW,CAAC,CAoBtB;AAED,oEAAoE;AACpE,wBAAsB,UAAU,CAC9B,KAAK,EAAE,YAAY,EACnB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,SAAS,GACd,OAAO,CAAC,IAAI,CAAC,CAGf;AAED,kFAAkF;AAClF,eAAO,MAAM,SAAS,GAAI,OAAO,MAAM,KAAG,MAAe,CAAC;AAC1D,eAAO,MAAM,QAAQ,GAAI,OAAO,MAAM,EAAE,MAAM,MAAM,KAAG,MAA6B,CAAC;AAqBrF;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,SAAK,GAAG,CAAC,CAelE;AAMD,4EAA4E;AAC5E,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,UAAU,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG;IAClE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAClE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpF,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CAClD,CAoCA"}
1
+ {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../src/cache.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,KAAK,EACV,SAAS,EACT,YAAY,EACZ,WAAW,EACX,UAAU,EAEX,MAAM,YAAY,CAAC;AAMpB,+EAA+E;AAC/E,wBAAgB,WAAW,IAAI,UAAU,CAWxC;AA2BD;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CAoEtD;AAgBD,yEAAyE;AACzE,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,CAMxF;AAED,MAAM,MAAM,WAAW,GACnB;IAAE,GAAG,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC5C;IAAE,GAAG,EAAE,KAAK,CAAC;IAAC,MAAM,CAAC,EAAE,eAAe,CAAA;CAAE,CAAC;AAI7C;;;;;GAKG;AACH,wBAAsB,QAAQ,CAC5B,KAAK,EAAE,YAAY,EACnB,KAAK,EAAE,OAAO,EACd,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAS7B;AAED;;;GAGG;AACH,wBAAsB,SAAS,CAC7B,KAAK,EAAE,YAAY,EACnB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,KAAK,EAAE,OAAO,EACd,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,WAAW,CAAC,CAwBtB;AAED,oEAAoE;AACpE,wBAAsB,UAAU,CAC9B,KAAK,EAAE,YAAY,EACnB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,EACd,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,IAAI,EAAE,SAAS,GACd,OAAO,CAAC,IAAI,CAAC,CAKf;AAED,kFAAkF;AAClF,eAAO,MAAM,SAAS,GAAI,OAAO,MAAM,KAAG,MAAe,CAAC;AAC1D,eAAO,MAAM,QAAQ,GAAI,OAAO,MAAM,EAAE,MAAM,MAAM,KAAG,MAA6B,CAAC;AAqBrF;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,SAAK,GAAG,CAAC,CAelE;AAMD,4EAA4E;AAC5E,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,UAAU,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG;IAClE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAClE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpF,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CAClD,CA2CA"}
package/dist/cache.js CHANGED
@@ -132,16 +132,37 @@ export function normalizeCache(source) {
132
132
  return source;
133
133
  }
134
134
  const MISS = { hit: false };
135
+ /**
136
+ * Evaluate `key` once, against the context entering the phase or step, so the
137
+ * read and the write that follows agree on it — by the time the write happens
138
+ * the context has moved on. `undefined` means no key was declared, or caching
139
+ * is off and nothing will read or write it.
140
+ */
141
+ export async function cacheKey(cache, input, ctx, mode, flags) {
142
+ if (!cache.key || mode === "off")
143
+ return undefined;
144
+ const key = await cache.key({ input, ctx, flags });
145
+ // The type already says string; this catches the untyped caller whose
146
+ // object would otherwise be compared by identity and never hit.
147
+ if (typeof key !== "string") {
148
+ throw new TypeError(`key must return a string, got ${key === null ? "null" : typeof key}`);
149
+ }
150
+ return key;
151
+ }
135
152
  /**
136
153
  * Read an entry and put it through every gate. A failure at any gate is a
137
154
  * miss — the work runs and the entry is replaced — never an error.
138
155
  */
139
- export async function readCache(cache, slot, input, ctx, mode, flags) {
156
+ export async function readCache(cache, slot, key, input, ctx, mode, flags) {
140
157
  if (mode === "off" || mode === "refresh")
141
158
  return MISS;
142
159
  const entry = await cache.store.read(slot);
143
160
  if (!entry)
144
161
  return MISS;
162
+ // An entry written before `key` was declared has none, and is a miss: it
163
+ // cannot say what it was computed for.
164
+ if (key !== undefined && entry.key !== key)
165
+ return { hit: false, reason: "key changed" };
145
166
  let value = entry.value;
146
167
  if (cache.schema) {
147
168
  const result = await cache.schema["~standard"].validate(value);
@@ -156,10 +177,13 @@ export async function readCache(cache, slot, input, ctx, mode, flags) {
156
177
  return { hit: true, value, ageMs };
157
178
  }
158
179
  /** Only ever called after the phase or step has fully succeeded. */
159
- export async function writeCache(cache, slot, value, mode) {
180
+ export async function writeCache(cache, slot, value, key, mode) {
160
181
  if (mode === "off" || mode === "read-only")
161
182
  return;
162
- await cache.store.write(slot, { value, savedAt: Date.now() });
183
+ const entry = { value, savedAt: Date.now() };
184
+ if (key !== undefined)
185
+ entry.key = key;
186
+ await cache.store.write(slot, entry);
163
187
  }
164
188
  /** Identifies a phase's entry. Steps hang off their phase to avoid collisions. */
165
189
  export const phaseSlot = (phase) => phase;
@@ -236,8 +260,16 @@ export function createCacheHandle(slots) {
236
260
  },
237
261
  async write(slot, value, options) {
238
262
  const store = bindingFor(slot).store;
239
- const previous = options?.keepAge ? await store.read(slot) : undefined;
240
- await store.write(slot, { value, savedAt: previous?.savedAt ?? Date.now() });
263
+ const previous = await store.read(slot);
264
+ const entry = {
265
+ value,
266
+ savedAt: (options?.keepAge ? previous?.savedAt : undefined) ?? Date.now(),
267
+ };
268
+ // A hand-written value corrects the entry; it is still for the same
269
+ // key. Dropping it would turn the correction into a miss next run.
270
+ if (previous?.key !== undefined)
271
+ entry.key = previous.key;
272
+ await store.write(slot, entry);
241
273
  },
242
274
  async clear(slot) {
243
275
  await bindingFor(slot).store.clear(slot);
package/dist/cache.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cache.js","sourceRoot":"","sources":["../src/cache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cache.js","sourceRoot":"","sources":["../src/cache.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  export { Script, script, stepFor, routineFor, type CachedPhaseOptions, type ClosedPhase, type Commit, type MountInput, type MountOptions, type Mounted, type OpenPhase, type Routine, type RunOptions, } from "./script.js";
2
2
  export { fileStore, memoryStore } from "./cache.js";
3
3
  export { CacheShapeError, DuplicateNameError, MissingFlagValueError, PromptCancelledError, PromptUnavailableError, RollbackFailedError, SchemaValidationError, ScriptAbortedError, StepDefinitionError, StepFailedError, StepTimeoutError, UnknownFlagError, isAbort, } from "./errors.js";
4
- export type { Awaitable, BaseFlagOptions, BooleanFlagOptions, CacheHandle, CacheMode, CacheOptions, CacheSource, CacheStore, CachedEntry, CleanField, Cleaned, ConfirmPromptOptions, LogPlacement, Merge, MultiSelectPromptOptions, PhaseOptions, PhaseStatus, Prettify, ProgressHandle, PromptChoice, PromptHandle, RetryPolicy, RollbackContext, RollbackData, RollbackReport, RunResult, RunStatus, ScriptOptions, SelectPromptOptions, SlotValue, StaleContext, StepContext, StepDef, InheritedKeyStepDef, StepReport, StepStatus, StringFlagOptions, TaskHandle, TaskListHandle, TextPromptOptions, UnknownFlags, UnknownSlots, WithStepFor, } from "./types.js";
4
+ export type { Awaitable, BaseFlagOptions, BooleanFlagOptions, BranchDef, CacheHandle, CacheMode, CacheOptions, CacheSource, CacheStore, CachedEntry, CleanField, Cleaned, ConfirmPromptOptions, LogPlacement, Merge, MultiSelectPromptOptions, PhaseOptions, PhaseStatus, Prettify, ProgressHandle, PromptChoice, PromptHandle, RetryPolicy, RollbackContext, RollbackData, RollbackReport, RunResult, RunStatus, ScriptOptions, SelectPromptOptions, SlotValue, KeyContext, StaleContext, StepContext, StepDef, InheritedKeyStepDef, StepReport, StepStatus, StringFlagOptions, TaskHandle, TaskListHandle, TextPromptOptions, UnknownFlags, UnknownSlots, WithStepFor, } from "./types.js";
5
5
  export { formatDuration } from "./state.js";
6
6
  export { setColorEnabled, isColorEnabled } from "./ui/ansi.js";
7
7
  export { palette, symbols } from "./ui/theme.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,MAAM,EACN,OAAO,EACP,UAAU,EACV,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,KAAK,MAAM,EACX,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,OAAO,EACZ,KAAK,SAAS,EACd,KAAK,OAAO,EACZ,KAAK,UAAU,GAChB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEpD,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,OAAO,GACR,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,SAAS,EACT,eAAe,EACf,kBAAkB,EAClB,WAAW,EACX,SAAS,EACT,YAAY,EACZ,WAAW,EACX,UAAU,EACV,WAAW,EACX,UAAU,EACV,OAAO,EACP,oBAAoB,EACpB,YAAY,EACZ,KAAK,EACL,wBAAwB,EACxB,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,eAAe,EACf,YAAY,EACZ,cAAc,EACd,SAAS,EACT,SAAS,EACT,aAAa,EACb,mBAAmB,EACnB,SAAS,EACT,YAAY,EACZ,WAAW,EACX,OAAO,EACP,mBAAmB,EACnB,UAAU,EACV,UAAU,EACV,iBAAiB,EACjB,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,WAAW,GACZ,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,MAAM,EACN,OAAO,EACP,UAAU,EACV,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,KAAK,MAAM,EACX,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,OAAO,EACZ,KAAK,SAAS,EACd,KAAK,OAAO,EACZ,KAAK,UAAU,GAChB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEpD,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,OAAO,GACR,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,SAAS,EACT,eAAe,EACf,kBAAkB,EAClB,SAAS,EACT,WAAW,EACX,SAAS,EACT,YAAY,EACZ,WAAW,EACX,UAAU,EACV,WAAW,EACX,UAAU,EACV,OAAO,EACP,oBAAoB,EACpB,YAAY,EACZ,KAAK,EACL,wBAAwB,EACxB,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,eAAe,EACf,YAAY,EACZ,cAAc,EACd,SAAS,EACT,SAAS,EACT,aAAa,EACb,mBAAmB,EACnB,SAAS,EACT,UAAU,EACV,YAAY,EACZ,WAAW,EACX,OAAO,EACP,mBAAmB,EACnB,UAAU,EACV,UAAU,EACV,iBAAiB,EACjB,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,WAAW,GACZ,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,MAAM,EACN,OAAO,EACP,UAAU,GAUX,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEpD,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,OAAO,GACR,MAAM,aAAa,CAAC;AAgDrB,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,MAAM,EACN,OAAO,EACP,UAAU,GAUX,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEpD,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,OAAO,GACR,MAAM,aAAa,CAAC;AAkDrB,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC"}
package/dist/script.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { StandardSchemaV1 } from "@standard-schema/spec";
2
- import type { Awaitable, BooleanFlagOptions, CacheMode, CacheSource, CleanField, Cleaned, Merge, PhaseOptions, RunResult, ScriptOptions, SlotValue, StepDef, StringFlagOptions, UnknownFlags, UnknownSlots, InheritedKeyStepDef } from "./types.js";
2
+ import type { Awaitable, BranchDef, BooleanFlagOptions, CacheMode, CacheSource, CleanField, Cleaned, Merge, PhaseOptions, RunResult, ScriptOptions, SlotValue, StepDef, StringFlagOptions, UnknownFlags, UnknownSlots, InheritedKeyStepDef } from "./types.js";
3
3
  /**
4
4
  * Keys for the phantom markers on {@link Script} and {@link Routine}. Exported
5
5
  * only because declaration emit has to name them; there is no runtime value
@@ -303,6 +303,32 @@ export declare class Script<In = void, Ctx extends object = {}, Reserved extends
303
303
  schema: Open["schema"];
304
304
  delta: Cleaned<Merge<Open["delta"], Out>, CleanKeys[number]>;
305
305
  }, Flags>;
306
+ /**
307
+ * Append a step that runs `onTrue` or `onFalse` depending on `condition`.
308
+ * Both arms return the same shape, so the context is typed identically for
309
+ * every later step whichever one ran — the way to model an override flag.
310
+ *
311
+ * ```ts
312
+ * .addBranch({
313
+ * name: "resolve commit",
314
+ * condition: ({ flags }) => Boolean(flags.sha),
315
+ * onTrue: ({ flags }) => ({ sha: flags.sha as string }),
316
+ * onFalse: async ({ input }) => ({ sha: await git.head(input.service) }),
317
+ * })
318
+ * ```
319
+ *
320
+ * It is an ordinary step once added: a failing `condition` or arm fails the
321
+ * step, and `retry` / `timeoutMs` cover the whole thing. There is no
322
+ * `rollback`, `cache` or `clean` — cache the enclosing phase instead.
323
+ */
324
+ addBranch<Out extends object | void, const Name extends string = string>(def: Omit<BranchDef<In, Ctx, Out, Slots, Flags>, "name"> & {
325
+ name: Name;
326
+ }): Script<In, Merge<Ctx, Out>, Reserved, Slots, {
327
+ name: Open["name"];
328
+ phase: Open["phase"];
329
+ schema: Open["schema"];
330
+ delta: Merge<Open["delta"], Out>;
331
+ }, Flags>;
306
332
  /**
307
333
  * Splice a reusable fragment into this script. Its phases land here in
308
334
  * order, and everything it produced is merged into the context — so the
@@ -1 +1 @@
1
- {"version":3,"file":"script.d.ts","sourceRoot":"","sources":["../src/script.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAqB9D,OAAO,KAAK,EACV,SAAS,EACT,kBAAkB,EAClB,SAAS,EACT,WAAW,EACX,UAAU,EACV,OAAO,EACP,KAAK,EACL,YAAY,EAIZ,SAAS,EACT,aAAa,EACb,SAAS,EACT,OAAO,EACP,iBAAiB,EACjB,YAAY,EACZ,YAAY,EAEZ,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAsCpB;;;;GAIG;AACH,MAAM,CAAC,OAAO,CAAC,MAAM,QAAQ,EAAE,OAAO,MAAM,CAAC;AAC7C,MAAM,CAAC,OAAO,CAAC,MAAM,QAAQ,EAAE,OAAO,MAAM,CAAC;AAE7C;;;;;;;GAOG;AACH,MAAM,WAAW,OAAO,CACtB,EAAE,EACF,GAAG,SAAS,MAAM,EAClB,GAAG,SAAS,MAAM,EAClB,QAAQ,SAAS,WAAW,EAK5B,KAAK,GAAG,YAAY;IAEpB;;;;OAIG;IACH,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE;QAAE,KAAK,EAAE,EAAE,CAAC;QAAC,GAAG,EAAE,GAAG,CAAA;KAAE,KAAK,IAAI,CAAC;IAChE,2EAA2E;IAC3E,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;;;;GAKG;AACH,MAAM,MAAM,OAAO,CAAC,EAAE,SAAS,MAAM,GAAG,SAAS,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,GAC7E;KAAG,CAAC,IAAI,MAAM,KAAK,IAAI,GAAG,EAAE,MAAM,CAAC,GAAG,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC;CAAE,GAC3D,KAAK,CAAC;AAeV,MAAM,WAAW,YAAY;IAC3B;;;;OAIG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED;;;;;GAKG;AACH,MAAM,MAAM,UAAU,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,GAAG,YAAY,IACvD,KAAK,GACL,CAAC,CAAC,OAAO,EAAE;IAAE,KAAK,EAAE,EAAE,CAAC;IAAC,GAAG,EAAE,GAAG,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,KAAK,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AAO3E;;;;;;;GAOG;AACH,MAAM,WAAW,SAAS;IACxB,2EAA2E;IAC3E,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IACrB;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;IACd,uEAAuE;IACvE,MAAM,EAAE,OAAO,CAAC;IAChB,uDAAuD;IACvD,KAAK,EAAE,MAAM,CAAC;CACf;AAED,kEAAkE;AAClE,MAAM,MAAM,WAAW,GAAG;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,EAAE,CAAA;CAAE,CAAC;AAGrF;;;;;;;;;GASG;AACH,MAAM,MAAM,MAAM,CAAC,KAAK,EAAE,IAAI,SAAS,SAAS,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAC9E,KAAK,GACL,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAE3E,kFAAkF;AAClF,MAAM,MAAM,kBAAkB,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,GAAG,YAAY,IAAI,IAAI,CACzE,YAAY,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,EAC5B,OAAO,CACR,GAAG;IACF,KAAK,EAAE,WAAW,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;CAC3C,CAAC;AAEF,MAAM,WAAW,UAAU;IACzB,uCAAuC;IACvC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;;;OAIG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;;;OAIG;IACH,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1B;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,qBAAa,MAAM,CACjB,EAAE,GAAG,IAAI,EACT,GAAG,SAAS,MAAM,GAAG,EAAE,EACvB,QAAQ,SAAS,WAAW,GAAG,KAAK,EACpC,KAAK,GAAG,EAAE,EACV,IAAI,SAAS,SAAS,GAAG,WAAW,EACpC,KAAK,SAAS,MAAM,GAAG,EAAE;IAEzB;;;;;;OAMG;IACH,SAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,IAAI,CAAC;IAEjD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;IACxC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyB;IACpD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqB;IAC9C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqB;IAChD,gFAAgF;IAChF,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,OAAO,CAA+B;IAC9C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiB;IAC1C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqB;IAC/C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqB;IAC/C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqB;gBAEpC,OAAO,GAAE,aAAa,GAAG,MAAW;IAShD;;;;;;;;;;;;;;;;;;;OAmBG;IACH,WAAW,CAAC,OAAO,EACjB,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,GACzC,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC;IAKzD,sEAAsE;YACxD,aAAa;IAO3B;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,UAAU,CAAC,KAAK,CAAC,IAAI,SAAS,MAAM,EAClC,OAAO,EAAE,kBAAkB,CAAC,IAAI,CAAC,GAChC,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACxE,UAAU,CAAC,KAAK,CAAC,IAAI,SAAS,MAAM,EAAE,KAAK,CAAC,OAAO,SAAS,MAAM,GAAG,SAAS,GAAG,SAAS,EACxF,OAAO,EAAE,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,GACxC,MAAM,CACP,EAAE,EACF,GAAG,EACH,QAAQ,EACR,KAAK,EACL,IAAI,EACJ,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,OAAO,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,CAC3E;IAmBD;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAezB,8EAA8E;IAC9E,OAAO,CAAC,YAAY;IAKpB;;;;OAIG;IACH,QAAQ,CAAC,KAAK,CAAC,IAAI,SAAS,MAAM,EAAE,KAAK,GAAG,OAAO,EACjD,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,kBAAkB,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,GACjD,MAAM,CACP,EAAE,EACF,GAAG,EACH,QAAQ,EACR,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,EACnB;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,KAAK,EAAE,IAAI,CAAC;QAAC,MAAM,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,EAAE,CAAA;KAAE,EACrD,KAAK,CACN;IACD,+DAA+D;IAC/D,QAAQ,CAAC,KAAK,CAAC,IAAI,SAAS,MAAM,EAChC,IAAI,EAAE,IAAI,EACV,OAAO,CAAC,EAAE,YAAY,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,GACrC,MAAM,CACP,EAAE,EACF,GAAG,EACH,QAAQ,EACR,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,EAEnB;QAAE,IAAI,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,IAAI,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,EAAE,CAAA;KAAE,EACxD,KAAK,CACN;IACD,6EAA6E;IAC7E,QAAQ,CACN,IAAI,SAAS,MAAM,EACnB,YAAY,SAAS,WAAW,EAChC,SAAS,EACT,QAAQ,SAAS,SAAS,EAC1B,SAAS,SAAS,MAAM,EAExB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,CACL,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,KACvE,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,GAClE,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC;IACjE,QAAQ,CACN,IAAI,SAAS,MAAM,EACnB,YAAY,SAAS,WAAW,EAChC,SAAS,EACT,QAAQ,SAAS,SAAS,EAC1B,SAAS,SAAS,MAAM,EAExB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,YAAY,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,EACrC,KAAK,EAAE,CACL,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,KACvE,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,GAClE,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC;IAuBjE;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,yEAAyE;IACzE,OAAO,CACL,GAAG,SAAS,MAAM,GAAG,IAAI,GAAG,IAAI,EAChC,KAAK,CAAC,IAAI,SAAS,MAAM,GAAG,MAAM,EAClC,KAAK,CAAC,YAAY,SAAS,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,GAAG,SAAS,EAAE,EAC/D,KAAK,CAAC,SAAS,SAAS,SAAS,WAAW,EAAE,GAAG,SAAS,EAAE,EAE5D,GAAG,EAAE,IAAI,CAAC,mBAAmB,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,GAC9E,UAAU,CAAC,GAAG,EAAE,QAAQ,EAAE,SAAS,CAAC,GAAG;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,KAAK,EAAE,WAAW,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;KAAE,GACnG,MAAM,CACP,EAAE,EACF,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,EAC3C,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,EAC/B,KAAK,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,EAAE,GAAG,CAAC,EAChD;QACE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACnB,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACrB,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvB,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;KAC9D,EACD,KAAK,CACN;IACD,wEAAwE;IACxE,OAAO,CACL,GAAG,SAAS,MAAM,GAAG,IAAI,GAAG,IAAI,EAChC,KAAK,CAAC,YAAY,SAAS,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,GAAG,SAAS,EAAE,EAC/D,KAAK,CAAC,SAAS,SAAS,SAAS,WAAW,EAAE,GAAG,SAAS,EAAE,EAE5D,GAAG,EAAE,mBAAmB,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,CAAC,GAChE,UAAU,CAAC,GAAG,EAAE,QAAQ,EAAE,SAAS,CAAC,GACrC,MAAM,CACP,EAAE,EACF,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,EAC3C,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,EAC/B,KAAK,EACL;QACE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACnB,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACrB,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvB,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;KAC9D,EACD,KAAK,CACN;IACD,iDAAiD;IACjD,OAAO,CACL,GAAG,SAAS,MAAM,GAAG,IAAI,EACzB,KAAK,CAAC,IAAI,SAAS,MAAM,EACzB,KAAK,CAAC,YAAY,SAAS,SAAS,WAAW,EAAE,GAAG,SAAS,EAAE,EAC/D,KAAK,CAAC,SAAS,SAAS,SAAS,WAAW,EAAE,GAAG,SAAS,EAAE,EAE5D,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,GAClE,UAAU,CAAC,GAAG,EAAE,QAAQ,EAAE,SAAS,CAAC,GAAG;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,KAAK,EAAE,WAAW,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;KAAE,GACnG,MAAM,CACP,EAAE,EACF,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,EAC3C,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,EAC/B,KAAK,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,EAAE,GAAG,CAAC,EAChD;QACE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACnB,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACrB,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvB,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;KAC9D,EACD,KAAK,CACN;IACD,gDAAgD;IAChD,OAAO,CACL,GAAG,SAAS,MAAM,GAAG,IAAI,EACzB,KAAK,CAAC,YAAY,SAAS,SAAS,WAAW,EAAE,GAAG,SAAS,EAAE,EAC/D,KAAK,CAAC,SAAS,SAAS,SAAS,WAAW,EAAE,GAAG,SAAS,EAAE,EAE5D,GAAG,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE,QAAQ,EAAE,SAAS,CAAC,GAC5F,MAAM,CACP,EAAE,EACF,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,EAC3C,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,EAC/B,KAAK,EAGL;QACE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACnB,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACrB,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvB,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;KAC9D,EACD,KAAK,CACN;IAiCD;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,GAAG,CACD,KAAK,EACL,GAAG,SAAS,MAAM,EAClB,CAAC,SAAS,WAAW,EACrB,EAAE,EACF,KAAK,CAAC,EAAE,SAAS,MAAM,GAAG,SAAS,GAAG,SAAS,EAE/C,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,EACxC,OAAO,EAAE;QAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAAC,KAAK,EAAE,UAAU,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;KAAE,GAC7D,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,QAAQ,GAAG,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC;IACvG,GAAG,CACD,KAAK,EACL,GAAG,SAAS,MAAM,EAClB,CAAC,SAAS,WAAW,EACrB,EAAE,EACF,EAAE,SAAS,SAAS,EAIpB,EAAE,SAAS,MAAM,EACjB,KAAK,CAAC,EAAE,SAAS,MAAM,GAAG,SAAS,GAAG,SAAS,EAE/C,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EACzC,OAAO,EAAE;QAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAAC,KAAK,EAAE,UAAU,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;KAAE,GAC7D,MAAM,CACP,EAAE,EACF,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EACf,QAAQ,GAAG,CAAC,EACZ,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EACjD,WAAW,EACX,KAAK,CACN;IAKD,GAAG,CACD,GAAG,SAAS,MAAM,EAClB,CAAC,SAAS,WAAW,EACrB,EAAE,EACF,EAAE,SAAS,SAAS,EACpB,EAAE,SAAS,MAAM,EACjB,KAAK,CAAC,EAAE,SAAS,MAAM,GAAG,SAAS,GAAG,SAAS,EAE/C,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EACtC,OAAO,CAAC,EAAE;QAAE,EAAE,CAAC,EAAE,EAAE,CAAA;KAAE,GACpB,MAAM,CACP,EAAE,EACF,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EACf,QAAQ,GAAG,CAAC,EACZ,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EACjD,WAAW,EACX,KAAK,CACN;IACD,GAAG,CACD,GAAG,SAAS,MAAM,EAClB,CAAC,SAAS,WAAW,EACrB,EAAE,EACF,KAAK,CAAC,EAAE,SAAS,MAAM,GAAG,SAAS,GAAG,SAAS,EAE/C,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,EACrC,OAAO,CAAC,EAAE;QAAE,EAAE,CAAC,EAAE,EAAE,CAAA;KAAE,GACpB,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,QAAQ,GAAG,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC;IAsCvG,sEAAsE;IACtE,OAAO,IAAI,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAOpD,OAAO,CAAC,YAAY;IAiBpB;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAmBhB,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,UAAU,GAAE,UAAe,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAwU1E,kEAAkE;YACpD,WAAW;IAgEzB,mDAAmD;YACrC,MAAM;IA2DpB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;CA+B3B;AAwFD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,OAAO,CACrB,EAAE,EACF,GAAG,SAAS,MAAM,GAAG,EAAE,EACvB,KAAK,GAAG,YAAY,EACpB,KAAK,GAAG,YAAY;KAQlB,GAAG,SAAS,MAAM,GAAG,IAAI,eACnB,YAAY,SAAS,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,qBAE5C,mBAAmB,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,CAAC,GACjE,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,CAAC;KAElD,GAAG,SAAS,MAAM,GAAG,IAAI,QACnB,YAAY,SAAS,SAAS,WAAW,EAAE,qBAE5C,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,CAAC,GACrD,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,CAAC;EAKrD;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,GAAG,SAAS,MAAM,GAAG,EAAE,MAC5C,GAAG,SAAS,MAAM,EAAE,CAAC,SAAS,WAAW,EAAE,CAAC,EAAE,CAAC,SAAS,SAAS,EACvE,MAAM,MAAM,EAOZ,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,WAAW,EAAE,YAAY,CAAC,KAAK,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KACjG,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAS1C;AAED,qDAAqD;AACrD,wBAAgB,MAAM,CAAC,EAAE,GAAG,IAAI,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,MAAM,GAAG,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAElF"}
1
+ {"version":3,"file":"script.d.ts","sourceRoot":"","sources":["../src/script.ts"],"names":[],"mappings":"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"}
package/dist/script.js CHANGED
@@ -1,4 +1,4 @@
1
- import { createCacheHandle, normalizeCache, phaseSlot, readCache, stepSlot, writeCache, } from "./cache.js";
1
+ import { createCacheHandle, cacheKey, normalizeCache, phaseSlot, readCache, stepSlot, writeCache, } from "./cache.js";
2
2
  import { createRollbackContext, createStepContext } from "./context.js";
3
3
  import { DuplicateNameError, ScriptAbortedError, SchemaValidationError, StepDefinitionError, StepTimeoutError, isAbort, } from "./errors.js";
4
4
  import { kebabCase, parseFlags } from "./flags.js";
@@ -169,6 +169,31 @@ export class Script {
169
169
  phase.steps.push(step);
170
170
  return this;
171
171
  }
172
+ /**
173
+ * Append a step that runs `onTrue` or `onFalse` depending on `condition`.
174
+ * Both arms return the same shape, so the context is typed identically for
175
+ * every later step whichever one ran — the way to model an override flag.
176
+ *
177
+ * ```ts
178
+ * .addBranch({
179
+ * name: "resolve commit",
180
+ * condition: ({ flags }) => Boolean(flags.sha),
181
+ * onTrue: ({ flags }) => ({ sha: flags.sha as string }),
182
+ * onFalse: async ({ input }) => ({ sha: await git.head(input.service) }),
183
+ * })
184
+ * ```
185
+ *
186
+ * It is an ordinary step once added: a failing `condition` or arm fails the
187
+ * step, and `retry` / `timeoutMs` cover the whole thing. There is no
188
+ * `rollback`, `cache` or `clean` — cache the enclosing phase instead.
189
+ */
190
+ addBranch(def) {
191
+ const { condition, onTrue, onFalse, ...rest } = def;
192
+ return this.addStep({
193
+ ...rest,
194
+ handler: async (context) => (await condition(context)) ? onTrue(context) : onFalse(context),
195
+ });
196
+ }
172
197
  use(source, options = {}) {
173
198
  const body = bodies.get(source);
174
199
  if (!body) {
@@ -347,8 +372,15 @@ export class Script {
347
372
  }
348
373
  const phaseCache = normalizeCache(phase.options.cache);
349
374
  const slot = phaseSlot(phase.name);
350
- if (phaseCache) {
351
- const hit = await safely(() => readCache(phaseCache, slot, phaseInput, ctx, cacheMode, flags), { hit: false }, `read for phase "${phase.name}"`, renderer);
375
+ // `null` when `key` threw: the phase runs uncached, reading nothing
376
+ // and writing nothing, rather than storing an entry under no key.
377
+ const phaseKey = phaseCache
378
+ ? await keyFor(phaseCache, phaseInput, ctx, cacheMode, flags, `phase "${phase.name}"`, renderer)
379
+ : null;
380
+ if (phaseCache && phaseKey) {
381
+ const hit = await safely(() => readCache(phaseCache, slot, phaseKey.key, phaseInput, ctx, cacheMode, flags), { hit: false }, `read for phase "${phase.name}"`, renderer);
382
+ if (!hit.hit && hit.reason)
383
+ phaseState.cacheMiss = hit.reason;
352
384
  if (hit.hit) {
353
385
  // The delta was recorded *after* this phase's own cleans, so
354
386
  // applying it and then replaying those cleans reproduces exactly
@@ -389,8 +421,13 @@ export class Script {
389
421
  }
390
422
  const stepCache = normalizeCache(item.def.cache);
391
423
  const stepKey = stepSlot(phase.name, item.state.name);
392
- if (stepCache) {
393
- const hit = await safely(() => readCache(stepCache, stepKey, phaseInput, ctx, cacheMode, flags), { hit: false }, `read for step "${item.state.name}"`, renderer);
424
+ const stepCacheKey = stepCache
425
+ ? await keyFor(stepCache, phaseInput, ctx, cacheMode, flags, `step "${item.state.name}"`, renderer)
426
+ : null;
427
+ if (stepCache && stepCacheKey) {
428
+ const hit = await safely(() => readCache(stepCache, stepKey, stepCacheKey.key, phaseInput, ctx, cacheMode, flags), { hit: false }, `read for step "${item.state.name}"`, renderer);
429
+ if (!hit.hit && hit.reason)
430
+ item.state.cacheMiss = hit.reason;
394
431
  if (hit.hit) {
395
432
  // Never entered `completed`, so this step's rollback cannot fire
396
433
  // during a later unwind — the side effect belongs to the run that
@@ -440,13 +477,13 @@ export class Script {
440
477
  // Only reached when the step succeeded — a `break phaseLoop` skips
441
478
  // it. Kept outside the try so a store that cannot write never gets
442
479
  // mistaken for a handler that threw.
443
- if (stepCache) {
444
- await safely(() => writeCache(stepCache, stepKey, output, cacheMode), undefined, `write for step "${item.state.name}"`, renderer);
480
+ if (stepCache && stepCacheKey) {
481
+ await safely(() => writeCache(stepCache, stepKey, output, stepCacheKey.key, cacheMode), undefined, `write for step "${item.state.name}"`, renderer);
445
482
  }
446
483
  }
447
484
  // Every step settled without failing, so the delta is complete.
448
- if (phaseCache && delta) {
449
- await safely(() => writeCache(phaseCache, slot, delta, cacheMode), undefined, `write for phase "${phase.name}"`, renderer);
485
+ if (phaseCache && phaseKey && delta) {
486
+ await safely(() => writeCache(phaseCache, slot, delta, phaseKey.key, cacheMode), undefined, `write for phase "${phase.name}"`, renderer);
450
487
  }
451
488
  }
452
489
  if (failure) {
@@ -475,6 +512,10 @@ export class Script {
475
512
  };
476
513
  if (item.state.error !== undefined)
477
514
  report.error = item.state.error;
515
+ // A step that reran because its phase's key changed reran for that reason.
516
+ const cacheMiss = item.state.cacheMiss ?? phases[item.state.phaseIndex]?.cacheMiss;
517
+ if (cacheMiss)
518
+ report.cacheMiss = cacheMiss;
478
519
  return report;
479
520
  });
480
521
  const durationMs = (state.endedAt ?? performance.now()) - state.startedAt;
@@ -658,6 +699,14 @@ async function safely(action, fallback, what, renderer) {
658
699
  return fallback;
659
700
  }
660
701
  }
702
+ /**
703
+ * Evaluate a cache's `key` under the same rules as every other cache
704
+ * operation. Boxed so that "no key declared" (`{ key: undefined }`) stays
705
+ * distinct from "the key threw" (`null`), which must also skip the write.
706
+ */
707
+ function keyFor(cache, input, ctx, mode, flags, what, renderer) {
708
+ return safely(async () => ({ key: await cacheKey(cache, input, ctx, mode, flags) }), null, `key for ${what}`, renderer);
709
+ }
661
710
  /** The `rollbackKeys` slice of the context — `{}` when none were declared. */
662
711
  function pick(ctx, keys) {
663
712
  const picked = {};