@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.
- package/README.md +74 -7
- package/dist/cache.d.ts +11 -2
- package/dist/cache.d.ts.map +1 -1
- package/dist/cache.js +37 -5
- package/dist/cache.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/script.d.ts +27 -1
- package/dist/script.d.ts.map +1 -1
- package/dist/script.js +58 -9
- package/dist/script.js.map +1 -1
- package/dist/state.d.ts +7 -1
- package/dist/state.d.ts.map +1 -1
- package/dist/state.js.map +1 -1
- package/dist/types.d.ts +54 -3
- package/dist/types.d.ts.map +1 -1
- package/dist/ui/frame.d.ts.map +1 -1
- package/dist/ui/frame.js +7 -3
- package/dist/ui/frame.js.map +1 -1
- package/dist/ui/renderer.d.ts +2 -0
- package/dist/ui/renderer.d.ts.map +1 -1
- package/dist/ui/renderer.js +11 -1
- package/dist/ui/renderer.js.map +1 -1
- package/package.json +1 -1
- package/skills/building-scripts/branching-steps/SKILL.md +144 -0
- package/skills/building-scripts/command-line-flags/SKILL.md +115 -0
- package/skills/building-scripts/getting-started/SKILL.md +1 -1
- package/skills/building-scripts/prompting-the-user/SKILL.md +91 -0
- package/skills/building-scripts/structuring-phases-and-steps/SKILL.md +5 -1
- package/skills/building-scripts/typed-context-and-input/SKILL.md +1 -1
- package/skills/caching/caching-expensive-work/SKILL.md +66 -8
- package/skills/caching/caching-expensive-work/references/cache-api.md +17 -7
- package/skills/compensation-safety/adding-rollbacks/SKILL.md +3 -1
- package/skills/compensation-safety/cleaning-context/SKILL.md +1 -1
- package/skills/compensation-safety/conditional-steps/SKILL.md +19 -3
- package/skills/errors-results/handling-results-and-errors/SKILL.md +19 -4
- package/skills/observability/log-placement-and-rendering/SKILL.md +1 -1
- package/skills/observability/reporting-progress/SKILL.md +3 -1
- package/skills/reuse/reusable-routines-and-mounts/SKILL.md +3 -3
- 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
|
-
**
|
|
334
|
-
|
|
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
|
-
|
|
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`
|
|
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
|
|
437
|
-
— logs a warning and does the work. Caching never decides
|
|
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
|
-
|
|
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;
|
package/dist/cache.d.ts.map
CHANGED
|
@@ -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;
|
|
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
|
-
|
|
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 =
|
|
240
|
-
|
|
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":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE7C,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;
|
|
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";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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;
|
|
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
|
package/dist/script.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"script.d.ts","sourceRoot":"","sources":["../src/script.ts"],"names":[],"mappings":"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"}
|
|
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
|
-
|
|
351
|
-
|
|
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
|
-
|
|
393
|
-
|
|
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 = {};
|