@michaelrwalker/stagehand 0.2.0 → 0.4.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.
@@ -1,9 +1,17 @@
1
1
  import { cursor } from "./ansi.js";
2
2
  import { palette, supportsAnimation, symbols } from "./theme.js";
3
- import { renderBody, renderHeader, renderLogEntry, renderSummary, } from "./frame.js";
3
+ import { renderBody, renderHeader, renderLogEntry, renderSummary } from "./frame.js";
4
4
  import { elapsed, errorMessage, formatDuration, } from "../state.js";
5
5
  const FRAME_INTERVAL_MS = 80;
6
6
  const MIN_REPAINT_MS = 32;
7
+ /** Both "step" and "bottom" placement are an honestly-rolling tail, not a
8
+ * complete record — reach for "scrollback" when completeness matters. */
9
+ const LOG_TAIL_LIMIT = 8;
10
+ function pushCapped(entries, entry, limit) {
11
+ entries.push(entry);
12
+ if (entries.length > limit)
13
+ entries.shift();
14
+ }
7
15
  /** Repaints an in-place region below permanently-written output. */
8
16
  export class LiveRenderer {
9
17
  state = null;
@@ -13,6 +21,10 @@ export class LiveRenderer {
13
21
  timer = null;
14
22
  stopped = false;
15
23
  lastPaintAt = 0;
24
+ logPlacement;
25
+ constructor(logPlacement = "scrollback") {
26
+ this.logPlacement = logPlacement;
27
+ }
16
28
  start(state) {
17
29
  this.state = state;
18
30
  this.stopped = false;
@@ -45,9 +57,19 @@ export class LiveRenderer {
45
57
  return;
46
58
  this.paint();
47
59
  }
48
- log(entry) {
60
+ log(entry, step) {
49
61
  if (this.stopped)
50
62
  return;
63
+ if (this.logPlacement === "step" && step) {
64
+ pushCapped(step.logs, entry, LOG_TAIL_LIMIT);
65
+ this.paint();
66
+ return;
67
+ }
68
+ if (this.logPlacement === "bottom" && this.state) {
69
+ pushCapped(this.state.logTail, entry, LOG_TAIL_LIMIT);
70
+ this.paint();
71
+ return;
72
+ }
51
73
  this.clear();
52
74
  this.write(renderLogEntry(entry) + "\n");
53
75
  this.paint();
@@ -131,13 +153,17 @@ export class PlainRenderer {
131
153
  ? symbols.success
132
154
  : step.status === "skipped"
133
155
  ? symbols.skipped
134
- : step.status === "rolled-back"
135
- ? symbols.rolledBack
136
- : step.status === "failed" || step.status === "rollback-failed"
137
- ? symbols.failure
138
- : symbols.info;
156
+ : step.status === "cached"
157
+ ? symbols.cached
158
+ : step.status === "rolled-back"
159
+ ? symbols.rolledBack
160
+ : step.status === "failed" || step.status === "rollback-failed"
161
+ ? symbols.failure
162
+ : symbols.info;
139
163
  const suffix = step.error === undefined ? "" : ` ${errorMessage(step.error)}`;
140
- this.stream.write(` ${icon} ${step.name}${time}${suffix}\n`);
164
+ const note = step.note ? ` (${step.note})` : "";
165
+ const cached = step.status === "cached" ? " cached" : "";
166
+ this.stream.write(` ${icon} ${step.name}${note}${cached}${time}${suffix}\n`);
141
167
  }
142
168
  stop() {
143
169
  /* summary printed by the caller via printSummary */
@@ -171,8 +197,8 @@ export function createRenderer(options) {
171
197
  if (options.plain === true)
172
198
  return new PlainSummaryRenderer();
173
199
  if (options.plain === false)
174
- return new LiveRenderer();
175
- return supportsAnimation() ? new LiveRenderer() : new PlainSummaryRenderer();
200
+ return new LiveRenderer(options.logPlacement);
201
+ return supportsAnimation() ? new LiveRenderer(options.logPlacement) : new PlainSummaryRenderer();
176
202
  }
177
203
  export const uiPalette = palette;
178
204
  //# sourceMappingURL=renderer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"renderer.js","sourceRoot":"","sources":["../../src/ui/renderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACjE,OAAO,EACL,UAAU,EACV,YAAY,EACZ,cAAc,EACd,aAAa,GAEd,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,OAAO,EACP,YAAY,EACZ,cAAc,GAIf,MAAM,aAAa,CAAC;AAarB,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAC7B,MAAM,cAAc,GAAG,EAAE,CAAC;AAE1B,oEAAoE;AACpE,MAAM,OAAO,YAAY;IACf,KAAK,GAAoB,IAAI,CAAC;IAC9B,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IACxB,SAAS,GAAG,CAAC,CAAC;IACd,IAAI,GAAG,CAAC,CAAC;IACT,KAAK,GAA0B,IAAI,CAAC;IACpC,OAAO,GAAG,KAAK,CAAC;IAChB,WAAW,GAAG,CAAC,CAAC;IAExB,KAAK,CAAC,KAAe;QACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;YAC5B,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;YACf,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,EAAE,iBAAiB,CAAC,CAAC;QACtB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;QACrB,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED;;;;OAIG;IACc,QAAQ,GAAG,GAAS,EAAE;QACrC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC,CAAC;IAEF;;;OAGG;IACH,OAAO;QACL,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAC9B,IAAI,GAAG,GAAG,IAAI,CAAC,WAAW,GAAG,cAAc;YAAE,OAAO;QACpD,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,GAAG,CAAC,KAAe;QACjB,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QACzB,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,YAAY;QACV,wBAAwB;IAC1B,CAAC;IAED,WAAW;QACT,wBAAwB;IAC1B,CAAC;IAED,SAAS;QACP,wBAAwB;IAC1B,CAAC;IAED,IAAI;QACF,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO;QACxC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,IAAI,CAAC,KAAK;YAAE,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEzC,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAC9B,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,MAAM,KAAK,GAAG;YACZ,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC;YAChD,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC;SAClC,CAAC;QACF,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAEO,KAAK;QACX,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO;QACxC,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAE9B,oEAAoE;QACpE,0EAA0E;QAC1E,sEAAsE;QACtE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9D,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QAEvE,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;IACzB,CAAC;IAEO,KAAK;QACX,IAAI,IAAI,CAAC,SAAS,KAAK,CAAC;YAAE,OAAO;QACjC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QACjF,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;IACrB,CAAC;IAEO,KAAK,CAAC,IAAY;QACxB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;CACF;AAED,+DAA+D;AAC/D,MAAM,OAAO,aAAa;IAChB,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAEhC,KAAK,CAAC,KAAe;QACnB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;QACxD,IAAI,KAAK,CAAC,WAAW;YAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC,WAAW,IAAI,CAAC,CAAC;QACpF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,OAAO;QACL,oBAAoB;IACtB,CAAC;IAED,GAAG,CAAC,KAAe;QACjB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAClE,CAAC;IAED,YAAY,CAAC,KAAiB;QAC5B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;IACxD,CAAC;IAED,WAAW,CAAC,IAAe;QACzB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;IAC3D,CAAC;IAED,SAAS,CAAC,IAAe;QACvB,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3E,MAAM,IAAI,GACR,IAAI,CAAC,MAAM,KAAK,SAAS;YACvB,CAAC,CAAC,OAAO,CAAC,OAAO;YACjB,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS;gBACzB,CAAC,CAAC,OAAO,CAAC,OAAO;gBACjB,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,aAAa;oBAC7B,CAAC,CAAC,OAAO,CAAC,UAAU;oBACpB,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,iBAAiB;wBAC7D,CAAC,CAAC,OAAO,CAAC,OAAO;wBACjB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,MAAM,IAAI,CAAC,CAAC;IAChE,CAAC;IAED,IAAI;QACF,oDAAoD;IACtD,CAAC;CACF;AAED,kEAAkE;AAClE,MAAM,OAAO,oBAAqB,SAAQ,aAAa;IAC7C,QAAQ,GAAoB,IAAI,CAAC;IAEhC,KAAK,CAAC,KAAe;QAC5B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IAEQ,IAAI;QACX,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IAC1F,CAAC;CACF;AAED,MAAM,OAAO,cAAc;IACzB,KAAK,KAAU,CAAC;IAChB,OAAO,KAAU,CAAC;IAClB,GAAG,KAAU,CAAC;IACd,YAAY,KAAU,CAAC;IACvB,WAAW,KAAU,CAAC;IACtB,SAAS,KAAU,CAAC;IACpB,IAAI,KAAU,CAAC;CAChB;AAED,MAAM,UAAU,cAAc,CAAC,OAA8C;IAC3E,IAAI,OAAO,CAAC,MAAM;QAAE,OAAO,IAAI,cAAc,EAAE,CAAC;IAChD,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,oBAAoB,EAAE,CAAC;IAC9D,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK;QAAE,OAAO,IAAI,YAAY,EAAE,CAAC;IACvD,OAAO,iBAAiB,EAAE,CAAC,CAAC,CAAC,IAAI,YAAY,EAAE,CAAC,CAAC,CAAC,IAAI,oBAAoB,EAAE,CAAC;AAC/E,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,OAAO,CAAC"}
1
+ {"version":3,"file":"renderer.js","sourceRoot":"","sources":["../../src/ui/renderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACrF,OAAO,EACL,OAAO,EACP,YAAY,EACZ,cAAc,GAKf,MAAM,aAAa,CAAC;AAerB,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAC7B,MAAM,cAAc,GAAG,EAAE,CAAC;AAC1B;yEACyE;AACzE,MAAM,cAAc,GAAG,CAAC,CAAC;AAEzB,SAAS,UAAU,CAAC,OAAmB,EAAE,KAAe,EAAE,KAAa;IACrE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpB,IAAI,OAAO,CAAC,MAAM,GAAG,KAAK;QAAE,OAAO,CAAC,KAAK,EAAE,CAAC;AAC9C,CAAC;AAED,oEAAoE;AACpE,MAAM,OAAO,YAAY;IACf,KAAK,GAAoB,IAAI,CAAC;IAC9B,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IACxB,SAAS,GAAG,CAAC,CAAC;IACd,IAAI,GAAG,CAAC,CAAC;IACT,KAAK,GAA0B,IAAI,CAAC;IACpC,OAAO,GAAG,KAAK,CAAC;IAChB,WAAW,GAAG,CAAC,CAAC;IACP,YAAY,CAAe;IAE5C,YAAY,eAA6B,YAAY;QACnD,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,KAAe;QACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;YAC5B,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;YACf,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,EAAE,iBAAiB,CAAC,CAAC;QACtB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;QACrB,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED;;;;OAIG;IACc,QAAQ,GAAG,GAAS,EAAE;QACrC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC,CAAC;IAEF;;;OAGG;IACH,OAAO;QACL,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAC9B,IAAI,GAAG,GAAG,IAAI,CAAC,WAAW,GAAG,cAAc;YAAE,OAAO;QACpD,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,GAAG,CAAC,KAAe,EAAE,IAAgB;QACnC,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QAEzB,IAAI,IAAI,CAAC,YAAY,KAAK,MAAM,IAAI,IAAI,EAAE,CAAC;YACzC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;YAC7C,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,YAAY,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACjD,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;YACtD,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QAED,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,YAAY;QACV,wBAAwB;IAC1B,CAAC;IAED,WAAW;QACT,wBAAwB;IAC1B,CAAC;IAED,SAAS;QACP,wBAAwB;IAC1B,CAAC;IAED,IAAI;QACF,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO;QACxC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,IAAI,CAAC,KAAK;YAAE,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEzC,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAC9B,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,MAAM,KAAK,GAAG;YACZ,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC;YAChD,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC;SAClC,CAAC;QACF,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAEO,KAAK;QACX,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO;QACxC,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAE9B,oEAAoE;QACpE,0EAA0E;QAC1E,sEAAsE;QACtE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9D,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QAEvE,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;IACzB,CAAC;IAEO,KAAK;QACX,IAAI,IAAI,CAAC,SAAS,KAAK,CAAC;YAAE,OAAO;QACjC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QACjF,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;IACrB,CAAC;IAEO,KAAK,CAAC,IAAY;QACxB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;CACF;AAED,+DAA+D;AAC/D,MAAM,OAAO,aAAa;IAChB,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAEhC,KAAK,CAAC,KAAe;QACnB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;QACxD,IAAI,KAAK,CAAC,WAAW;YAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC,WAAW,IAAI,CAAC,CAAC;QACpF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,OAAO;QACL,oBAAoB;IACtB,CAAC;IAED,GAAG,CAAC,KAAe;QACjB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAClE,CAAC;IAED,YAAY,CAAC,KAAiB;QAC5B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;IACxD,CAAC;IAED,WAAW,CAAC,IAAe;QACzB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;IAC3D,CAAC;IAED,SAAS,CAAC,IAAe;QACvB,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3E,MAAM,IAAI,GACR,IAAI,CAAC,MAAM,KAAK,SAAS;YACvB,CAAC,CAAC,OAAO,CAAC,OAAO;YACjB,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS;gBACzB,CAAC,CAAC,OAAO,CAAC,OAAO;gBACjB,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ;oBACxB,CAAC,CAAC,OAAO,CAAC,MAAM;oBAChB,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,aAAa;wBAC7B,CAAC,CAAC,OAAO,CAAC,UAAU;wBACpB,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,iBAAiB;4BAC7D,CAAC,CAAC,OAAO,CAAC,OAAO;4BACjB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;QAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/E,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,GAAG,MAAM,IAAI,CAAC,CAAC;IAChF,CAAC;IAED,IAAI;QACF,oDAAoD;IACtD,CAAC;CACF;AAED,kEAAkE;AAClE,MAAM,OAAO,oBAAqB,SAAQ,aAAa;IAC7C,QAAQ,GAAoB,IAAI,CAAC;IAEhC,KAAK,CAAC,KAAe;QAC5B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IAEQ,IAAI;QACX,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IAC1F,CAAC;CACF;AAED,MAAM,OAAO,cAAc;IACzB,KAAK,KAAU,CAAC;IAChB,OAAO,KAAU,CAAC;IAClB,GAAG,KAAU,CAAC;IACd,YAAY,KAAU,CAAC;IACvB,WAAW,KAAU,CAAC;IACtB,SAAS,KAAU,CAAC;IACpB,IAAI,KAAU,CAAC;CAChB;AAED,MAAM,UAAU,cAAc,CAAC,OAI9B;IACC,IAAI,OAAO,CAAC,MAAM;QAAE,OAAO,IAAI,cAAc,EAAE,CAAC;IAChD,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,oBAAoB,EAAE,CAAC;IAC9D,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK;QAAE,OAAO,IAAI,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC3E,OAAO,iBAAiB,EAAE,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,oBAAoB,EAAE,CAAC;AACnG,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,OAAO,CAAC"}
@@ -3,6 +3,7 @@ export declare const symbols: {
3
3
  failure: string;
4
4
  pending: string;
5
5
  skipped: string;
6
+ cached: string;
6
7
  rolledBack: string;
7
8
  warning: string;
8
9
  info: string;
@@ -1 +1 @@
1
- {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/ui/theme.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;CAkCf,CAAC;AAEN,eAAO,MAAM,OAAO;;;;;;;;;;CAUnB,CAAC;AAEF,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGjD;AAED,mEAAmE;AACnE,wBAAgB,UAAU,IAAI,MAAM,CAGnC;AAED,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C"}
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/ui/theme.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;CAoCf,CAAC;AAEN,eAAO,MAAM,OAAO;;;;;;;;;;CAUnB,CAAC;AAEF,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGjD;AAED,mEAAmE;AACnE,wBAAgB,UAAU,IAAI,MAAM,CAGnC;AAED,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C"}
package/dist/ui/theme.js CHANGED
@@ -13,6 +13,7 @@ export const symbols = unicodeCapable
13
13
  failure: "✖",
14
14
  pending: "○",
15
15
  skipped: "⊘",
16
+ cached: "⊙",
16
17
  rolledBack: "↺",
17
18
  warning: "▲",
18
19
  info: "•",
@@ -30,6 +31,7 @@ export const symbols = unicodeCapable
30
31
  failure: "x",
31
32
  pending: "-",
32
33
  skipped: "~",
34
+ cached: "=",
33
35
  rolledBack: "<",
34
36
  warning: "!",
35
37
  info: "*",
@@ -1 +1 @@
1
- {"version":3,"file":"theme.js","sourceRoot":"","sources":["../../src/ui/theme.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"theme.js","sourceRoot":"","sources":["../../src/ui/theme.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@michaelrwalker/stagehand",
3
- "version": "0.2.0",
3
+ "version": "0.4.0",
4
4
  "description": "Fully typesafe saga-style script framework with modern terminal visuals",
5
5
  "type": "module",
6
6
  "exports": {
@@ -17,9 +17,16 @@
17
17
  },
18
18
  "scripts": {
19
19
  "build": "tsc -p tsconfig.build.json",
20
- "typecheck": "tsc && npm run build && tsc -p examples && tsc -p test && tsc -p scripts",
20
+ "typecheck": "tsc && npm run build && tsc -p examples && tsc -p test",
21
21
  "example": "npm run build && node --experimental-strip-types examples/deploy.ts",
22
22
  "example:fail": "npm run build && node --experimental-strip-types examples/deploy.ts --fail",
23
+ "example:checkout": "npm run build && node --experimental-strip-types examples/checkout.ts",
24
+ "example:cache": "npm run build && node --experimental-strip-types examples/cache.ts",
25
+ "example:routine": "npm run build && node --experimental-strip-types examples/routine.ts",
26
+ "example:resilience": "npm run build && node --experimental-strip-types examples/resilience.ts",
27
+ "example:intake": "npm run build && node --experimental-strip-types examples/intake.ts",
28
+ "example:modular": "npm run build && node --experimental-strip-types examples/modular.ts",
29
+ "example:log-placement": "npm run build && node --experimental-strip-types examples/log-placement.ts",
23
30
  "test": "npm run build && node --experimental-strip-types --test test/*.test.ts",
24
31
  "release": "release-it"
25
32
  },