pi-daddy 0.49.0 → 0.49.2

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
@@ -1,5 +1,14 @@
1
1
  # Changelog — pi-daddy
2
2
 
3
+ ## 0.49.2 — 2026-10-10
4
+
5
+ - Show the selected JEV provider/model, transport and shared local data root in dashboard Settings when the owning Harness reports them; older Harness versions remain compatible. Update both packages and restart Pi to see the selected route.
6
+ - Refresh the JEV consent notice after the parent finishes or dismisses the dialog, instead of leaving a stale completion instruction on screen.
7
+
8
+ ## 0.49.1 — 2026-10-10
9
+
10
+ - Fix standalone diagnostic export failing when Pi host peers are absent. Retention validation is dependency-free; no resolver hook or separate TypeBox installation is needed. The packaged smoke test now performs real offline exports and verifies filtered hashes, evidence gaps and unchanged source files.
11
+
3
12
  ## 0.49.0 — 2026-10-09
4
13
 
5
14
  - Add a compact dashboard Settings view (`s`) for session Auto, JEV activation and child wall/idle timeouts. JEV uses the parent Pi paid-call and LoRA-storage dialogs; Auto cannot answer them. Timeout changes apply to future children. Depth, active-descendant and per-call limits remain visible startup settings. Update all ecosystem packages and restart Pi.
package/README.md CHANGED
@@ -326,7 +326,7 @@ They are process safety controls, not model time/token budgets. `/grants` report
326
326
 
327
327
  JEV controls require skill-harness in the owning Pi session. Enabling opens its existing paid-call and
328
328
  LoRA-storage consent prompts in that parent; the dashboard shows waiting-for-consent, key readiness,
329
- remaining calls and storage status. Auto cannot answer either consent prompt. Turning JEV off revokes
329
+ remaining calls, storage status and the selected provider/model, transport and shared local data root when reported by Harness. Auto cannot answer either consent prompt. Turning JEV off revokes
330
330
  its activation, including an outstanding enable request; the switch itself makes no provider call.
331
331
  No API keys, consent flags or training permissions can be set from this screen.
332
332
 
@@ -473,6 +473,8 @@ with only the files and retention roots you intend to inspect; relative paths re
473
473
  pi-daddy diagnostics export selection.json /absolute/path/new-private-bundle
474
474
  ```
475
475
 
476
+ This offline command runs directly from the installed package without a Pi process or host-provided TypeBox.
477
+
476
478
  The destination must be new with an existing canonical parent. It contains `inventory.json` and deduplicated
477
479
  `objects/` files, with directories mode 0700 and files mode 0600. Originals remain untouched. Each entry records
478
480
  its source digest and filtered-object digest separately; unchanged JSON strings inside packets retain their exact
@@ -1,4 +1,4 @@
1
- import { Compile } from "typebox/compile";
1
+ import { compileRetentionShape } from "./retention-validator.js";
2
2
  import { parseRetentionJson } from "./retention-json.js";
3
3
  const string = (maxLength = 512) => ({
4
4
  type: "string",
@@ -113,7 +113,7 @@ export const RETENTION_SCHEMA = freeze({
113
113
  },
114
114
  ],
115
115
  });
116
- const validator = Compile(RETENTION_SCHEMA);
116
+ const validateShape = compileRetentionShape(RETENTION_SCHEMA);
117
117
  function freeze(value) {
118
118
  if (value && typeof value === "object") {
119
119
  for (const child of Object.values(value))
@@ -154,7 +154,7 @@ export function buildExecutionRetentionManifest(value) {
154
154
  }
155
155
  };
156
156
  inspect(value, 0);
157
- if (!validator.Check(value))
157
+ if (!validateShape(value))
158
158
  throw new TypeError("invalid execution-retention 2.x manifest");
159
159
  const m = JSON.parse(JSON.stringify(value));
160
160
  if (m.native.sessionId !== m.nativeSession.sessionId ||
@@ -1 +1 @@
1
- {"version":3,"file":"retention-contract.js","sourceRoot":"","sources":["../../src/governance/retention-contract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"retention-contract.js","sourceRoot":"","sources":["../../src/governance/retention-contract.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /** Dependency-free evaluator for the fixed retention schema; unsupported vocabulary fails at construction. */
2
+ type Check = (value: unknown) => boolean;
3
+ type Schema = Record<string, any>;
4
+ /** This is internal retention vocabulary, not a general JSON Schema implementation. */
5
+ export declare function compileRetentionShape(schema: Schema): Check;
6
+ export {};
7
+ //# sourceMappingURL=retention-validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retention-validator.d.ts","sourceRoot":"","sources":["../../src/governance/retention-validator.ts"],"names":[],"mappings":"AAAA,8GAA8G;AAC9G,KAAK,KAAK,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;AACzC,KAAK,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AA6BlC,uFAAuF;AACvF,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CA6E3D"}
@@ -0,0 +1,100 @@
1
+ const object = (value) => value !== null && typeof value === "object" && !Array.isArray(value);
2
+ const keywords = new Set([
3
+ "$schema",
4
+ "$id",
5
+ "type",
6
+ "const",
7
+ "enum",
8
+ "properties",
9
+ "required",
10
+ "additionalProperties",
11
+ "minLength",
12
+ "maxLength",
13
+ "pattern",
14
+ "minimum",
15
+ "maximum",
16
+ "items",
17
+ "maxItems",
18
+ "uniqueItems",
19
+ "anyOf",
20
+ "oneOf",
21
+ "allOf",
22
+ "not",
23
+ "if",
24
+ "then",
25
+ "else",
26
+ ]);
27
+ /** This is internal retention vocabulary, not a general JSON Schema implementation. */
28
+ export function compileRetentionShape(schema) {
29
+ for (const key of Object.keys(schema))
30
+ if (!keywords.has(key))
31
+ throw new TypeError(`unsupported retention schema keyword: ${key}`);
32
+ const checks = [];
33
+ if (schema.type !== undefined) {
34
+ const types = {
35
+ object,
36
+ array: Array.isArray,
37
+ string: (value) => typeof value === "string",
38
+ boolean: (value) => typeof value === "boolean",
39
+ integer: Number.isInteger,
40
+ null: (value) => value === null,
41
+ };
42
+ if (!Object.hasOwn(types, schema.type))
43
+ throw new TypeError("unsupported retention schema type");
44
+ checks.push(types[schema.type]);
45
+ }
46
+ if (Object.hasOwn(schema, "const"))
47
+ checks.push((value) => value === schema.const);
48
+ if (schema.enum)
49
+ checks.push((value) => schema.enum.includes(value));
50
+ if (schema.properties) {
51
+ const properties = Object.entries(schema.properties).map(([key, shape]) => [key, compileRetentionShape(shape)]);
52
+ checks.push((value) => !object(value) || properties.every(([key, check]) => !Object.hasOwn(value, key) || check(value[key])));
53
+ }
54
+ if (schema.required)
55
+ checks.push((value) => !object(value) || schema.required.every((key) => Object.hasOwn(value, key)));
56
+ if (schema.additionalProperties !== undefined) {
57
+ if (schema.additionalProperties !== false)
58
+ throw new TypeError("unsupported retention additionalProperties");
59
+ checks.push((value) => !object(value) || Object.keys(value).every((key) => Object.hasOwn(schema.properties ?? {}, key)));
60
+ }
61
+ if (schema.pattern) {
62
+ const pattern = new RegExp(schema.pattern);
63
+ checks.push((value) => typeof value !== "string" || pattern.test(value));
64
+ }
65
+ if (schema.minLength !== undefined || schema.maxLength !== undefined)
66
+ checks.push((value) => typeof value !== "string" ||
67
+ ([...value].length >= (schema.minLength ?? 0) && [...value].length <= (schema.maxLength ?? Infinity)));
68
+ if (schema.minimum !== undefined || schema.maximum !== undefined)
69
+ checks.push((value) => typeof value !== "number" || (value >= (schema.minimum ?? -Infinity) && value <= (schema.maximum ?? Infinity)));
70
+ if (schema.items) {
71
+ const check = compileRetentionShape(schema.items);
72
+ checks.push((value) => !Array.isArray(value) || value.every(check));
73
+ }
74
+ if (schema.maxItems !== undefined)
75
+ checks.push((value) => !Array.isArray(value) || value.length <= schema.maxItems);
76
+ if (schema.uniqueItems)
77
+ checks.push((value) => !Array.isArray(value) || new Set(value).size === value.length);
78
+ for (const kind of ["anyOf", "oneOf", "allOf"]) {
79
+ if (!schema[kind])
80
+ continue;
81
+ const alternatives = schema[kind].map(compileRetentionShape);
82
+ checks.push((value) => kind === "anyOf"
83
+ ? alternatives.some((check) => check(value))
84
+ : kind === "allOf"
85
+ ? alternatives.every((check) => check(value))
86
+ : alternatives.filter((check) => check(value)).length === 1);
87
+ }
88
+ if (schema.not) {
89
+ const check = compileRetentionShape(schema.not);
90
+ checks.push((value) => !check(value));
91
+ }
92
+ if (schema.if) {
93
+ const condition = compileRetentionShape(schema.if);
94
+ const yes = schema.then ? compileRetentionShape(schema.then) : () => true;
95
+ const no = schema.else ? compileRetentionShape(schema.else) : () => true;
96
+ checks.push((value) => (condition(value) ? yes(value) : no(value)));
97
+ }
98
+ return (value) => checks.every((check) => check(value));
99
+ }
100
+ //# sourceMappingURL=retention-validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retention-validator.js","sourceRoot":"","sources":["../../src/governance/retention-validator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-cli.d.ts","sourceRoot":"","sources":["../../src/products/dashboard-cli.ts"],"names":[],"mappings":";AAcA,OAAO,EACL,uBAAuB,EAOvB,KAAK,cAAc,EACpB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAGL,KAAK,wBAAwB,EAC9B,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EAKL,KAAK,oBAAoB,EAC1B,MAAM,uBAAuB,CAAC;AAE/B,eAAO,MAAM,0BAA0B,EAAG,CAAU,CAAC;AACrD,eAAO,MAAM,oBAAoB,oBAAa,CAAC;AAC/C,eAAO,MAAM,sBAAsB,gCAAgC,CAAC;AACpE,eAAO,MAAM,iBAAiB,2BAA2B,CAAC;AAC1D,eAAO,MAAM,4BAA4B,sCAAsC,CAAC;AAChF,eAAO,MAAM,2BAA2B,qCAAqC,CAAC;AAC9E,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,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,cAAc,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAA;KAAE,CAAC;IAChE,eAAe,CAAC,EAAE,uBAAuB,CAAC;IAC1C,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,OAAO,CAAC,EAAE,wBAAwB,CAAC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAyJD,wBAAsB,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CA8CpF;AAyBD,wBAAsB,YAAY,CAAC,IAAI,WAAwB,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAqNpH"}
1
+ {"version":3,"file":"dashboard-cli.d.ts","sourceRoot":"","sources":["../../src/products/dashboard-cli.ts"],"names":[],"mappings":";AAcA,OAAO,EACL,uBAAuB,EAOvB,KAAK,cAAc,EACpB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAGL,KAAK,wBAAwB,EAC9B,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EAKL,KAAK,oBAAoB,EAC1B,MAAM,uBAAuB,CAAC;AAE/B,eAAO,MAAM,0BAA0B,EAAG,CAAU,CAAC;AACrD,eAAO,MAAM,oBAAoB,oBAAa,CAAC;AAC/C,eAAO,MAAM,sBAAsB,gCAAgC,CAAC;AACpE,eAAO,MAAM,iBAAiB,2BAA2B,CAAC;AAC1D,eAAO,MAAM,4BAA4B,sCAAsC,CAAC;AAChF,eAAO,MAAM,2BAA2B,qCAAqC,CAAC;AAC9E,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,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,cAAc,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAA;KAAE,CAAC;IAChE,eAAe,CAAC,EAAE,uBAAuB,CAAC;IAC1C,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,OAAO,CAAC,EAAE,wBAAwB,CAAC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAyJD,wBAAsB,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CA8CpF;AAyBD,wBAAsB,YAAY,CAAC,IAAI,WAAwB,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsNpH"}
@@ -14,6 +14,7 @@ import { parseDashboardLedger } from "./dashboard-projection.js";
14
14
  import { renderDashboard } from "./dashboard-render.js";
15
15
  import { ActivityTimelineAliases, activityTaskKey, defaultActivityTimelinePath, detailForTimeline, parseActivityTimeline, renderActivityTimeline, resolveActivityTaskSelector, } from "./activity-timeline.js";
16
16
  import { createDashboardDisplayControls } from "./dashboard-display-controls.js";
17
+ import { dashboardJevNotice, JEV_CONSENT_NOTICE } from "./dashboard-settings.js";
17
18
  import { createDashboardConnection, dashboardSessionRequest, } from "./dashboard-session-client.js";
18
19
  import { adoptLegacyEnvironment, ENV_LEDGER, legacyEnvironmentWarning } from "../kernel/env-names.js";
19
20
  import { projectLedgerPath } from "../kernel/project-paths.js";
@@ -273,6 +274,9 @@ export async function runDashboard(argv = process.argv.slice(2), env = process.e
273
274
  let stopped = false, drawing = false;
274
275
  const draw = async (clear) => {
275
276
  await connection.refresh();
277
+ const jev = connection.state.snapshot?.settings?.jev;
278
+ if (notice === JEV_CONSENT_NOTICE && jev && !jev.pending)
279
+ notice = dashboardJevNotice(jev);
276
280
  if (stopped)
277
281
  return;
278
282
  const view = await dashboardFrame({
@@ -408,10 +412,9 @@ export async function runDashboard(argv = process.argv.slice(2), env = process.e
408
412
  const jev = connection.state.snapshot?.settings?.jev;
409
413
  notice = !changed
410
414
  ? connection.state.error || "JEV change already pending"
411
- : jev?.pending
412
- ? "Complete JEV paid-call and LoRA-storage choices in the parent Pi session"
413
- : jev?.error ||
414
- `JEV ${jev?.enabled ? "enabled" : "disabled"}; ${jev?.availability ?? "status unknown"}`;
415
+ : jev
416
+ ? dashboardJevNotice(jev)
417
+ : "JEV status unavailable; inspect the parent Pi session";
415
418
  redraw();
416
419
  });
417
420
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-cli.js","sourceRoot":"","sources":["../../src/products/dashboard-cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dashboard-cli.js","sourceRoot":"","sources":["../../src/products/dashboard-cli.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,10 @@ export interface DashboardJevState {
10
10
  remaining?: number;
11
11
  availability?: string;
12
12
  providerReadiness?: string;
13
+ selectedProvider?: string;
14
+ selectedModel?: string;
15
+ transport?: string;
16
+ storageRoot?: string;
13
17
  error?: string;
14
18
  }
15
19
  export interface DashboardSettingsSnapshot {
@@ -24,5 +28,7 @@ export interface DashboardSettingsSnapshot {
24
28
  perCall: number;
25
29
  jev: DashboardJevState;
26
30
  }
31
+ export declare const JEV_CONSENT_NOTICE = "Complete JEV paid-call and LoRA-storage choices in the parent Pi session";
32
+ export declare function dashboardJevNotice(jev: DashboardJevState): string;
27
33
  export declare function dashboardSettingsLines(settings: DashboardSettingsSnapshot | undefined, auto: boolean | undefined, selected: DashboardSettingKey): string[];
28
34
  //# sourceMappingURL=dashboard-settings.d.ts.map
@@ -1 +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"}
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,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,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,eAAO,MAAM,kBAAkB,6EAA6E,CAAC;AAC7G,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,iBAAiB,GAAG,MAAM,CAIjE;AACD,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,yBAAyB,GAAG,SAAS,EAC/C,IAAI,EAAE,OAAO,GAAG,SAAS,EACzB,QAAQ,EAAE,mBAAmB,GAC5B,MAAM,EAAE,CAsCV"}
@@ -7,6 +7,14 @@ export const DASHBOARD_SETTING_KEYS = [
7
7
  "depth",
8
8
  "perCall",
9
9
  ];
10
+ export const JEV_CONSENT_NOTICE = "Complete JEV paid-call and LoRA-storage choices in the parent Pi session";
11
+ export function dashboardJevNotice(jev) {
12
+ if (jev.pending)
13
+ return JEV_CONSENT_NOTICE;
14
+ if (!jev.available)
15
+ return "JEV controls unavailable; inspect the parent Pi session";
16
+ return jev.error || `JEV ${jev.enabled ? "enabled" : "disabled"}; ${jev.availability ?? "status unknown"}`;
17
+ }
10
18
  export function dashboardSettingsLines(settings, auto, selected) {
11
19
  if (!settings)
12
20
  return ["SETTINGS", "Owner settings unavailable. Reconnect from /grants dashboard."];
@@ -20,6 +28,11 @@ export function dashboardSettingsLines(settings, auto, selected) {
20
28
  ? [
21
29
  ` ${jev.availability ?? "unknown"} · ${jev.remaining ?? 0} paid calls left`,
22
30
  ` Key: ${jev.providerReadiness ?? "unknown"}; storage: ${jev.storage ?? "not granted"}`,
31
+ ...(jev.selectedProvider || jev.selectedModel
32
+ ? [` Model: ${jev.selectedProvider ?? "unknown"}/${jev.selectedModel ?? "not reported"}`]
33
+ : []),
34
+ ...(jev.transport ? [` Via: ${jev.transport}`] : []),
35
+ ...(jev.storageRoot ? [` Data: ${jev.storageRoot}`] : []),
23
36
  ]
24
37
  : [" Load skill-harness to connect JEV controls."]),
25
38
  ...(jev.error ? [` ${jev.error}`] : []),
@@ -1 +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"}
1
+ {"version":3,"file":"dashboard-settings.js","sourceRoot":"","sources":["../../src/products/dashboard-settings.ts"],"names":[],"mappings":"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"}
@@ -58,6 +58,15 @@ export function setDashboardLimit(session: GrantsSession, key: unknown, seconds:
58
58
  session.reloadLifecycle.executionSettings = { ...settings, [key === "wall" ? "wallMs" : "idleMs"]: ms };
59
59
  }
60
60
  const safeText = (value: unknown) => (typeof value === "string" ? value.slice(0, 120) : undefined);
61
+ // Route identifiers are data, never terminal control sequences or free-form provider labels.
62
+ const safeIdentifier = (value: unknown) =>
63
+ typeof value === "string" && /^[A-Za-z0-9@~][A-Za-z0-9._:/@~+-]{0,255}$/.test(value) ? value : undefined;
64
+ const safeStorageRoot = (value: unknown) =>
65
+ typeof value === "string" && value.startsWith("/") && !/[\p{Cc}\p{Cf}]/u.test(value)
66
+ ? value.length > 120
67
+ ? `${value.slice(0, 117)}...`
68
+ : value
69
+ : undefined;
61
70
  export async function dashboardJev(
62
71
  session: GrantsSession,
63
72
  action: "status" | "enable" | "disable",
@@ -88,6 +97,10 @@ export async function dashboardJev(
88
97
  remaining?: number;
89
98
  availability?: string;
90
99
  providerReadiness?: string;
100
+ selectedProvider?: string | null;
101
+ selectedModel?: string | null;
102
+ transport?: string | null;
103
+ storageRoot?: string | null;
91
104
  };
92
105
  };
93
106
  if (!value || value.version !== 1 || value.requestId !== requestId || value.sessionId !== current.nativeSessionId)
@@ -111,6 +124,10 @@ export async function dashboardJev(
111
124
  remaining: Number.isSafeInteger(value.status.remaining) ? value.status.remaining : undefined,
112
125
  availability: safeText(value.status.availability),
113
126
  providerReadiness: safeText(value.status.providerReadiness),
127
+ selectedProvider: safeIdentifier(value.status.selectedProvider),
128
+ selectedModel: safeIdentifier(value.status.selectedModel),
129
+ transport: safeIdentifier(value.status.transport),
130
+ storageRoot: safeStorageRoot(value.status.storageRoot),
114
131
  ...(value.error ? { error: "JEV request declined or unavailable; inspect the owner Pi session." } : {}),
115
132
  });
116
133
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pi-daddy",
3
- "version": "0.49.0",
3
+ "version": "0.49.2",
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",
@@ -1,4 +1,4 @@
1
- import { Compile } from "typebox/compile";
1
+ import { compileRetentionShape } from "./retention-validator.ts";
2
2
  import { parseRetentionJson } from "./retention-json.ts";
3
3
  import type { ExecutionRetentionManifest } from "./execution-retention.ts";
4
4
 
@@ -121,7 +121,7 @@ export const RETENTION_SCHEMA = freeze({
121
121
  },
122
122
  ],
123
123
  });
124
- const validator = Compile(RETENTION_SCHEMA);
124
+ const validateShape = compileRetentionShape(RETENTION_SCHEMA);
125
125
  function freeze<T>(value: T): T {
126
126
  if (value && typeof value === "object") {
127
127
  for (const child of Object.values(value)) freeze(child);
@@ -166,7 +166,7 @@ export function buildExecutionRetentionManifest(value: unknown): ExecutionRetent
166
166
  }
167
167
  };
168
168
  inspect(value, 0);
169
- if (!validator.Check(value)) throw new TypeError("invalid execution-retention 2.x manifest");
169
+ if (!validateShape(value)) throw new TypeError("invalid execution-retention 2.x manifest");
170
170
  const m = JSON.parse(JSON.stringify(value)) as ExecutionRetentionManifest;
171
171
  if (
172
172
  m.native.sessionId !== m.nativeSession.sessionId ||
@@ -0,0 +1,110 @@
1
+ /** Dependency-free evaluator for the fixed retention schema; unsupported vocabulary fails at construction. */
2
+ type Check = (value: unknown) => boolean;
3
+ type Schema = Record<string, any>;
4
+ const object = (value: unknown): value is Record<string, unknown> =>
5
+ value !== null && typeof value === "object" && !Array.isArray(value);
6
+ const keywords = new Set([
7
+ "$schema",
8
+ "$id",
9
+ "type",
10
+ "const",
11
+ "enum",
12
+ "properties",
13
+ "required",
14
+ "additionalProperties",
15
+ "minLength",
16
+ "maxLength",
17
+ "pattern",
18
+ "minimum",
19
+ "maximum",
20
+ "items",
21
+ "maxItems",
22
+ "uniqueItems",
23
+ "anyOf",
24
+ "oneOf",
25
+ "allOf",
26
+ "not",
27
+ "if",
28
+ "then",
29
+ "else",
30
+ ]);
31
+
32
+ /** This is internal retention vocabulary, not a general JSON Schema implementation. */
33
+ export function compileRetentionShape(schema: Schema): Check {
34
+ for (const key of Object.keys(schema))
35
+ if (!keywords.has(key)) throw new TypeError(`unsupported retention schema keyword: ${key}`);
36
+ const checks: Check[] = [];
37
+ if (schema.type !== undefined) {
38
+ const types: Record<string, Check> = {
39
+ object,
40
+ array: Array.isArray,
41
+ string: (value) => typeof value === "string",
42
+ boolean: (value) => typeof value === "boolean",
43
+ integer: Number.isInteger,
44
+ null: (value) => value === null,
45
+ };
46
+ if (!Object.hasOwn(types, schema.type)) throw new TypeError("unsupported retention schema type");
47
+ checks.push(types[schema.type]);
48
+ }
49
+ if (Object.hasOwn(schema, "const")) checks.push((value) => value === schema.const);
50
+ if (schema.enum) checks.push((value) => schema.enum.includes(value));
51
+ if (schema.properties) {
52
+ const properties = Object.entries(schema.properties).map(
53
+ ([key, shape]) => [key, compileRetentionShape(shape as Schema)] as const,
54
+ );
55
+ checks.push(
56
+ (value) => !object(value) || properties.every(([key, check]) => !Object.hasOwn(value, key) || check(value[key])),
57
+ );
58
+ }
59
+ if (schema.required)
60
+ checks.push((value) => !object(value) || schema.required.every((key: string) => Object.hasOwn(value, key)));
61
+ if (schema.additionalProperties !== undefined) {
62
+ if (schema.additionalProperties !== false) throw new TypeError("unsupported retention additionalProperties");
63
+ checks.push(
64
+ (value) => !object(value) || Object.keys(value).every((key) => Object.hasOwn(schema.properties ?? {}, key)),
65
+ );
66
+ }
67
+ if (schema.pattern) {
68
+ const pattern = new RegExp(schema.pattern);
69
+ checks.push((value) => typeof value !== "string" || pattern.test(value));
70
+ }
71
+ if (schema.minLength !== undefined || schema.maxLength !== undefined)
72
+ checks.push(
73
+ (value) =>
74
+ typeof value !== "string" ||
75
+ ([...value].length >= (schema.minLength ?? 0) && [...value].length <= (schema.maxLength ?? Infinity)),
76
+ );
77
+ if (schema.minimum !== undefined || schema.maximum !== undefined)
78
+ checks.push(
79
+ (value) =>
80
+ typeof value !== "number" || (value >= (schema.minimum ?? -Infinity) && value <= (schema.maximum ?? Infinity)),
81
+ );
82
+ if (schema.items) {
83
+ const check = compileRetentionShape(schema.items);
84
+ checks.push((value) => !Array.isArray(value) || value.every(check));
85
+ }
86
+ if (schema.maxItems !== undefined) checks.push((value) => !Array.isArray(value) || value.length <= schema.maxItems);
87
+ if (schema.uniqueItems) checks.push((value) => !Array.isArray(value) || new Set(value).size === value.length);
88
+ for (const kind of ["anyOf", "oneOf", "allOf"] as const) {
89
+ if (!schema[kind]) continue;
90
+ const alternatives = schema[kind].map(compileRetentionShape) as Check[];
91
+ checks.push((value) =>
92
+ kind === "anyOf"
93
+ ? alternatives.some((check) => check(value))
94
+ : kind === "allOf"
95
+ ? alternatives.every((check) => check(value))
96
+ : alternatives.filter((check) => check(value)).length === 1,
97
+ );
98
+ }
99
+ if (schema.not) {
100
+ const check = compileRetentionShape(schema.not);
101
+ checks.push((value) => !check(value));
102
+ }
103
+ if (schema.if) {
104
+ const condition = compileRetentionShape(schema.if);
105
+ const yes = schema.then ? compileRetentionShape(schema.then) : () => true;
106
+ const no = schema.else ? compileRetentionShape(schema.else) : () => true;
107
+ checks.push((value) => (condition(value) ? yes(value) : no(value)));
108
+ }
109
+ return (value) => checks.every((check) => check(value));
110
+ }
@@ -23,6 +23,7 @@ import {
23
23
  type TimelineFilter,
24
24
  } from "./activity-timeline.ts";
25
25
  import { createDashboardDisplayControls } from "./dashboard-display-controls.ts";
26
+ import { dashboardJevNotice, JEV_CONSENT_NOTICE } from "./dashboard-settings.ts";
26
27
  import {
27
28
  createDashboardConnection,
28
29
  dashboardSessionRequest,
@@ -316,6 +317,8 @@ export async function runDashboard(argv = process.argv.slice(2), env: NodeJS.Pro
316
317
  drawing = false;
317
318
  const draw = async (clear: boolean): Promise<void> => {
318
319
  await connection.refresh();
320
+ const jev = connection.state.snapshot?.settings?.jev;
321
+ if (notice === JEV_CONSENT_NOTICE && jev && !jev.pending) notice = dashboardJevNotice(jev);
319
322
  if (stopped) return;
320
323
  const view = await dashboardFrame({
321
324
  cwd,
@@ -438,10 +441,9 @@ export async function runDashboard(argv = process.argv.slice(2), env: NodeJS.Pro
438
441
  const jev = connection.state.snapshot?.settings?.jev;
439
442
  notice = !changed
440
443
  ? connection.state.error || "JEV change already pending"
441
- : jev?.pending
442
- ? "Complete JEV paid-call and LoRA-storage choices in the parent Pi session"
443
- : jev?.error ||
444
- `JEV ${jev?.enabled ? "enabled" : "disabled"}; ${jev?.availability ?? "status unknown"}`;
444
+ : jev
445
+ ? dashboardJevNotice(jev)
446
+ : "JEV status unavailable; inspect the parent Pi session";
445
447
  redraw();
446
448
  });
447
449
  }
@@ -18,6 +18,10 @@ export interface DashboardJevState {
18
18
  remaining?: number;
19
19
  availability?: string;
20
20
  providerReadiness?: string;
21
+ selectedProvider?: string;
22
+ selectedModel?: string;
23
+ transport?: string;
24
+ storageRoot?: string;
21
25
  error?: string;
22
26
  }
23
27
  export interface DashboardSettingsSnapshot {
@@ -32,6 +36,12 @@ export interface DashboardSettingsSnapshot {
32
36
  perCall: number;
33
37
  jev: DashboardJevState;
34
38
  }
39
+ export const JEV_CONSENT_NOTICE = "Complete JEV paid-call and LoRA-storage choices in the parent Pi session";
40
+ export function dashboardJevNotice(jev: DashboardJevState): string {
41
+ if (jev.pending) return JEV_CONSENT_NOTICE;
42
+ if (!jev.available) return "JEV controls unavailable; inspect the parent Pi session";
43
+ return jev.error || `JEV ${jev.enabled ? "enabled" : "disabled"}; ${jev.availability ?? "status unknown"}`;
44
+ }
35
45
  export function dashboardSettingsLines(
36
46
  settings: DashboardSettingsSnapshot | undefined,
37
47
  auto: boolean | undefined,
@@ -51,6 +61,11 @@ export function dashboardSettingsLines(
51
61
  ? [
52
62
  ` ${jev.availability ?? "unknown"} · ${jev.remaining ?? 0} paid calls left`,
53
63
  ` Key: ${jev.providerReadiness ?? "unknown"}; storage: ${jev.storage ?? "not granted"}`,
64
+ ...(jev.selectedProvider || jev.selectedModel
65
+ ? [` Model: ${jev.selectedProvider ?? "unknown"}/${jev.selectedModel ?? "not reported"}`]
66
+ : []),
67
+ ...(jev.transport ? [` Via: ${jev.transport}`] : []),
68
+ ...(jev.storageRoot ? [` Data: ${jev.storageRoot}`] : []),
54
69
  ]
55
70
  : [" Load skill-harness to connect JEV controls."]),
56
71
  ...(jev.error ? [` ${jev.error}`] : []),