@intentic/local-agent 1.331.0 → 1.333.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 CHANGED
@@ -38,8 +38,11 @@ flowchart LR
38
38
  - A pidfile stores a boot token beside the pid, so a pid reused after a reboot never reads as a running agent, and
39
39
  `claimPidFile` settles two starters racing for one file.
40
40
  - `cliLauncher` rebuilds the argv that re-invokes the current CLI, both as `node dist/cli.js` and as a bun-compiled binary.
41
- - `createUi` renders a setup command's checklist: `rich` in a terminal, `plain` markers for a pipe, `nested` inside a
42
- parent's checklist.
41
+ - `createUi` is how `intentic-machine` speaks to a person: `rich` in a terminal, `plain` markers for a pipe, `nested`
42
+ inside a parent's checklist. It draws the five shapes of [the CLI output protocol](../../docs/ops/cli-output-protocol.md)
43
+ (a flow, an action, a report, a question, a stop). The shapes themselves are pure functions in `layout.ts`, and `ic`'s
44
+ `ui.rs` draws the same ones; both are tested against `_shared/sandbox-run/src/terminal-layout.fixture.json`, so the two
45
+ binaries cannot drift apart on a screen.
43
46
 
44
47
  ## Key files
45
48
 
@@ -48,4 +51,5 @@ flowchart LR
48
51
  - [src/detached.ts](src/detached.ts) — pidfiles, `spawnDetached`, the launcher-stub spawn and log rotation.
49
52
  - [src/home.ts](src/home.ts) — the state directory and owner-only secret files, written atomically through `@intentic/base/fs`.
50
53
  - [src/launcher.ts](src/launcher.ts) — the argv to re-launch this CLI and the stub command line.
51
- - [src/ui.ts](src/ui.ts) — the checklist renderer and its output modes.
54
+ - [src/ui.ts](src/ui.ts) — the terminal renderer: modes, the live line, and the five shapes over time.
55
+ - [src/layout.ts](src/layout.ts) — the shapes as text in, lines out; held to the layout fixture `ic` shares.
@@ -1 +1 @@
1
- {"version":3,"file":"autostart.d.ts","sourceRoot":"","sources":["../src/autostart.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"autostart.d.ts","sourceRoot":"","sources":["../src/autostart.ts"],"names":[],"mappings":"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"}
package/dist/autostart.js CHANGED
@@ -1,9 +1,9 @@
1
- import { spawnSync } from "node:child_process";
2
1
  import { existsSync } from "node:fs";
3
2
  import { mkdir, readFile, rm, writeFile } from "node:fs/promises";
4
3
  import { homedir, tmpdir } from "node:os";
5
4
  import { basename, dirname, join } from "node:path";
6
5
  import { errorMessage } from "@intentic/base/errors";
6
+ import { runBoundedSync, runBoundedSyncBytes } from "@intentic/base/process";
7
7
  import { LOG_ROTATE_BYTES } from "./detached.js";
8
8
  import { quotedCommandLine, stubCommand, WINDOWS_LAUNCH_STUB, windowsLaunchStub } from "./launcher.js";
9
9
  const WINDOWS_RUN_KEY = "HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Run";
@@ -13,14 +13,19 @@ const systemdUnitName = (spec) => `${spec.id}.service`;
13
13
  const systemdUnitPath = (spec) => join(homedir(), ".config", "systemd", "user", systemdUnitName(spec));
14
14
  const regExe = () => join(process.env["SystemRoot"] ?? "C:\\Windows", "System32", "reg.exe");
15
15
  const reason = (error) => errorMessage(error);
16
+ const TOOL_TIMEOUT_MS = 30_000;
17
+ const runTool = (command, args, output = "pipe") => runBoundedSync(command, args, { timeoutMs: TOOL_TIMEOUT_MS, output });
16
18
  const register = (command, args) => {
17
- const result = spawnSync(command, args, { encoding: "utf8", windowsHide: true });
18
- if (result.error !== undefined) {
19
- throw result.error;
19
+ const result = runTool(command, args);
20
+ if (result.spawnError !== undefined) {
21
+ throw result.spawnError;
20
22
  }
21
- if (result.status !== 0) {
22
- const said = `${result.stdout}${result.stderr}`.trim();
23
- throw new Error(said === "" ? `${basename(command)} exited ${result.status}` : said);
23
+ if (result.timedOut) {
24
+ throw new Error(`${basename(command)} did not answer within ${TOOL_TIMEOUT_MS / 1000} s`);
25
+ }
26
+ if (result.exitCode !== 0) {
27
+ const said = `${result.stdout.text}${result.stderr.text}`.trim();
28
+ throw new Error(said === "" ? `${basename(command)} exited ${result.exitCode}` : said);
24
29
  }
25
30
  };
26
31
  export const windowsRunAddArgs = (spec, launcher, stub) => windowsRunValueAddArgs(spec.windowsRunValue, quotedCommandLine(stub === undefined ? [...launcher, ...spec.detachedArgs] : stubCommand(stub, spec.logPath, [...launcher, ...spec.foregroundArgs])));
@@ -134,12 +139,12 @@ const registerWindowsTask = async (spec, launcher, stub, log) => {
134
139
  };
135
140
  export const setWindowsRunValue = (name, commandLine) => register(regExe(), windowsRunValueAddArgs(name, commandLine));
136
141
  export const clearWindowsRunValue = (name) => {
137
- spawnSync(regExe(), windowsRunValueDeleteArgs(name), { stdio: "ignore", windowsHide: true });
142
+ runTool(regExe(), windowsRunValueDeleteArgs(name), "ignore");
138
143
  };
139
144
  export const windowsTaskQueryArgs = (spec) => ["/query", "/tn", spec.windowsRunValue];
140
145
  export const windowsTaskExportArgs = (spec) => ["/query", "/tn", spec.windowsRunValue, "/xml"];
141
146
  export const windowsTaskRunArgs = (spec) => ["/run", "/tn", spec.windowsRunValue];
142
- const quietly = (command, args) => spawnSync(command, args, { stdio: "ignore", windowsHide: true }).status === 0;
147
+ const quietly = (command, args) => runTool(command, args, "ignore").exitCode === 0;
143
148
  const windowsTaskExists = (spec) => quietly(schtasksExe(), windowsTaskQueryArgs(spec));
144
149
  const windowsRunValueExists = (spec) => quietly(regExe(), ["query", WINDOWS_RUN_KEY, "/v", spec.windowsRunValue]);
145
150
  const xmlUnescape = (value) => value.replaceAll("&quot;", '"').replaceAll("&apos;", "'").replaceAll("&lt;", "<").replaceAll("&gt;", ">").replaceAll("&amp;", "&");
@@ -186,8 +191,8 @@ const readWindowsTaskXml = (spec) => {
186
191
  [schtasksExe(), windowsTaskExportArgs(spec)],
187
192
  ];
188
193
  for (const [command, args] of tries) {
189
- const result = spawnSync(command, args, { windowsHide: true, timeout: 30_000 });
190
- const text = result.status === 0 && result.stdout.length > 0 ? decodeToolOutput(result.stdout) : "";
194
+ const result = runBoundedSyncBytes(command, args, { timeoutMs: TOOL_TIMEOUT_MS, maxStdoutBytes: 4 * 1024 * 1024 });
195
+ const text = result.exitCode === 0 && result.stdout.bytes.length > 0 ? decodeToolOutput(result.stdout.bytes) : "";
191
196
  if (text.includes("<Task")) {
192
197
  return text;
193
198
  }
@@ -207,11 +212,11 @@ const inspectWindowsTask = (spec, launcher, stub) => {
207
212
  };
208
213
  const SYSTEMD_LIVE_STATES = new Set(["running", "degraded", "starting", "maintenance", "stopping", "initializing"]);
209
214
  const systemdUserAvailable = () => {
210
- const result = spawnSync("systemctl", ["--user", "is-system-running"], { encoding: "utf8" });
211
- if (result.error !== undefined) {
215
+ const result = runTool("systemctl", ["--user", "is-system-running"]);
216
+ if (result.spawnError !== undefined) {
212
217
  return false;
213
218
  }
214
- return SYSTEMD_LIVE_STATES.has(result.stdout.trim());
219
+ return SYSTEMD_LIVE_STATES.has(result.stdout.text.trim());
215
220
  };
216
221
  const systemdQuoted = (value) => `"${value.replaceAll("\\", "\\\\").replaceAll('"', '\\"')}"`;
217
222
  export const supervisedPath = (home = homedir()) => `${join(home, ".local", "bin")}:/usr/local/bin:/usr/bin:/bin`;
@@ -303,7 +308,7 @@ const windowsAutostart = (spec, launcher, log) => ({
303
308
  },
304
309
  start: async () => await Promise.resolve(windowsTaskExists(spec) && quietly(schtasksExe(), windowsTaskRunArgs(spec))),
305
310
  unregister: async () => {
306
- spawnSync(schtasksExe(), windowsTaskDeleteArgs(spec), { stdio: "ignore", windowsHide: true });
311
+ runTool(schtasksExe(), windowsTaskDeleteArgs(spec), "ignore");
307
312
  clearWindowsRunValue(spec.windowsRunValue);
308
313
  return await Promise.resolve();
309
314
  },
@@ -345,8 +350,8 @@ const linuxAutostart = (spec, launcher, log) => ({
345
350
  await rm(linuxDesktopPath(spec), { force: true });
346
351
  await mkdir(dirname(unit), { recursive: true });
347
352
  await writeFile(unit, wanted, { mode: 0o644 });
348
- spawnSync("loginctl", ["enable-linger"], { stdio: "ignore" });
349
- spawnSync("systemctl", ["--user", "daemon-reload"], { stdio: "ignore" });
353
+ runTool("loginctl", ["enable-linger"], "ignore");
354
+ runTool("systemctl", ["--user", "daemon-reload"], "ignore");
350
355
  register("systemctl", ["--user", "enable", systemdUnitName(spec)]);
351
356
  log(`${systemdUnitName(spec)} is registered to run at boot. Follow it with: tail -f ${spec.logPath}`);
352
357
  return "systemd";
@@ -364,9 +369,9 @@ const linuxAutostart = (spec, launcher, log) => ({
364
369
  },
365
370
  start: async () => systemdUserAvailable() && (await currentEntry(systemdUnitPath(spec))) !== undefined && quietly("systemctl", ["--user", "start", systemdUnitName(spec)]),
366
371
  unregister: async () => {
367
- spawnSync("systemctl", ["--user", "disable", "--now", systemdUnitName(spec)], { stdio: "ignore" });
372
+ runTool("systemctl", ["--user", "disable", "--now", systemdUnitName(spec)], "ignore");
368
373
  await rm(systemdUnitPath(spec), { force: true });
369
- spawnSync("systemctl", ["--user", "daemon-reload"], { stdio: "ignore" });
374
+ runTool("systemctl", ["--user", "daemon-reload"], "ignore");
370
375
  await rm(linuxDesktopPath(spec), { force: true });
371
376
  },
372
377
  });
@@ -386,8 +391,8 @@ const macAutostart = (spec, agent, launcher) => {
386
391
  },
387
392
  start: async () => await Promise.resolve(quietly("launchctl", ["bootstrap", domain, plist]) || quietly("launchctl", ["kickstart", `${domain}/${agent.label}`])),
388
393
  unregister: async () => {
389
- spawnSync("launchctl", ["bootout", `${domain}/${agent.label}`], { stdio: "ignore" });
390
- spawnSync("launchctl", ["unload", plist], { stdio: "ignore" });
394
+ runTool("launchctl", ["bootout", `${domain}/${agent.label}`], "ignore");
395
+ runTool("launchctl", ["unload", plist], "ignore");
391
396
  await rm(plist, { force: true });
392
397
  },
393
398
  };
@@ -1 +1 @@
1
- {"version":3,"file":"autostart.js","sourceRoot":"","sources":["../src/autostart.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"autostart.js","sourceRoot":"","sources":["../src/autostart.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAA0B,MAAM,wBAAwB,CAAC;AACrG,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAoB,iBAAiB,EAAE,WAAW,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AA+BzH,MAAM,eAAe,GAAG,yDAAyD,CAAC;AAElF,MAAM,gBAAgB,GAAG,CAAC,IAAmB,EAAU,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,EAAE,UAAU,CAAC,CAAC;AACxH,MAAM,YAAY,GAAG,CAAC,KAAsB,EAAU,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC,KAAK,QAAQ,CAAC,CAAC;AAE5H,MAAM,eAAe,GAAG,CAAC,IAAmB,EAAU,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,UAAU,CAAC;AAC9E,MAAM,eAAe,GAAG,CAAC,IAAmB,EAAU,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;AAG9H,MAAM,MAAM,GAAG,GAAW,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,aAAa,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;AAErG,MAAM,MAAM,GAAG,CAAC,KAAc,EAAU,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;AAM/D,MAAM,eAAe,GAAG,MAAM,CAAC;AAE/B,MAAM,OAAO,GAAG,CAAC,OAAe,EAAE,IAAuB,EAAE,MAAM,GAAsB,MAAM,EAAqB,EAAE,CAChH,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC,CAAC;AAI1E,MAAM,QAAQ,GAAG,CAAC,OAAe,EAAE,IAAuB,EAAQ,EAAE;IAChE,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACtC,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QAClC,MAAM,MAAM,CAAC,UAAU,CAAC;IAC5B,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,0BAA0B,eAAe,GAAG,IAAI,IAAI,CAAC,CAAC;IAC9F,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;QACjE,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC3F,CAAC;AACL,CAAC,CAAC;AAIF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,IAAmB,EAAE,QAAqB,EAAE,IAAa,EAAY,EAAE,CACrG,sBAAsB,CAClB,IAAI,CAAC,eAAe,EACpB,iBAAiB,CACb,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CACpI,CACJ,CAAC;AAEN,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,IAAmB,EAAY,EAAE,CAAC,yBAAyB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;AAIvH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,IAAY,EAAE,WAAmB,EAAY,EAAE,CAAC;IACnF,KAAK;IACL,eAAe;IACf,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,QAAQ;IACR,IAAI;IACJ,WAAW;IACX,IAAI;CACP,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,IAAY,EAAY,EAAE,CAAC,CAAC,QAAQ,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAYnH,MAAM,wBAAwB,GAAG,CAAC,CAAC;AAEnC,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAEhC,MAAM,WAAW,GAAG,GAAW,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,aAAa,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;AAI/G,MAAM,cAAc,GAAG,GAAW,EAAE;IAChC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;IAC3C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;IAC/C,OAAO,MAAM,KAAK,EAAE,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,KAAK,IAAI,EAAE,CAAC;AACtE,CAAC,CAAC;AAGF,MAAM,OAAO,GAAG,CAAC,KAAa,EAAU,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;AAOpJ,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,IAAmB,EAAE,QAAqB,EAAE,IAAY,EAAE,OAAe,EAAU,EAAE;IAGhH,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC;IAC9G,OAAO;;;mBAGQ,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC;aAClC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC;;;;;gBAK1B,OAAO,CAAC,OAAO,CAAC;;;;sBAIV,wBAAwB;;;;;;;;;gBAS9B,OAAO,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;eAyBjB,qBAAqB;;;;;iBAKnB,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;mBACpB,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;;;;CAIlD,CAAC;AACF,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,IAAmB,EAAE,OAAe,EAAY,EAAE,CAAC;IACrF,SAAS;IACT,KAAK;IACL,IAAI,CAAC,eAAe;IACpB,MAAM;IACN,OAAO;IACP,IAAI;CACP,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,IAAmB,EAAY,EAAE,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;AAIvH,MAAM,mBAAmB,GAAG,KAAK,EAAE,IAAmB,EAAE,QAAqB,EAAE,IAAY,EAAE,GAAQ,EAAiB,EAAE;IACpH,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC;IACjC,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,+FAA+F,CAAC,CAAC;IACrH,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC;IAChE,IAAI,CAAC;QACD,MAAM,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;QAC3G,QAAQ,CAAC,WAAW,EAAE,EAAE,qBAAqB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAClE,CAAC;YAAS,CAAC;QACP,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC3C,GAAG,CACC,mBAAmB,IAAI,CAAC,eAAe,oFAAoF,wBAAwB,WAAW,CACjK,CAAC;AACN,CAAC,CAAC;AAGF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,IAAY,EAAE,WAAmB,EAAQ,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,sBAAsB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;AAG7I,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,IAAY,EAAQ,EAAE;IACvD,OAAO,CAAC,MAAM,EAAE,EAAE,yBAAyB,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC;AACjE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,IAAmB,EAAY,EAAE,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;AAC/G,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,IAAmB,EAAY,EAAE,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;AACxH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,IAAmB,EAAY,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;AAE3G,MAAM,OAAO,GAAG,CAAC,OAAe,EAAE,IAAuB,EAAW,EAAE,CAClE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC;AAEpD,MAAM,iBAAiB,GAAG,CAAC,IAAmB,EAAW,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC;AAC/G,MAAM,qBAAqB,GAAG,CAAC,IAAmB,EAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;AAU1I,MAAM,WAAW,GAAG,CAAC,KAAa,EAAU,EAAE,CAC1C,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;AAGvI,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,GAAW,EAAsB,EAAE;IACjE,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,IAAI,GAAG,+BAA+B,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACtF,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;AACvE,CAAC,CAAC;AAGF,MAAM,gBAAgB,GAAqC;IACvD,uBAAuB,EAAE,WAAW;IACpC,0BAA0B,EAAE,MAAM;IAClC,sBAAsB,EAAE,MAAM;IAC9B,kBAAkB,EAAE,OAAO;IAC3B,kBAAkB,EAAE,OAAO;IAC3B,OAAO,EAAE,MAAM;CAClB,CAAC;AAIF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,GAAW,EAAoC,EAAE;IAC9E,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC;IAEpD,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,uFAAuF,EAAE,EAAE,CAAC,CAAC;IACjI,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;IAC1D,MAAM,MAAM,GAAG,WAAW,CAAC,WAAW,CAAC,GAAG,EAAE,aAAa,CAAC,IAAI,EAAE,EAAE,YAAY,CAAC,CAAC;IAChF,OAAO;QACH,OAAO,EAAE,WAAW,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,EAAE;QAC1C,SAAS,EAAE,WAAW,CAAC,GAAG,EAAE,WAAW,CAAC,IAAI,EAAE;QAC9C,KAAK,EAAE,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC7C,MAAM,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC;QAC3E,OAAO,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,EAAE,IAAI,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE;QACxH,GAAG,MAAM,CAAC,WAAW,CACjB,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAU,CAAC,CACtI;KACJ,CAAC;AACN,CAAC,CAAC;AAGF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAE,MAAc,EAAY,EAAE;IACvE,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACtC,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACzE,CAAC,CAAC;AAIF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAa,EAAU,EAAE;IACtD,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IAClH,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;AAC/F,CAAC,CAAC;AAIF,MAAM,kBAAkB,GAAG,CAAC,IAAmB,EAAsB,EAAE;IACnE,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,aAAa,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC/H,MAAM,MAAM,GAAG,2FAA2F,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,kBAAkB,CAAC;IACvK,MAAM,KAAK,GAAsD;QAC7D,CAAC,UAAU,EAAE,CAAC,YAAY,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;QACnE,CAAC,WAAW,EAAE,EAAE,qBAAqB,CAAC,IAAI,CAAC,CAAC;KAC/C,CAAC;IACF,KAAK,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC;QAElC,MAAM,MAAM,GAAG,mBAAmB,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE,cAAc,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC,CAAC;QACnH,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAClH,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC,CAAC;AAiBF,MAAM,kBAAkB,GAAG,CAAC,IAAmB,EAAE,QAAqB,EAAE,IAAY,EAAmB,EAAE;IACrG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;QAG3B,OAAO,EAAE,IAAI,EAAE,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IAClI,CAAC;IACD,MAAM,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACrB,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IAC9C,CAAC;IACD,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,EAAE,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;IAC7F,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAC7G,CAAC,CAAC;AAGF,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC;AAEpH,MAAM,oBAAoB,GAAG,GAAY,EAAE;IACvC,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC,CAAC;IACrE,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QAClC,OAAO,KAAK,CAAC;IACjB,CAAC;IAGD,OAAO,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;AAC9D,CAAC,CAAC;AAGF,MAAM,aAAa,GAAG,CAAC,KAAa,EAAU,EAAE,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC;AAG9G,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,IAAI,GAAW,OAAO,EAAE,EAAU,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,+BAA+B,CAAC;AAGlI,MAAM,CAAC,MAAM,aAAa,GAAG,oEAAoE,CAAC;AAQlG,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAmB,EAAE,QAAqB,EAAU,EAAE;IAClF,OAAO;cACG,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,cAAc;;;;;2BAK3B,aAAa,CAAC,aAAa,CAAC,WAAW,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,gBAAgB;YACrG,iBAAiB,CAAC,CAAC,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC;wBAC5C,IAAI,CAAC,OAAO;uBACb,IAAI,CAAC,OAAO;;;;;;mBAMhB,cAAc,EAAE;;;;CAIlC,CAAC;AACF,CAAC,CAAC;AAGF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,IAAmB,EAAE,QAAqB,EAAU,EAAE,CACpF;;OAEG,IAAI,CAAC,WAAW;UACb,IAAI,CAAC,cAAc;OACtB,iBAAiB,CAAC,CAAC,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC;;CAE9D,CAAC;AAKF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,IAAmB,EAAE,KAAsB,EAAE,QAAqB,EAAU,EAAE,CAC5G;;;;8BAI0B,KAAK,CAAC,KAAK;;;EAGvC,CAAC,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,mBAAmB,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;wCAK1D,IAAI,CAAC,OAAO;0CACV,IAAI,CAAC,OAAO;;;CAGrD,CAAC;AAsBF,MAAM,SAAS,GAAG,CAAC,UAA2B,EAAE,IAAmB,EAAE,GAAQ,EAAW,EAAE;IACtF,IAAI,UAAU,CAAC,IAAI,KAAK,MAAM,IAAI,UAAU,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;QAC7D,GAAG,CAAC,QAAQ,IAAI,CAAC,eAAe,qDAAqD,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAChJ,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,OAAO,UAAU,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,KAAK,SAAS,IAAI,UAAU,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;AAC5G,CAAC,CAAC;AAIF,MAAM,gBAAgB,GAAG,CAAC,IAAmB,EAAE,QAAqB,EAAE,GAAQ,EAAa,EAAE,CAAC,CAAC;IAC3F,OAAO,EAAE,KAAK,IAAI,EAAE;QAChB,MAAM,IAAI,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACrB,OAAO,MAAM,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,SAAkB,EAAE,KAAK,EAAE,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,SAAmB,CAAC,CAAC,CAAE,SAAmB,EAAE,CAAC,CAAC;QACjJ,CAAC;QACD,OAAO,MAAM,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAClG,QAAQ,EAAE,KAAK,EAAE,EAAE,MAAM,GAAG,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE;QACxC,MAAM,IAAI,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACrB,GAAG,CACC,SAAS,mBAAmB,0CAA0C,IAAI,CAAC,EAAE,2IAA2I,CAC3N,CAAC;QACN,CAAC;aAAM,IAAI,MAAM,IAAI,SAAS,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;YAClF,OAAO,MAAM,CAAC;QAClB,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC;gBACD,MAAM,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;gBACrD,OAAO,MAAM,CAAC;YAClB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,GAAG,CACC,4CAA4C,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC,KAAK,CAAC,6EAA6E,CACrJ,CAAC;YACN,CAAC;QACL,CAAC;QACD,IAAI,MAAM,IAAI,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC;YACxC,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,QAAQ,CAAC,MAAM,EAAE,EAAE,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;QAC5D,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,WAAW,EAAE,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;IACrH,UAAU,EAAE,KAAK,IAAI,EAAE;QACnB,OAAO,CAAC,WAAW,EAAE,EAAE,qBAAqB,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC9D,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC3C,OAAO,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;IACnC,CAAC;CACJ,CAAC,CAAC;AAIH,MAAM,YAAY,GAAG,KAAK,EAAE,IAAY,EAA+B,EAAE,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;AAM9H,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,OAA2B,EAAE,MAAc,EAAE,MAA6C,EAAW,EAAE;IAChI,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACtD,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,CAAC;AACtD,CAAC,CAAC;AAGF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,OAA2B,EAAE,MAAc,EAAE,MAA6C,EAAc,EAAE;IACrI,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACrB,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AACpE,CAAC,CAAC;AAGF,MAAM,UAAU,GACZ,CAAC,GAAW,EAAE,EAAE,CAChB,CAAC,KAAa,EAAsB,EAAE,CAClC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/D,MAAM,cAAc,GAAG,CAAC,KAAa,EAAsB,EAAE;IACzD,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC;IAC1D,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;AACrF,CAAC,CAAC;AAIF,MAAM,cAAc,GAAG,CAAC,IAAmB,EAAE,QAAqB,EAAE,GAAQ,EAAa,EAAE,CAAC,CAAC;IACzF,OAAO,EAAE,KAAK,IAAI,EAAE;QAChB,IAAI,oBAAoB,EAAE,EAAE,CAAC;YACzB,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,cAAc,CAAC,MAAM,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,EAAE,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;QAC5J,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC,MAAM,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,EAAE,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;IACtJ,CAAC;IACD,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC5F,QAAQ,EAAE,KAAK,EAAE,EAAE,MAAM,GAAG,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE;QACxC,IAAI,oBAAoB,EAAE,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;YACnC,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC/C,IAAI,MAAM,IAAI,YAAY,CAAC,MAAM,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;gBACrF,OAAO,SAAS,CAAC;YACrB,CAAC;YACD,MAAM,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAClD,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,MAAM,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YAC/C,OAAO,CAAC,UAAU,EAAE,CAAC,eAAe,CAAC,EAAE,QAAQ,CAAC,CAAC;YAEjD,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,eAAe,CAAC,EAAE,QAAQ,CAAC,CAAC;YAC5D,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACnE,GAAG,CAAC,GAAG,eAAe,CAAC,IAAI,CAAC,0DAA0D,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YACtG,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAChD,IAAI,CAAC,CAAC,MAAM,IAAI,YAAY,CAAC,MAAM,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YAClF,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,MAAM,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,KAAK,SAAS,EAAE,CAAC;YACnD,GAAG,CACC,sGAAsG,IAAI,CAAC,EAAE,gDAAgD,CAChK,CAAC;QACN,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,KAAK,EAAE,KAAK,IAAI,EAAE,CACd,oBAAoB,EAAE,IAAI,CAAC,MAAM,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;IAE3J,UAAU,EAAE,KAAK,IAAI,EAAE;QACnB,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QACtF,MAAM,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACjD,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,eAAe,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC5D,MAAM,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;CACJ,CAAC,CAAC;AAGH,MAAM,YAAY,GAAG,CAAC,IAAmB,EAAE,KAAsB,EAAE,QAAqB,EAAa,EAAE;IACnG,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,MAAM,GAAG,OAAO,OAAO,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;IAChD,OAAO;QACH,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,cAAc,CAAC,MAAM,YAAY,CAAC,KAAK,CAAC,EAAE,iBAAiB,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE,cAAc,CAAC,EAAE,CAAC;QACtJ,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC7D,QAAQ,EAAE,KAAK,EAAE,EAAE,MAAM,GAAG,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE;YACxC,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;YACxD,IAAI,CAAC,CAAC,MAAM,IAAI,YAAY,CAAC,MAAM,YAAY,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC;gBAC/E,MAAM,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBACjD,MAAM,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YACpD,CAAC;YACD,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,KAAK,EAAE,KAAK,IAAI,EAAE,CACd,MAAM,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAChJ,UAAU,EAAE,KAAK,IAAI,EAAE;YACnB,OAAO,CAAC,WAAW,EAAE,CAAC,SAAS,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;YACxE,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC;YAClD,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACrC,CAAC;KACJ,CAAC;AACN,CAAC,CAAC;AAIF,MAAM,WAAW,GAAG,CAAC,IAAmB,EAAE,GAAQ,EAAa,EAAE,CAAC,CAAC;IAC/D,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,KAAK,EAAE,SAAkB,EAAE,CAAC;IAChG,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;IACjD,QAAQ,EAAE,KAAK,IAAI,EAAE;QACjB,GAAG,CAAC,SAAS,IAAI,CAAC,EAAE,8BAA8B,OAAO,CAAC,QAAQ,wCAAwC,CAAC,CAAC;QAC5G,OAAO,MAAM,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IACD,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;IAC/C,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,OAAO,CAAC,OAAO,EAAE;CAClD,CAAC,CAAC;AAEH,MAAM,YAAY,GAAG,CAAC,IAAmB,EAAE,QAAqB,EAAE,GAAQ,EAAa,EAAE;IACrF,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAC/B,OAAO,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IACjD,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAC/B,OAAO,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QAClE,OAAO,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAClC,CAAC,CAAC;AAGF,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAmB,EAAE,QAAqB,EAAE,GAAQ,EAAa,EAAE;IACzF,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IACpD,OAAO;QACH,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACxB,IAAI,CAAC;gBACD,OAAO,MAAM,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC7C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACrC,OAAO,MAAM,CAAC;YAClB,CAAC;QACL,CAAC;QAED,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,SAAS,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,KAAK,EAAE,SAAkB,EAAE,CAAC,CAAC;QAClH,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,SAAS,CAAC,OAAO,EAAE;QAC9C,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;QAC7D,UAAU,EAAE,KAAK,IAAI,EAAE;YACnB,IAAI,CAAC;gBACD,MAAM,SAAS,CAAC,UAAU,EAAE,CAAC;YACjC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,GAAG,CAAC,uDAAuD,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC9F,CAAC;QACL,CAAC;KACJ,CAAC;AACN,CAAC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -3,5 +3,5 @@ export { cliLauncher, quotedCommandLine, stubCommand, WINDOWS_LAUNCH_STUB, windo
3
3
  export { autostart, clearWindowsRunValue, linuxDesktopEntry, macLaunchAgentXml, ROTATE_LOG_SH, setWindowsRunValue, supervisedPath, windowsRunAddArgs, windowsRunDeleteArgs, type Autostart, type AutostartKind, type AutostartSpec, type EntryInspection, type EntryState, type LaunchAgentSpec, } from "./autostart.js";
4
4
  export { claimPidFile, holdPidFile, isProcessAlive, livePid, livePidRecord, LOG_ROTATE_BYTES, rotateIfLarge, type PidClaim, type PidRecord, pidFileBody, releasePidFile, spawnDetached, stopProcess, } from "./detached.js";
5
5
  export { agentException } from "./text.js";
6
- export { asLabel, createUi, estimate, humanDuration, truncate, wrap, type Footnote, type PlanStep, type RowOutcome, type Ui, type UiMode, type UiProcess, } from "./ui.js";
6
+ export { asLabel, createUi, estimate, explain, humanDuration, truncate, wrap, type Footnote, type Item, type PlanStep, type RowOutcome, type Tone, type Ui, type UiMode, type UiOptions, type UiProcess, } from "./ui.js";
7
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,SAAS,EAAE,KAAK,GAAG,EAAE,MAAM,WAAW,CAAC;AAC1F,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,WAAW,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AACtI,OAAO,EACH,SAAS,EACT,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,KAAK,eAAe,GACvB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACH,YAAY,EACZ,WAAW,EACX,cAAc,EACd,OAAO,EACP,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,WAAW,EACX,cAAc,EACd,aAAa,EACb,WAAW,GACd,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EACH,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,IAAI,EACJ,KAAK,QAAQ,EACb,KAAK,QAAQ,EACb,KAAK,UAAU,EACf,KAAK,EAAE,EACP,KAAK,MAAM,EACX,KAAK,SAAS,GACjB,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,SAAS,EAAE,KAAK,GAAG,EAAE,MAAM,WAAW,CAAC;AAC1F,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,WAAW,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AACtI,OAAO,EACH,SAAS,EACT,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,KAAK,eAAe,GACvB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACH,YAAY,EACZ,WAAW,EACX,cAAc,EACd,OAAO,EACP,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,WAAW,EACX,cAAc,EACd,aAAa,EACb,WAAW,GACd,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EACH,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,aAAa,EACb,QAAQ,EACR,IAAI,EACJ,KAAK,QAAQ,EACb,KAAK,IAAI,EACT,KAAK,QAAQ,EACb,KAAK,UAAU,EACf,KAAK,IAAI,EACT,KAAK,EAAE,EACP,KAAK,MAAM,EACX,KAAK,SAAS,EACd,KAAK,SAAS,GACjB,MAAM,SAAS,CAAC"}
package/dist/index.js CHANGED
@@ -3,5 +3,5 @@ export { cliLauncher, quotedCommandLine, stubCommand, WINDOWS_LAUNCH_STUB, windo
3
3
  export { autostart, clearWindowsRunValue, linuxDesktopEntry, macLaunchAgentXml, ROTATE_LOG_SH, setWindowsRunValue, supervisedPath, windowsRunAddArgs, windowsRunDeleteArgs, } from "./autostart.js";
4
4
  export { claimPidFile, holdPidFile, isProcessAlive, livePid, livePidRecord, LOG_ROTATE_BYTES, rotateIfLarge, pidFileBody, releasePidFile, spawnDetached, stopProcess, } from "./detached.js";
5
5
  export { agentException } from "./text.js";
6
- export { asLabel, createUi, estimate, humanDuration, truncate, wrap, } from "./ui.js";
6
+ export { asLabel, createUi, estimate, explain, humanDuration, truncate, wrap, } from "./ui.js";
7
7
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,EAA4B,MAAM,WAAW,CAAC;AAC1F,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,WAAW,EAAE,mBAAmB,EAAE,iBAAiB,EAAoB,MAAM,eAAe,CAAC;AACtI,OAAO,EACH,SAAS,EACT,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,oBAAoB,GAOvB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACH,YAAY,EACZ,WAAW,EACX,cAAc,EACd,OAAO,EACP,aAAa,EACb,gBAAgB,EAChB,aAAa,EAGb,WAAW,EACX,cAAc,EACd,aAAa,EACb,WAAW,GACd,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EACH,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,IAAI,GAOP,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,EAA4B,MAAM,WAAW,CAAC;AAC1F,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,WAAW,EAAE,mBAAmB,EAAE,iBAAiB,EAAoB,MAAM,eAAe,CAAC;AACtI,OAAO,EACH,SAAS,EACT,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,oBAAoB,GAOvB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACH,YAAY,EACZ,WAAW,EACX,cAAc,EACd,OAAO,EACP,aAAa,EACb,gBAAgB,EAChB,aAAa,EAGb,WAAW,EACX,cAAc,EACd,aAAa,EACb,WAAW,GACd,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EACH,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,aAAa,EACb,QAAQ,EACR,IAAI,GAUP,MAAM,SAAS,CAAC"}
@@ -0,0 +1,55 @@
1
+ export interface Glyphs {
2
+ readonly ok: string;
3
+ readonly fail: string;
4
+ readonly warn: string;
5
+ readonly skip: string;
6
+ readonly ask: string;
7
+ readonly spinner: readonly string[];
8
+ }
9
+ export declare const UNICODE: Glyphs;
10
+ export declare const ASCII: Glyphs;
11
+ export declare const DIM = "\u001B[2m";
12
+ export declare const BOLD = "\u001B[1m";
13
+ export declare const GREEN = "\u001B[32m";
14
+ export declare const RED = "\u001B[31m";
15
+ export declare const YELLOW = "\u001B[33m";
16
+ export declare const CYAN = "\u001B[36m";
17
+ export interface Pen {
18
+ readonly colour: boolean;
19
+ readonly glyphs: Glyphs;
20
+ readonly width: number;
21
+ }
22
+ export type Tone = "ok" | "fail" | "warn" | "skip";
23
+ export interface Item {
24
+ readonly tone: Tone;
25
+ readonly name: string;
26
+ readonly meta?: string | undefined;
27
+ }
28
+ export type Footnote = readonly [what: string, command: string];
29
+ export declare const charWidth: (point: number) => number;
30
+ export declare const displayWidth: (text: string) => number;
31
+ export declare const clean: (text: string) => string;
32
+ export declare const truncate: (text: string, limit: number) => string;
33
+ export declare const paint: (pen: Pen, text: string, code: string) => string;
34
+ export declare const wrap: (text: string, width: number) => string[];
35
+ export declare const headingLines: (pen: Pen, title: string, stamp?: string, scope?: string) => string[];
36
+ export declare const planSummary: (steps: number, seconds: number) => string;
37
+ export declare const settledLine: (pen: Pen, tone: Tone, ordinal: number | undefined, label: string, took: string) => string;
38
+ export declare const liveLine: (pen: Pen, spinner: string, ordinal: number | undefined, label: string, detail: string, took: string) => string;
39
+ export declare const verdictLines: (pen: Pen, tone: Tone, verdict: string, took: string) => string[];
40
+ export declare const footnoteLines: (pen: Pen, footnotes: readonly Footnote[]) => string[];
41
+ export declare const rowLines: (pen: Pen, tone: Tone, name: string, note?: string) => string[];
42
+ export declare const plainRowLine: (tone: Tone, name: string, note?: string) => string;
43
+ export declare const itemLines: (pen: Pen, items: readonly Item[]) => string[];
44
+ export declare const plainItemLines: (items: readonly Item[]) => string[];
45
+ export declare const sectionLines: (pen: Pen, title: string) => string[];
46
+ export declare const plainSectionLines: (title: string) => string[];
47
+ export declare const fieldLines: (pen: Pen, fields: readonly Footnote[]) => string[];
48
+ export declare const plainFieldLines: (fields: readonly Footnote[]) => string[];
49
+ export declare const quietLine: (pen: Pen, sentence: string) => string;
50
+ export declare const CANCELLED = "Cancelled. Nothing changed.";
51
+ export declare const questionLines: (pen: Pen, question: string, consequence?: string) => string[];
52
+ export declare const explain: (headline: string, problem?: string, fix?: string) => string;
53
+ export declare const stopLines: (pen: Pen, message: string) => string[];
54
+ export declare const pickLines: (pen: Pen, items: readonly Footnote[]) => string[];
55
+ //# sourceMappingURL=layout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../src/layout.ts"],"names":[],"mappings":"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"}
package/dist/layout.js ADDED
@@ -0,0 +1,278 @@
1
+ export const UNICODE = { ok: "✓", fail: "✗", warn: "!", skip: "·", ask: "?", spinner: ["⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦", "⠧", "⠇", "⠏"] };
2
+ export const ASCII = { ok: "+", fail: "x", warn: "!", skip: "-", ask: "?", spinner: ["|", "/", "-", "\\"] };
3
+ export const DIM = "\u001b[2m";
4
+ export const BOLD = "\u001b[1m";
5
+ export const GREEN = "\u001b[32m";
6
+ export const RED = "\u001b[31m";
7
+ export const YELLOW = "\u001b[33m";
8
+ export const CYAN = "\u001b[36m";
9
+ const RESET = "\u001b[0m";
10
+ const WIDE = [
11
+ 0x1100, 0x115f, 0x231a, 0x231b, 0x2329, 0x232a, 0x23e9, 0x23ec, 0x23f0, 0x23f0, 0x23f3, 0x23f3, 0x25fd, 0x25fe,
12
+ 0x2614, 0x2615, 0x2648, 0x2653, 0x267f, 0x267f, 0x2693, 0x2693, 0x26a1, 0x26a1, 0x26aa, 0x26ab, 0x26bd, 0x26be,
13
+ 0x26c4, 0x26c5, 0x26ce, 0x26ce, 0x26d4, 0x26d4, 0x26ea, 0x26ea, 0x26f2, 0x26f3, 0x26f5, 0x26f5, 0x26fa, 0x26fa,
14
+ 0x26fd, 0x26fd, 0x2705, 0x2705, 0x270a, 0x270b, 0x2728, 0x2728, 0x274c, 0x274c, 0x274e, 0x274e, 0x2753, 0x2755,
15
+ 0x2757, 0x2757, 0x2795, 0x2797, 0x27b0, 0x27b0, 0x27bf, 0x27bf, 0x2b1b, 0x2b1c, 0x2b50, 0x2b50, 0x2b55, 0x2b55,
16
+ 0x2e80, 0x3029, 0x302e, 0x303e, 0x3041, 0x3096, 0x309b, 0x3247, 0x3250, 0x4dbf, 0x4e00, 0xa4c6, 0xa960, 0xa97c,
17
+ 0xac00, 0xd7a3, 0xf900, 0xfaff, 0xfe10, 0xfe19, 0xfe30, 0xfe6b, 0xff01, 0xff60, 0xffe0, 0xffe6, 0x16fe0, 0x16fe3,
18
+ 0x16ff0, 0x1b2fb, 0x1f004, 0x1f004, 0x1f0cf, 0x1f0cf, 0x1f18e, 0x1f18e, 0x1f191, 0x1f19a, 0x1f200, 0x1f320,
19
+ 0x1f32d, 0x1f335, 0x1f337, 0x1f37c, 0x1f37e, 0x1f393, 0x1f3a0, 0x1f3ca, 0x1f3cf, 0x1f3d3, 0x1f3e0, 0x1f3f0,
20
+ 0x1f3f4, 0x1f3f4, 0x1f3f8, 0x1f43e, 0x1f440, 0x1f440, 0x1f442, 0x1f4fc, 0x1f4ff, 0x1f53d, 0x1f54b, 0x1f54e,
21
+ 0x1f550, 0x1f567, 0x1f57a, 0x1f57a, 0x1f595, 0x1f596, 0x1f5a4, 0x1f5a4, 0x1f5fb, 0x1f64f, 0x1f680, 0x1f6c5,
22
+ 0x1f6cc, 0x1f6cc, 0x1f6d0, 0x1f6d2, 0x1f6d5, 0x1f6df, 0x1f6eb, 0x1f6ec, 0x1f6f4, 0x1f6fc, 0x1f7e0, 0x1f7f0,
23
+ 0x1f90c, 0x1f93a, 0x1f93c, 0x1f945, 0x1f947, 0x1f9ff, 0x1fa70, 0x1faf8, 0x20000, 0x3fffd,
24
+ ];
25
+ const ZERO = [
26
+ 0x0300, 0x036f, 0x0483, 0x0489, 0x0591, 0x05bd, 0x05bf, 0x05bf, 0x05c1, 0x05c2, 0x05c4, 0x05c5, 0x05c7, 0x05c7,
27
+ 0x0610, 0x061a, 0x061c, 0x061c, 0x064b, 0x065f, 0x0670, 0x0670, 0x06d6, 0x06dc, 0x06df, 0x06e4, 0x06e7, 0x06e8,
28
+ 0x06ea, 0x06ed, 0x0711, 0x0711, 0x0730, 0x074a, 0x07a6, 0x07b0, 0x07eb, 0x07f3, 0x07fd, 0x07fd, 0x0816, 0x0819,
29
+ 0x081b, 0x0823, 0x0825, 0x0827, 0x0829, 0x082d, 0x0859, 0x085b, 0x0890, 0x089f, 0x08ca, 0x08e1, 0x08e3, 0x08ff,
30
+ 0x0e31, 0x0e31, 0x0e34, 0x0e3a, 0x0e47, 0x0e4e, 0x1160, 0x11ff, 0x1ab0, 0x1ace, 0x1dc0, 0x1dff, 0x200b, 0x200f,
31
+ 0x202a, 0x202e, 0x2060, 0x206f, 0x20d0, 0x20f0, 0x302a, 0x302d, 0x3099, 0x309a, 0xfe00, 0xfe0f, 0xfe20, 0xfe2f,
32
+ 0xfeff, 0xfeff, 0xe0001, 0xe01ef,
33
+ ];
34
+ const inTable = (table, point) => {
35
+ let low = 0;
36
+ let high = table.length / 2 - 1;
37
+ while (low <= high) {
38
+ const middle = (low + high) >> 1;
39
+ if (point < table[middle * 2]) {
40
+ high = middle - 1;
41
+ }
42
+ else if (point > table[middle * 2 + 1]) {
43
+ low = middle + 1;
44
+ }
45
+ else {
46
+ return true;
47
+ }
48
+ }
49
+ return false;
50
+ };
51
+ export const charWidth = (point) => {
52
+ if (point < 0x20 || (point >= 0x7f && point < 0xa0)) {
53
+ return 0;
54
+ }
55
+ if (point < 0x300) {
56
+ return 1;
57
+ }
58
+ return inTable(ZERO, point) ? 0 : inTable(WIDE, point) ? 2 : 1;
59
+ };
60
+ const ESCAPE = /\u001b\[[0-?]*[ -/]*[@-~]/gu;
61
+ export const displayWidth = (text) => {
62
+ let cells = 0;
63
+ for (const part of text.replace(ESCAPE, "")) {
64
+ cells += charWidth(part.codePointAt(0));
65
+ }
66
+ return cells;
67
+ };
68
+ const length = displayWidth;
69
+ const padTo = (text, column) => `${text}${" ".repeat(Math.max(0, column - length(text)))}`;
70
+ export const clean = (text) => text.replace(new RegExp(`${ESCAPE.source}|[\\u0000-\\u001f\\u007f-\\u009f]`, "gu"), (found) => (found.length > 1 ? found : " "));
71
+ export const truncate = (text, limit) => {
72
+ if (length(text) <= limit) {
73
+ return text;
74
+ }
75
+ if (limit <= 1) {
76
+ return "";
77
+ }
78
+ let kept = "";
79
+ let cells = 0;
80
+ let cut = false;
81
+ const escapes = [];
82
+ for (const [at, piece] of text.split(new RegExp(`(${ESCAPE.source})`, "u")).entries()) {
83
+ if (at % 2 === 1) {
84
+ if (cut) {
85
+ escapes.push(piece);
86
+ }
87
+ else {
88
+ kept += piece;
89
+ }
90
+ continue;
91
+ }
92
+ for (const part of piece) {
93
+ const cost = charWidth(part.codePointAt(0));
94
+ if (cut || cells + cost > limit - 1) {
95
+ cut = true;
96
+ break;
97
+ }
98
+ kept += part;
99
+ cells += cost;
100
+ }
101
+ }
102
+ return `${kept}…${escapes.join("")}`;
103
+ };
104
+ const splitLines = (text) => {
105
+ if (text === "") {
106
+ return [];
107
+ }
108
+ const parts = text.split("\n");
109
+ const lines = parts.map((line, at) => (at < parts.length - 1 ? line.replace(/\r$/u, "") : line));
110
+ return text.endsWith("\n") ? lines.slice(0, -1) : lines;
111
+ };
112
+ export const paint = (pen, text, code) => (pen.colour && text !== "" ? `${code}${text}${RESET}` : text);
113
+ const glyph = (pen, tone) => {
114
+ switch (tone) {
115
+ case "ok":
116
+ return paint(pen, pen.glyphs.ok, GREEN);
117
+ case "fail":
118
+ return paint(pen, pen.glyphs.fail, RED);
119
+ case "warn":
120
+ return paint(pen, pen.glyphs.warn, YELLOW);
121
+ case "skip":
122
+ return paint(pen, pen.glyphs.skip, DIM);
123
+ }
124
+ };
125
+ const plainWord = (tone) => {
126
+ switch (tone) {
127
+ case "ok":
128
+ return "ok ";
129
+ case "fail":
130
+ return "FAIL";
131
+ case "warn":
132
+ return "warn";
133
+ case "skip":
134
+ return "skip";
135
+ }
136
+ };
137
+ export const wrap = (text, width) => {
138
+ if (width < 20) {
139
+ return [text];
140
+ }
141
+ const lines = [];
142
+ let current = "";
143
+ for (const word of text.split(/\s+/u).filter((part) => part !== "")) {
144
+ if (current === "") {
145
+ current = word;
146
+ }
147
+ else if (length(current) + 1 + length(word) <= width) {
148
+ current = `${current} ${word}`;
149
+ }
150
+ else {
151
+ lines.push(current);
152
+ current = word;
153
+ }
154
+ }
155
+ if (current !== "") {
156
+ lines.push(current);
157
+ }
158
+ return lines.length === 0 ? [""] : lines;
159
+ };
160
+ const gap = (pen, left, right) => (right === 0 ? "" : " ".repeat(Math.max(1, pen.width - 1 - left - right)));
161
+ export const headingLines = (pen, title, stamp, scope) => {
162
+ const head = stamp === undefined || stamp === ""
163
+ ? ` ${paint(pen, title, BOLD)}`
164
+ : ` ${paint(pen, title, BOLD)}${gap(pen, 2 + length(title), length(stamp))}${paint(pen, stamp, DIM)}`;
165
+ const lines = ["", head];
166
+ if (scope !== undefined && scope !== "") {
167
+ for (const part of wrap(scope, pen.width - 3)) {
168
+ lines.push(` ${paint(pen, part, DIM)}`);
169
+ }
170
+ }
171
+ lines.push("");
172
+ return lines;
173
+ };
174
+ export const planSummary = (steps, seconds) => {
175
+ const minutes = Math.max(1, Math.round(seconds / 60));
176
+ return `${steps} step${steps === 1 ? "" : "s"}, roughly ${minutes} minute${minutes === 1 ? "" : "s"}.`;
177
+ };
178
+ export const settledLine = (pen, tone, ordinal, label, took) => {
179
+ const number = ordinal === undefined ? "" : `${String(ordinal).padStart(2)} `;
180
+ const left = 5 + length(number) + length(label);
181
+ const shown = ordinal === undefined ? "" : `${paint(pen, String(ordinal).padStart(2), DIM)} `;
182
+ return ` ${glyph(pen, tone)} ${shown}${label}${gap(pen, left, length(took))}${paint(pen, took, DIM)}`;
183
+ };
184
+ export const liveLine = (pen, spinner, ordinal, label, detail, took) => {
185
+ const number = ordinal === undefined ? "" : `${String(ordinal).padStart(2)} `;
186
+ const budget = pen.width - 1;
187
+ const lead = 4 + length(spinner) + length(number);
188
+ const right = lead + length(took) + 1 > budget ? "" : clean(took);
189
+ const room = Math.max(0, budget - lead - (right === "" ? 0 : length(right) + 1));
190
+ const shownLabel = truncate(clean(label), room);
191
+ const middle = detail === "" ? "" : truncate(` · ${clean(detail)}`, room - length(shownLabel));
192
+ const shownNumber = ordinal === undefined ? "" : `${paint(pen, String(ordinal).padStart(2), DIM)} `;
193
+ const head = ` ${paint(pen, spinner, CYAN)} ${shownNumber}${shownLabel}${paint(pen, middle, DIM)}`;
194
+ return right === "" ? head : `${head}${" ".repeat(room - length(shownLabel) - length(middle))} ${paint(pen, right, DIM)}`;
195
+ };
196
+ export const verdictLines = (pen, tone, verdict, took) => [
197
+ "",
198
+ ` ${glyph(pen, tone)} ${paint(pen, verdict, BOLD)}${gap(pen, 5 + length(verdict), length(took))}${paint(pen, took, DIM)}`,
199
+ ];
200
+ export const footnoteLines = (pen, footnotes) => {
201
+ const column = Math.max(0, ...footnotes.map(([what]) => length(what)));
202
+ return footnotes.map(([what, command], at) => {
203
+ const heading = (at === 0 ? "later" : "").padEnd(6);
204
+ return ` ${paint(pen, `${heading} ${padTo(what, column)}`, DIM)} ${command}`;
205
+ });
206
+ };
207
+ export const rowLines = (pen, tone, name, note = "") => {
208
+ const body = note === "" ? name : `${name} — ${note}`;
209
+ return wrap(body, pen.width - 10).map((part, at) => at === 0 ? ` ${glyph(pen, tone)} ${paint(pen, part, DIM)}` : ` ${paint(pen, part, DIM)}`);
210
+ };
211
+ export const plainRowLine = (tone, name, note = "") => ` ${plainWord(tone)} ${name}${note === "" ? "" : ` — ${note}`}`;
212
+ export const itemLines = (pen, items) => {
213
+ const column = Math.max(0, ...items.map((item) => length(item.name)));
214
+ return items.map((item) => {
215
+ const meta = item.meta ?? "";
216
+ return meta === "" ? ` ${glyph(pen, item.tone)} ${item.name}` : ` ${glyph(pen, item.tone)} ${padTo(item.name, column)} ${paint(pen, meta, DIM)}`;
217
+ });
218
+ };
219
+ export const plainItemLines = (items) => items.map((item) => plainRowLine(item.tone, item.name, item.meta ?? ""));
220
+ export const sectionLines = (pen, title) => ["", ` ${paint(pen, title, DIM)}`];
221
+ export const plainSectionLines = (title) => ["", `${title}:`];
222
+ export const fieldLines = (pen, fields) => {
223
+ const column = Math.max(0, ...fields.map(([key]) => length(key)));
224
+ return fields.map(([key, value]) => ` ${paint(pen, padTo(key, column), DIM)} ${value}`);
225
+ };
226
+ export const plainFieldLines = (fields) => fields.map(([key, value]) => `${key}: ${value}`);
227
+ export const quietLine = (pen, sentence) => ` ${glyph(pen, "skip")} ${paint(pen, sentence, DIM)}`;
228
+ export const CANCELLED = "Cancelled. Nothing changed.";
229
+ export const questionLines = (pen, question, consequence = "") => {
230
+ const lines = [` ${paint(pen, pen.glyphs.ask, CYAN)} ${paint(pen, question, BOLD)}`];
231
+ if (consequence !== "") {
232
+ for (const paragraph of splitLines(consequence)) {
233
+ for (const part of wrap(paragraph, pen.width - 6)) {
234
+ lines.push(` ${paint(pen, part, DIM)}`);
235
+ }
236
+ }
237
+ }
238
+ return lines;
239
+ };
240
+ export const explain = (headline, problem, fix) => [headline, problem === undefined ? undefined : ` problem: ${problem}`, fix === undefined ? undefined : ` fix: ${fix}`]
241
+ .filter((line) => line !== undefined)
242
+ .join("\n");
243
+ export const stopLines = (pen, message) => {
244
+ const [first = "", ...rest] = splitLines(message);
245
+ const lines = ["", ...wrap(first, pen.width - 6).map((part, at) => `${at === 0 ? ` ${glyph(pen, "fail")} ` : " "}${paint(pen, part, RED)}`)];
246
+ for (const raw of rest) {
247
+ const trimmed = raw.trimEnd();
248
+ if (trimmed === "") {
249
+ lines.push("");
250
+ continue;
251
+ }
252
+ const indent = trimmed.length - trimmed.trimStart().length;
253
+ const body = trimmed.trimStart();
254
+ const split = body.indexOf(": ");
255
+ const label = split > 0 ? body.slice(0, split).trimEnd() : "";
256
+ if (indent > 0 && (label === "problem" || label === "fix")) {
257
+ const padded = `${label}:`.padEnd(9);
258
+ const column = indent + 2 + padded.length;
259
+ for (const [at, part] of wrap(body.slice(split + 2), pen.width - column - 1).entries()) {
260
+ lines.push(at === 0 ? ` ${" ".repeat(indent)}${paint(pen, padded, DIM)}${part}` : `${" ".repeat(column)}${part}`);
261
+ }
262
+ continue;
263
+ }
264
+ for (const [at, part] of wrap(body, pen.width - indent - 4).entries()) {
265
+ lines.push(` ${" ".repeat(at === 0 ? indent : indent + 3)}${part}`);
266
+ }
267
+ }
268
+ lines.push("");
269
+ return lines;
270
+ };
271
+ export const pickLines = (pen, items) => {
272
+ const column = Math.max(0, ...items.map(([name]) => length(name)));
273
+ return items.map(([name, meta], at) => {
274
+ const number = paint(pen, String(at + 1).padStart(2), CYAN);
275
+ return meta === "" ? ` ${number} ${name}` : ` ${number} ${padTo(name, column)} ${paint(pen, meta, DIM)}`;
276
+ });
277
+ };
278
+ //# sourceMappingURL=layout.js.map