@michaelrwalker/stagehand 0.7.0 → 0.9.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 +22 -1
- package/dist/cache.d.ts +1 -1
- package/dist/cache.d.ts.map +1 -1
- package/dist/cache.js +2 -2
- 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 +55 -18
- package/dist/script.d.ts.map +1 -1
- package/dist/script.js +38 -6
- package/dist/script.js.map +1 -1
- package/dist/types.d.ts +71 -14
- package/dist/types.d.ts.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 +3 -3
- 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/dist/types.d.ts
CHANGED
|
@@ -7,12 +7,34 @@ export type Prettify<T> = {
|
|
|
7
7
|
/**
|
|
8
8
|
* Context after a step contributes `Out`. A step that returns nothing leaves
|
|
9
9
|
* the context untouched; later keys win over earlier ones.
|
|
10
|
+
*
|
|
11
|
+
* Written to stay *flat*. `Script`'s context parameter is rebuilt by every
|
|
12
|
+
* `addStep`, so whatever this produces is fed straight back in as the next
|
|
13
|
+
* call's `Ctx` — a hundred links deep in a long script. TypeScript re-walks
|
|
14
|
+
* that accumulated type on each link, and its instantiation depth limit (100)
|
|
15
|
+
* is reached after `depth-per-link × links` — so every layer this adds costs
|
|
16
|
+
* roughly a hundredth of the longest chain a script may have before
|
|
17
|
+
* `TS2589: Type instantiation is excessively deep` lands on the whole chain.
|
|
18
|
+
*
|
|
19
|
+
* A plain intersection is the one shape that costs nothing: TypeScript
|
|
20
|
+
* flattens `A & B & C` into a single list of leaves and stops. A mapped type —
|
|
21
|
+
* `Omit`, `Pick`, `Prettify` — does not flatten, so a chain of them has to be
|
|
22
|
+
* walked one level per link. Hence, the three-way split: shadowing a key needs
|
|
23
|
+
* `Omit` and pays for it, and the overwhelmingly common case of a step adding
|
|
24
|
+
* fresh keys does not.
|
|
25
|
+
*
|
|
26
|
+
* `Prettify` deliberately does *not* appear here. It is applied where the
|
|
27
|
+
* context is read — a handler's `ctx`, `RunResult.ctx` — which is where a
|
|
28
|
+
* tooltip is actually wanted, and which is a leaf rather than a link.
|
|
10
29
|
*/
|
|
11
|
-
export type Merge<Ctx, Out> = [Out] extends [void] ? Ctx : [Out] extends [undefined] ? Ctx :
|
|
30
|
+
export type Merge<Ctx, Out> = [Out] extends [void] ? Ctx : [Out] extends [undefined] ? Ctx : [Extract<keyof Ctx, keyof Out>] extends [never] ? Ctx & Out : Omit<Ctx, keyof Out> & Out;
|
|
12
31
|
/**
|
|
13
32
|
* Context with `Keys` dropped — what `clean` leaves behind for later steps.
|
|
33
|
+
*
|
|
34
|
+
* Identity when nothing is being cleaned, for the reason spelled out on
|
|
35
|
+
* {@link Merge}: the `Omit` is a chain link, and almost no step cleans.
|
|
14
36
|
*/
|
|
15
|
-
export type Cleaned<Ctx, Keys extends PropertyKey> =
|
|
37
|
+
export type Cleaned<Ctx, Keys extends PropertyKey> = [Keys] extends [never] ? Ctx : Omit<Ctx, Keys>;
|
|
16
38
|
/**
|
|
17
39
|
* The slice of the context a `rollback` sees: exactly the keys it asked for
|
|
18
40
|
* via `rollbackKeys`, and nothing else. With no keys declared it is `{}` — a
|
|
@@ -80,12 +102,14 @@ export interface CacheStore {
|
|
|
80
102
|
clear(slot: string): Awaitable<void>;
|
|
81
103
|
}
|
|
82
104
|
/** What `stale` gets to decide on. */
|
|
83
|
-
export interface StaleContext<In, Ctx> {
|
|
105
|
+
export interface StaleContext<In, Ctx, Flags = unknown> {
|
|
84
106
|
/** The stored value — the phase's context delta, or the step's return value. */
|
|
85
107
|
value: unknown;
|
|
86
108
|
input: In;
|
|
87
109
|
/** The live context as it stands right now, *before* the entry is applied. */
|
|
88
110
|
ctx: Ctx;
|
|
111
|
+
/** Values parsed from every `defineFlag` this script declared. */
|
|
112
|
+
flags: Flags;
|
|
89
113
|
/** Wall-clock ms at which the entry was written. */
|
|
90
114
|
savedAt: number;
|
|
91
115
|
/** How old the entry is, in ms. A TTL is `({ ageMs }) => ageMs > 3_600_000`. */
|
|
@@ -98,14 +122,14 @@ export interface StaleContext<In, Ctx> {
|
|
|
98
122
|
* There is no key: the store *is* the identity. Whether an entry is still
|
|
99
123
|
* usable is `stale`'s job, and nothing else's.
|
|
100
124
|
*/
|
|
101
|
-
export interface CacheOptions<In = unknown, Ctx = unknown, Value = unknown> {
|
|
125
|
+
export interface CacheOptions<In = unknown, Ctx = unknown, Value = unknown, Flags = unknown> {
|
|
102
126
|
store: CacheStore;
|
|
103
127
|
/**
|
|
104
128
|
* Return true to treat the stored entry as a miss — the work runs again and
|
|
105
129
|
* the entry is overwritten. Given `value` as `unknown`; annotate the
|
|
106
130
|
* parameter yourself, or hand over a `schema` and let it do the narrowing.
|
|
107
131
|
*/
|
|
108
|
-
stale?: (context: StaleContext<In, Ctx>) => Awaitable<boolean>;
|
|
132
|
+
stale?: (context: StaleContext<In, Ctx, Flags>) => Awaitable<boolean>;
|
|
109
133
|
/**
|
|
110
134
|
* Checked against the stored value on every read. A stored value that no
|
|
111
135
|
* longer fits is a **miss**, not an error — which is what keeps a cache
|
|
@@ -114,7 +138,7 @@ export interface CacheOptions<In = unknown, Ctx = unknown, Value = unknown> {
|
|
|
114
138
|
*/
|
|
115
139
|
schema?: StandardSchemaV1<unknown, Value>;
|
|
116
140
|
}
|
|
117
|
-
export type CacheSource<In = unknown, Ctx = unknown, Value = unknown> = CacheStore | CacheOptions<In, Ctx, Value>;
|
|
141
|
+
export type CacheSource<In = unknown, Ctx = unknown, Value = unknown, Flags = unknown> = CacheStore | CacheOptions<In, Ctx, Value, Flags>;
|
|
118
142
|
/**
|
|
119
143
|
* The value type a slot reads back as.
|
|
120
144
|
*
|
|
@@ -290,8 +314,14 @@ export interface PromptHandle {
|
|
|
290
314
|
export interface StepContext<In, Ctx, Slots = UnknownSlots, Flags = UnknownFlags> {
|
|
291
315
|
/** The input the script was run with. */
|
|
292
316
|
readonly input: In;
|
|
293
|
-
/**
|
|
294
|
-
|
|
317
|
+
/**
|
|
318
|
+
* Data produced by every step that has already succeeded.
|
|
319
|
+
*
|
|
320
|
+
* `Prettify` here rather than on {@link Merge}: this is a leaf — nothing is
|
|
321
|
+
* accumulated off it — so flattening for the tooltip costs one instantiation
|
|
322
|
+
* instead of one per step in the whole chain.
|
|
323
|
+
*/
|
|
324
|
+
readonly ctx: Prettify<Ctx>;
|
|
295
325
|
/** Aborts on timeout, on Ctrl-C, or when `run` is canceled. */
|
|
296
326
|
readonly signal: AbortSignal;
|
|
297
327
|
/** 1 on the first try, 2 on the first retry, and so on. */
|
|
@@ -403,6 +433,7 @@ export interface StepDef<In, Ctx, Out, RollbackKeys extends readonly PropertyKey
|
|
|
403
433
|
when?: (context: {
|
|
404
434
|
input: In;
|
|
405
435
|
ctx: Ctx;
|
|
436
|
+
flags: Flags;
|
|
406
437
|
}) => Awaitable<boolean>;
|
|
407
438
|
/**
|
|
408
439
|
* Reuse this step's return value from a previous run instead of running the
|
|
@@ -415,7 +446,30 @@ export interface StepDef<In, Ctx, Out, RollbackKeys extends readonly PropertyKey
|
|
|
415
446
|
* cache: { store: fileStore("./cache.json"), stale: ({ ageMs }) => ageMs > 60_000 }
|
|
416
447
|
* ```
|
|
417
448
|
*/
|
|
418
|
-
cache?: CacheSource<In, Ctx>;
|
|
449
|
+
cache?: CacheSource<In, Ctx, unknown, Flags>;
|
|
450
|
+
retry?: RetryPolicy;
|
|
451
|
+
timeoutMs?: number;
|
|
452
|
+
}
|
|
453
|
+
/**
|
|
454
|
+
* A step that does one of two jobs and hands back the same shape either way.
|
|
455
|
+
*
|
|
456
|
+
* `onTrue` is the source of truth for `Out`; `onFalse` has to return something
|
|
457
|
+
* assignable to it, so every later step sees one `ctx` type whichever arm ran.
|
|
458
|
+
* That is the difference from `when`, which skips a step and leaves nothing
|
|
459
|
+
* behind for the steps that depended on it.
|
|
460
|
+
*
|
|
461
|
+
* Deliberately small: no `rollback`, no `cache`, no `clean`. Cache the phase
|
|
462
|
+
* the branch sits in, and `clean` in a later step.
|
|
463
|
+
*/
|
|
464
|
+
export interface BranchDef<In, Ctx, Out, Slots = UnknownSlots, Flags = UnknownFlags> {
|
|
465
|
+
name: string;
|
|
466
|
+
description?: string;
|
|
467
|
+
/** Picks the arm. May be async; evaluated once per attempt. */
|
|
468
|
+
condition: (context: StepContext<In, Ctx, Slots, Flags>) => Awaitable<boolean>;
|
|
469
|
+
/** Runs when `condition` resolves truthy. Its return type fixes `Out`. */
|
|
470
|
+
onTrue: (context: StepContext<In, Ctx, Slots, Flags>) => Awaitable<Out>;
|
|
471
|
+
/** Runs otherwise. Must return the same shape as `onTrue`. */
|
|
472
|
+
onFalse: (context: StepContext<In, Ctx, Slots, Flags>) => Awaitable<NoInfer<Out>>;
|
|
419
473
|
retry?: RetryPolicy;
|
|
420
474
|
timeoutMs?: number;
|
|
421
475
|
}
|
|
@@ -467,9 +521,10 @@ export interface InheritedKeyStepDef<In, Ctx, Out, RollbackKeys extends readonly
|
|
|
467
521
|
when?: (context: {
|
|
468
522
|
input: In;
|
|
469
523
|
ctx: Ctx;
|
|
524
|
+
flags: Flags;
|
|
470
525
|
}) => Awaitable<boolean>;
|
|
471
526
|
/** See {@link StepDef.cache}. */
|
|
472
|
-
cache?: CacheSource<In, Ctx>;
|
|
527
|
+
cache?: CacheSource<In, Ctx, unknown, Flags>;
|
|
473
528
|
retry?: RetryPolicy;
|
|
474
529
|
timeoutMs?: number;
|
|
475
530
|
}
|
|
@@ -518,12 +573,13 @@ export type WithStepFor<Step extends {
|
|
|
518
573
|
}, Rest extends object = {}> = Step extends {
|
|
519
574
|
handler: (context: never) => infer Out;
|
|
520
575
|
} ? Merge<Rest, Awaited<Out>> : never;
|
|
521
|
-
export interface PhaseOptions<In = unknown, Ctx = unknown> {
|
|
576
|
+
export interface PhaseOptions<In = unknown, Ctx = unknown, Flags = unknown> {
|
|
522
577
|
description?: string;
|
|
523
578
|
/** Skip every step in the phase when this resolves falsy. */
|
|
524
579
|
when?: (context: {
|
|
525
580
|
input: In;
|
|
526
581
|
ctx: Ctx;
|
|
582
|
+
flags: Flags;
|
|
527
583
|
}) => Awaitable<boolean>;
|
|
528
584
|
/**
|
|
529
585
|
* Reuse this phase's work from a previous run. What gets stored is the
|
|
@@ -531,8 +587,9 @@ export interface PhaseOptions<In = unknown, Ctx = unknown> {
|
|
|
531
587
|
* anything they cleaned — so a hit skips every step and merges that delta
|
|
532
588
|
* over the live context, leaving keys from earlier phases alone.
|
|
533
589
|
*
|
|
534
|
-
* `stale` and `when` see the context as
|
|
535
|
-
* which is exactly `Ctx` here, so both are typed
|
|
590
|
+
* `stale` and `when` see the context (and `flags`) as they stand when the
|
|
591
|
+
* phase is reached, which is exactly `Ctx`/`Flags` here, so both are typed
|
|
592
|
+
* without any annotation.
|
|
536
593
|
*
|
|
537
594
|
* ```ts
|
|
538
595
|
* .addPhase("Build", {
|
|
@@ -543,7 +600,7 @@ export interface PhaseOptions<In = unknown, Ctx = unknown> {
|
|
|
543
600
|
* })
|
|
544
601
|
* ```
|
|
545
602
|
*/
|
|
546
|
-
cache?: CacheSource<In, Ctx>;
|
|
603
|
+
cache?: CacheSource<In, Ctx, unknown, Flags>;
|
|
547
604
|
}
|
|
548
605
|
export interface ScriptOptions {
|
|
549
606
|
name?: string;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 'branching-steps'
|
|
3
|
+
description: >
|
|
4
|
+
Covers `addBranch` — a step that runs `onTrue` or `onFalse` depending on `condition`, with both
|
|
5
|
+
arms required to return the same shape so `ctx` stays accurately typed whichever one ran. Load this
|
|
6
|
+
for "an override flag changes how a value is produced but later steps need it either way," "do X or
|
|
7
|
+
Y and keep the context typed," or when `when` skipped a step and a later step crashed on a missing
|
|
8
|
+
`ctx` key.
|
|
9
|
+
metadata:
|
|
10
|
+
type: 'core'
|
|
11
|
+
library: 'stagehand'
|
|
12
|
+
library_version: '0.8.0'
|
|
13
|
+
sources:
|
|
14
|
+
- 'miaklwalker/stagehand:docs/guides/phases-and-steps.md'
|
|
15
|
+
- 'miaklwalker/stagehand:docs/reference/script.md'
|
|
16
|
+
- 'miaklwalker/stagehand:src/script.ts'
|
|
17
|
+
- 'miaklwalker/stagehand:test/branch.test.ts'
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
# Stagehand — Branching Steps
|
|
21
|
+
|
|
22
|
+
`addBranch` is a step with an if/else inside it. `condition` picks the arm, `onTrue` / `onFalse` do the work, and both return the same shape — so every later step sees one `ctx` type, no matter which arm ran. Use it instead of `when` whenever later steps depend on what the step produces.
|
|
23
|
+
|
|
24
|
+
## Setup
|
|
25
|
+
|
|
26
|
+
```ts
|
|
27
|
+
import { Script } from "@michaelrwalker/stagehand";
|
|
28
|
+
|
|
29
|
+
const result = await new Script<{ service: string }>({ name: "deploy" })
|
|
30
|
+
.defineFlag({ name: "sha" })
|
|
31
|
+
.addPhase("Resolve")
|
|
32
|
+
.addBranch({
|
|
33
|
+
name: "resolve commit",
|
|
34
|
+
condition: ({ flags }) => Boolean(flags.sha),
|
|
35
|
+
onTrue: ({ flags }) => ({ sha: flags.sha as string }),
|
|
36
|
+
onFalse: async ({ input }) => ({ sha: await git.head(input.service) }),
|
|
37
|
+
})
|
|
38
|
+
.addStep({
|
|
39
|
+
name: "build",
|
|
40
|
+
handler: ({ ctx }) => ({ image: `app:${ctx.sha}` }), // ctx.sha: string
|
|
41
|
+
})
|
|
42
|
+
.run({ service: "checkout-api" }, { argv: ["--sha", "abc1234"] });
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Core Patterns
|
|
46
|
+
|
|
47
|
+
### Everything a handler gets, in all three functions
|
|
48
|
+
|
|
49
|
+
`condition`, `onTrue` and `onFalse` each receive the normal step context — `input`, `ctx`, `flags`, `status`, `note`, `log`, `prompt`, `signal`. `condition` may be async and runs once per attempt; only the chosen arm executes.
|
|
50
|
+
|
|
51
|
+
```ts
|
|
52
|
+
.addBranch({
|
|
53
|
+
name: "pick target",
|
|
54
|
+
condition: async ({ ctx }) => await isReachable(ctx.host),
|
|
55
|
+
onTrue: ({ ctx }) => ({ target: ctx.host }),
|
|
56
|
+
onFalse: async ({ prompt }) => ({ target: await prompt.text({ message: "fallback host?", default: "localhost" }) }),
|
|
57
|
+
})
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### Retry and timeout cover the whole branch
|
|
61
|
+
|
|
62
|
+
```ts
|
|
63
|
+
.addBranch({
|
|
64
|
+
name: "resolve commit",
|
|
65
|
+
retry: { attempts: 3, delayMs: 250 },
|
|
66
|
+
timeoutMs: 10_000,
|
|
67
|
+
condition: ({ flags }) => Boolean(flags.sha),
|
|
68
|
+
onTrue: ({ flags }) => ({ sha: flags.sha as string }),
|
|
69
|
+
onFalse: async ({ input }) => ({ sha: await git.head(input.service) }),
|
|
70
|
+
})
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
A retry re-evaluates `condition` and re-runs the arm. Those two options, plus `name` and `description`, are the whole surface.
|
|
74
|
+
|
|
75
|
+
### Caching a branch: cache the phase
|
|
76
|
+
|
|
77
|
+
```ts
|
|
78
|
+
.addPhase("Resolve", { cache: store })
|
|
79
|
+
.addBranch({ name: "resolve commit", /* ... */ })
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
A branch has no `cache` of its own. A cached phase stores the merged output of every step in it, branch included.
|
|
83
|
+
|
|
84
|
+
## Common Mistakes
|
|
85
|
+
|
|
86
|
+
### HIGH Using `when` where later steps need the output
|
|
87
|
+
|
|
88
|
+
Wrong:
|
|
89
|
+
```ts
|
|
90
|
+
.addStep({ name: "head sha", when: ({ flags }) => !flags.sha, handler: async () => ({ sha: await git.head() }) })
|
|
91
|
+
.addStep({ name: "build", handler: ({ ctx }) => ctx.sha.slice(0, 7) }) // compiles; crashes with --sha set
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
Correct:
|
|
95
|
+
```ts
|
|
96
|
+
.addBranch({
|
|
97
|
+
name: "resolve commit",
|
|
98
|
+
condition: ({ flags }) => Boolean(flags.sha),
|
|
99
|
+
onTrue: ({ flags }) => ({ sha: flags.sha as string }),
|
|
100
|
+
onFalse: async () => ({ sha: await git.head() }),
|
|
101
|
+
})
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
`when` skips the step but `ctx` is still typed as though it ran. A branch always produces the keys.
|
|
105
|
+
|
|
106
|
+
### MEDIUM Arms returning different shapes
|
|
107
|
+
|
|
108
|
+
Wrong:
|
|
109
|
+
```ts
|
|
110
|
+
onTrue: () => ({ sha: "abc" }),
|
|
111
|
+
onFalse: () => ({ commit: "abc" }), // compile error on onFalse
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
Correct:
|
|
115
|
+
```ts
|
|
116
|
+
onTrue: () => ({ sha: "abc" }),
|
|
117
|
+
onFalse: () => ({ sha: "abc" }),
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
`onTrue`'s return type fixes `Out`; `onFalse` must be assignable to it. If one path has no value, return an explicit default (`{ sha: undefined }` on both arms, or `sha: string | undefined` in `onTrue`) rather than omitting the key.
|
|
121
|
+
|
|
122
|
+
### MEDIUM Expecting `rollback`, `cache`, `clean` or `when` on a branch
|
|
123
|
+
|
|
124
|
+
Wrong:
|
|
125
|
+
```ts
|
|
126
|
+
.addBranch({ name: "b", condition, onTrue, onFalse, rollback: async () => {} }) // not accepted
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
Correct:
|
|
130
|
+
```ts
|
|
131
|
+
// If the work needs compensation, make it a plain addStep with its own rollback
|
|
132
|
+
// and branch inside the handler; cache the enclosing phase; clean in a later step.
|
|
133
|
+
.addStep({
|
|
134
|
+
name: "provision",
|
|
135
|
+
handler: async ({ input }) => ({ id: input.existingId ?? (await create()) }),
|
|
136
|
+
rollback: async ({ output }) => destroy(output.id),
|
|
137
|
+
})
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
A branch is intentionally minimal: no compensation, no step-level cache, no `clean`, no `when`.
|
|
141
|
+
|
|
142
|
+
Source: docs/guides/phases-and-steps.md; src/types.ts `BranchDef`
|
|
143
|
+
|
|
144
|
+
See also: skills/compensation-safety/conditional-steps/SKILL.md — `when` is for work that may simply not happen; `addBranch` is for work that always happens in one of two ways.
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 'command-line-flags'
|
|
3
|
+
description: >
|
|
4
|
+
Covers `defineFlag` and `context.flags` — typed string and boolean flags parsed from argv once before
|
|
5
|
+
any phase runs, `long`/`short` aliases, defaults, `UnknownFlagError` / `MissingFlagValueError`,
|
|
6
|
+
`run(input, { argv })` for tests, and mapping a flag onto a mounted routine's input. Load this for
|
|
7
|
+
"add a --force or --env flag," "gate a step on a CLI flag," or "test a script with flags."
|
|
8
|
+
metadata:
|
|
9
|
+
type: 'core'
|
|
10
|
+
library: 'stagehand'
|
|
11
|
+
library_version: '0.8.0'
|
|
12
|
+
sources:
|
|
13
|
+
- 'miaklwalker/stagehand:docs/guides/flags.md'
|
|
14
|
+
- 'miaklwalker/stagehand:docs/reference/script.md'
|
|
15
|
+
- 'miaklwalker/stagehand:src/flags.ts'
|
|
16
|
+
- 'miaklwalker/stagehand:src/script.ts'
|
|
17
|
+
- 'miaklwalker/stagehand:test/flags.test.ts'
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
# Stagehand — Command-Line Flags
|
|
21
|
+
|
|
22
|
+
`defineFlag` declares a flag. `run()` parses `process.argv` once, before any phase, and every step, `when`, `stale` and rollback receives the result as `flags`, typed from the declarations.
|
|
23
|
+
|
|
24
|
+
## Setup
|
|
25
|
+
|
|
26
|
+
```ts
|
|
27
|
+
import { Script } from "@michaelrwalker/stagehand";
|
|
28
|
+
|
|
29
|
+
await new Script({ name: "deploy" })
|
|
30
|
+
.defineFlag({ name: "environment", long: "env", short: "e", default: "staging" })
|
|
31
|
+
.defineFlag({ name: "force", short: "f", boolean: true })
|
|
32
|
+
.addStep({
|
|
33
|
+
name: "ship",
|
|
34
|
+
handler: ({ flags }) => {
|
|
35
|
+
// flags.environment: string flags.force: boolean
|
|
36
|
+
return { env: flags.environment };
|
|
37
|
+
},
|
|
38
|
+
})
|
|
39
|
+
.run();
|
|
40
|
+
// myScript --env production -f
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## Core Patterns
|
|
44
|
+
|
|
45
|
+
### String vs boolean
|
|
46
|
+
|
|
47
|
+
A string flag with a `default` is `string`; without one it is `string | undefined`. A boolean flag (`boolean: true`) is presence-based, never consumes the next token, and resolves to `default ?? false`. `--flag=value` and `--flag value` both work; `--force=false` is honoured.
|
|
48
|
+
|
|
49
|
+
### Gate work on a flag
|
|
50
|
+
|
|
51
|
+
```ts
|
|
52
|
+
.addPhase("Publish", { when: ({ flags }) => flags.production })
|
|
53
|
+
.addStep({ name: "notify", when: ({ flags }) => !flags.quiet, handler: async () => {} })
|
|
54
|
+
.addPhase("Build", { cache: { store, stale: ({ flags }) => flags.fresh } })
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
When the flag changes *how* a value is produced rather than *whether* a step runs, use `addBranch` (see skills/building-scripts/branching-steps/SKILL.md).
|
|
58
|
+
|
|
59
|
+
### Test with `argv`
|
|
60
|
+
|
|
61
|
+
```ts
|
|
62
|
+
const result = await script.run({ service: "api" }, { argv: ["--env", "production"] });
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
`argv` replaces `process.argv.slice(2)`; use it in tests and when the script is one subcommand of a bigger CLI.
|
|
66
|
+
|
|
67
|
+
### Hand a flag to a routine
|
|
68
|
+
|
|
69
|
+
```ts
|
|
70
|
+
new Script({ name: "sync" })
|
|
71
|
+
.defineFlag({ name: "environment", long: "env", default: "staging" })
|
|
72
|
+
.use(pullChannel, { input: ({ flags }) => ({ env: flags.environment }) })
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## Common Mistakes
|
|
76
|
+
|
|
77
|
+
### HIGH Declaring flags on a routine
|
|
78
|
+
|
|
79
|
+
Wrong:
|
|
80
|
+
```ts
|
|
81
|
+
routineFor<{ env: string }>()("pull", (script) => script.defineFlag({ name: "env" })) // flags are top-level only
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
Correct:
|
|
85
|
+
```ts
|
|
86
|
+
// declare on the script you run; pass it down through use()'s input mapper
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
`defineFlag` belongs to the entry script. A mounted script's flags are not merged into the host, and a routine's `flags` are typed loosely (`Record<string, unknown>`).
|
|
90
|
+
|
|
91
|
+
### MEDIUM Expecting `run()` to return `{ ok: false }` for a bad flag
|
|
92
|
+
|
|
93
|
+
Wrong:
|
|
94
|
+
```ts
|
|
95
|
+
const result = await script.run(undefined, { argv: ["--nope"] });
|
|
96
|
+
if (!result.ok) { /* never reached */ }
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
Correct:
|
|
100
|
+
```ts
|
|
101
|
+
try { await script.run(undefined, { argv }); }
|
|
102
|
+
catch (error) { if (error instanceof UnknownFlagError) console.error(error.flag); }
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
`UnknownFlagError` and `MissingFlagValueError` are thrown directly, before any phase, and ignore `throwOnError`.
|
|
106
|
+
|
|
107
|
+
### MEDIUM Assuming undeclared flags are always rejected
|
|
108
|
+
|
|
109
|
+
A script with **no** `defineFlag` call ignores argv entirely; the unknown-flag check starts at the first declaration. Adding a first flag can therefore break a script that read `process.argv` by hand.
|
|
110
|
+
|
|
111
|
+
### LOW Duplicate names
|
|
112
|
+
|
|
113
|
+
`defineFlag` throws `DuplicateNameError` (`kind: "flag"`) if `name`, the resolved long form, or `short` is already used.
|
|
114
|
+
|
|
115
|
+
Source: docs/guides/flags.md; src/flags.ts
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 'prompting-the-user'
|
|
3
|
+
description: >
|
|
4
|
+
Covers `context.prompt` — `text`, `confirm`, `select` and `multiselect` asked mid-step, the
|
|
5
|
+
non-interactive `default` fallback, `PromptUnavailableError`, and Ctrl-C cancellation via
|
|
6
|
+
`PromptCancelledError`. Load this for "ask for confirmation before a destructive step," "let the
|
|
7
|
+
user pick an environment," or "make an interactive script runnable in CI."
|
|
8
|
+
metadata:
|
|
9
|
+
type: 'core'
|
|
10
|
+
library: 'stagehand'
|
|
11
|
+
library_version: '0.8.0'
|
|
12
|
+
sources:
|
|
13
|
+
- 'miaklwalker/stagehand:docs/guides/prompts.md'
|
|
14
|
+
- 'miaklwalker/stagehand:docs/reference/errors.md'
|
|
15
|
+
- 'miaklwalker/stagehand:src/ui/prompt.ts'
|
|
16
|
+
- 'miaklwalker/stagehand:test/prompt.test.ts'
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
# Stagehand — Prompting the User
|
|
20
|
+
|
|
21
|
+
`prompt` is on a step handler's context. Calling it suspends the live frame, draws the question, and repaints once answered. It is hand-rolled on the renderer's ANSI primitives, so there is no extra dependency.
|
|
22
|
+
|
|
23
|
+
## Setup
|
|
24
|
+
|
|
25
|
+
```ts
|
|
26
|
+
.addStep({
|
|
27
|
+
name: "confirm production",
|
|
28
|
+
handler: async ({ flags, prompt }) => {
|
|
29
|
+
if (flags.environment === "production" && !flags.force) {
|
|
30
|
+
const ok = await prompt.confirm({ message: "Deploy to production?", default: false });
|
|
31
|
+
if (!ok) throw new Error("cancelled by user");
|
|
32
|
+
}
|
|
33
|
+
return {};
|
|
34
|
+
},
|
|
35
|
+
})
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Core Patterns
|
|
39
|
+
|
|
40
|
+
| method | resolves to |
|
|
41
|
+
| --- | --- |
|
|
42
|
+
| `prompt.text({ message, default?, placeholder?, validate?, mask? })` | `string` |
|
|
43
|
+
| `prompt.confirm({ message, default? })` | `boolean` |
|
|
44
|
+
| `prompt.select({ message, choices, default? })` | the chosen `value` |
|
|
45
|
+
| `prompt.multiselect({ message, choices, default?, min?, max? })` | `value[]` |
|
|
46
|
+
|
|
47
|
+
`choices` are `{ label, value, hint? }`. `validate` returns `true` or an error string, may be async. `mask: true` echoes `•`.
|
|
48
|
+
|
|
49
|
+
### Always give a `default` if the script may run unattended
|
|
50
|
+
|
|
51
|
+
With no TTY (CI, a pipe) nothing is drawn: a `default` is returned immediately, and a missing one throws `PromptUnavailableError`.
|
|
52
|
+
|
|
53
|
+
### Prefer a flag, prompt only as the fallback
|
|
54
|
+
|
|
55
|
+
```ts
|
|
56
|
+
const environment = flags.environment ?? (await prompt.select({ message: "environment?", choices, default: "staging" }));
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## Common Mistakes
|
|
60
|
+
|
|
61
|
+
### HIGH Prompting without a `default` in a script CI runs
|
|
62
|
+
|
|
63
|
+
Wrong:
|
|
64
|
+
```ts
|
|
65
|
+
const tag = await prompt.text({ message: "release tag?" }); // PromptUnavailableError under CI
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
Correct:
|
|
69
|
+
```ts
|
|
70
|
+
const tag = await prompt.text({ message: "release tag?", default: "latest" });
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### MEDIUM Treating Ctrl-C at a prompt as a handler failure
|
|
74
|
+
|
|
75
|
+
Wrong:
|
|
76
|
+
```ts
|
|
77
|
+
if (!result.ok) report(result.error); // reports a cancellation as a bug
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
Correct:
|
|
81
|
+
```ts
|
|
82
|
+
if (!result.ok && isAbort(result.error)) { /* result.status === "aborted"; rollback policy applied */ }
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
`PromptCancelledError` is recognised by `isAbort`, so the run unwinds exactly like a SIGINT.
|
|
86
|
+
|
|
87
|
+
### MEDIUM Prompting from a rollback
|
|
88
|
+
|
|
89
|
+
`prompt` exists only on `StepContext`. A rollback runs during an unwind and cannot stop to ask; decide inside the step and keep what the rollback needs in `rollbackKeys`.
|
|
90
|
+
|
|
91
|
+
Source: docs/guides/prompts.md; src/ui/prompt.ts
|
|
@@ -5,7 +5,7 @@ description: >
|
|
|
5
5
|
metadata:
|
|
6
6
|
type: 'core'
|
|
7
7
|
library: 'stagehand'
|
|
8
|
-
library_version: '0.
|
|
8
|
+
library_version: '0.8.0'
|
|
9
9
|
sources:
|
|
10
10
|
- 'miaklwalker/stagehand:docs/guides/phases-and-steps.md'
|
|
11
11
|
- 'miaklwalker/stagehand:docs/guides/script-options-and-result.md'
|
|
@@ -60,6 +60,10 @@ new Script<{ n: number }>({ name: "t" })
|
|
|
60
60
|
|
|
61
61
|
The callback form groups a phase's steps visually while preserving the same type flow as the flat form; the two are interchangeable.
|
|
62
62
|
|
|
63
|
+
### Two ways to do one step: `addBranch`
|
|
64
|
+
|
|
65
|
+
`addBranch({ name, condition, onTrue, onFalse })` runs one of two arms that return the same shape, so the context stays typed either way. It takes `retry` and `timeoutMs` like any step, but no `rollback`, `cache` or `clean`. See skills/building-scripts/branching-steps/SKILL.md.
|
|
66
|
+
|
|
63
67
|
### Retry with backoff and veto specific errors
|
|
64
68
|
|
|
65
69
|
```ts
|
|
@@ -10,7 +10,7 @@ description: >
|
|
|
10
10
|
metadata:
|
|
11
11
|
type: 'core'
|
|
12
12
|
library: 'stagehand'
|
|
13
|
-
library_version: '0.
|
|
13
|
+
library_version: '0.8.0'
|
|
14
14
|
sources:
|
|
15
15
|
- 'miaklwalker/stagehand:docs/guides/caching.md'
|
|
16
16
|
- 'miaklwalker/stagehand:docs/reference/cache.md'
|
|
@@ -71,14 +71,14 @@ const BuildSchema = z.object({ artifact: z.string() });
|
|
|
71
71
|
name: "compile",
|
|
72
72
|
cache: {
|
|
73
73
|
store: cache,
|
|
74
|
-
stale: ({ value, ctx, ageMs }) => ageMs > 3_600_000,
|
|
74
|
+
stale: ({ value, ctx, flags, ageMs }) => flags.fresh || ageMs > 3_600_000,
|
|
75
75
|
schema: BuildSchema,
|
|
76
76
|
},
|
|
77
77
|
handler: async ({ input }) => ({ artifact: `dist/${input.ref}.tgz` }),
|
|
78
78
|
})
|
|
79
79
|
```
|
|
80
80
|
|
|
81
|
-
`stale` and `schema` both see the live context as of that step; a stored
|
|
81
|
+
`stale` and `schema` both see the live context as of that step (`stale` also gets `flags`, so a `--fresh` flag can force a miss); a stored
|
|
82
82
|
value that fails `schema` is treated as a miss, not an error.
|
|
83
83
|
|
|
84
84
|
### Controlling caching per run without touching the script
|