@promptctl/rich-js 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 +99 -31
- package/dist/core/box.d.ts +96 -42
- package/dist/core/box.d.ts.map +1 -1
- package/dist/core/box.js +348 -490
- package/dist/core/box.js.map +1 -1
- package/dist/core/cells.d.ts +46 -1
- package/dist/core/cells.d.ts.map +1 -1
- package/dist/core/cells.js +55 -14
- package/dist/core/cells.js.map +1 -1
- package/dist/core/color.d.ts.map +1 -1
- package/dist/core/color.js +22 -8
- package/dist/core/color.js.map +1 -1
- package/dist/core/console.d.ts +30 -14
- package/dist/core/console.d.ts.map +1 -1
- package/dist/core/console.js +176 -104
- package/dist/core/console.js.map +1 -1
- package/dist/core/highlighter.d.ts +2 -1
- package/dist/core/highlighter.d.ts.map +1 -1
- package/dist/core/highlighter.js +28 -6
- package/dist/core/highlighter.js.map +1 -1
- package/dist/{renderables → core}/json.d.ts +8 -3
- package/dist/core/json.d.ts.map +1 -0
- package/dist/{renderables → core}/json.js +7 -2
- package/dist/core/json.js.map +1 -0
- package/dist/core/markup.d.ts +6 -9
- package/dist/core/markup.d.ts.map +1 -1
- package/dist/core/markup.js +153 -47
- package/dist/core/markup.js.map +1 -1
- package/dist/core/measure.d.ts +11 -0
- package/dist/core/measure.d.ts.map +1 -1
- package/dist/core/measure.js +15 -3
- package/dist/core/measure.js.map +1 -1
- package/dist/core/oklch.d.ts +22 -0
- package/dist/core/oklch.d.ts.map +1 -1
- package/dist/core/oklch.js +62 -18
- package/dist/core/oklch.js.map +1 -1
- package/dist/core/pretty.d.ts +122 -0
- package/dist/core/pretty.d.ts.map +1 -0
- package/dist/core/pretty.js +398 -0
- package/dist/core/pretty.js.map +1 -0
- package/dist/core/protocol.d.ts +80 -0
- package/dist/core/protocol.d.ts.map +1 -1
- package/dist/core/protocol.js +85 -0
- package/dist/core/protocol.js.map +1 -1
- package/dist/core/segment.d.ts +26 -0
- package/dist/core/segment.d.ts.map +1 -1
- package/dist/core/segment.js +45 -0
- package/dist/core/segment.js.map +1 -1
- package/dist/core/strip.d.ts +9 -5
- package/dist/core/strip.d.ts.map +1 -1
- package/dist/core/strip.js +39 -41
- package/dist/core/strip.js.map +1 -1
- package/dist/core/style.d.ts +19 -0
- package/dist/core/style.d.ts.map +1 -1
- package/dist/core/style.js +46 -38
- package/dist/core/style.js.map +1 -1
- package/dist/core/subscription.d.ts +13 -0
- package/dist/core/subscription.d.ts.map +1 -0
- package/dist/core/subscription.js +13 -0
- package/dist/core/subscription.js.map +1 -0
- package/dist/core/text.d.ts +102 -4
- package/dist/core/text.d.ts.map +1 -1
- package/dist/core/text.js +332 -162
- package/dist/core/text.js.map +1 -1
- package/dist/core/wrap.d.ts +42 -0
- package/dist/core/wrap.d.ts.map +1 -0
- package/dist/core/wrap.js +128 -0
- package/dist/core/wrap.js.map +1 -0
- package/dist/host/host-stream.d.ts.map +1 -0
- package/dist/host/host-stream.js.map +1 -0
- package/dist/host/index.d.ts +4 -0
- package/dist/host/index.d.ts.map +1 -0
- package/dist/host/index.js +3 -0
- package/dist/host/index.js.map +1 -0
- package/dist/{widgets → host}/terminal-host.d.ts +20 -64
- package/dist/host/terminal-host.d.ts.map +1 -0
- package/dist/host/terminal-host.js +133 -0
- package/dist/host/terminal-host.js.map +1 -0
- package/dist/index.d.ts +13 -36
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +35 -22
- package/dist/index.js.map +1 -1
- package/dist/node/terminal-host.d.ts +85 -0
- package/dist/node/terminal-host.d.ts.map +1 -0
- package/dist/node/terminal-host.js +161 -0
- package/dist/node/terminal-host.js.map +1 -0
- package/dist/node/traceback.d.ts +28 -0
- package/dist/node/traceback.d.ts.map +1 -0
- package/dist/node/traceback.js +113 -0
- package/dist/node/traceback.js.map +1 -0
- package/dist/renderables/columns.d.ts +24 -2
- package/dist/renderables/columns.d.ts.map +1 -1
- package/dist/renderables/columns.js +91 -32
- package/dist/renderables/columns.js.map +1 -1
- package/dist/renderables/layout.d.ts +61 -5
- package/dist/renderables/layout.d.ts.map +1 -1
- package/dist/renderables/layout.js +191 -19
- package/dist/renderables/layout.js.map +1 -1
- package/dist/renderables/markdown.d.ts +1 -1
- package/dist/renderables/markdown.d.ts.map +1 -1
- package/dist/renderables/markdown.js +7 -14
- package/dist/renderables/markdown.js.map +1 -1
- package/dist/renderables/padding.d.ts +16 -3
- package/dist/renderables/padding.d.ts.map +1 -1
- package/dist/renderables/padding.js +96 -47
- package/dist/renderables/padding.js.map +1 -1
- package/dist/renderables/panel.d.ts +48 -7
- package/dist/renderables/panel.d.ts.map +1 -1
- package/dist/renderables/panel.js +175 -106
- package/dist/renderables/panel.js.map +1 -1
- package/dist/renderables/progress.d.ts +3 -3
- package/dist/renderables/progress.d.ts.map +1 -1
- package/dist/renderables/progress.js +11 -9
- package/dist/renderables/progress.js.map +1 -1
- package/dist/renderables/progressBar.d.ts +3 -3
- package/dist/renderables/progressBar.d.ts.map +1 -1
- package/dist/renderables/progressBar.js +9 -15
- package/dist/renderables/progressBar.js.map +1 -1
- package/dist/renderables/prompt.js +1 -1
- package/dist/renderables/prompt.js.map +1 -1
- package/dist/renderables/rule.d.ts +1 -1
- package/dist/renderables/rule.d.ts.map +1 -1
- package/dist/renderables/rule.js +5 -10
- package/dist/renderables/rule.js.map +1 -1
- package/dist/renderables/spinner.d.ts +2 -2
- package/dist/renderables/spinner.d.ts.map +1 -1
- package/dist/renderables/spinner.js +6 -11
- package/dist/renderables/spinner.js.map +1 -1
- package/dist/renderables/status.d.ts.map +1 -1
- package/dist/renderables/status.js +5 -11
- package/dist/renderables/status.js.map +1 -1
- package/dist/renderables/table.d.ts +90 -16
- package/dist/renderables/table.d.ts.map +1 -1
- package/dist/renderables/table.js +481 -223
- package/dist/renderables/table.js.map +1 -1
- package/dist/renderables/traceback.d.ts +7 -3
- package/dist/renderables/traceback.d.ts.map +1 -1
- package/dist/renderables/traceback.js +15 -18
- package/dist/renderables/traceback.js.map +1 -1
- package/dist/renderables/tree.d.ts +29 -4
- package/dist/renderables/tree.d.ts.map +1 -1
- package/dist/renderables/tree.js +86 -33
- package/dist/renderables/tree.js.map +1 -1
- package/dist/template-bindings/color-funcs.d.ts +3 -3
- package/dist/template-bindings/color-funcs.js +3 -3
- package/dist/template-bindings/helpers.d.ts.map +1 -1
- package/dist/template-bindings/helpers.js +19 -1
- package/dist/template-bindings/helpers.js.map +1 -1
- package/dist/template-bindings/index.d.ts +6 -7
- package/dist/template-bindings/index.d.ts.map +1 -1
- package/dist/template-bindings/index.js +6 -7
- package/dist/template-bindings/index.js.map +1 -1
- package/dist/template-bindings/palette-funcs.d.ts +17 -5
- package/dist/template-bindings/palette-funcs.d.ts.map +1 -1
- package/dist/template-bindings/palette-funcs.js +69 -6
- package/dist/template-bindings/palette-funcs.js.map +1 -1
- package/dist/template-bindings/style-funcs.d.ts +1 -1
- package/dist/template-bindings/style-funcs.js +1 -1
- package/dist/themes/ramp.d.ts +84 -0
- package/dist/themes/ramp.d.ts.map +1 -0
- package/dist/themes/ramp.js +123 -0
- package/dist/themes/ramp.js.map +1 -0
- package/dist/widgets/dropdown.d.ts +1 -1
- package/dist/widgets/dropdown.js +1 -1
- package/dist/widgets/event-router.d.ts +3 -2
- package/dist/widgets/event-router.d.ts.map +1 -1
- package/dist/widgets/focus-manager.d.ts +2 -1
- package/dist/widgets/focus-manager.d.ts.map +1 -1
- package/dist/widgets/index.d.ts +3 -6
- package/dist/widgets/index.d.ts.map +1 -1
- package/dist/widgets/index.js +4 -3
- package/dist/widgets/index.js.map +1 -1
- package/dist/widgets/screen.d.ts +1 -1
- package/dist/widgets/screen.d.ts.map +1 -1
- package/dist/widgets/text-input.d.ts +2 -3
- package/dist/widgets/text-input.d.ts.map +1 -1
- package/dist/widgets/text-input.js +4 -12
- package/dist/widgets/text-input.js.map +1 -1
- package/dist/widgets/types.d.ts +1 -1
- package/dist/widgets/types.d.ts.map +1 -1
- package/dist/widgets/types.js.map +1 -1
- package/dist/widgets/widget-base.d.ts +2 -1
- package/dist/widgets/widget-base.d.ts.map +1 -1
- package/package.json +38 -6
- package/dist/renderables/json.d.ts.map +0 -1
- package/dist/renderables/json.js.map +0 -1
- package/dist/renderables/pretty.d.ts +0 -29
- package/dist/renderables/pretty.d.ts.map +0 -1
- package/dist/renderables/pretty.js +0 -141
- package/dist/renderables/pretty.js.map +0 -1
- package/dist/themes/paletteResolver.d.ts +0 -35
- package/dist/themes/paletteResolver.d.ts.map +0 -1
- package/dist/themes/paletteResolver.js +0 -88
- package/dist/themes/paletteResolver.js.map +0 -1
- package/dist/widgets/host-stream.d.ts.map +0 -1
- package/dist/widgets/host-stream.js.map +0 -1
- package/dist/widgets/terminal-host.d.ts.map +0 -1
- package/dist/widgets/terminal-host.js +0 -258
- package/dist/widgets/terminal-host.js.map +0 -1
- /package/dist/{widgets → host}/host-stream.d.ts +0 -0
- /package/dist/{widgets → host}/host-stream.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.js","sourceRoot":"","sources":["../../src/renderables/table.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"table.js","sourceRoot":"","sources":["../../src/renderables/table.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Traceback — renders error tracebacks with formatting.
|
|
3
|
+
*
|
|
4
|
+
* [LAW:effects-at-boundaries] Pure rendering: an `Error` in, `Segment`s out.
|
|
5
|
+
* Installing this as the process-wide crash handler touches `process.on` and
|
|
6
|
+
* `process.exit`, so that lives behind the node seam as `installTraceback` in
|
|
7
|
+
* `src/node/traceback.ts` — which is what keeps this module, and therefore the
|
|
8
|
+
* main barrel, importable in a browser.
|
|
3
9
|
*/
|
|
4
10
|
import { Segment } from "../core/segment.js";
|
|
5
11
|
import type { Renderable, RenderOptions } from "../core/protocol.js";
|
|
@@ -18,9 +24,7 @@ export declare class Traceback implements Renderable {
|
|
|
18
24
|
readonly width: number | undefined;
|
|
19
25
|
readonly theme: string | undefined;
|
|
20
26
|
constructor(error: Error, options?: TracebackOptions);
|
|
21
|
-
render(
|
|
27
|
+
render(options: RenderOptions): Iterable<Segment>;
|
|
22
28
|
private _renderFrame;
|
|
23
|
-
/** Install as global uncaught exception handler */
|
|
24
|
-
static install(options?: TracebackOptions): void;
|
|
25
29
|
}
|
|
26
30
|
//# sourceMappingURL=traceback.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"traceback.d.ts","sourceRoot":"","sources":["../../src/renderables/traceback.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"traceback.d.ts","sourceRoot":"","sources":["../../src/renderables/traceback.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGrE,MAAM,WAAW,gBAAgB;IAC/B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAkCD,qBAAa,SAAU,YAAW,UAAU;IAC1C,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;gBAEvB,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,gBAAgB;IASnD,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC;IA6ClD,OAAO,CAAE,YAAY;CAiBtB"}
|
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Traceback — renders error tracebacks with formatting.
|
|
3
|
+
*
|
|
4
|
+
* [LAW:effects-at-boundaries] Pure rendering: an `Error` in, `Segment`s out.
|
|
5
|
+
* Installing this as the process-wide crash handler touches `process.on` and
|
|
6
|
+
* `process.exit`, so that lives behind the node seam as `installTraceback` in
|
|
7
|
+
* `src/node/traceback.ts` — which is what keeps this module, and therefore the
|
|
8
|
+
* main barrel, importable in a browser.
|
|
3
9
|
*/
|
|
4
10
|
import { Segment } from "../core/segment.js";
|
|
5
11
|
import { Style } from "../core/style.js";
|
|
6
|
-
import {
|
|
12
|
+
import { getStyle } from "../core/protocol.js";
|
|
7
13
|
function parseStack(error) {
|
|
8
14
|
const stack = error.stack ?? "";
|
|
9
15
|
const lines = stack.split("\n");
|
|
@@ -39,9 +45,9 @@ export class Traceback {
|
|
|
39
45
|
this.width = options?.width;
|
|
40
46
|
this.theme = options?.theme;
|
|
41
47
|
}
|
|
42
|
-
*render(
|
|
43
|
-
const excTypeStyle =
|
|
44
|
-
const textStyle =
|
|
48
|
+
*render(options) {
|
|
49
|
+
const excTypeStyle = getStyle(options, "traceback.exc_type");
|
|
50
|
+
const textStyle = getStyle(options, "traceback.text");
|
|
45
51
|
// Error type and message
|
|
46
52
|
const errorName = this.error.name || "Error";
|
|
47
53
|
const errorMessage = this.error.message || "";
|
|
@@ -65,23 +71,23 @@ export class Traceback {
|
|
|
65
71
|
const last = displayFrames.slice(-half);
|
|
66
72
|
const omitted = displayFrames.length - this.maxFrames;
|
|
67
73
|
for (const frame of first) {
|
|
68
|
-
yield* this._renderFrame(frame);
|
|
74
|
+
yield* this._renderFrame(frame, options);
|
|
69
75
|
}
|
|
70
76
|
yield new Segment(` ... ${omitted} frames omitted ...`, textStyle);
|
|
71
77
|
yield Segment.line();
|
|
72
78
|
for (const frame of last) {
|
|
73
|
-
yield* this._renderFrame(frame);
|
|
79
|
+
yield* this._renderFrame(frame, options);
|
|
74
80
|
}
|
|
75
81
|
}
|
|
76
82
|
else {
|
|
77
83
|
for (const frame of displayFrames) {
|
|
78
|
-
yield* this._renderFrame(frame);
|
|
84
|
+
yield* this._renderFrame(frame, options);
|
|
79
85
|
}
|
|
80
86
|
}
|
|
81
87
|
}
|
|
82
|
-
*_renderFrame(frame) {
|
|
88
|
+
*_renderFrame(frame, options) {
|
|
83
89
|
const pathStyle = Style.parse("dim");
|
|
84
|
-
const lineNoStyle =
|
|
90
|
+
const lineNoStyle = getStyle(options, "traceback.offset");
|
|
85
91
|
yield new Segment(" ");
|
|
86
92
|
// Spec: suppressed frames show file and line only — no function name
|
|
87
93
|
if (frame.function && !frame.suppressed) {
|
|
@@ -95,14 +101,5 @@ export class Traceback {
|
|
|
95
101
|
}
|
|
96
102
|
yield Segment.line();
|
|
97
103
|
}
|
|
98
|
-
/** Install as global uncaught exception handler */
|
|
99
|
-
static install(options) {
|
|
100
|
-
process.on("uncaughtException", (error) => {
|
|
101
|
-
const tb = new Traceback(error, options);
|
|
102
|
-
const cons = new Console({ stderr: true });
|
|
103
|
-
cons.print(tb);
|
|
104
|
-
process.exit(1);
|
|
105
|
-
});
|
|
106
|
-
}
|
|
107
104
|
}
|
|
108
105
|
//# sourceMappingURL=traceback.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"traceback.js","sourceRoot":"","sources":["../../src/renderables/traceback.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"traceback.js","sourceRoot":"","sources":["../../src/renderables/traceback.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,12 +16,37 @@ export declare class Tree implements Renderable, Measurable {
|
|
|
16
16
|
readonly children: Tree[];
|
|
17
17
|
expanded: boolean;
|
|
18
18
|
readonly hideRoot: boolean;
|
|
19
|
-
readonly guideStyle: Style;
|
|
20
|
-
readonly style: Style;
|
|
19
|
+
readonly guideStyle: string | Style;
|
|
20
|
+
readonly style: string | Style;
|
|
21
21
|
constructor(label: string | RichText | Renderable, options?: TreeOptions);
|
|
22
22
|
add(label: string | RichText | Renderable, options?: TreeOptions): Tree;
|
|
23
|
-
render(
|
|
24
|
-
|
|
23
|
+
render(rawOptions: RenderOptions): Iterable<Segment>;
|
|
24
|
+
/**
|
|
25
|
+
* The tree walked into the rows it emits, one row per label, guides first.
|
|
26
|
+
*
|
|
27
|
+
* [LAW:one-source-of-truth] The walk that decides which rows exist and what
|
|
28
|
+
* leads them is here and only here. `render` turns each row into segments and
|
|
29
|
+
* `measure` reads each row's width off the same sequence, so the two cannot
|
|
30
|
+
* come to disagree about how many rows there are or how wide the guides on
|
|
31
|
+
* them run — which they would the moment a second walk existed.
|
|
32
|
+
*/
|
|
33
|
+
private _rows;
|
|
34
|
+
/**
|
|
35
|
+
* One row of the tree: its guides, then its label in whatever width the
|
|
36
|
+
* guides left.
|
|
37
|
+
*
|
|
38
|
+
* [LAW:single-enforcer] The row's width is divided in exactly one place, here.
|
|
39
|
+
* Before this, each call site emitted its guides and then handed the label
|
|
40
|
+
* `options` unchanged — the label was told it had the whole outer width while
|
|
41
|
+
* the guides had already spent four cells of it, so a tree at maxWidth 5
|
|
42
|
+
* emitted rows of 9. That is the same defect Panel and Table were fixed for,
|
|
43
|
+
* and the same fix: divide the requested width once and let every part read
|
|
44
|
+
* its share off the division. `options` arrives parsed from `render`.
|
|
45
|
+
*
|
|
46
|
+
* [LAW:single-enforcer] Tree also owns its row boundaries here rather than
|
|
47
|
+
* depending on label renderables to invent trailing newlines.
|
|
48
|
+
*/
|
|
49
|
+
private _renderRow;
|
|
25
50
|
measure(options: RenderOptions): {
|
|
26
51
|
minimum: number;
|
|
27
52
|
maximum: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../../src/renderables/tree.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../../src/renderables/tree.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,KAAK,EAAc,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EACV,aAAa,EACd,MAAM,qBAAqB,CAAC;AAe7B,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CACxB;AAkCD,qBAAa,IAAK,YAAW,UAAU,EAAE,UAAU;IACjD,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,KAAK,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC;gBAG7B,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,UAAU,EACrC,OAAO,CAAC,EAAE,WAAW;IAUvB,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,UAAU,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI;IAUtE,MAAM,CAAC,UAAU,EAAE,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC;IAOrD;;;;;;;;OAQG;IACH,OAAO,CAAE,KAAK;IAwCd;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAE,UAAU;IAkBnB,OAAO,CAAC,OAAO,EAAE,aAAa,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;CAqBtE"}
|
package/dist/renderables/tree.js
CHANGED
|
@@ -2,8 +2,11 @@
|
|
|
2
2
|
* Tree — hierarchical view with guide lines.
|
|
3
3
|
*/
|
|
4
4
|
import { Segment } from "../core/segment.js";
|
|
5
|
-
import {
|
|
5
|
+
import { cellFit, cellLen, asCellCol } from "../core/cells.js";
|
|
6
|
+
import { NULL_STYLE } from "../core/style.js";
|
|
6
7
|
import { RichText } from "../core/text.js";
|
|
8
|
+
import { getStyle, isMeasurable, withBoundedWidth, withCellWidth } from "../core/protocol.js";
|
|
9
|
+
import { Measurement } from "../core/measure.js";
|
|
7
10
|
// Guide characters
|
|
8
11
|
const GUIDE_BRANCH = "├── ";
|
|
9
12
|
const GUIDE_LAST = "└── ";
|
|
@@ -13,13 +16,6 @@ const GUIDE_SPACE = " ";
|
|
|
13
16
|
const GUIDE_BRANCH_ASCII = "+-- ";
|
|
14
17
|
const GUIDE_LAST_ASCII = "+-- ";
|
|
15
18
|
const GUIDE_VERT_ASCII = "| ";
|
|
16
|
-
function resolveStyle(style) {
|
|
17
|
-
if (style === undefined)
|
|
18
|
-
return NULL_STYLE;
|
|
19
|
-
if (typeof style === "string")
|
|
20
|
-
return Style.parse(style);
|
|
21
|
-
return style;
|
|
22
|
-
}
|
|
23
19
|
function toRenderable(label) {
|
|
24
20
|
if (typeof label === "string")
|
|
25
21
|
return new RichText(label, { end: "" });
|
|
@@ -31,6 +27,16 @@ function toRenderable(label) {
|
|
|
31
27
|
}
|
|
32
28
|
return label;
|
|
33
29
|
}
|
|
30
|
+
/**
|
|
31
|
+
* How wide a label wants to be. A label with no `measure` cannot say, and the
|
|
32
|
+
* offer is the honest stand-in — including when the offer is unbounded, which
|
|
33
|
+
* is where `withBoundedWidth` reports it rather than guessing a number.
|
|
34
|
+
*/
|
|
35
|
+
function labelWidth(options, label) {
|
|
36
|
+
if (!isMeasurable(label))
|
|
37
|
+
return options.maxWidth;
|
|
38
|
+
return Measurement.get(options, label).maximum;
|
|
39
|
+
}
|
|
34
40
|
export class Tree {
|
|
35
41
|
label;
|
|
36
42
|
children;
|
|
@@ -43,8 +49,8 @@ export class Tree {
|
|
|
43
49
|
this.children = [];
|
|
44
50
|
this.expanded = options?.expanded !== false;
|
|
45
51
|
this.hideRoot = options?.hideRoot ?? false;
|
|
46
|
-
this.guideStyle =
|
|
47
|
-
this.style =
|
|
52
|
+
this.guideStyle = options?.guide_style ?? NULL_STYLE;
|
|
53
|
+
this.style = options?.style ?? NULL_STYLE;
|
|
48
54
|
}
|
|
49
55
|
add(label, options) {
|
|
50
56
|
const child = new Tree(label, {
|
|
@@ -55,21 +61,25 @@ export class Tree {
|
|
|
55
61
|
this.children.push(child);
|
|
56
62
|
return child;
|
|
57
63
|
}
|
|
58
|
-
*render(
|
|
59
|
-
|
|
64
|
+
*render(rawOptions) {
|
|
65
|
+
const options = withBoundedWidth(rawOptions, this);
|
|
66
|
+
for (const row of this._rows(options, [], !this.hideRoot)) {
|
|
67
|
+
yield* this._renderRow(options, row);
|
|
68
|
+
}
|
|
60
69
|
}
|
|
61
|
-
|
|
70
|
+
/**
|
|
71
|
+
* The tree walked into the rows it emits, one row per label, guides first.
|
|
72
|
+
*
|
|
73
|
+
* [LAW:one-source-of-truth] The walk that decides which rows exist and what
|
|
74
|
+
* leads them is here and only here. `render` turns each row into segments and
|
|
75
|
+
* `measure` reads each row's width off the same sequence, so the two cannot
|
|
76
|
+
* come to disagree about how many rows there are or how wide the guides on
|
|
77
|
+
* them run — which they would the moment a second walk existed.
|
|
78
|
+
*/
|
|
79
|
+
*_rows(options, prefixes, showLabel) {
|
|
62
80
|
const ascii = options.asciiOnly ?? false;
|
|
63
|
-
const guideStyle = this.guideStyle.isNull ? undefined : this.guideStyle;
|
|
64
81
|
if (showLabel) {
|
|
65
|
-
|
|
66
|
-
for (const prefix of prefixes) {
|
|
67
|
-
yield new Segment(prefix, guideStyle);
|
|
68
|
-
}
|
|
69
|
-
// [LAW:single-enforcer] Tree owns its row boundaries explicitly instead
|
|
70
|
-
// of depending on label renderables to invent trailing newlines.
|
|
71
|
-
yield* this.label.render(options);
|
|
72
|
-
yield Segment.line();
|
|
82
|
+
yield { guides: prefixes, guideStyles: [this.guideStyle], label: this.label };
|
|
73
83
|
}
|
|
74
84
|
if (!this.expanded)
|
|
75
85
|
return;
|
|
@@ -83,25 +93,68 @@ export class Tree {
|
|
|
83
93
|
? (isLast ? GUIDE_SPACE : GUIDE_VERT_ASCII)
|
|
84
94
|
: (isLast ? GUIDE_SPACE : GUIDE_VERT);
|
|
85
95
|
// Child label with branch guide
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
yield* child.label.render(options);
|
|
93
|
-
yield Segment.line();
|
|
94
|
-
// Render grandchildren with continuation prefix
|
|
96
|
+
yield {
|
|
97
|
+
guides: [...prefixes, branch],
|
|
98
|
+
guideStyles: [child.guideStyle, this.guideStyle],
|
|
99
|
+
label: child.label,
|
|
100
|
+
};
|
|
101
|
+
// Grandchildren with continuation prefix
|
|
95
102
|
if (child.expanded && child.children.length > 0) {
|
|
96
103
|
const grandPrefixes = [...prefixes, continuation];
|
|
97
104
|
for (let j = 0; j < child.children.length; j++) {
|
|
98
|
-
yield* child.children[j].
|
|
105
|
+
yield* child.children[j]._rows(options, grandPrefixes, true);
|
|
99
106
|
}
|
|
100
107
|
}
|
|
101
108
|
}
|
|
102
109
|
}
|
|
110
|
+
/**
|
|
111
|
+
* One row of the tree: its guides, then its label in whatever width the
|
|
112
|
+
* guides left.
|
|
113
|
+
*
|
|
114
|
+
* [LAW:single-enforcer] The row's width is divided in exactly one place, here.
|
|
115
|
+
* Before this, each call site emitted its guides and then handed the label
|
|
116
|
+
* `options` unchanged — the label was told it had the whole outer width while
|
|
117
|
+
* the guides had already spent four cells of it, so a tree at maxWidth 5
|
|
118
|
+
* emitted rows of 9. That is the same defect Panel and Table were fixed for,
|
|
119
|
+
* and the same fix: divide the requested width once and let every part read
|
|
120
|
+
* its share off the division. `options` arrives parsed from `render`.
|
|
121
|
+
*
|
|
122
|
+
* [LAW:single-enforcer] Tree also owns its row boundaries here rather than
|
|
123
|
+
* depending on label renderables to invent trailing newlines.
|
|
124
|
+
*/
|
|
125
|
+
*_renderRow(options, row) {
|
|
126
|
+
const guideStyle = row.guideStyles.map((style) => getStyle(options, style)).find((style) => !style.isNull);
|
|
127
|
+
let left = options.maxWidth;
|
|
128
|
+
for (const text of row.guides) {
|
|
129
|
+
const piece = cellFit(text, asCellCol(left));
|
|
130
|
+
if (piece.length > 0)
|
|
131
|
+
yield new Segment(piece, guideStyle);
|
|
132
|
+
left -= cellLen(piece);
|
|
133
|
+
}
|
|
134
|
+
// The guides above are cropped by `cellFit`; the label was not, so a label
|
|
135
|
+
// that ignores the width it is handed pushed the row past the offer the
|
|
136
|
+
// guides had just been fitted into.
|
|
137
|
+
yield* Segment.cropLines(row.label.render({ ...options, maxWidth: left }), left);
|
|
138
|
+
yield Segment.line();
|
|
139
|
+
}
|
|
103
140
|
measure(options) {
|
|
104
|
-
|
|
141
|
+
// The ceiling is parsed for the same reason the rows are: an unparsed NaN
|
|
142
|
+
// ceiling yields a range no parent layout can divide.
|
|
143
|
+
const parsed = withCellWidth(options);
|
|
144
|
+
const ceiling = parsed.maxWidth;
|
|
145
|
+
// The widest row the walk emits, not the offer. Reported as the offer, a
|
|
146
|
+
// tree told any parent that asked "I want all of it" — so `Panel` in fit
|
|
147
|
+
// mode drew a 40-cell frame around nine cells of tree, and an unbounded
|
|
148
|
+
// offer came back unbounded.
|
|
149
|
+
let natural = 0;
|
|
150
|
+
for (const row of this._rows(parsed, [], !this.hideRoot)) {
|
|
151
|
+
const guideWidth = row.guides.reduce((sum, text) => sum + cellLen(text), 0);
|
|
152
|
+
natural = Math.max(natural, guideWidth + labelWidth(parsed, row.label));
|
|
153
|
+
}
|
|
154
|
+
const maximum = Math.min(natural, ceiling);
|
|
155
|
+
// A row is its guides plus at least one cell of label — but never more than
|
|
156
|
+
// this tree turned out to want, or the floor would sit above its own ceiling.
|
|
157
|
+
return { minimum: Math.min(4, maximum), maximum };
|
|
105
158
|
}
|
|
106
159
|
}
|
|
107
160
|
//# sourceMappingURL=tree.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree.js","sourceRoot":"","sources":["../../src/renderables/tree.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"tree.js","sourceRoot":"","sources":["../../src/renderables/tree.ts"],"names":[],"mappings":"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"}
|
|
@@ -50,9 +50,9 @@
|
|
|
50
50
|
*
|
|
51
51
|
* ### Palette-free on purpose
|
|
52
52
|
*
|
|
53
|
-
* Nothing here knows what a palette is. `color` (the
|
|
54
|
-
*
|
|
55
|
-
* point on the math is pure. A consumer with no theme system at all still gets
|
|
53
|
+
* Nothing here knows what a palette is. `color` and `ramp` (the two
|
|
54
|
+
* palette-dependent functions, in `palette-funcs.ts`) turn names into hex;
|
|
55
|
+
* from that point on the math is pure. A consumer with no theme system at all still gets
|
|
56
56
|
* the full color vocabulary by feeding it hex literals. [LAW:one-way-deps]
|
|
57
57
|
*/
|
|
58
58
|
import type { FuncMap } from "@promptctl/go-template-js";
|
|
@@ -50,9 +50,9 @@
|
|
|
50
50
|
*
|
|
51
51
|
* ### Palette-free on purpose
|
|
52
52
|
*
|
|
53
|
-
* Nothing here knows what a palette is. `color` (the
|
|
54
|
-
*
|
|
55
|
-
* point on the math is pure. A consumer with no theme system at all still gets
|
|
53
|
+
* Nothing here knows what a palette is. `color` and `ramp` (the two
|
|
54
|
+
* palette-dependent functions, in `palette-funcs.ts`) turn names into hex;
|
|
55
|
+
* from that point on the math is pure. A consumer with no theme system at all still gets
|
|
56
56
|
* the full color vocabulary by feeding it hex literals. [LAW:one-way-deps]
|
|
57
57
|
*/
|
|
58
58
|
import { blendRgb } from "../core/color.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/template-bindings/helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/template-bindings/helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,KAAK,EAAoB,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG,QAAQ,CAS3E"}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
* registrations and the palette-function registrations use this same operation;
|
|
7
7
|
* keeping one copy prevents the two from drifting.
|
|
8
8
|
*/
|
|
9
|
+
import { Style, StyleSyntaxError } from "../core/style.js";
|
|
9
10
|
import { RichText } from "../core/text.js";
|
|
10
11
|
/**
|
|
11
12
|
* Apply a style on top of an already-styled RichText fragment.
|
|
@@ -25,7 +26,24 @@ export function applyStyleToFragment(child, style) {
|
|
|
25
26
|
throw new TypeError(`template function expected a RichText fragment, got ${typeof child === "object" ? Object.prototype.toString.call(child) : typeof child}`);
|
|
26
27
|
}
|
|
27
28
|
const result = child.copy();
|
|
28
|
-
result.style = child.style.add(style);
|
|
29
|
+
result.style = baseStyleOf(child.style).add(style);
|
|
29
30
|
return result;
|
|
30
31
|
}
|
|
32
|
+
/**
|
|
33
|
+
* A fragment's base style as a `Style`. A string must parse as a definition: a
|
|
34
|
+
* name resolves only against the theme of the render that draws it, and a
|
|
35
|
+
* template runs before any render exists.
|
|
36
|
+
*/
|
|
37
|
+
function baseStyleOf(style) {
|
|
38
|
+
if (style instanceof Style)
|
|
39
|
+
return style;
|
|
40
|
+
try {
|
|
41
|
+
return Style.parse(style);
|
|
42
|
+
}
|
|
43
|
+
catch (err) {
|
|
44
|
+
if (!(err instanceof StyleSyntaxError))
|
|
45
|
+
throw err;
|
|
46
|
+
throw new TypeError(`template function cannot style a fragment whose base style "${style}" is not a style definition: a style name resolves only against the theme of a render`, { cause: err });
|
|
47
|
+
}
|
|
48
|
+
}
|
|
31
49
|
//# sourceMappingURL=helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/template-bindings/helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/template-bindings/helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAc,EAAE,KAAY;IAC/D,IAAI,CAAC,CAAC,KAAK,YAAY,QAAQ,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,SAAS,CACjB,uDAAuD,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,EAAE,CAC1I,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC5B,MAAM,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACnD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,SAAS,WAAW,CAAC,KAAqB;IACxC,IAAI,KAAK,YAAY,KAAK;QAAE,OAAO,KAAK,CAAC;IACzC,IAAI,CAAC;QACH,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,CAAC,GAAG,YAAY,gBAAgB,CAAC;YAAE,MAAM,GAAG,CAAC;QAClD,MAAM,IAAI,SAAS,CACjB,+DAA+D,KAAK,uFAAuF,EAC3J,EAAE,KAAK,EAAE,GAAG,EAAE,CACf,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -11,10 +11,10 @@
|
|
|
11
11
|
* and `link`. Needs no configuration; safe to register unconditionally. A
|
|
12
12
|
* consumer with no theme system still gets the complete colour vocabulary by
|
|
13
13
|
* feeding it hex literals.
|
|
14
|
-
* - `paletteFuncs(getPalette)` —
|
|
15
|
-
* palette
|
|
16
|
-
*
|
|
17
|
-
*
|
|
14
|
+
* - `paletteFuncs(getPalette)` — `color` and `ramp`, the two functions that
|
|
15
|
+
* resolve a palette name. This is the *only* registration that knows a
|
|
16
|
+
* palette exists, which is why it is the only one that takes an argument.
|
|
17
|
+
* [LAW:one-way-deps]
|
|
18
18
|
*
|
|
19
19
|
* `createRichTextEngine()` wires up `richTextFuncs()` only — it cannot supply a
|
|
20
20
|
* palette. Consumers that name theme colours call `paletteFuncs(getPalette)`
|
|
@@ -41,9 +41,8 @@ export { colorFuncs } from "./color-funcs.js";
|
|
|
41
41
|
/**
|
|
42
42
|
* Funcs registered by the rich-js binding — the colour sinks, the palette-free
|
|
43
43
|
* colour math, text attributes, and the `link` cell-splitter. Everything here
|
|
44
|
-
* is configuration-free by construction; the
|
|
45
|
-
*
|
|
46
|
-
* consumer-side.
|
|
44
|
+
* is configuration-free by construction; the two that need a theme (`color`,
|
|
45
|
+
* `ramp`) ship separately via `paletteFuncs(getPalette)`, merged consumer-side.
|
|
47
46
|
*
|
|
48
47
|
* `FuncMap` is not parameterised over `T` in `@promptctl/go-template-js` — the engine's
|
|
49
48
|
* `T` lives on the `Engine`/`EngineConfig`, and per-function input/output
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/template-bindings/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,OAAO,EAAgB,KAAK,MAAM,EAAE,KAAK,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACpF,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAI7C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/template-bindings/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,OAAO,EAAgB,KAAK,MAAM,EAAE,KAAK,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACpF,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAI7C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,aAAa,IAAI,OAAO,CAEvC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAAC,QAAQ,CAAC,CAMvD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,EACxB,MAAM,EAAE,MAAM,EACd,KAAK,GAAE,OAAY,EACnB,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,GACnD,OAAO,EAAE,CAYX"}
|
|
@@ -11,10 +11,10 @@
|
|
|
11
11
|
* and `link`. Needs no configuration; safe to register unconditionally. A
|
|
12
12
|
* consumer with no theme system still gets the complete colour vocabulary by
|
|
13
13
|
* feeding it hex literals.
|
|
14
|
-
* - `paletteFuncs(getPalette)` —
|
|
15
|
-
* palette
|
|
16
|
-
*
|
|
17
|
-
*
|
|
14
|
+
* - `paletteFuncs(getPalette)` — `color` and `ramp`, the two functions that
|
|
15
|
+
* resolve a palette name. This is the *only* registration that knows a
|
|
16
|
+
* palette exists, which is why it is the only one that takes an argument.
|
|
17
|
+
* [LAW:one-way-deps]
|
|
18
18
|
*
|
|
19
19
|
* `createRichTextEngine()` wires up `richTextFuncs()` only — it cannot supply a
|
|
20
20
|
* palette. Consumers that name theme colours call `paletteFuncs(getPalette)`
|
|
@@ -44,9 +44,8 @@ export { colorFuncs } from "./color-funcs.js";
|
|
|
44
44
|
/**
|
|
45
45
|
* Funcs registered by the rich-js binding — the colour sinks, the palette-free
|
|
46
46
|
* colour math, text attributes, and the `link` cell-splitter. Everything here
|
|
47
|
-
* is configuration-free by construction; the
|
|
48
|
-
*
|
|
49
|
-
* consumer-side.
|
|
47
|
+
* is configuration-free by construction; the two that need a theme (`color`,
|
|
48
|
+
* `ramp`) ship separately via `paletteFuncs(getPalette)`, merged consumer-side.
|
|
50
49
|
*
|
|
51
50
|
* `FuncMap` is not parameterised over `T` in `@promptctl/go-template-js` — the engine's
|
|
52
51
|
* `T` lives on the `Engine`/`EngineConfig`, and per-function input/output
|