pi-daddy 0.27.2 → 0.27.4

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/CHANGELOG.md CHANGED
@@ -12,6 +12,20 @@ the record of how the package got here and are worth keeping; they are not worth
12
12
  > the record of how the package arrived at what it does, and because the reasoning behind each one is
13
13
  > usually the clearest statement of why the current behaviour is what it is.
14
14
 
15
+ ## 0.27.4 — independent Herdr delegation names (2026-09-17)
16
+
17
+ - Generate a fresh execution suffix instead of a process-local counter, preventing parallel Pi parents
18
+ and extension reloads from reusing globally reserved Herdr agent names.
19
+ - Keep readable tab labels and valid agent names within Herdr's 32-character limit.
20
+ - Regression coverage exercises parallel processes and fresh module instances; grant and cleanup behavior is unchanged.
21
+
22
+ ## 0.27.3 — visible completed delegation history (2026-09-15)
23
+
24
+ - Show how many completed roots and children the compact ledger dashboard hides.
25
+ - Use h + Enter to expand/collapse finished history independently of Details.
26
+ - Active and attention ancestry remains visible; connected daily/debrief controls are unchanged.
27
+ - Expanded history can exceed the viewport; this patch does not add pagination.
28
+
15
29
  ## 0.27.2 — standalone CLI runtime dependency (2026-09-15)
16
30
 
17
31
  - Declare the Pi SDK and TypeBox as runtime dependencies, so standalone pi-daddy commands work after Pi's managed
package/PRODUCT-GUIDE.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # Work and learning in Pi
2
2
 
3
- This guide targets **pi-daddy 0.27.1** with **skill-harness 0.16.0**. The 0.27.1 patch references enabled
4
- installed runtime skills directly and prevents setup from creating duplicate project copies.
3
+ This guide targets **pi-daddy 0.27.3** with **skill-harness 0.17.0**. Completed ledger history now has
4
+ visible hidden counts and an h + Enter toggle. Existing installed-skill discovery remains unchanged.
5
5
  Release qualification and publication are recorded in the release PR; version metadata alone is not proof.
6
6
  The [current requirement register](./REQUIREMENTS.md) separates implementation from release evidence.
7
7
  From an installed shell command, `pi-daddy guide` prints this guide; `pi-daddy current` prints the register.
@@ -9,7 +9,7 @@ From an installed shell command, `pi-daddy guide` prints this guide; `pi-daddy c
9
9
  ## Start once
10
10
 
11
11
  After the patch is published, install it with Pi's normal package manager:
12
- `pi install npm:pi-daddy@0.27.1` and `pi install npm:skill-harness@0.16.0`.
12
+ `pi install npm:pi-daddy@0.27.3` and `pi install npm:skill-harness@0.17.0`.
13
13
  Do not treat these planned version commands as evidence the packages are already available.
14
14
  Start a **fresh Pi session** after upgrading the harness: its existing immutable bridge survives `/reload`.
15
15
  In the project, run `/grants init`, review capability consent, then `/grants` to see usable definitions.
@@ -40,11 +40,20 @@ The run is finite, with no automatic retry or restart recovery. Esc requests can
40
40
  original children to settle. Ordinary model work has **no universal dollar/token cap**; provider usage is
41
41
  not invented from output size. Effort is an observed/requested launch setting, not measured internal thought.
42
42
 
43
+ ## Inspect the read-only execution ledger
44
+
45
+ The ledger dashboard (`pi-daddy-dashboard --ledger <path>`, without a connected host or daily inputs)
46
+ shows the latest three quiet roots per workflow and in the ungrouped tree, plus the latest two quiet
47
+ children per parent. Hidden roots have a visible count; hidden child subtrees retain their count.
48
+ Type `h`, then Enter, to expand all completed history; repeat to collapse. Active, failed, refused
49
+ and incomplete branches and their ancestors always stay visible. `d`, then Enter, toggles governance
50
+ details independently. These controls only change the display, and reset when the dashboard restarts.
51
+
43
52
  ## Read and steer the panel
44
53
 
45
54
  The outcome comes first, followed by **Running**, **Waiting**, **Needs you** or **Finished**. Active rows
46
55
  show observed model/effort; unknown observations stay unknown. Completed attempts are collapsed.
47
- **Finished is not accepted.** `d` opens diagnostics/history. There are no guessed percentages or ETAs.
56
+ **Finished is not accepted.** In this connected daily panel, `d` opens diagnostics and attempt history. There are no guessed percentages or ETAs.
48
57
 
49
58
  Enter a displayed **number** for its action. A repaint never gives an old number a new meaning; stale
50
59
  choices refuse. Feedback distinguishes acknowledgement, applied control, pending and unknown results.
@@ -21,6 +21,7 @@ export interface DashboardFrameOptions {
21
21
  color?: boolean;
22
22
  width?: number;
23
23
  details?: boolean;
24
+ history?: boolean;
24
25
  now?: Date;
25
26
  dailyView?: DailyViewOptions;
26
27
  dailyReader?: ReturnType<typeof createDailyViewReader>;
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-cli.d.ts","sourceRoot":"","sources":["../src/dashboard-cli.ts"],"names":[],"mappings":";AACA,OAAO,EAA0E,KAAK,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEjJ,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAO1E,OAAO,EAAE,qBAAqB,EAAoC,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGjH,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAI1D,OAAO,EAAsB,KAAK,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAGzE,eAAO,MAAM,mBAAmB,6BAA6B,CAAC;AAC9D,OAAO,EAAE,aAAa,IAAI,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAE9E,eAAO,MAAM,iBAAiB,gCAAgC,CAAC;AAC/D,eAAO,MAAM,cAAc,yBAAyB,CAAC;AACrD,eAAO,MAAM,mBAAmB,2BAA2B,CAAC;AAQ5D,eAAO,MAAM,0BAA0B,EAAG,CAAU,CAAC;AACrD,eAAO,MAAM,oBAAoB,oBAAoB,CAAC;AACtD,eAAO,MAAM,sBAAsB,gCAAgC,CAAC;AACpE,eAAO,MAAM,iBAAiB,2BAA2B,CAAC;AAC1D,eAAO,MAAM,oBAAoB,MAAM,CAAC;AAExC,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,WAAW,CAAC,EAAE,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC;IACvD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAChC,UAAU,CAAC,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC;CACrD;AACD,wBAAsB,mBAAmB,CAAC,IAAI,EAAC,mBAAmB,EAAC,IAAI,EAAC,MAAM;;;;;;GAM7E;AAED,8GAA8G;AAC9G,wBAAgB,uBAAuB,CAAC,OAAO,EAAC,MAAM,EAAC,OAAO,EAAC,OAAO,GAAE,MAAM,CAW7E;AAiCD,wBAAsB,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CAuDpF;AA2CD,wBAAsB,YAAY,CAAC,IAAI,WAAwB,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,EAAE,IAAI,GAAE;IAAE,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAAC,SAAS,CAAC,EAAC,mBAAmB,CAAA;CAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CA2F/L"}
1
+ {"version":3,"file":"dashboard-cli.d.ts","sourceRoot":"","sources":["../src/dashboard-cli.ts"],"names":[],"mappings":";AACA,OAAO,EAA0E,KAAK,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEjJ,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAQ1E,OAAO,EAAE,qBAAqB,EAAoC,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGjH,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAI1D,OAAO,EAAsB,KAAK,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAGzE,eAAO,MAAM,mBAAmB,6BAA6B,CAAC;AAC9D,OAAO,EAAE,aAAa,IAAI,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAE9E,eAAO,MAAM,iBAAiB,gCAAgC,CAAC;AAC/D,eAAO,MAAM,cAAc,yBAAyB,CAAC;AACrD,eAAO,MAAM,mBAAmB,2BAA2B,CAAC;AAQ5D,eAAO,MAAM,0BAA0B,EAAG,CAAU,CAAC;AACrD,eAAO,MAAM,oBAAoB,oBAAoB,CAAC;AACtD,eAAO,MAAM,sBAAsB,gCAAgC,CAAC;AACpE,eAAO,MAAM,iBAAiB,2BAA2B,CAAC;AAC1D,eAAO,MAAM,oBAAoB,MAAM,CAAC;AAExC,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,WAAW,CAAC,EAAE,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC;IACvD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAChC,UAAU,CAAC,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC;CACrD;AACD,wBAAsB,mBAAmB,CAAC,IAAI,EAAC,mBAAmB,EAAC,IAAI,EAAC,MAAM;;;;;;GAM7E;AAED,8GAA8G;AAC9G,wBAAgB,uBAAuB,CAAC,OAAO,EAAC,MAAM,EAAC,OAAO,EAAC,OAAO,GAAE,MAAM,CAW7E;AAiCD,wBAAsB,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CAwDpF;AA2CD,wBAAsB,YAAY,CAAC,IAAI,WAAwB,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,EAAE,IAAI,GAAE;IAAE,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAAC,SAAS,CAAC,EAAC,mBAAmB,CAAA;CAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CA2F/L"}
@@ -8,6 +8,7 @@ import { resolve } from "node:path";
8
8
  import { pathToFileURL } from "node:url";
9
9
  import { parseDashboardLedger } from "./dashboard-projection.js";
10
10
  import { renderDashboard } from "./dashboard-render.js";
11
+ import { createDashboardDisplayControls } from "./dashboard-display-controls.js";
11
12
  import { createDailyViewReader, isDailyViewReader, readDailyView } from "./daily-view.js";
12
13
  import { renderDailyView } from "./daily-view-render.js";
13
14
  import { renderDailyPanel, panelLines, learningSummary } from "./daily-panel.js";
@@ -157,6 +158,7 @@ export async function dashboardFrame(options) {
157
158
  color: options.color,
158
159
  width: options.width,
159
160
  details: options.details,
161
+ history: options.history,
160
162
  });
161
163
  return waiting ? `${rendered}\n\nwaiting for ledger ${ledgerPath}` : rendered;
162
164
  }
@@ -233,7 +235,7 @@ export async function runDashboard(argv = process.argv.slice(2), env = process.e
233
235
  }
234
236
  const dailyReader = createDailyViewReader();
235
237
  const actionMenu = createDashboardMenu();
236
- let details = cli.details;
238
+ const display = createDashboardDisplayControls(cli.details, Boolean(ledgerPath && !connected && !debrief && !cli.debriefJson && !dailyView));
237
239
  let previous = "";
238
240
  let feedback = "";
239
241
  let input = null;
@@ -244,14 +246,14 @@ export async function runDashboard(argv = process.argv.slice(2), env = process.e
244
246
  protocol,
245
247
  color: cli.color,
246
248
  width: process.stdout.columns || 80,
247
- details, actionMenu,
249
+ ...display.state, actionMenu,
248
250
  dailyView, dailyReader, dailyJson: cli.dailyJson, debrief, debriefJson: cli.debriefJson, connected,
249
251
  });
250
252
  const rendered = feedback ? `${panelLines([feedback], process.stdout.columns || 80)}\n\n${frame}` : frame;
251
253
  if (rendered === previous && !clear)
252
254
  return;
253
255
  previous = rendered;
254
- const prompt = "Action number / d Details, then Enter: ";
256
+ const prompt = display.prompt();
255
257
  const draft = input?.line ?? "";
256
258
  process.stdout.write(clear ? `\u001b]0;PI-DADDY\u0007\u001b[2J\u001b[H${rendered}\n\n${input ? prompt + draft : ""}` : `${rendered}\n`);
257
259
  if (input)
@@ -274,8 +276,7 @@ export async function runDashboard(argv = process.argv.slice(2), env = process.e
274
276
  input?.on("line", line => {
275
277
  if (acting)
276
278
  return; // never replay a line typed while the prior exact command is still settling.
277
- if (line.trim().toLowerCase() === "d") {
278
- details = !details;
279
+ if (display.input(line)) {
279
280
  redraw();
280
281
  return;
281
282
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-cli.js","sourceRoot":"","sources":["../src/dashboard-cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dashboard-cli.js","sourceRoot":"","sources":["../src/dashboard-cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,yBAAyB,EAA4B,MAAM,+BAA+B,CAAC;AACjJ,OAAO,EAAE,oBAAoB,EAA6B,MAAM,qBAAqB,CAAC;AACtF,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,8BAA8B,EAAE,MAAM,iCAAiC,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,aAAa,EAAyB,MAAM,iBAAiB,CAAC;AACjH,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,eAAe,EAA2C,MAAM,kBAAkB,CAAC;AAC1H,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAA8B,MAAM,kBAAkB,CAAC;AACjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAyB,MAAM,cAAc,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,MAAM,CAAC,MAAM,mBAAmB,GAAG,0BAA0B,CAAC;AAC9D,OAAO,EAAE,aAAa,IAAI,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAE9E,MAAM,CAAC,MAAM,iBAAiB,GAAG,6BAA6B,CAAC;AAC/D,MAAM,CAAC,MAAM,cAAc,GAAG,sBAAsB,CAAC;AACrD,MAAM,CAAC,MAAM,mBAAmB,GAAG,wBAAwB,CAAC;AAC5D,SAAS,cAAc,CAAC,IAAwB;IAC9C,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,MAAM,SAAS,GAAG,kBAAkB,CAAC,IAAI,CAA8C,CAAC;IACxF,IAAI,iBAAiB,CAAC,EAAE,EAAE,EAAE,gBAAgB,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,sBAAsB,CAAC;QAAE,MAAM,IAAI,SAAS,CAAC,gCAAgC,CAAC,CAAC;IACvL,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAU,CAAC;AACrD,MAAM,CAAC,MAAM,oBAAoB,GAAG,iBAAiB,CAAC;AACtD,MAAM,CAAC,MAAM,sBAAsB,GAAG,6BAA6B,CAAC;AACpE,MAAM,CAAC,MAAM,iBAAiB,GAAG,wBAAwB,CAAC;AAC1D,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAmBxC,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,IAAwB,EAAC,IAAW;IAC5E,IAAG,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAE,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,GAAC,KAAK;QAAC,MAAM,KAAK,CAAC,+CAA+C,CAAC,CAAC;IAC5H,MAAM,OAAO,GAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAC1B,IAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;QAAC,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,OAAO,EAAC,KAAK,CAAyB,CAAC,CAAC,CAAC;IAC/H,IAAG,CAAC,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC;QAAC,MAAM,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACxG,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC;AAED,8GAA8G;AAC9G,MAAM,UAAU,uBAAuB,CAAC,OAAc,EAAC,OAAe;IACpE,MAAM,KAAK,GAAC,OAAO,IAAE,OAAO,OAAO,KAAG,QAAQ,CAAA,CAAC,CAAA,OAA0E,CAAA,CAAC,CAAA,EAAE,CAAC;IAC7H,MAAM,KAAK,GAAC,OAAO,KAAK,CAAC,KAAK,KAAG,QAAQ,CAAA,CAAC,CAAA,KAAK,CAAC,KAAK,CAAA,CAAC,CAAA,4BAA4B,CAAC;IACnF,IAAG,KAAK,KAAG,mBAAmB,IAAE,KAAK,KAAG,eAAe;QAAC,OAAO,oBAAoB,OAAO,aAAa,KAAK,iCAAiC,CAAC;IAC9I,IAAG,KAAK,KAAG,cAAc;QAAC,OAAO,gBAAgB,OAAO,aAAa,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,IAAE,KAAK,CAAC,MAAM,CAAC,KAAG,QAAQ,CAAA,CAAC,CAAA,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,IAAE,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,EAAC,IAAI,CAAC,EAAE,CAAA,CAAC,CAAA,EAAE,EAAE,CAAC;IACvL,MAAM,MAAM,GAAC,KAAK,CAAC,MAAM,IAAE,OAAO,KAAK,CAAC,MAAM,KAAG,QAAQ,CAAA,CAAC,CAAA,KAAK,CAAC,MAAgC,CAAA,CAAC,CAAA,IAAI,CAAC;IACtG,yGAAyG;IACzG,MAAM,iBAAiB,GAAC,OAAO,MAAM,EAAE,WAAW,KAAG,QAAQ,CAAA,CAAC,CAAA,MAAM,CAAC,WAAW,CAAA,CAAC,CAAA,SAAS,CAAC;IAC3F,IAAG,iBAAiB,KAAG,SAAS;QAAC,OAAO,iBAAiB,OAAO,+BAA+B,CAAC;IAChG,IAAG,iBAAiB;QAAC,OAAO,iBAAiB,OAAO,wBAAwB,iBAAiB,oCAAoC,CAAC;IAClI,OAAO,iBAAiB,OAAO,iEAAiE,CAAC;AACnG,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC;AAC/C,CAAC;AAED,SAAS,UAAU,CAAC,GAAW;IAC7B,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;IACnD,OAAO;QACL,UAAU;QACV,EAAE;QACF,kEAAkE;QAClE,oDAAoD;QACpD,EAAE;QACF,cAAc;QACd,2BAA2B;QAC3B,6BAA6B,UAAU,CAAC,MAAM,CAAC,EAAE;QACjD,MAAM;QACN,EAAE;QACF,iEAAiE;KAClE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,iBAAiB,CAAC,QAAgB;IACzC,OAAO;QACL,mCAAmC;QACnC,EAAE;QACF,6BAA6B,0BAA0B,oBAAoB,QAAQ,GAAG;QACtF,0FAA0F;QAC1F,8FAA8F;KAC/F,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAA8B;IACjE,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ,KAAK,0BAA0B,EAAE,CAAC;QACtF,OAAO,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC7C,CAAC;IACD,IAAG,OAAO,CAAC,SAAS,EAAC,CAAC;QACpB,IAAG,CAAC,qBAAqB,CAAC,OAAO,CAAC,SAAS,CAAC;YAAC,MAAM,KAAK,CAAC,wCAAwC,CAAC,CAAC;QACnG,IAAI,IAAsD,CAAC;QAC3D,IAAG,CAAC;YAAA,IAAI,GAAC,MAAM,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QAAA,CAAC;QAAA,OAAM,KAAK,EAAC,CAAC;YAAA,OAAO,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC;YAAA,OAAO,UAAU,CAAC,CAAC,yBAAyB,EAAE,0DAA0D,EAAE,qDAAqD,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,CAAA,CAAC,CAAA,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA,CAAC,CAAA,EAAE,CAAC,CAAC,EAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAAA,CAAC;QAC7S,IAAG,OAAO,CAAC,SAAS,IAAE,OAAO,CAAC,WAAW;YAAC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACtE,MAAM,MAAM,GAAC,IAAI,CAAC,MAA6D,CAAC;QAChF,MAAM,OAAO,GAAE,IAAI,CAAC,OAAmC,IAAE,EAAE,CAAC;QAC5D,MAAM,IAAI,GAAC,CAAC,OAAO,CAAC,UAAU,IAAE,mBAAmB,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAC,OAAO,CAAC,CAAC;QAC9E,MAAM,QAAQ,GAAC,IAAI,CAAC,OAAO,CAAA,CAAC,CAAA,CAAC,4BAA4B,CAAC,CAAA,CAAC,CAAA,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1F,MAAM,OAAO,GAAC,MAAM,EAAE,KAAK,CAAA,CAAC,CAAA,gBAAgB,CAAC,MAAM,CAAC,KAAK,EAAC,OAAO,CAAC,KAAK,EAAC,EAAC,OAAO,EAAC,OAAO,CAAC,OAAO,EAAC,SAAS,EAAC,IAAI,EAAC,YAAY,EAAC,IAAI,CAAC,YAAqC,EAAC,KAAK,EAAC,IAAI,CAAC,KAAK,EAAC,QAAQ,EAAC,IAAI,CAAC,QAAQ,EAAC,OAAO,EAAC,IAAI,CAAC,OAAO,EAAC,OAAO,EAAC,IAAI,EAAC,QAAQ,EAAC,CAAC,CAAA,CAAC,CAAA,UAAU,CAAC,CAAC,sBAAsB,EAAC,qEAAqE,EAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA,EAAE,CAAA,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,EAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACha,OAAO,CAAC,OAAO,EAAC,IAAI,CAAC,OAAO,CAAA,CAAC,CAAA,aAAa,CAAC,IAAI,CAAC,OAA8C,EAAC,OAAO,CAAC,KAAK,CAAC,CAAA,CAAC,CAAA,EAAE,EAAC,OAAO,CAAC,OAAO,CAAA,CAAC,CAAA,UAAU,CAAC,CAAC,gBAAgB,IAAI,CAAC,OAAO,qBAAqB,IAAI,CAAC,eAAe,wBAAwB,IAAI,CAAC,SAAS,CAAC,aAAa,WAAW,IAAI,CAAC,GAAG,GAAG,EAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAA,EAAE,CAAA,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,EAAC,OAAO,CAAC,KAAK,CAAC,CAAA,CAAC,CAAA,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvb,CAAC;IACD,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QAC3C,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,OAAO,gEAAgE,CAAC;QAClH,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAAC,OAAO,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAC9H,CAAC;IACD,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtB,IAAI,CAAC;YACH,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,WAAW,CAAC;gBAAE,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC;YACzI,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,IAAI,aAAa,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC7E,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QACxH,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,kIAAkI,CAAC;QAC5I,CAAC;IACH,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,UAAU;QAAE,OAAO,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAExD,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAC5D,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,CAAC;QACH,IAAI,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAC5C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAK,KAA2B,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,GAAG,IAAI,CAAC;aAC9D,CAAC;YACJ,OAAO;gBACL,+BAA+B;gBAC/B,EAAE;gBACF,sBAAsB,UAAU,EAAE;gBAClC,sBAAsB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;gBAC9E,kEAAkE;aACnE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACf,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,eAAe,CAAC,oBAAoB,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE;QACjF,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,OAAO,EAAE,OAAO,CAAC,OAAO;KACzB,CAAC,CAAC;IACH,OAAO,OAAO,CAAC,CAAC,CAAC,GAAG,QAAQ,0BAA0B,UAAU,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;AAChF,CAAC;AAgBD,SAAS,SAAS,CAAC,IAAc;IAC/B,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;IACjC,IAAI,UAA8B,EAAE,WAA+B,EAAE,QAA4B,EAAE,SAA6B,CAAC;IACjI,IAAI,SAAS,GAAG,KAAK,EAAE,cAAc,GAAG,KAAK,EAAE,WAAW,GAAG,KAAK,CAAC;IAAA,IAAI,UAA2B,CAAC;IACnG,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,GAAG,KAAK,QAAQ;YAAE,IAAI,GAAG,IAAI,CAAC;aAC7B,IAAI,GAAG,KAAK,WAAW;YAAE,OAAO,GAAG,IAAI,CAAC;aACxC,IAAI,GAAG,KAAK,YAAY;YAAE,KAAK,GAAG,KAAK,CAAC;aACxC,IAAI,GAAG,KAAK,UAAU;YAAE,UAAU,GAAG,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;aACnD,IAAI,GAAG,KAAK,cAAc;YAAE,SAAS,GAAG,IAAI,CAAC;aAC7C,IAAI,GAAG,KAAK,mBAAmB;YAAE,cAAc,GAAG,IAAI,CAAC;aACvD,IAAI,GAAG,KAAK,gBAAgB;YAAE,WAAW,GAAG,IAAI,CAAC;aACjD,IAAG,GAAG,KAAK,eAAe,EAAC,CAAC;YAAA,UAAU,GAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;YAAA,IAAG,CAAC,UAAU,IAAE,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC;gBAAC,MAAM,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAAA,CAAC;aAC/I,IAAI,CAAC,sBAAsB,EAAE,eAAe,EAAE,iBAAiB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACpF,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;YAAC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;YAClH,IAAI,GAAG,KAAK,sBAAsB;gBAAE,WAAW,GAAG,KAAK,CAAC;iBACnD,IAAI,GAAG,KAAK,eAAe;gBAAE,QAAQ,GAAG,KAAK,CAAC;;gBAC9C,SAAS,GAAG,KAAK,CAAC;QACzB,CAAC;;YACI,MAAM,IAAI,KAAK,CAAC,8BAA8B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;AACpI,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAyB,OAAO,CAAC,GAAG,EAAE,OAAuE,EAAE;IAC9K,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC5B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC,CAAC;IACtF,MAAM,WAAW,GAAG,GAAG,CAAC,sBAAsB,CAAC,EAAE,IAAI,EAAE,CAAC;IACxD,MAAM,QAAQ,GAAG,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACnG,MAAM,GAAG,GAAG,GAAG,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAE,CAAC;IAC3C,OAAO,CAAC,KAAK,GAAG,qBAAqB,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAEzE,MAAM,WAAW,GAAG,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAC9D,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC;IACrD,MAAM,gBAAgB,GAAG,cAAc,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC;IACnF,MAAM,SAAS,GAAG,WAAW,IAAI,QAAQ,IAAI,gBAAgB,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;QAC/E,qBAAqB,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;QAC1E,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;QAC7D,WAAW,EAAE,EAAE,gBAAgB,EAAE,SAAS,EAAE,IAAI,EAAE;KACnD,CAAC,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,MAAM,GAAC,GAAG,CAAC,UAAU,IAAE,GAAG,CAAC,yBAAyB,CAAC,CAAC;IAAA,MAAM,SAAS,GAAC,IAAI,CAAC,SAAS,IAAE,CAAC,MAAM,CAAA,CAAC,CAAA,oBAAoB,CAAC,MAAM,CAAC,CAAA,CAAC,CAAA,SAAS,CAAC,CAAC;IAC5I,IAAG,SAAS,IAAE,CAAC,IAAI,CAAC,OAAO,IAAE,GAAG,CAAC,cAAc,IAAE,GAAG,CAAC,mBAAmB,CAAC,KAAG,GAAG,CAAC;QAAC,MAAM,KAAK,CAAC,mDAAmD,CAAC,CAAC;IAClJ,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,cAAc,IAAI,GAAG,CAAC,mBAAmB,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,oBAAoB,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACpI,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC/E,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,6DAA6D;IAC7I,CAAC;IACD,MAAM,WAAW,GAAG,qBAAqB,EAAE,CAAC;IAC5C,MAAM,UAAU,GAAC,mBAAmB,EAAE,CAAC;IACvC,MAAM,OAAO,GAAG,8BAA8B,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,IAAI,CAAC,SAAS,IAAI,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IAC7I,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,IAAI,KAAK,GAA8C,IAAI,CAAC;IAC5D,MAAM,IAAI,GAAG,KAAK,EAAE,KAAc,EAAiB,EAAE;QACnD,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC;YACjC,GAAG;YACH,UAAU;YACV,QAAQ;YACR,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE;YACnC,GAAG,OAAO,CAAC,KAAK,EAAE,UAAU;YAC5B,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,SAAS;SACnG,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QAC1G,IAAI,QAAQ,KAAK,QAAQ,IAAI,CAAC,KAAK;YAAE,OAAO;QAC5C,QAAQ,GAAG,QAAQ,CAAC;QACpB,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC;QAChC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,2CAA2C,QAAQ,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,CAAC,CAAC;QACxI,IAAI,KAAK;YAAE,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC,CAAC;IAEF,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;QACb,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,OAAO;IACT,CAAC;IACD,KAAK,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAClH,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC;IACjB,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,MAAM,MAAM,GAAG,GAAS,EAAE;QACxB,IAAI,OAAO;YAAE,OAAO;QACpB,OAAO,GAAG,IAAI,CAAC;QACf,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC,CAAC;IACF,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE;QACvB,IAAI,MAAM;YAAE,OAAO,CAAC,6EAA6E;QACjG,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAAC,MAAM,EAAE,CAAC;YAAC,OAAO;QAAC,CAAC;QAC9C,MAAM,GAAG,IAAI,CAAC;QACd,IAAI,KAAK,GAAC,IAAI,CAAC,IAAI,EAAE,IAAE,SAAS,CAAC;QACjC,MAAM,GAAG,GAAC,KAAK,IAAE,EAAE;YACjB,IAAG,SAAS,IAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAC,CAAC;gBAAA,MAAM,QAAQ,GAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBAAA,KAAK,GAAC,QAAQ,CAAC,KAAK,CAAC;gBAAA,OAAO,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,EAAC,EAAC,GAAG,EAAC,QAAQ,CAAC,GAAG,EAAC,aAAa,EAAC,QAAQ,CAAC,aAAa,EAAC,CAAC,CAAC;YAAA,CAAC;YAChN,IAAG,SAAS;gBAAC,OAAO,mBAAmB,CAAC,SAAS,EAAC,IAAI,CAAC,CAAC;YACxD,IAAG,OAAO;gBAAC,OAAO,aAAa,CAAC,OAAO,EAAC,IAAI,CAAC,CAAC;YAC9C,MAAM,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC3D,CAAC,CAAC;QACF,QAAQ,GAAG,UAAU,KAAK,8BAA8B,CAAC;QACzD,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YACxB,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,uBAAuB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,iBAAiB,KAAK,mCAAmC,CAAC;QAC7H,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;YACf,QAAQ,GAAG,aAAa,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,+DAA+D,CAAC;QAChJ,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,MAAM,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IACxD,OAAO,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAC/B,MAAM,IAAI,OAAO,CAAO,CAAC,MAAM,EAAE,EAAE;QACjC,MAAM,IAAI,GAAG,GAAG,EAAE;YAChB,aAAa,CAAC,KAAK,CAAC,CAAC;YAAC,KAAK,EAAE,KAAK,EAAE,CAAC;YACrC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAChC,MAAM,EAAE,CAAC;QACX,CAAC,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE;IACpB,IAAI,CAAC;QACH,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IACzG,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,CAAC,EAAE,CAAC;AACL,IAAI,OAAO,EAAE,CAAC;IACZ,YAAY,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QAC7B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/G,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,10 @@
1
+ /** Local display controls; these never dispatch actions to an owner or change ledger state. */
2
+ export declare function createDashboardDisplayControls(details: boolean, ledger: boolean): {
3
+ state: {
4
+ details: boolean;
5
+ history: boolean;
6
+ };
7
+ input(line: string): boolean;
8
+ prompt(): string;
9
+ };
10
+ //# sourceMappingURL=dashboard-display-controls.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard-display-controls.d.ts","sourceRoot":"","sources":["../src/dashboard-display-controls.ts"],"names":[],"mappings":"AAAA,+FAA+F;AAC/F,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO;;;;;gBAIhE,MAAM,GAAG,OAAO;cAMlB,MAAM;EAMnB"}
@@ -0,0 +1,25 @@
1
+ /** Local display controls; these never dispatch actions to an owner or change ledger state. */
2
+ export function createDashboardDisplayControls(details, ledger) {
3
+ const state = { details, history: false };
4
+ return {
5
+ state,
6
+ input(line) {
7
+ const key = line.trim().toLowerCase();
8
+ if (key === "d") {
9
+ state.details = !state.details;
10
+ return true;
11
+ }
12
+ if (ledger && key === "h") {
13
+ state.history = !state.history;
14
+ return true;
15
+ }
16
+ return false;
17
+ },
18
+ prompt() {
19
+ return ledger
20
+ ? `d Details / h ${state.history ? "Collapse" : "Expand"} history, then Enter: `
21
+ : "Action number / d Details, then Enter: ";
22
+ },
23
+ };
24
+ }
25
+ //# sourceMappingURL=dashboard-display-controls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard-display-controls.js","sourceRoot":"","sources":["../src/dashboard-display-controls.ts"],"names":[],"mappings":"AAAA,+FAA+F;AAC/F,MAAM,UAAU,8BAA8B,CAAC,OAAgB,EAAE,MAAe;IAC9E,MAAM,KAAK,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC1C,OAAO;QACL,KAAK;QACL,KAAK,CAAC,IAAY;YAChB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YACtC,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;gBAAC,KAAK,CAAC,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;gBAAC,OAAO,IAAI,CAAC;YAAC,CAAC;YACjE,IAAI,MAAM,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;gBAAC,KAAK,CAAC,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;gBAAC,OAAO,IAAI,CAAC;YAAC,CAAC;YAC3E,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM;YACJ,OAAO,MAAM;gBACX,CAAC,CAAC,iBAAiB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,wBAAwB;gBAChF,CAAC,CAAC,yCAAyC,CAAC;QAChD,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -3,6 +3,7 @@ export interface DashboardRenderOptions {
3
3
  width?: number;
4
4
  color?: boolean;
5
5
  details?: boolean;
6
+ history?: boolean;
6
7
  completedRoots?: number;
7
8
  completedChildren?: number;
8
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-render.d.ts","sourceRoot":"","sources":["../src/dashboard-render.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,mBAAmB,EAIpB,MAAM,2BAA2B,CAAC;AAGnC,MAAM,WAAW,sBAAsB;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AA+LD,wBAAgB,eAAe,CAAC,UAAU,EAAE,mBAAmB,EAAE,OAAO,GAAE,sBAA2B,GAAG,MAAM,CA+C7G"}
1
+ {"version":3,"file":"dashboard-render.d.ts","sourceRoot":"","sources":["../src/dashboard-render.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,mBAAmB,EAIpB,MAAM,2BAA2B,CAAC;AAGnC,MAAM,WAAW,sBAAsB;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AA+LD,wBAAgB,eAAe,CAAC,UAAU,EAAE,mBAAmB,EAAE,OAAO,GAAE,sBAA2B,GAAG,MAAM,CAmD7G"}
@@ -165,11 +165,19 @@ export function renderDashboard(projection, options = {}) {
165
165
  width: Math.max(10, options.width ?? 80),
166
166
  color: options.color ?? true,
167
167
  details: options.details ?? false,
168
- completedRoots: Math.max(0, options.completedRoots ?? 3),
169
- completedChildren: Math.max(0, options.completedChildren ?? 2),
168
+ completedRoots: options.history ? Infinity : Math.max(0, options.completedRoots ?? 3),
169
+ completedChildren: options.history ? Infinity : Math.max(0, options.completedChildren ?? 2),
170
170
  };
171
171
  const index = treeIndex(projection.nodes);
172
172
  const lines = [paint("PI-DADDY", 1, resolved.color), ""];
173
+ const renderRoots = (roots) => {
174
+ const selected = selectedRoots(roots, index, resolved.completedRoots);
175
+ const hidden = roots.length - selected.length;
176
+ if (hidden > 0)
177
+ lines.push(paint(`... ${hidden} completed root${hidden === 1 ? "" : "s"} hidden`, 90, resolved.color));
178
+ for (const root of selected)
179
+ lines.push(...renderTree(root, index, resolved));
180
+ };
173
181
  const rendered = new Set();
174
182
  for (const workflow of projection.workflows) {
175
183
  const roots = index.roots.filter((root) => root.correlation?.run_id === workflow.runId);
@@ -181,15 +189,11 @@ export function renderDashboard(projection, options = {}) {
181
189
  lines.push(workflowHeader(workflow, resolved.color));
182
190
  for (const fact of facts)
183
191
  lines.push(truncate(workflowFactLine(fact, resolved.color), resolved.width));
184
- for (const root of selectedRoots(roots, index, resolved.completedRoots)) {
185
- lines.push(...renderTree(root, index, resolved));
186
- }
192
+ renderRoots(roots);
187
193
  lines.push("");
188
194
  }
189
195
  const generic = index.roots.filter((root) => !rendered.has(root.executionId));
190
- for (const root of selectedRoots(generic, index, resolved.completedRoots)) {
191
- lines.push(...renderTree(root, index, resolved));
192
- }
196
+ renderRoots(generic);
193
197
  if (projection.nodes.length === 0)
194
198
  lines.push(paint("No governed executions recorded yet.", 90, resolved.color));
195
199
  if (projection.corrupt.length > 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-render.js","sourceRoot":"","sources":["../src/dashboard-render.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dashboard-render.js","sourceRoot":"","sources":["../src/dashboard-render.ts"],"names":[],"mappings":"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"}
@@ -1,37 +1,3 @@
1
- /**
2
- * Naming a herdr agent: the grammar herdr enforces, and uniqueness it does not.
3
- *
4
- * Split out of `src/run-herdr.ts` at the 400-line ceiling, and a real seam: both rules below come from **herdr's
5
- * own validation and lifecycle**, not from anything this package decides. Two shipping defects lived here, and
6
- * both were invisible to every test because the unit fake accepts whatever name it is handed and the integration
7
- * suite never reaches a real herdr spawn. They surfaced from two real spawns against the live daemon.
8
- */
9
- /**
10
- * Make a herdr agent name that is **valid** and cannot collide with a live one.
11
- *
12
- * **Validity is a separate, PRE-EXISTING defect, and it is the more serious half.** Callers build a name as
13
- * `${definition}-${childId}`, and a ledger child id is hierarchical — `d0.1`, `d0.1.2` (ADR-0008/F8). Those dots
14
- * are **not in herdr's grammar**, so `agent start review-d0.1 …` is rejected with `invalid_agent_name`. Every
15
- * `delegate({agent})` on the herdr path has therefore failed at `agent start` since the executor was written.
16
- *
17
- * Nothing could see it. The unit fake accepts any name it is handed, and the integration suite never reaches a
18
- * real herdr spawn — so both were green while the feature could not work. It surfaced only by running two real
19
- * spawns against the live daemon, which is the argument for doing that at all.
20
- *
21
- * **Measured, and a shipping defect without it.** herdr binds an agent name to its **tab**, and only closing
22
- * the tab frees the name: a second `agent start` with a name still held returns
23
- * `agent_name_taken: agent <name> is already used; … tab_id=…`. `herdr agent stop` does not exist (see
24
- * `cleanup`), so nothing else releases it.
25
- *
26
- * Callers build a name from the definition and the ledger child id — and for a plain blocking `delegate` that
27
- * id is **constant** (`d0.1`, index 0 of the session), so every delegation in a session asked for the same
28
- * name. That was harmless while the pane closed at the end of each call. Once ADR-0032 kept panes alive to
29
- * `agent_settled`, the **first** delegation of a turn worked and every later one failed with
30
- * `agent_name_taken`, on the executor ADR-0031 had just made the default.
31
- *
32
- * Uniquified HERE rather than at the call site, so no caller can forget: the constraint belongs to herdr, and
33
- * this module is the only thing that talks to herdr. The suffix is a counter rather than a random token so a
34
- * pane label stays readable and reproducible within a run.
35
- */
1
+ /** Valid Herdr identity independent of process counters, parent labels and reloads. */
36
2
  export declare function uniqueAgentName(base: string): string;
37
3
  //# sourceMappingURL=herdr-name.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"herdr-name.d.ts","sourceRoot":"","sources":["../src/herdr-name.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAaH;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAapD"}
1
+ {"version":3,"file":"herdr-name.d.ts","sourceRoot":"","sources":["../src/herdr-name.ts"],"names":[],"mappings":"AASA,uFAAuF;AACvF,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAUpD"}
@@ -1,59 +1,20 @@
1
1
  /**
2
- * Naming a herdr agent: the grammar herdr enforces, and uniqueness it does not.
3
- *
4
- * Split out of `src/run-herdr.ts` at the 400-line ceiling, and a real seam: both rules below come from **herdr's
5
- * own validation and lifecycle**, not from anything this package decides. Two shipping defects lived here, and
6
- * both were invisible to every test because the unit fake accepts whatever name it is handed and the integration
7
- * suite never reaches a real herdr spawn. They surfaced from two real spawns against the live daemon.
8
- */
9
- /** Monotonic within this process. See `uniqueAgentName`. */
10
- let spawnSeq = 0;
11
- /**
12
- * herdr's agent-name grammar, measured from its own rejection message.
13
- *
14
- * `agent name must start with a lowercase letter and contain only lowercase letters, digits, '-' or '_'
15
- * (1-32 characters)`.
2
+ * Herdr reserves agent names across all parents until their tabs close.
3
+ * A counter alone is process-local: parallel parents and module reloads repeat it.
4
+ * Keep the readable base separate from a fresh, 80-bit execution suffix.
16
5
  */
6
+ import { randomBytes } from "node:crypto";
17
7
  const AGENT_NAME_MAX = 32;
18
- /**
19
- * Make a herdr agent name that is **valid** and cannot collide with a live one.
20
- *
21
- * **Validity is a separate, PRE-EXISTING defect, and it is the more serious half.** Callers build a name as
22
- * `${definition}-${childId}`, and a ledger child id is hierarchical — `d0.1`, `d0.1.2` (ADR-0008/F8). Those dots
23
- * are **not in herdr's grammar**, so `agent start review-d0.1 …` is rejected with `invalid_agent_name`. Every
24
- * `delegate({agent})` on the herdr path has therefore failed at `agent start` since the executor was written.
25
- *
26
- * Nothing could see it. The unit fake accepts any name it is handed, and the integration suite never reaches a
27
- * real herdr spawn — so both were green while the feature could not work. It surfaced only by running two real
28
- * spawns against the live daemon, which is the argument for doing that at all.
29
- *
30
- * **Measured, and a shipping defect without it.** herdr binds an agent name to its **tab**, and only closing
31
- * the tab frees the name: a second `agent start` with a name still held returns
32
- * `agent_name_taken: agent <name> is already used; … tab_id=…`. `herdr agent stop` does not exist (see
33
- * `cleanup`), so nothing else releases it.
34
- *
35
- * Callers build a name from the definition and the ledger child id — and for a plain blocking `delegate` that
36
- * id is **constant** (`d0.1`, index 0 of the session), so every delegation in a session asked for the same
37
- * name. That was harmless while the pane closed at the end of each call. Once ADR-0032 kept panes alive to
38
- * `agent_settled`, the **first** delegation of a turn worked and every later one failed with
39
- * `agent_name_taken`, on the executor ADR-0031 had just made the default.
40
- *
41
- * Uniquified HERE rather than at the call site, so no caller can forget: the constraint belongs to herdr, and
42
- * this module is the only thing that talks to herdr. The suffix is a counter rather than a random token so a
43
- * pane label stays readable and reproducible within a run.
44
- */
8
+ /** Valid Herdr identity independent of process counters, parent labels and reloads. */
45
9
  export function uniqueAgentName(base) {
46
- spawnSeq += 1;
47
- const suffix = `-${spawnSeq}`;
10
+ const suffix = "-" + randomBytes(10).toString("hex");
48
11
  const cleaned = base
49
12
  .toLowerCase()
50
- .replace(/[^a-z0-9_-]+/g, "-") // dots from a child id, and anything else outside the grammar
13
+ .replace(/[^a-z0-9_-]+/g, "-")
51
14
  .replace(/-{2,}/g, "-")
52
- .replace(/^[^a-z]+/, ""); // must START with a lowercase letter, so a leading digit or dash goes
53
- // Truncated so the whole name fits, and trimmed of a trailing separator so the join stays readable. The
54
- // fallback covers a base that sanitises to nothing at all (a definition named entirely in non-Latin script).
15
+ .replace(/^[^a-z]+/, "");
55
16
  const room = AGENT_NAME_MAX - suffix.length;
56
17
  const head = cleaned.slice(0, room).replace(/[-_]+$/, "") || "agent";
57
- return `${head}${suffix}`;
18
+ return head + suffix;
58
19
  }
59
20
  //# sourceMappingURL=herdr-name.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"herdr-name.js","sourceRoot":"","sources":["../src/herdr-name.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,4DAA4D;AAC5D,IAAI,QAAQ,GAAG,CAAC,CAAC;AAEjB;;;;;GAKG;AACH,MAAM,cAAc,GAAG,EAAE,CAAC;AAE1B;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,QAAQ,IAAI,CAAC,CAAC;IACd,MAAM,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;IAC9B,MAAM,OAAO,GAAG,IAAI;SACjB,WAAW,EAAE;SACb,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,8DAA8D;SAC5F,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC;SACtB,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,sEAAsE;IAClG,wGAAwG;IACxG,6GAA6G;IAC7G,MAAM,IAAI,GAAG,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC;IAC5C,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC;IACrE,OAAO,GAAG,IAAI,GAAG,MAAM,EAAE,CAAC;AAC5B,CAAC"}
1
+ {"version":3,"file":"herdr-name.js","sourceRoot":"","sources":["../src/herdr-name.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,cAAc,GAAG,EAAE,CAAC;AAE1B,uFAAuF;AACvF,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,MAAM,MAAM,GAAG,GAAG,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,IAAI;SACjB,WAAW,EAAE;SACb,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC;SAC7B,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC;SACtB,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAC3B,MAAM,IAAI,GAAG,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC;IAC5C,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC;IACrE,OAAO,IAAI,GAAG,MAAM,CAAC;AACvB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pi-daddy",
3
- "version": "0.27.2",
3
+ "version": "0.27.4",
4
4
  "description": "Capability governance for pi sub-agents: spawn Agent Skills (SKILL.md) definitions whose allowed-tools becomes a grant that can only narrow going down a delegation tree, enforced by pi's own --tools allowlist, with an append-only ledger.",
5
5
  "keywords": [
6
6
  "pi-package",
@@ -8,6 +8,7 @@ import { resolve } from "node:path";
8
8
  import { pathToFileURL } from "node:url";
9
9
  import { parseDashboardLedger } from "./dashboard-projection.ts";
10
10
  import { renderDashboard } from "./dashboard-render.ts";
11
+ import { createDashboardDisplayControls } from "./dashboard-display-controls.ts";
11
12
  import { createDailyViewReader, isDailyViewReader, readDailyView, type DailyViewOptions } from "./daily-view.ts";
12
13
  import { renderDailyView } from "./daily-view-render.ts";
13
14
  import { renderDailyPanel, panelLines, learningSummary, type PanelAction, type WorkPresentation } from "./daily-panel.ts";
@@ -44,6 +45,7 @@ export interface DashboardFrameOptions {
44
45
  color?: boolean;
45
46
  width?: number;
46
47
  details?: boolean;
48
+ history?: boolean;
47
49
  now?: Date;
48
50
  dailyView?: DailyViewOptions;
49
51
  dailyReader?: ReturnType<typeof createDailyViewReader>;
@@ -159,6 +161,7 @@ export async function dashboardFrame(options: DashboardFrameOptions): Promise<st
159
161
  color: options.color,
160
162
  width: options.width,
161
163
  details: options.details,
164
+ history: options.history,
162
165
  });
163
166
  return waiting ? `${rendered}\n\nwaiting for ledger ${ledgerPath}` : rendered;
164
167
  }
@@ -230,7 +233,7 @@ export async function runDashboard(argv = process.argv.slice(2), env: NodeJS.Pro
230
233
  }
231
234
  const dailyReader = createDailyViewReader();
232
235
  const actionMenu=createDashboardMenu();
233
- let details=cli.details;
236
+ const display = createDashboardDisplayControls(cli.details, Boolean(ledgerPath && !connected && !debrief && !cli.debriefJson && !dailyView));
234
237
  let previous = "";
235
238
  let feedback = "";
236
239
  let input: ReturnType<typeof createInterface> | null = null;
@@ -241,13 +244,13 @@ export async function runDashboard(argv = process.argv.slice(2), env: NodeJS.Pro
241
244
  protocol,
242
245
  color: cli.color,
243
246
  width: process.stdout.columns || 80,
244
- details, actionMenu,
247
+ ...display.state, actionMenu,
245
248
  dailyView, dailyReader, dailyJson: cli.dailyJson, debrief, debriefJson: cli.debriefJson, connected,
246
249
  });
247
250
  const rendered = feedback ? `${panelLines([feedback], process.stdout.columns || 80)}\n\n${frame}` : frame;
248
251
  if (rendered === previous && !clear) return;
249
252
  previous = rendered;
250
- const prompt = "Action number / d Details, then Enter: ";
253
+ const prompt = display.prompt();
251
254
  const draft = input?.line ?? "";
252
255
  process.stdout.write(clear ? `\u001b]0;PI-DADDY\u0007\u001b[2J\u001b[H${rendered}\n\n${input ? prompt + draft : ""}` : `${rendered}\n`);
253
256
  if (input) input.setPrompt(prompt);
@@ -268,7 +271,7 @@ export async function runDashboard(argv = process.argv.slice(2), env: NodeJS.Pro
268
271
  let acting = false;
269
272
  input?.on("line", line => {
270
273
  if (acting) return; // never replay a line typed while the prior exact command is still settling.
271
- if(line.trim().toLowerCase()==="d"){details=!details;redraw();return;}
274
+ if (display.input(line)) { redraw(); return; }
272
275
  acting = true;
273
276
  let label=line.trim()||"(empty)";
274
277
  const act=async()=>{
@@ -0,0 +1,18 @@
1
+ /** Local display controls; these never dispatch actions to an owner or change ledger state. */
2
+ export function createDashboardDisplayControls(details: boolean, ledger: boolean) {
3
+ const state = { details, history: false };
4
+ return {
5
+ state,
6
+ input(line: string): boolean {
7
+ const key = line.trim().toLowerCase();
8
+ if (key === "d") { state.details = !state.details; return true; }
9
+ if (ledger && key === "h") { state.history = !state.history; return true; }
10
+ return false;
11
+ },
12
+ prompt(): string {
13
+ return ledger
14
+ ? `d Details / h ${state.history ? "Collapse" : "Expand"} history, then Enter: `
15
+ : "Action number / d Details, then Enter: ";
16
+ },
17
+ };
18
+ }
@@ -11,6 +11,7 @@ export interface DashboardRenderOptions {
11
11
  width?: number;
12
12
  color?: boolean;
13
13
  details?: boolean;
14
+ history?: boolean;
14
15
  completedRoots?: number;
15
16
  completedChildren?: number;
16
17
  }
@@ -209,12 +210,20 @@ export function renderDashboard(projection: DashboardProjection, options: Dashbo
209
210
  width: Math.max(10, options.width ?? 80),
210
211
  color: options.color ?? true,
211
212
  details: options.details ?? false,
212
- completedRoots: Math.max(0, options.completedRoots ?? 3),
213
- completedChildren: Math.max(0, options.completedChildren ?? 2),
213
+ completedRoots: options.history ? Infinity : Math.max(0, options.completedRoots ?? 3),
214
+ completedChildren: options.history ? Infinity : Math.max(0, options.completedChildren ?? 2),
214
215
  };
215
216
  const index = treeIndex(projection.nodes);
216
217
  const lines = [paint("PI-DADDY", 1, resolved.color), ""];
217
218
 
219
+ const renderRoots = (roots: DashboardNode[]): void => {
220
+ const selected = selectedRoots(roots, index, resolved.completedRoots);
221
+ const hidden = roots.length - selected.length;
222
+ if (hidden > 0) lines.push(paint(
223
+ `... ${hidden} completed root${hidden === 1 ? "" : "s"} hidden`, 90, resolved.color,
224
+ ));
225
+ for (const root of selected) lines.push(...renderTree(root, index, resolved));
226
+ };
218
227
  const rendered = new Set<string>();
219
228
  for (const workflow of projection.workflows) {
220
229
  const roots = index.roots.filter((root) => root.correlation?.run_id === workflow.runId);
@@ -223,16 +232,12 @@ export function renderDashboard(projection: DashboardProjection, options: Dashbo
223
232
  for (const root of roots) rendered.add(root.executionId);
224
233
  lines.push(workflowHeader(workflow, resolved.color));
225
234
  for (const fact of facts) lines.push(truncate(workflowFactLine(fact, resolved.color), resolved.width));
226
- for (const root of selectedRoots(roots, index, resolved.completedRoots)) {
227
- lines.push(...renderTree(root, index, resolved));
228
- }
235
+ renderRoots(roots);
229
236
  lines.push("");
230
237
  }
231
238
 
232
239
  const generic = index.roots.filter((root) => !rendered.has(root.executionId));
233
- for (const root of selectedRoots(generic, index, resolved.completedRoots)) {
234
- lines.push(...renderTree(root, index, resolved));
235
- }
240
+ renderRoots(generic);
236
241
  if (projection.nodes.length === 0) lines.push(paint("No governed executions recorded yet.", 90, resolved.color));
237
242
 
238
243
  if (projection.corrupt.length > 0) {
package/src/herdr-name.ts CHANGED
@@ -1,61 +1,21 @@
1
1
  /**
2
- * Naming a herdr agent: the grammar herdr enforces, and uniqueness it does not.
3
- *
4
- * Split out of `src/run-herdr.ts` at the 400-line ceiling, and a real seam: both rules below come from **herdr's
5
- * own validation and lifecycle**, not from anything this package decides. Two shipping defects lived here, and
6
- * both were invisible to every test because the unit fake accepts whatever name it is handed and the integration
7
- * suite never reaches a real herdr spawn. They surfaced from two real spawns against the live daemon.
2
+ * Herdr reserves agent names across all parents until their tabs close.
3
+ * A counter alone is process-local: parallel parents and module reloads repeat it.
4
+ * Keep the readable base separate from a fresh, 80-bit execution suffix.
8
5
  */
6
+ import { randomBytes } from "node:crypto";
9
7
 
10
- /** Monotonic within this process. See `uniqueAgentName`. */
11
- let spawnSeq = 0;
12
-
13
- /**
14
- * herdr's agent-name grammar, measured from its own rejection message.
15
- *
16
- * `agent name must start with a lowercase letter and contain only lowercase letters, digits, '-' or '_'
17
- * (1-32 characters)`.
18
- */
19
8
  const AGENT_NAME_MAX = 32;
20
9
 
21
- /**
22
- * Make a herdr agent name that is **valid** and cannot collide with a live one.
23
- *
24
- * **Validity is a separate, PRE-EXISTING defect, and it is the more serious half.** Callers build a name as
25
- * `${definition}-${childId}`, and a ledger child id is hierarchical — `d0.1`, `d0.1.2` (ADR-0008/F8). Those dots
26
- * are **not in herdr's grammar**, so `agent start review-d0.1 …` is rejected with `invalid_agent_name`. Every
27
- * `delegate({agent})` on the herdr path has therefore failed at `agent start` since the executor was written.
28
- *
29
- * Nothing could see it. The unit fake accepts any name it is handed, and the integration suite never reaches a
30
- * real herdr spawn — so both were green while the feature could not work. It surfaced only by running two real
31
- * spawns against the live daemon, which is the argument for doing that at all.
32
- *
33
- * **Measured, and a shipping defect without it.** herdr binds an agent name to its **tab**, and only closing
34
- * the tab frees the name: a second `agent start` with a name still held returns
35
- * `agent_name_taken: agent <name> is already used; … tab_id=…`. `herdr agent stop` does not exist (see
36
- * `cleanup`), so nothing else releases it.
37
- *
38
- * Callers build a name from the definition and the ledger child id — and for a plain blocking `delegate` that
39
- * id is **constant** (`d0.1`, index 0 of the session), so every delegation in a session asked for the same
40
- * name. That was harmless while the pane closed at the end of each call. Once ADR-0032 kept panes alive to
41
- * `agent_settled`, the **first** delegation of a turn worked and every later one failed with
42
- * `agent_name_taken`, on the executor ADR-0031 had just made the default.
43
- *
44
- * Uniquified HERE rather than at the call site, so no caller can forget: the constraint belongs to herdr, and
45
- * this module is the only thing that talks to herdr. The suffix is a counter rather than a random token so a
46
- * pane label stays readable and reproducible within a run.
47
- */
10
+ /** Valid Herdr identity independent of process counters, parent labels and reloads. */
48
11
  export function uniqueAgentName(base: string): string {
49
- spawnSeq += 1;
50
- const suffix = `-${spawnSeq}`;
12
+ const suffix = "-" + randomBytes(10).toString("hex");
51
13
  const cleaned = base
52
14
  .toLowerCase()
53
- .replace(/[^a-z0-9_-]+/g, "-") // dots from a child id, and anything else outside the grammar
15
+ .replace(/[^a-z0-9_-]+/g, "-")
54
16
  .replace(/-{2,}/g, "-")
55
- .replace(/^[^a-z]+/, ""); // must START with a lowercase letter, so a leading digit or dash goes
56
- // Truncated so the whole name fits, and trimmed of a trailing separator so the join stays readable. The
57
- // fallback covers a base that sanitises to nothing at all (a definition named entirely in non-Latin script).
17
+ .replace(/^[^a-z]+/, "");
58
18
  const room = AGENT_NAME_MAX - suffix.length;
59
19
  const head = cleaned.slice(0, room).replace(/[-_]+$/, "") || "agent";
60
- return `${head}${suffix}`;
20
+ return head + suffix;
61
21
  }