pi-daddy 0.48.3 → 0.49.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.
Files changed (60) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/README.md +53 -0
  3. package/dist/cli.d.ts +3 -1
  4. package/dist/cli.d.ts.map +1 -1
  5. package/dist/cli.js +18 -0
  6. package/dist/cli.js.map +1 -1
  7. package/dist/index.d.ts +1 -0
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +1 -0
  10. package/dist/index.js.map +1 -1
  11. package/dist/kernel/selected-definitions.d.ts.map +1 -1
  12. package/dist/kernel/selected-definitions.js +6 -3
  13. package/dist/kernel/selected-definitions.js.map +1 -1
  14. package/dist/products/dashboard-cli.d.ts.map +1 -1
  15. package/dist/products/dashboard-cli.js +46 -1
  16. package/dist/products/dashboard-cli.js.map +1 -1
  17. package/dist/products/dashboard-display-controls.d.ts +1 -1
  18. package/dist/products/dashboard-display-controls.d.ts.map +1 -1
  19. package/dist/products/dashboard-display-controls.js +11 -3
  20. package/dist/products/dashboard-display-controls.js.map +1 -1
  21. package/dist/products/dashboard-screen.d.ts +3 -1
  22. package/dist/products/dashboard-screen.d.ts.map +1 -1
  23. package/dist/products/dashboard-screen.js +21 -8
  24. package/dist/products/dashboard-screen.js.map +1 -1
  25. package/dist/products/dashboard-session-client.d.ts +9 -0
  26. package/dist/products/dashboard-session-client.d.ts.map +1 -1
  27. package/dist/products/dashboard-session-client.js.map +1 -1
  28. package/dist/products/dashboard-settings.d.ts +28 -0
  29. package/dist/products/dashboard-settings.d.ts.map +1 -0
  30. package/dist/products/dashboard-settings.js +42 -0
  31. package/dist/products/dashboard-settings.js.map +1 -0
  32. package/dist/products/diagnostic-export.d.ts +23 -0
  33. package/dist/products/diagnostic-export.d.ts.map +1 -0
  34. package/dist/products/diagnostic-export.js +264 -0
  35. package/dist/products/diagnostic-export.js.map +1 -0
  36. package/dist/products/diagnostic-filter.d.ts +7 -0
  37. package/dist/products/diagnostic-filter.d.ts.map +1 -0
  38. package/dist/products/diagnostic-filter.js +135 -0
  39. package/dist/products/diagnostic-filter.js.map +1 -0
  40. package/extensions/dashboard-session-server.ts +17 -2
  41. package/extensions/dashboard-settings.ts +149 -0
  42. package/extensions/delegation-operations.ts +81 -2
  43. package/extensions/execute-child.ts +9 -11
  44. package/extensions/execution-controls.ts +7 -2
  45. package/extensions/grants-command.ts +3 -1
  46. package/extensions/grants.ts +3 -0
  47. package/extensions/reload-environment.ts +3 -0
  48. package/extensions/run-delegation.ts +3 -1
  49. package/extensions/runtime-snapshot.ts +9 -1
  50. package/package.json +1 -1
  51. package/src/cli.ts +24 -1
  52. package/src/index.ts +2 -0
  53. package/src/kernel/selected-definitions.ts +5 -3
  54. package/src/products/dashboard-cli.ts +38 -1
  55. package/src/products/dashboard-display-controls.ts +10 -4
  56. package/src/products/dashboard-screen.ts +21 -10
  57. package/src/products/dashboard-session-client.ts +7 -1
  58. package/src/products/dashboard-settings.ts +72 -0
  59. package/src/products/diagnostic-export.ts +288 -0
  60. package/src/products/diagnostic-filter.ts +140 -0
@@ -1,3 +1,4 @@
1
+ import { type DashboardSettingKey } from "./dashboard-settings.ts";
1
2
  /** Height-bounded, task-first view. Permission state is always supplied by the owner. */
2
3
  import type { EcosystemVersionRow } from "./ecosystem-versions.ts";
3
4
  import type { DashboardProjection } from "./dashboard-projection.ts";
@@ -17,7 +18,8 @@ export interface DashboardItem {
17
18
  agent?: boolean;
18
19
  }
19
20
  export interface DashboardScreenState {
20
- view: "main" | "details" | "models" | "help" | "versions" | "version-details";
21
+ view: "main" | "details" | "models" | "help" | "versions" | "version-details" | "settings";
22
+ settingKey?: DashboardSettingKey;
21
23
  versionId?: EcosystemVersionRow["id"];
22
24
  versionRows?: EcosystemVersionRow[];
23
25
  selectedKey?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-screen.d.ts","sourceRoot":"","sources":["../../src/products/dashboard-screen.ts"],"names":[],"mappings":"AAAA,yFAAyF;AACzF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAmB,KAAK,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAEzG,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAE9E,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AACD,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,GAAG,iBAAiB,CAAC;IAC9E,SAAS,CAAC,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACtC,WAAW,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,aAAa,EAAE,CAAC;CACxB;AACD,eAAO,MAAM,oBAAoB,QAAO,oBAAgE,CAAC;AACzG,eAAO,MAAM,aAAa,GAAI,OAAO,MAAM,WAIN,CAAC;AAiDtC,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,mBAAmB,GAAG,aAAa,EAAE,CAoBrF;AACD,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,EAAE,uBAAuB,EAChC,GAAG,EAAE,IAAI,GACR,aAAa,EAAE,CAgCjB;AACD,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,oBAAoB,CAAC;IAC7B,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE,wBAAwB,CAAC;IACnC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AACD,uGAAuG;AACvG,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,sBAAsB,GAAG,MAAM,CAuM7E"}
1
+ {"version":3,"file":"dashboard-screen.d.ts","sourceRoot":"","sources":["../../src/products/dashboard-screen.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,KAAK,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC3F,yFAAyF;AACzF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAmB,KAAK,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAEzG,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAE9E,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AACD,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,GAAG,iBAAiB,GAAG,UAAU,CAAC;IAC3F,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,SAAS,CAAC,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACtC,WAAW,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,aAAa,EAAE,CAAC;CACxB;AACD,eAAO,MAAM,oBAAoB,QAAO,oBAAgE,CAAC;AACzG,eAAO,MAAM,aAAa,GAAI,OAAO,MAAM,WAIN,CAAC;AAiDtC,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,mBAAmB,GAAG,aAAa,EAAE,CAoBrF;AACD,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,EAAE,uBAAuB,EAChC,GAAG,EAAE,IAAI,GACR,aAAa,EAAE,CAgCjB;AACD,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,oBAAoB,CAAC;IAC7B,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE,wBAAwB,CAAC;IACnC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AACD,uGAAuG;AACvG,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,sBAAsB,GAAG,MAAM,CAgN7E"}
@@ -1,3 +1,4 @@
1
+ import { dashboardSettingsLines } from "./dashboard-settings.js";
1
2
  import { ActivityTimelineAliases, activityTaskKey } from "./activity-timeline.js";
2
3
  import { cellWidth, truncate } from "./dashboard-render.js";
3
4
  export const dashboardScreenState = () => ({ view: "main", offset: 0, items: [] });
@@ -150,12 +151,14 @@ export function renderDashboardScreen(options) {
150
151
  const header = `PI DADDY | ${mode}${options.pending ? " …" : session ? " [a]" : ""}`;
151
152
  const footer = options.command !== undefined
152
153
  ? [`: ${clean(options.command)}`]
153
- : screen.view === "main" || screen.view === "versions"
154
- ? ["↑↓ select · Enter details · a Auto", "m models · v versions · Tab filter · ?"]
155
- : [
156
- "↑↓ scroll · Esc back · a Auto",
157
- screen.view === "details" ? "p prompt · f final · : command · ? help" : ": command · ? help",
158
- ];
154
+ : screen.view === "settings"
155
+ ? ["↑↓ select · Enter toggle/edit · Esc back", "0 restores a default limit · s settings"]
156
+ : screen.view === "main" || screen.view === "versions"
157
+ ? ["↑↓ select · Enter details · a Auto", "m models · v versions · s settings · ?"]
158
+ : [
159
+ "↑↓ scroll · Esc back · a Auto",
160
+ screen.view === "details" ? "p prompt · f final · : command · ? help" : ": command · ? help",
161
+ ];
159
162
  const fixed = [
160
163
  header,
161
164
  session
@@ -166,7 +169,10 @@ export function renderDashboardScreen(options) {
166
169
  fixed.push(`! ${clean(options.notice || options.problem || "")}`);
167
170
  const body = [];
168
171
  if (screen.view === "help")
169
- body.push("DASHBOARD KEYS", "↑/↓ or j/k: select; Enter/d: details", "a: toggle Daddy permission Auto", "m: session models; v: ecosystem versions", "h: show/hide finished history", "Tab: Everything / Agents / Skills / Needs-you", "p/f: selected retained prompt/final", ": opens commands (legacy selectors and m edits)", "Esc: back; q/Ctrl-C: close dashboard", "Auto changes future Daddy permission handling.", "OFF does not cancel already admitted work.", "Auto does not enable JEV or change LoRA consent.", "Finished means observed completion, not acceptance.");
172
+ body.push("DASHBOARD KEYS", "↑/↓ or j/k: select; Enter/d: details", "a: toggle Daddy permission Auto", "m: session models; v: ecosystem versions; s: settings", "h: show/hide finished history", "Tab: Everything / Agents / Skills / Needs-you", "p/f: selected retained prompt/final", ": opens commands (legacy selectors and m edits)", "Esc: back; q/Ctrl-C: close dashboard", "Auto changes future Daddy permission handling.", "OFF does not cancel already admitted work.", "Auto does not enable JEV or change LoRA consent.", "Finished means observed completion, not acceptance.");
173
+ else if (screen.view === "settings") {
174
+ body.push(...dashboardSettingsLines(session?.settings, session?.auto.enabled, screen.settingKey ?? "auto"));
175
+ }
170
176
  else if (screen.view === "versions" || screen.view === "version-details") {
171
177
  body.push("VERSIONS");
172
178
  if (!session?.versions)
@@ -248,6 +254,13 @@ export function renderDashboardScreen(options) {
248
254
  else if (row + 1 >= screen.offset + room)
249
255
  screen.offset = Math.max(0, row + 2 - room);
250
256
  }
257
+ if (screen.view === "settings" && room > 0) {
258
+ const row = detailBody.findIndex((line) => line.startsWith(">"));
259
+ if (row < screen.offset)
260
+ screen.offset = Math.max(0, row);
261
+ else if (row >= screen.offset + room)
262
+ screen.offset = Math.max(0, row - room + 1);
263
+ }
251
264
  const offset = screen.view === "main" ? 0 : Math.max(0, Math.min(screen.offset, Math.max(0, detailBody.length - room)));
252
265
  screen.offset = offset;
253
266
  const lines = [...fixed, ...detailBody.slice(offset, offset + room)];
@@ -261,7 +274,7 @@ export function renderDashboardScreen(options) {
261
274
  const safe = truncate(dashboardText(line), width);
262
275
  if (!options.color)
263
276
  return safe;
264
- const section = /^(CURRENT REQUEST|LATEST REQUEST|CURRENT WORK|NEEDS YOU|NEEDS ATTENTION|WORK IN PROGRESS|HISTORY|VERSIONS|SESSION MODELS|DASHBOARD KEYS|MANAGE)/.test(safe);
277
+ const section = /^(CURRENT REQUEST|LATEST REQUEST|CURRENT WORK|NEEDS YOU|NEEDS ATTENTION|WORK IN PROGRESS|HISTORY|VERSIONS|SETTINGS|STARTUP LIMITS|SESSION MODELS|DASHBOARD KEYS|MANAGE)/.test(safe);
265
278
  const code = index === 0
266
279
  ? "1;36"
267
280
  : safe.startsWith("!")
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-screen.js","sourceRoot":"","sources":["../../src/products/dashboard-screen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dashboard-screen.js","sourceRoot":"","sources":["../../src/products/dashboard-screen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAA4B,MAAM,yBAAyB,CAAC;AAI3F,OAAO,EAAE,uBAAuB,EAAE,eAAe,EAAyB,MAAM,wBAAwB,CAAC;AACzG,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAyB5D,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAyB,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;AACzG,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAa,EAAE,EAAE,CAC7C,KAAK;KACF,OAAO,CAAC,oCAAoC,EAAE,EAAE,CAAC;KACjD,OAAO,CAAC,0BAA0B,EAAE,EAAE,CAAC;KACvC,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;AACtC,MAAM,KAAK,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AAClF,SAAS,OAAO,CAAC,KAAe,EAAE,KAAa;IAC7C,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAC5B,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,KAAK,MAAM,SAAS,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5C,IAAI,GAAG,IAAI,SAAS,CAAC,GAAG,GAAG,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC;gBAC9C,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACjB,GAAG,GAAG,EAAE,CAAC;YACX,CAAC;YACD,GAAG,IAAI,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjB,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,CAAC;AACL,CAAC;AACD,SAAS,OAAO,CAAC,EAAU;IACzB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IACzC,OAAO,OAAO,IAAI,IAAI;QACpB,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;QACjH,CAAC,CAAC,GAAG,OAAO,IAAI,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;AAC5D,CAAC;AACD,MAAM,cAAc,GAAG,CAAC,MAAc,EAAE,EAAE,CACxC,CAAC;IACC,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,UAAU,EAAE,UAAU;IACtB,WAAW,EAAE,WAAW;IACxB,SAAS,EAAE,UAAU;IACrB,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,UAAU,EAAE,YAAY;IACxB,SAAS,EAAE,UAAU;IACrB,UAAU,EAAE,UAAU;CACvB,CAAC,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC;AACvB,MAAM,aAAa,GAAG,CAAC,GAAwB,EAAU,EAAE;IACzD,IAAI,GAAG,CAAC,KAAK,KAAK,iBAAiB;QAAE,OAAO,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,eAAe,CAAC;IACjG,IAAI,GAAG,CAAC,KAAK,KAAK,cAAc;QAAE,OAAO,wBAAwB,CAAC;IAClE,IAAI,GAAG,CAAC,KAAK,KAAK,UAAU;QAAE,OAAO,kBAAkB,CAAC;IACxD,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,aAAa,KAAK,GAAG,CAAC,gBAAgB;QAC5F,OAAO,oBAAoB,CAAC;IAC9B,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC;AACF,MAAM,SAAS,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC3F,MAAM,MAAM,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACjH,MAAM,UAAU,oBAAoB,CAAC,UAA+B;IAClE,OAAO,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACrC,GAAG,EAAE,IAAI,CAAC,WAAW;QACrB,KAAK,EAAE,IAAI,CAAC,SAAS,IAAI,oBAAoB;QAC7C,MAAM,EAAE,IAAI,CAAC,KAAK;QAClB,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;QACjC,KAAK,EAAE,IAAI;QACX,OAAO,EAAE;YACP,cAAc,IAAI,CAAC,WAAW,EAAE;YAChC,UAAU,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,gCAAgC;YACpE,UAAU,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE;YACpD,GAAG,CAAC,IAAI,CAAC,SAAS;gBAChB,CAAC,CAAC,CAAC,cAAc,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE,SAAS,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;gBAChG,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC;YACzC,yBAAyB,IAAI,CAAC,SAAS,EAAE;YACzC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3E,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACxE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACzD;KACF,CAAC,CAAC,CAAC;AACN,CAAC;AACD,MAAM,UAAU,sBAAsB,CACpC,QAA0B,EAC1B,OAAgC,EAChC,GAAS;IAET,OAAO,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACnC,GAAG,EAAE,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;QAC1C,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;QAC9C,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,IAAI,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG;QACjE,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5F,WAAW,EAAE,IAAI,CAAC,SAAS;YACzB,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,MAAM;YACtL,CAAC,CAAC,SAAS;QACb,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QAChD,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;QAC9B,OAAO,EAAE;YACP,SAAS,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YACjC,UAAU,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,gCAAgC;YACrE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,sBAAsB,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAC;YACxF,GAAG,CAAC,IAAI,CAAC,SAAS;gBAChB,CAAC,CAAC;oBACE,kBAAkB,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE;iBACzH;gBACH,CAAC,CAAC,EAAE,CAAC;YACP,6EAA6E;YAC7E,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9D,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/C,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACxD,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAChB,CAAC,KAAK,EAAE,EAAE,CACR,SAAS,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,CAC1I;YACD,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,4CAA4C,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACrF;KACF,CAAC,CAAC,CAAC;AACN,CAAC;AAkBD,uGAAuG;AACvG,MAAM,UAAU,qBAAqB,CAAC,OAA+B;IACnE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAClD,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IACnD,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,EACjC,OAAO,GAAG,OAAO,EAAE,gBAAgB,IAAI,EAAE,CAAC;IAC5C,MAAM,SAAS,GAAoB,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC5D,GAAG,EAAE,YAAY,QAAQ,CAAC,EAAE,EAAE;QAC9B,KAAK,EAAE,GAAG,QAAQ,CAAC,OAAO,MAAM,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE;QAC3E,MAAM,EAAE,WAAW;QACnB,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE;YACP,aAAa,QAAQ,CAAC,EAAE,EAAE;YAC1B,YAAY,QAAQ,CAAC,OAAO,EAAE;YAC9B,eAAe,QAAQ,CAAC,UAAU,EAAE;YACpC,oDAAoD;YACpD,8CAA8C;SAC/C;KACF,CAAC,CAAC,CAAC;IACJ,MAAM,QAAQ,GAAG,CAAC,GAAG,SAAS,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CACrC,OAAO,CAAC,MAAM,KAAK,QAAQ;QACzB,CAAC,CAAC,IAAI,CAAC,KAAK;QACZ,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,QAAQ;YAC3B,CAAC,CAAC,IAAI,CAAC,MAAM;YACb,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,WAAW;gBAC9B,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,WAAW;gBAC7B,CAAC,CAAC,IAAI,CACb,CAAC;IACF,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EACtD,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAC/D,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IAC3F,MAAM,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,cAAc,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9E,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;QAC/F,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,MAAM,CAAC,WAAW,CAAC,CAAC;QACrE,IAAI,MAAM;YAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,MAAM,CAAC,WAAW,CAAC;QAAE,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;IAC7G,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,MAAM,CAAC,WAAW,CAAC,EACrF,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACzC,MAAM,CAAC,WAAW,GAAG,OAAO,EAAE,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC;IACnD,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,MAAM,CAAC,SAAS,CAAC;QAAE,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACjH,MAAM,eAAe,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,MAAM,CAAC,SAAS,CAAC,CAAC;IACtF,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,QAAQ,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC;IAC1F,MAAM,MAAM,GAAG,cAAc,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACrF,MAAM,MAAM,GACV,OAAO,CAAC,OAAO,KAAK,SAAS;QAC3B,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACjC,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU;YAC1B,CAAC,CAAC,CAAC,0CAA0C,EAAE,yCAAyC,CAAC;YACzF,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU;gBACpD,CAAC,CAAC,CAAC,oCAAoC,EAAE,wCAAwC,CAAC;gBAClF,CAAC,CAAC;oBACE,+BAA+B;oBAC/B,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,yCAAyC,CAAC,CAAC,CAAC,oBAAoB;iBAC7F,CAAC;IACZ,MAAM,KAAK,GAAG;QACZ,MAAM;QACN,OAAO;YACL,CAAC,CAAC,wBAAwB,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,MAAM,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE;YAClF,CAAC,CAAC,kCAAkC;KACvC,CAAC;IACF,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,OAAO;QAAE,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IACzG,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM;QACxB,IAAI,CAAC,IAAI,CACP,gBAAgB,EAChB,sCAAsC,EACtC,iCAAiC,EACjC,uDAAuD,EACvD,+BAA+B,EAC/B,+CAA+C,EAC/C,qCAAqC,EACrC,iDAAiD,EACjD,sCAAsC,EACtC,gDAAgD,EAChD,4CAA4C,EAC5C,kDAAkD,EAClD,qDAAqD,CACtD,CAAC;SACC,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,GAAG,sBAAsB,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,CAAC,CAAC;IAC9G,CAAC;SAAM,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,IAAI,MAAM,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;QAC3E,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACtB,IAAI,CAAC,OAAO,EAAE,QAAQ;YAAE,IAAI,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;aACjE,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACpC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAC/B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,WAAW;gBAClC,IAAI,CAAC,IAAI,CACP,GAAG,GAAG,CAAC,EAAE,KAAK,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,KAAK,GAAG,CAAC,aAAa,IAAI,GAAG,OAAO,GAAG,CAAC,gBAAgB,IAAI,GAAG,EAAE,EACxH,KAAK,aAAa,CAAC,GAAG,CAAC,EAAE,CAC1B,CAAC;YACJ,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC9D,CAAC;aAAM,IAAI,eAAe,EAAE,CAAC;YAC3B,IAAI,CAAC,IAAI,CACP,GAAG,eAAe,CAAC,KAAK,KAAK,aAAa,CAAC,eAAe,CAAC,EAAE,EAC7D,WAAW,eAAe,CAAC,aAAa,IAAI,cAAc,EAAE,EAC5D,cAAc,eAAe,CAAC,gBAAgB,IAAI,aAAa,EAAE,EACjE,WAAW,eAAe,CAAC,MAAM,IAAI,aAAa,EAAE,EACpD,SAAS,eAAe,CAAC,IAAI,IAAI,aAAa,EAAE,EAChD,EAAE,EACF,4BAA4B,EAC5B,GAAG,eAAe,CAAC,QAAQ,CAC5B,CAAC;YACF,IAAI,eAAe,CAAC,IAAI;gBAAE,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAC1D,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;SAAM,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC5B,IAAI,CAAC,OAAO;YAAE,IAAI,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;QAC1E,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,IAAI,IAAI,EAAE;YACnC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,UAAU,KAAK,GAAG,CAAC,KAAK,EAAE,EAAE,KAAK,GAAG,CAAC,QAAQ,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QACpF,IAAI,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;IAChE,CAAC;SAAM,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACrC,IAAI,CAAC,IAAI,CACP,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,MAAM,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,EACxF,GAAG,CAAC,QAAQ,EAAE,OAAO,IAAI,EAAE,CAAC,CAC7B,CAAC;QACF,IAAI,OAAO,CAAC,OAAO;YAAE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IACpG,CAAC;SAAM,CAAC;QACN,MAAM,eAAe,GAAG,OAAO,CAAC,aAAa,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAChF,IAAI,CAAC,IAAI,CACP,OAAO,CAAC,OAAO;YACb,CAAC,CAAC,eAAe;gBACf,CAAC,CAAC,oBAAoB,cAAc,CAAC,OAAO,CAAC,aAAc,CAAC,EAAE;gBAC9D,CAAC,CAAC,iBAAiB;YACrB,CAAC,CAAC,cAAc,EAClB,KAAK,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,IAAI,gBAAgB,CAAC,EACxF,EAAE,CACH,CAAC;QACF,MAAM,IAAI,GAAqC,EAAE,CAAC;QAClD,IAAI,KAAyB,CAAC;QAC9B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ;gBACxB,CAAC,CAAC,WAAW;gBACb,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC;oBACtB,CAAC,CAAC,iBAAiB;oBACnB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;wBACnB,CAAC,CAAC,sBAAsB,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,SAAS;wBAC/E,CAAC,CAAC,SAAS,CAAC;YAClB,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;gBACnB,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC1B,KAAK,GAAG,IAAI,CAAC;YACf,CAAC;YACD,MAAM,IAAI,GAAG,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAClE,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACpD,IAAI,IAAI,CAAC,GAAG,KAAK,MAAM,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW;gBACrD,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,eAAe,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC;YAChE,IAAI,CAAC,IAAI,CAAC;gBACR,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,KAAK,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,KAAK,IAAI,EAAE;aAC3G,CAAC,CAAC;QACL,CAAC;QACD,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,6BAA6B,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3G,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvG,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,QAAQ,EAAE,GAAG,CAAC,CAAC;QACpE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC;QACpD,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1E,IAAI,CAAC,IAAI,CAAC,MAAM;YACd,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,KAAK,YAAY,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC;QACpH,IAAI,OAAO;YAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,KAAK,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACtG,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAChE,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,IAAI,eAAe,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;QAC9D,MAAM,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAC3F,IAAI,GAAG,GAAG,MAAM,CAAC,MAAM;YAAE,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC;aACxC,IAAI,GAAG,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,IAAI;YAAE,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;IACxF,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;QAC3C,MAAM,GAAG,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;QACjE,IAAI,GAAG,GAAG,MAAM,CAAC,MAAM;YAAE,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;aACrD,IAAI,GAAG,IAAI,MAAM,CAAC,MAAM,GAAG,IAAI;YAAE,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC;IACpF,CAAC;IACD,MAAM,MAAM,GACV,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3G,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,MAAM,KAAK,GAAG,CAAC,GAAG,KAAK,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;IACrE,OAAO,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7D,MAAM,MAAM,GACV,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM;QACnC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC;QACxB,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAC3F,OAAO,MAAM;SACV,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACnB,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;QAClD,IAAI,CAAC,OAAO,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QAChC,MAAM,OAAO,GACX,yKAAyK,CAAC,IAAI,CAC5K,IAAI,CACL,CAAC;QACJ,MAAM,IAAI,GACR,KAAK,KAAK,CAAC;YACT,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;gBACpB,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;oBACpB,CAAC,CAAC,IAAI;oBACN,CAAC,CAAC,OAAO;wBACP,CAAC,CAAC,GAAG;wBACL,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,KAAK,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM;4BAC9C,CAAC,CAAC,IAAI;4BACN,CAAC,CAAC,SAAS,CAAC;QACxB,OAAO,IAAI,CAAC,CAAC,CAAC,UAAU,IAAI,IAAI,IAAI,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;IACzD,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC"}
@@ -1,3 +1,4 @@
1
+ import type { DashboardSettingsSnapshot } from "./dashboard-settings.ts";
1
2
  import type { EcosystemVersions } from "./ecosystem-versions.ts";
2
3
  export interface DashboardSessionSnapshot {
3
4
  rows: Array<{
@@ -13,6 +14,7 @@ export interface DashboardSessionSnapshot {
13
14
  taskId: string;
14
15
  };
15
16
  versions?: EcosystemVersions;
17
+ settings?: DashboardSettingsSnapshot;
16
18
  auto: {
17
19
  enabled: boolean;
18
20
  source: "default" | "environment" | "session";
@@ -31,6 +33,13 @@ export type DashboardSessionAction = {
31
33
  } | {
32
34
  action: "set-auto";
33
35
  enabled: boolean;
36
+ } | {
37
+ action: "set-jev";
38
+ enabled: boolean;
39
+ } | {
40
+ action: "set-limit";
41
+ key: "wall" | "idle";
42
+ seconds: number;
34
43
  };
35
44
  export declare function dashboardSessionRequest(socketPath: string, token: string, request: DashboardSessionAction): Promise<DashboardSessionSnapshot>;
36
45
  /** A slow status poll cannot overwrite a newer acknowledged mutation. Failed requests expose no guessed mode. */
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-session-client.d.ts","sourceRoot":"","sources":["../../src/products/dashboard-session-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAGjE,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,KAAK,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrF,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5D,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,IAAI,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,SAAS,GAAG,aAAa,GAAG,SAAS,CAAA;KAAE,CAAC;IAC1E,gBAAgB,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC9E;AAED,MAAM,MAAM,sBAAsB,GAChC;IAAE,MAAM,EAAE,KAAK,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC;AAElG,wBAAsB,uBAAuB,CAC3C,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,wBAAwB,CAAC,CA8BnC;AAED,iHAAiH;AACjH,wBAAgB,yBAAyB,CACvC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,sBAAsB,KAAK,OAAO,CAAC,wBAAwB,CAAC;;mBAErD,wBAAwB;iBAAW,OAAO;gBAAU,MAAM;;;mBAoB7D,OAAO,CAAC,sBAAsB,EAAE;QAAE,MAAM,EAAE,KAAK,CAAA;KAAE,CAAC;EAiB1E"}
1
+ {"version":3,"file":"dashboard-session-client.d.ts","sourceRoot":"","sources":["../../src/products/dashboard-session-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAGjE,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,KAAK,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrF,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5D,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,QAAQ,CAAC,EAAE,yBAAyB,CAAC;IACrC,IAAI,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,SAAS,GAAG,aAAa,GAAG,SAAS,CAAA;KAAE,CAAC;IAC1E,gBAAgB,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC9E;AAED,MAAM,MAAM,sBAAsB,GAC9B;IAAE,MAAM,EAAE,KAAK,CAAA;CAAE,GACjB;IAAE,MAAM,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GACxC;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GACvC;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnE,wBAAsB,uBAAuB,CAC3C,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,wBAAwB,CAAC,CA8BnC;AAED,iHAAiH;AACjH,wBAAgB,yBAAyB,CACvC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,sBAAsB,KAAK,OAAO,CAAC,wBAAwB,CAAC;;mBAErD,wBAAwB;iBAAW,OAAO;gBAAU,MAAM;;;mBAoB7D,OAAO,CAAC,sBAAsB,EAAE;QAAE,MAAM,EAAE,KAAK,CAAA;KAAE,CAAC;EAiB1E"}
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-session-client.js","sourceRoot":"","sources":["../../src/products/dashboard-session-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dashboard-session-client.js","sourceRoot":"","sources":["../../src/products/dashboard-session-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ /** Settings are owner observations; rendering never grants consent or changes execution. */
2
+ export type DashboardSettingKey = "auto" | "jev" | "wall" | "idle" | "descendants" | "depth" | "perCall";
3
+ export declare const DASHBOARD_SETTING_KEYS: DashboardSettingKey[];
4
+ export interface DashboardJevState {
5
+ available: boolean;
6
+ enabled: boolean;
7
+ pending: boolean;
8
+ mode?: string;
9
+ storage?: string | null;
10
+ remaining?: number;
11
+ availability?: string;
12
+ providerReadiness?: string;
13
+ error?: string;
14
+ }
15
+ export interface DashboardSettingsSnapshot {
16
+ editable: boolean;
17
+ wallSeconds: number;
18
+ idleSeconds: number;
19
+ wallSource: "session" | "startup";
20
+ idleSource: "session" | "startup";
21
+ descendants: number;
22
+ reserved: number;
23
+ maxDepth: number;
24
+ perCall: number;
25
+ jev: DashboardJevState;
26
+ }
27
+ export declare function dashboardSettingsLines(settings: DashboardSettingsSnapshot | undefined, auto: boolean | undefined, selected: DashboardSettingKey): string[];
28
+ //# sourceMappingURL=dashboard-settings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard-settings.d.ts","sourceRoot":"","sources":["../../src/products/dashboard-settings.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAC5F,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,aAAa,GAAG,OAAO,GAAG,SAAS,CAAC;AACzG,eAAO,MAAM,sBAAsB,EAAE,mBAAmB,EAQvD,CAAC;AACF,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AACD,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,SAAS,GAAG,SAAS,CAAC;IAClC,UAAU,EAAE,SAAS,GAAG,SAAS,CAAC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,iBAAiB,CAAC;CACxB;AACD,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,yBAAyB,GAAG,SAAS,EAC/C,IAAI,EAAE,OAAO,GAAG,SAAS,EACzB,QAAQ,EAAE,mBAAmB,GAC5B,MAAM,EAAE,CAiCV"}
@@ -0,0 +1,42 @@
1
+ export const DASHBOARD_SETTING_KEYS = [
2
+ "auto",
3
+ "jev",
4
+ "wall",
5
+ "idle",
6
+ "descendants",
7
+ "depth",
8
+ "perCall",
9
+ ];
10
+ export function dashboardSettingsLines(settings, auto, selected) {
11
+ if (!settings)
12
+ return ["SETTINGS", "Owner settings unavailable. Reconnect from /grants dashboard."];
13
+ const row = (key, label) => `${key === selected ? ">" : " "} ${label}`;
14
+ const jev = settings.jev;
15
+ return [
16
+ "SETTINGS · current session",
17
+ row("auto", `Permission Auto: ${auto ? "ON" : "OFF"}`),
18
+ row("jev", `JEV: ${jev.pending ? "waiting for consent" : !jev.available ? "unavailable" : jev.enabled ? "ON" : "OFF"}`),
19
+ ...(jev.available
20
+ ? [
21
+ ` ${jev.availability ?? "unknown"} · ${jev.remaining ?? 0} paid calls left`,
22
+ ` Key: ${jev.providerReadiness ?? "unknown"}; storage: ${jev.storage ?? "not granted"}`,
23
+ ]
24
+ : [" Load skill-harness to connect JEV controls."]),
25
+ ...(jev.error ? [` ${jev.error}`] : []),
26
+ row("wall", `Child wall: ${settings.wallSeconds}s (${settings.wallSource})`),
27
+ row("idle", `Child idle: ${settings.idleSeconds}s (${settings.idleSource})`),
28
+ settings.editable
29
+ ? "Edits apply to future children from this parent."
30
+ : "Read-only: change settings in the owning parent.",
31
+ "Running children keep their captured limits.",
32
+ "JEV ON asks paid-call and LoRA-storage consent in Pi.",
33
+ "Auto never supplies that consent. No model token budget.",
34
+ "",
35
+ "STARTUP LIMITS · restart to change",
36
+ row("descendants", `Active descendants: ${settings.descendants} (${settings.reserved} reserved) · PI_DADDY_FANOUT`),
37
+ row("depth", `Maximum depth: ${settings.maxDepth} · PI_DADDY_MAX_DEPTH`),
38
+ row("perCall", `Children per call: ${settings.perCall} (fixed safety bound)`),
39
+ "s settings · m models · v versions",
40
+ ];
41
+ }
42
+ //# sourceMappingURL=dashboard-settings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard-settings.js","sourceRoot":"","sources":["../../src/products/dashboard-settings.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,sBAAsB,GAA0B;IAC3D,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,aAAa;IACb,OAAO;IACP,SAAS;CACV,CAAC;AAwBF,MAAM,UAAU,sBAAsB,CACpC,QAA+C,EAC/C,IAAyB,EACzB,QAA6B;IAE7B,IAAI,CAAC,QAAQ;QAAE,OAAO,CAAC,UAAU,EAAE,+DAA+D,CAAC,CAAC;IACpG,MAAM,GAAG,GAAG,CAAC,GAAwB,EAAE,KAAa,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,EAAE,CAAC;IACpG,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC;IACzB,OAAO;QACL,4BAA4B;QAC5B,GAAG,CAAC,MAAM,EAAE,oBAAoB,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QACtD,GAAG,CACD,KAAK,EACL,QAAQ,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAC5G;QACD,GAAG,CAAC,GAAG,CAAC,SAAS;YACf,CAAC,CAAC;gBACE,KAAK,GAAG,CAAC,YAAY,IAAI,SAAS,MAAM,GAAG,CAAC,SAAS,IAAI,CAAC,kBAAkB;gBAC5E,UAAU,GAAG,CAAC,iBAAiB,IAAI,SAAS,cAAc,GAAG,CAAC,OAAO,IAAI,aAAa,EAAE;aACzF;YACH,CAAC,CAAC,CAAC,+CAA+C,CAAC,CAAC;QACtD,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxC,GAAG,CAAC,MAAM,EAAE,eAAe,QAAQ,CAAC,WAAW,MAAM,QAAQ,CAAC,UAAU,GAAG,CAAC;QAC5E,GAAG,CAAC,MAAM,EAAE,eAAe,QAAQ,CAAC,WAAW,MAAM,QAAQ,CAAC,UAAU,GAAG,CAAC;QAC5E,QAAQ,CAAC,QAAQ;YACf,CAAC,CAAC,kDAAkD;YACpD,CAAC,CAAC,kDAAkD;QACtD,8CAA8C;QAC9C,uDAAuD;QACvD,0DAA0D;QAC1D,EAAE;QACF,oCAAoC;QACpC,GAAG,CAAC,aAAa,EAAE,uBAAuB,QAAQ,CAAC,WAAW,KAAK,QAAQ,CAAC,QAAQ,8BAA8B,CAAC;QACnH,GAAG,CAAC,OAAO,EAAE,kBAAkB,QAAQ,CAAC,QAAQ,uBAAuB,CAAC;QACxE,GAAG,CAAC,SAAS,EAAE,sBAAsB,QAAQ,CAAC,OAAO,uBAAuB,CAAC;QAC7E,oCAAoC;KACrC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { type DiagnosticFormat } from "./diagnostic-filter.ts";
2
+ interface Source {
3
+ path: string;
4
+ format: DiagnosticFormat;
5
+ sha256?: string;
6
+ }
7
+ export interface DiagnosticSelection {
8
+ version: 1;
9
+ sources: Source[];
10
+ retentionRoots?: string[];
11
+ }
12
+ export declare function parseDiagnosticSelection(text: string, base: string): DiagnosticSelection;
13
+ export declare function exportDiagnostics(selectionPath: string, destination: string): Promise<{
14
+ directory: string;
15
+ inventory: string;
16
+ sha256: string;
17
+ entries: number;
18
+ objects: number;
19
+ missing: number;
20
+ trainingEligible: boolean;
21
+ }>;
22
+ export {};
23
+ //# sourceMappingURL=diagnostic-export.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnostic-export.d.ts","sourceRoot":"","sources":["../../src/products/diagnostic-export.ts"],"names":[],"mappings":"AAQA,OAAO,EAAoB,KAAK,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAUjF,UAAU,MAAM;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,gBAAgB,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AACD,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,CAAC,CAAC;IACX,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAcD,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,mBAAmB,CA+BxF;AAqCD,wBAAsB,iBAAiB,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;;;;;;;;GAkLjF"}
@@ -0,0 +1,264 @@
1
+ /** Offline, explicit-selection export. Original files are read only; output is private and never training data. */
2
+ import { createHash } from "node:crypto";
3
+ import { constants } from "node:fs";
4
+ import { lstat, mkdir, open, readdir, realpath, writeFile } from "node:fs/promises";
5
+ import { dirname, join, resolve } from "node:path";
6
+ import { readBoundedBytes } from "../kernel/bounded-read.js";
7
+ import { parseRetentionJson } from "../governance/retention-json.js";
8
+ import { parseExecutionRetentionManifest, RETENTION_CONTENT_KINDS } from "../governance/retention-contract.js";
9
+ import { filterDiagnostic } from "./diagnostic-filter.js";
10
+ const MAX_FILE = 16 * 1024 * 1024;
11
+ const MAX_TOTAL = 128 * 1024 * 1024;
12
+ const MAX_SOURCES = 1024;
13
+ const sha256 = (bytes) => createHash("sha256").update(bytes).digest("hex");
14
+ const object = (x) => x !== null && typeof x === "object" && !Array.isArray(x);
15
+ const pathValue = (x) => typeof x === "string" && x.length > 0 && x.length <= 4096 && !/[\x00-\x1f]/.test(x);
16
+ const hashValue = (x) => typeof x === "string" && /^[a-f0-9]{64}$/.test(x);
17
+ export function parseDiagnosticSelection(text, base) {
18
+ const value = parseRetentionJson(text, 256 * 1024);
19
+ if (!object(value) ||
20
+ value.version !== 1 ||
21
+ !Array.isArray(value.sources) ||
22
+ Object.keys(value).some((key) => !["version", "sources", "retentionRoots"].includes(key)) ||
23
+ value.sources.length > MAX_SOURCES ||
24
+ (value.retentionRoots !== undefined && (!Array.isArray(value.retentionRoots) || value.retentionRoots.length > 16)))
25
+ throw new Error("invalid diagnostic selection v1");
26
+ const sources = value.sources.map((source) => {
27
+ if (!object(source) ||
28
+ !pathValue(source.path) ||
29
+ !["session", "json", "jsonl", "text"].includes(String(source.format)) ||
30
+ Object.keys(source).some((key) => !["path", "format", "sha256"].includes(key)) ||
31
+ (source.sha256 !== undefined && !hashValue(source.sha256)))
32
+ throw new Error("invalid diagnostic source");
33
+ return {
34
+ path: resolve(base, source.path),
35
+ format: source.format,
36
+ ...(source.sha256 ? { sha256: source.sha256 } : {}),
37
+ };
38
+ });
39
+ const retentionRoots = (value.retentionRoots ?? []).map((path) => {
40
+ if (!pathValue(path))
41
+ throw new Error("invalid retention root");
42
+ return resolve(base, path);
43
+ });
44
+ return { version: 1, sources, retentionRoots };
45
+ }
46
+ async function readSource(path, limit = MAX_FILE) {
47
+ const before = await lstat(path);
48
+ if (!before.isFile() || (await realpath(path)) !== resolve(path))
49
+ throw new Error("source-must-be-canonical-regular-file");
50
+ const result = await readBoundedBytes(path, { maxBytes: limit, timeoutMs: 10000 }, {
51
+ open: (file, flags) => open(file, flags | constants.O_NOFOLLOW),
52
+ read: (handle, buffer, offset, length, position) => handle.read(buffer, offset, length, position),
53
+ close: (handle) => handle.close(),
54
+ });
55
+ if (!result.ok)
56
+ throw new Error(`source-${result.why}`);
57
+ const after = await lstat(path);
58
+ if (!after.isFile() ||
59
+ before.dev !== after.dev ||
60
+ before.ino !== after.ino ||
61
+ before.size !== after.size ||
62
+ before.mtimeMs !== after.mtimeMs ||
63
+ before.ctimeMs !== after.ctimeMs ||
64
+ after.size !== result.bytes.length)
65
+ throw new Error("source-changed-during-read");
66
+ return result.bytes;
67
+ }
68
+ const reason = (error) => {
69
+ const code = object(error) && typeof error.code === "string" ? error.code : undefined;
70
+ if (code)
71
+ return code;
72
+ return error instanceof Error && /^source-[a-z-]+$/.test(error.message)
73
+ ? error.message
74
+ : "invalid-or-unreadable-source";
75
+ };
76
+ export async function exportDiagnostics(selectionPath, destination) {
77
+ const selectedPath = resolve(selectionPath);
78
+ const selectedBytes = await readSource(selectedPath, 256 * 1024);
79
+ const selection = parseDiagnosticSelection(new TextDecoder("utf-8", { fatal: true }).decode(selectedBytes), dirname(selectedPath));
80
+ const choices = new Map();
81
+ for (const source of selection.sources) {
82
+ const prior = choices.get(source.path);
83
+ if (prior && (prior.format !== source.format || prior.sha256 !== source.sha256))
84
+ throw new Error("conflicting diagnostic selection for one source");
85
+ choices.set(source.path, source);
86
+ }
87
+ const target = resolve(destination);
88
+ if ((await realpath(dirname(target))) !== dirname(target))
89
+ throw new Error("destination parent must be canonical");
90
+ await mkdir(target, { mode: 0o700 }); // Exclusive: never overwrite or remove an existing directory.
91
+ await mkdir(join(target, "objects"), { mode: 0o700 });
92
+ const inventory = [];
93
+ const objects = new Map();
94
+ const seen = new Map();
95
+ let total = 0;
96
+ let readTotal = 0;
97
+ const read = async (source) => {
98
+ if (readTotal >= MAX_TOTAL)
99
+ throw new Error("source-total-size-limit");
100
+ const raw = await readSource(source.path, Math.min(MAX_FILE, MAX_TOTAL - readTotal));
101
+ readTotal += raw.length;
102
+ return raw;
103
+ };
104
+ const add = async (source, expectedBytes, traverse = false) => {
105
+ const prior = seen.get(source.path);
106
+ const expected = (digest, bytes) => {
107
+ if (source.sha256 && digest !== source.sha256)
108
+ throw new Error("source-digest-mismatch");
109
+ if (expectedBytes !== undefined && bytes !== expectedBytes)
110
+ throw new Error("source-size-mismatch");
111
+ };
112
+ if (prior) {
113
+ if (prior.source.format !== source.format)
114
+ throw new Error("conflicting diagnostic selection for one source");
115
+ if (prior.row.status !== "included")
116
+ return undefined;
117
+ try {
118
+ expected(prior.row.sourceSha256, prior.row.sourceBytes);
119
+ if (!traverse)
120
+ return undefined;
121
+ // A selected manifest still needs traversal. Re-read and compare rather than caching all raw payloads.
122
+ const raw = await read(source);
123
+ if (sha256(raw) !== prior.row.sourceSha256 || raw.length !== prior.row.sourceBytes)
124
+ throw new Error("source-changed-before-traversal");
125
+ return raw;
126
+ }
127
+ catch (error) {
128
+ inventory.push({ source: source.path, format: source.format, status: "missing", reason: reason(error) });
129
+ return undefined;
130
+ }
131
+ }
132
+ if (seen.size >= MAX_SOURCES)
133
+ throw new Error("diagnostic source count exceeds bounds");
134
+ const row = { source: source.path, format: source.format, status: "missing" };
135
+ seen.set(source.path, { source, row });
136
+ inventory.push(row);
137
+ try {
138
+ const raw = await read(source);
139
+ row.sourceSha256 = sha256(raw);
140
+ row.sourceBytes = raw.length;
141
+ expected(row.sourceSha256, row.sourceBytes);
142
+ const filtered = filterDiagnostic(raw, source.format);
143
+ const hash = sha256(filtered.bytes), path = `objects/${hash}`;
144
+ if (!objects.has(hash)) {
145
+ if (total + filtered.bytes.length > MAX_TOTAL)
146
+ throw new Error("source-export-size-limit");
147
+ await writeFile(join(target, path), filtered.bytes, { flag: "wx", mode: 0o600 });
148
+ objects.set(hash, filtered.bytes.length);
149
+ total += filtered.bytes.length;
150
+ }
151
+ Object.assign(row, {
152
+ status: "included",
153
+ path,
154
+ sha256: hash,
155
+ bytes: filtered.bytes.length,
156
+ omissions: filtered.omissions,
157
+ });
158
+ return raw;
159
+ }
160
+ catch (error) {
161
+ row.reason = reason(error);
162
+ return undefined;
163
+ }
164
+ };
165
+ for (const source of [...choices.values()].sort((a, b) => (a.path < b.path ? -1 : a.path > b.path ? 1 : 0)))
166
+ await add(source);
167
+ const captures = [];
168
+ for (const root of [...new Set(selection.retentionRoots)].sort()) {
169
+ try {
170
+ if ((await realpath(root)) !== root || !(await lstat(root)).isDirectory())
171
+ throw new Error("source-invalid-retention-root");
172
+ const entries = await readdir(root, { withFileTypes: true });
173
+ if (entries.length > MAX_SOURCES)
174
+ throw new Error("source-directory-size-limit");
175
+ for (const entry of entries.sort((a, b) => (a.name < b.name ? -1 : a.name > b.name ? 1 : 0))) {
176
+ if (!entry.isDirectory())
177
+ continue;
178
+ const manifestPath = join(root, entry.name, "manifest.json");
179
+ const raw = await add({ path: manifestPath, format: "json" }, undefined, true);
180
+ if (!raw)
181
+ continue;
182
+ let manifest;
183
+ try {
184
+ manifest = parseExecutionRetentionManifest(raw.toString("utf8"));
185
+ }
186
+ catch {
187
+ inventory.push({
188
+ source: `${manifestPath}#manifest`,
189
+ format: "retention-manifest",
190
+ status: "missing",
191
+ reason: "invalid-retention-manifest",
192
+ });
193
+ captures.push({ source: manifestPath, status: "invalid-retention-manifest" });
194
+ continue;
195
+ }
196
+ const losses = manifest.coverage.losses;
197
+ captures.push({
198
+ source: manifestPath,
199
+ nativeSession: manifest.nativeSession,
200
+ state: manifest.state,
201
+ currentLosses: losses.filter((loss) => loss !== "native-session-read-failed-earlier"),
202
+ recoveredObservations: losses.filter((loss) => loss === "native-session-read-failed-earlier"),
203
+ acceptance: "not-assessed",
204
+ });
205
+ for (const kind of RETENTION_CONTENT_KINDS) {
206
+ const value = manifest.content[kind];
207
+ const format = kind === "session" ? "session" : kind === "checkReceipt" ? "json" : "text";
208
+ const source = `${manifestPath}#${kind}`;
209
+ if (!object(value) || value.status !== "retained") {
210
+ inventory.push({ source, format, status: "missing", reason: "not-retained" });
211
+ continue;
212
+ }
213
+ if (!["session", "checkReceipt", "result"].includes(kind)) {
214
+ inventory.push({
215
+ source,
216
+ format,
217
+ status: "excluded",
218
+ reason: "raw-stream-or-pane",
219
+ sourceSha256: hashValue(value.sha256) ? value.sha256 : undefined,
220
+ });
221
+ continue;
222
+ }
223
+ await add({ path: join(dirname(manifestPath), value.path), format, sha256: value.sha256 }, value.bytes);
224
+ }
225
+ }
226
+ }
227
+ catch (error) {
228
+ inventory.push({ source: root, format: "retention-root", status: "missing", reason: reason(error) });
229
+ }
230
+ }
231
+ // Capture metadata is also filtered; an untrusted manifest must not smuggle fields past the projection.
232
+ const manifest = {
233
+ version: 1,
234
+ policy: "pi-daddy-visible-diagnostic-v1",
235
+ selectionSha256: sha256(selectedBytes),
236
+ entries: inventory,
237
+ objects: objects.size,
238
+ exportedBytes: total,
239
+ captures,
240
+ private: true,
241
+ trainingEligible: false,
242
+ exportEligible: false,
243
+ acceptance: "not-assessed",
244
+ limitations: [
245
+ "Not an atomic filesystem snapshot; sources are checked individually.",
246
+ "Known reasoning/environment fields omitted; free-text secret detection is heuristic. Review before sharing.",
247
+ "Raw streams, images, unsupported native entries and unselected files are not exported.",
248
+ "Source hashes identify original bytes; object hashes identify filtered bytes. Neither grants approval or training rights.",
249
+ ],
250
+ };
251
+ const safeManifest = filterDiagnostic(Buffer.from(JSON.stringify(manifest)), "json").bytes;
252
+ await writeFile(join(target, "inventory.json"), safeManifest, { mode: 0o600, flag: "wx" });
253
+ const missing = inventory.filter((entry) => entry.status === "missing").length;
254
+ return {
255
+ directory: target,
256
+ inventory: join(target, "inventory.json"),
257
+ sha256: sha256(safeManifest),
258
+ entries: inventory.length,
259
+ objects: objects.size,
260
+ missing,
261
+ trainingEligible: false,
262
+ };
263
+ }
264
+ //# sourceMappingURL=diagnostic-export.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnostic-export.js","sourceRoot":"","sources":["../../src/products/diagnostic-export.ts"],"names":[],"mappings":"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"}