pi-daddy 0.26.0 → 0.27.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 (108) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/PRODUCT-GUIDE.md +125 -0
  3. package/README.md +16 -1
  4. package/REQUIREMENTS.md +41 -0
  5. package/dist/cli.d.ts +2 -2
  6. package/dist/cli.d.ts.map +1 -1
  7. package/dist/cli.js +35 -7
  8. package/dist/cli.js.map +1 -1
  9. package/dist/daily-dashboard-host.d.ts +14 -1
  10. package/dist/daily-dashboard-host.d.ts.map +1 -1
  11. package/dist/daily-dashboard-host.js +40 -17
  12. package/dist/daily-dashboard-host.js.map +1 -1
  13. package/dist/daily-panel.d.ts +36 -0
  14. package/dist/daily-panel.d.ts.map +1 -0
  15. package/dist/daily-panel.js +84 -0
  16. package/dist/daily-panel.js.map +1 -0
  17. package/dist/daily-view-render.d.ts +2 -1
  18. package/dist/daily-view-render.d.ts.map +1 -1
  19. package/dist/daily-view-render.js +2 -1
  20. package/dist/daily-view-render.js.map +1 -1
  21. package/dist/daily-view.d.ts +3 -0
  22. package/dist/daily-view.d.ts.map +1 -1
  23. package/dist/daily-view.js +6 -0
  24. package/dist/daily-view.js.map +1 -1
  25. package/dist/dashboard-cli.d.ts +2 -0
  26. package/dist/dashboard-cli.d.ts.map +1 -1
  27. package/dist/dashboard-cli.js +37 -15
  28. package/dist/dashboard-cli.js.map +1 -1
  29. package/dist/dashboard-host-contract.d.ts +2 -0
  30. package/dist/dashboard-host-contract.d.ts.map +1 -1
  31. package/dist/dashboard-host-contract.js.map +1 -1
  32. package/dist/dashboard-host-transport.d.ts.map +1 -1
  33. package/dist/dashboard-host-transport.js +6 -3
  34. package/dist/dashboard-host-transport.js.map +1 -1
  35. package/dist/dashboard-host.d.ts +30 -2
  36. package/dist/dashboard-host.d.ts.map +1 -1
  37. package/dist/dashboard-host.js +73 -11
  38. package/dist/dashboard-host.js.map +1 -1
  39. package/dist/dashboard-menu.d.ts +16 -0
  40. package/dist/dashboard-menu.d.ts.map +1 -0
  41. package/dist/dashboard-menu.js +33 -0
  42. package/dist/dashboard-menu.js.map +1 -0
  43. package/dist/index.d.ts +7 -1
  44. package/dist/index.d.ts.map +1 -1
  45. package/dist/index.js +7 -1
  46. package/dist/index.js.map +1 -1
  47. package/dist/learning-connection.d.ts +127 -0
  48. package/dist/learning-connection.d.ts.map +1 -0
  49. package/dist/learning-connection.js +54 -0
  50. package/dist/learning-connection.js.map +1 -0
  51. package/dist/measured-order.d.ts.map +1 -1
  52. package/dist/measured-order.js +63 -5
  53. package/dist/measured-order.js.map +1 -1
  54. package/dist/model-preflight.d.ts +5 -0
  55. package/dist/model-preflight.d.ts.map +1 -1
  56. package/dist/model-preflight.js +9 -0
  57. package/dist/model-preflight.js.map +1 -1
  58. package/dist/product-files.d.ts +6 -0
  59. package/dist/product-files.d.ts.map +1 -0
  60. package/dist/product-files.js +55 -0
  61. package/dist/product-files.js.map +1 -0
  62. package/dist/work-command.d.ts.map +1 -1
  63. package/dist/work-command.js +14 -6
  64. package/dist/work-command.js.map +1 -1
  65. package/dist/work-policy-registry.d.ts +133 -0
  66. package/dist/work-policy-registry.d.ts.map +1 -0
  67. package/dist/work-policy-registry.js +128 -0
  68. package/dist/work-policy-registry.js.map +1 -0
  69. package/dist/work-run.d.ts +56 -0
  70. package/dist/work-run.d.ts.map +1 -0
  71. package/dist/work-run.js +102 -0
  72. package/dist/work-run.js.map +1 -0
  73. package/dist/work-setup.d.ts +40 -0
  74. package/dist/work-setup.d.ts.map +1 -0
  75. package/dist/work-setup.js +174 -0
  76. package/dist/work-setup.js.map +1 -0
  77. package/extensions/daily-dashboard-session.ts +16 -7
  78. package/extensions/execute-child.ts +2 -2
  79. package/extensions/grants-command.ts +2 -2
  80. package/extensions/grants.ts +6 -2
  81. package/extensions/learning-outcome-session.ts +38 -0
  82. package/extensions/learning-session.ts +59 -0
  83. package/extensions/ordinary-runtime.ts +2 -2
  84. package/extensions/run-delegation.ts +2 -2
  85. package/extensions/work-policy-session.ts +139 -0
  86. package/extensions/work-run-session.ts +75 -0
  87. package/extensions/work-runtime.ts +2 -2
  88. package/extensions/work-session.ts +132 -0
  89. package/package.json +9 -1
  90. package/src/cli.ts +26 -7
  91. package/src/daily-dashboard-host.ts +32 -15
  92. package/src/daily-panel.ts +80 -0
  93. package/src/daily-view-render.ts +2 -1
  94. package/src/daily-view.ts +8 -0
  95. package/src/dashboard-cli.ts +29 -17
  96. package/src/dashboard-host-contract.ts +2 -0
  97. package/src/dashboard-host-transport.ts +7 -4
  98. package/src/dashboard-host.ts +48 -13
  99. package/src/dashboard-menu.ts +28 -0
  100. package/src/index.ts +7 -1
  101. package/src/learning-connection.ts +70 -0
  102. package/src/measured-order.ts +8 -3
  103. package/src/model-preflight.ts +9 -0
  104. package/src/product-files.ts +34 -0
  105. package/src/work-command.ts +11 -6
  106. package/src/work-policy-registry.ts +81 -0
  107. package/src/work-run.ts +79 -0
  108. package/src/work-setup.ts +141 -0
@@ -10,6 +10,8 @@ import { parseDashboardLedger } from "./dashboard-projection.js";
10
10
  import { renderDashboard } from "./dashboard-render.js";
11
11
  import { createDailyViewReader, isDailyViewReader, readDailyView } from "./daily-view.js";
12
12
  import { renderDailyView } from "./daily-view-render.js";
13
+ import { renderDailyPanel, panelLines, learningSummary } from "./daily-panel.js";
14
+ import { createDashboardMenu } from "./dashboard-menu.js";
13
15
  import { projectWorkLedger } from "./work-ledger.js";
14
16
  import { parseRetentionJson } from "./retention-json.js";
15
17
  import { createInterface } from "node:readline";
@@ -51,7 +53,7 @@ export function dashboardActionFeedback(command, outcome) {
51
53
  if (state === "failed-or-unknown" || state === "readback-only")
52
54
  return `NO ACTION CLAIM: ${command} returned ${state}; inspect/reconcile explicitly.`;
53
55
  if (state !== "acknowledged")
54
- return `NOT APPLIED: ${command} returned ${state}.`;
56
+ return `NOT APPLIED: ${command} returned ${state}.${typeof (value.error ?? value.reason) === "string" ? ` ${String(value.error ?? value.reason).slice(0, 1024)}` : ""}`;
55
57
  const result = value.result && typeof value.result === "object" ? value.result : null;
56
58
  // A retained records[] snapshot has no outer dashboard request correlation. Never select an old receipt.
57
59
  const nativeApplication = typeof result?.application === "string" ? result.application : undefined;
@@ -101,17 +103,17 @@ export async function dashboardFrame(options) {
101
103
  view = await options.connected.frame();
102
104
  }
103
105
  catch (error) {
104
- return `PI-DADDY — CONNECTED HOST ERROR\n${error instanceof Error ? error.message : String(error)}\nNo prior acceptance, presentation or continuity substituted. No action retried.`;
106
+ options.actionMenu?.clear();
107
+ return panelLines(["PI-DADDY — Disconnected", "The original host is unavailable. No action was retried.", "Return to Pi: /grants host, then /grants dashboard.", ...(options.details ? [String(error)] : [])], options.width);
105
108
  }
106
109
  if (options.dailyJson || options.debriefJson)
107
110
  return JSON.stringify(view);
108
111
  const source = view.source;
109
112
  const actions = view.actions ?? [];
110
- const hostError = typeof view.error === "string" && view.error ? `HOST ERROR — ${view.error}` : null;
111
- return ["PI-DADDY — CONNECTED HOST (snapshot; identity/acceptance not authenticated)", hostError, source?.daily ? renderDailyView(source.daily, options.width) : "Source unavailable; no previous acceptance substituted.",
112
- view.debrief ? renderDebrief(view.debrief, options.width) : "Debrief deferred/closed. No implicit presentation or steering.",
113
- `Host control ${view.control}; acknowledgement ${view.acknowledgement}. Attention reserved ${view.attention.attentionUsed}/5 (not proof of delivery). Tip ${view.tip}.`,
114
- actions.length ? `ACTIONS — type one command and Enter\n${actions.map(action => ` ${action.key} — ${action.label}`).join("\n")}` : "ACTIONS — none currently authorized; refresh never acts."].filter((line) => Boolean(line)).join("\n\n");
113
+ const menu = (options.actionMenu ?? createDashboardMenu()).show(view.tip, actions);
114
+ const learning = view.debrief ? ["Retained review open below"] : learningSummary(view.learning);
115
+ const summary = source?.daily ? renderDailyPanel(source.daily, options.width, { details: options.details, connected: true, presentation: view.presentation, error: view.error, controls: view.controls, control: view.control, actions: menu, learning }) : panelLines(["PI-DADDY — Needs you", "Work observation unavailable. Capture current work or open Details.", ...menu.map(a => `${a.choice} ${a.label}`)], options.width);
116
+ return [summary, view.debrief ? renderDebrief(view.debrief, options.width) : "", options.details ? panelLines([`Host control ${view.control}; acknowledgement ${view.acknowledgement}. Attention reserved ${view.attention.attentionUsed}/5. Tip ${view.tip}.`, JSON.stringify(view.controls), JSON.stringify(view.learning), ...actions.map(a => `${a.key} — ${a.label}`)], options.width) : ""].filter(Boolean).join("\n\n");
115
117
  }
116
118
  if (options.debrief || options.debriefJson) {
117
119
  if (!isDebriefPresenter(options.debrief))
@@ -124,7 +126,7 @@ export async function dashboardFrame(options) {
124
126
  if (options.dailyReader !== undefined && !isDailyViewReader(options.dailyReader))
125
127
  throw new TypeError("untrusted daily reader callback");
126
128
  const view = await (options.dailyReader ?? readDailyView)(options.dailyView);
127
- return options.dailyJson ? JSON.stringify(view) : renderDailyView(view, options.width);
129
+ return options.dailyJson ? JSON.stringify(view) : renderDailyPanel(view, options.width, { details: options.details });
128
130
  }
129
131
  catch {
130
132
  return "PI-DADDY — DAILY VIEW UNAVAILABLE\nInvalid or unavailable read-only input. No previous acceptance or continuity was substituted.";
@@ -230,6 +232,8 @@ export async function runDashboard(argv = process.argv.slice(2), env = process.e
230
232
  await debrief.open({ mode: "manual", userPresent: true }); // Explicit CLI fixture only; never override a host deferral.
231
233
  }
232
234
  const dailyReader = createDailyViewReader();
235
+ const actionMenu = createDashboardMenu();
236
+ let details = cli.details;
233
237
  let previous = "";
234
238
  let feedback = "";
235
239
  let input = null;
@@ -240,14 +244,14 @@ export async function runDashboard(argv = process.argv.slice(2), env = process.e
240
244
  protocol,
241
245
  color: cli.color,
242
246
  width: process.stdout.columns || 80,
243
- details: cli.details,
247
+ details, actionMenu,
244
248
  dailyView, dailyReader, dailyJson: cli.dailyJson, debrief, debriefJson: cli.debriefJson, connected,
245
249
  });
246
- const rendered = feedback ? `${frame}\n\n${feedback}` : frame;
250
+ const rendered = feedback ? `${panelLines([feedback], process.stdout.columns || 80)}\n\n${frame}` : frame;
247
251
  if (rendered === previous && !clear)
248
252
  return;
249
253
  previous = rendered;
250
- const prompt = "COMMAND — type an exact listed key, then Enter (refresh never acts): ";
254
+ const prompt = "Action number / d Details, then Enter: ";
251
255
  const draft = input?.line ?? "";
252
256
  process.stdout.write(clear ? `\u001b]0;PI-DADDY\u0007\u001b[2J\u001b[H${rendered}\n\n${input ? prompt + draft : ""}` : `${rendered}\n`);
253
257
  if (input)
@@ -257,7 +261,7 @@ export async function runDashboard(argv = process.argv.slice(2), env = process.e
257
261
  await draw(false);
258
262
  return;
259
263
  }
260
- input = debrief || connected ? createInterface({ input: process.stdin, output: process.stdout, terminal: true }) : null;
264
+ input = createInterface({ input: process.stdin, output: process.stdout, terminal: Boolean(process.stdin.isTTY) });
261
265
  await draw(true);
262
266
  let drawing = false;
263
267
  const redraw = () => {
@@ -270,10 +274,28 @@ export async function runDashboard(argv = process.argv.slice(2), env = process.e
270
274
  input?.on("line", line => {
271
275
  if (acting)
272
276
  return; // never replay a line typed while the prior exact command is still settling.
277
+ if (line.trim().toLowerCase() === "d") {
278
+ details = !details;
279
+ redraw();
280
+ return;
281
+ }
273
282
  acting = true;
274
- feedback = `COMMAND ${line.trim() || "(empty)"} — applying the displayed exact request…`;
275
- void (connected ? dashboardHostAction(connected, line) : debriefAction(debrief, line)).then(outcome => {
276
- feedback = connected ? dashboardActionFeedback(line.trim() || "command", outcome) : `ACKNOWLEDGED: ${line.trim() || "command"}. Refreshed state is shown below.`;
283
+ let label = line.trim() || "(empty)";
284
+ const act = async () => {
285
+ if (connected && /^\d+$/.test(line.trim())) {
286
+ const selected = actionMenu.select(line.trim());
287
+ label = selected.label;
288
+ return connected.humanAction(selected.key, { tip: selected.tip, requestDigest: selected.requestDigest });
289
+ }
290
+ if (connected)
291
+ return dashboardHostAction(connected, line);
292
+ if (debrief)
293
+ return debriefAction(debrief, line);
294
+ throw Error("Read-only snapshot; no controls connected");
295
+ };
296
+ feedback = `Action ${label} — awaiting acknowledgement…`;
297
+ void act().then(outcome => {
298
+ feedback = connected ? dashboardActionFeedback(label, outcome) : `ACKNOWLEDGED: ${label}. Refreshed state is shown below.`;
277
299
  }).catch(error => {
278
300
  feedback = `REJECTED: ${error instanceof Error ? error.message : String(error)}. No command was retried; inspect the refreshed offered keys.`;
279
301
  }).finally(() => { acting = false; redraw(); });
@@ -1 +1 @@
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,qBAAqB,EAAE,iBAAiB,EAAE,aAAa,EAAyB,MAAM,iBAAiB,CAAC;AACjH,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,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;AAiBxC,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,OAA2C,CAAA,CAAC,CAAA,EAAE,CAAC;IAC9F,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,GAAG,CAAC;IAC9E,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,oCAAoC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,mFAAmF,CAAC;QAAA,CAAC;QAC7O,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,OAAiD,IAAE,EAAE,CAAC;QAC1E,MAAM,SAAS,GAAC,OAAO,IAAI,CAAC,KAAK,KAAG,QAAQ,IAAE,IAAI,CAAC,KAAK,CAAA,CAAC,CAAA,gBAAgB,IAAI,CAAC,KAAK,EAAE,CAAA,CAAC,CAAA,IAAI,CAAC;QAC3F,OAAO,CAAC,6EAA6E,EAAC,SAAS,EAAC,MAAM,EAAE,KAAK,CAAA,CAAC,CAAA,eAAe,CAAC,MAAM,CAAC,KAAK,EAAC,OAAO,CAAC,KAAK,CAAC,CAAA,CAAC,CAAA,yDAAyD;YACjN,IAAI,CAAC,OAAO,CAAA,CAAC,CAAA,aAAa,CAAC,IAAI,CAAC,OAA8C,EAAC,OAAO,CAAC,KAAK,CAAC,CAAA,CAAC,CAAA,gEAAgE;YAC9J,gBAAgB,IAAI,CAAC,OAAO,qBAAqB,IAAI,CAAC,eAAe,wBAAwB,IAAI,CAAC,SAAS,CAAC,aAAa,mCAAmC,IAAI,CAAC,GAAG,GAAG;YACvK,OAAO,CAAC,MAAM,CAAA,CAAC,CAAA,yCAAyC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAA,EAAE,CAAA,KAAK,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAA,CAAC,CAAA,0DAA0D,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAgB,EAAE,CAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxP,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,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QACzF,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;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,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,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,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,KAAK,OAAO,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QAC9D,IAAI,QAAQ,KAAK,QAAQ,IAAI,CAAC,KAAK;YAAE,OAAO;QAC5C,QAAQ,GAAG,QAAQ,CAAC;QACpB,MAAM,MAAM,GAAG,uEAAuE,CAAC;QACvF,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,OAAO,IAAI,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACxH,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,MAAM,GAAG,IAAI,CAAC;QACd,QAAQ,GAAG,WAAW,IAAI,CAAC,IAAI,EAAE,IAAI,SAAS,0CAA0C,CAAC;QACzF,KAAK,CAAC,SAAS,CAAA,CAAC,CAAA,mBAAmB,CAAC,SAAS,EAAC,IAAI,CAAC,CAAA,CAAC,CAAA,aAAa,CAAC,OAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YAChG,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,iBAAiB,IAAI,CAAC,IAAI,EAAE,IAAI,SAAS,mCAAmC,CAAC;QACnK,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"}
1
+ {"version":3,"file":"dashboard-cli.js","sourceRoot":"","sources":["../src/dashboard-cli.ts"],"names":[],"mappings":"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"}
@@ -100,6 +100,8 @@ export interface DashboardHostConfig {
100
100
  harnessArtifactDigest: string;
101
101
  ordinaryDigest?: string;
102
102
  learningLifecycleId?: string;
103
+ /** Explicit host journal, while reusing the original trust store/attention across host lifetimes. */
104
+ journalDirectory?: string;
103
105
  }
104
106
  export interface DashboardHostRequest {
105
107
  version: "1.0";
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-host-contract.d.ts","sourceRoot":"","sources":["../src/dashboard-host-contract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dashboard-host-contract.d.ts","sourceRoot":"","sources":["../src/dashboard-host-contract.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-host-contract.js","sourceRoot":"","sources":["../src/dashboard-host-contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAMrD,MAAM,CAAC,MAAM,qBAAqB,GAAG,0CAA0C,CAAC;AAkChF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAsB,EAAU,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AACrF,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,SAA2C,EAAU,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AACvH,MAAM,UAAU,oBAAoB,CAAC,KAA2B;IAC9D,MAAM,CAAC,GAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAAA,YAAY,CAAC,CAAC,EAAC,CAAC,SAAS,EAAC,WAAW,EAAC,YAAY,EAAC,aAAa,EAAC,iBAAiB,EAAC,WAAW,EAAC,SAAS,CAAC,CAAC,CAAC;IACnI,IAAG,CAAC,CAAC,OAAO,KAAG,KAAK,IAAE,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAE,CAAC,CAAC,CAAC,CAAC,UAAU,EAAC,CAAC,CAAC,WAAW,EAAC,CAAC,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAE,CAAC,CAAC,SAAS,EAAC,SAAS,EAAC,WAAW,EAAC,OAAO,EAAC,SAAS,EAAC,UAAU,EAAC,QAAQ,EAAC,QAAQ,EAAC,oBAAoB,EAAC,kBAAkB,EAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,IAAE,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAC,KAAK;QAAC,MAAM,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAAA,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;AACzZ,CAAC;AACD,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAuB,EAAU,EAAE,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"dashboard-host-contract.js","sourceRoot":"","sources":["../src/dashboard-host-contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAMrD,MAAM,CAAC,MAAM,qBAAqB,GAAG,0CAA0C,CAAC;AAoChF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAsB,EAAU,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AACrF,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,SAA2C,EAAU,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AACvH,MAAM,UAAU,oBAAoB,CAAC,KAA2B;IAC9D,MAAM,CAAC,GAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAAA,YAAY,CAAC,CAAC,EAAC,CAAC,SAAS,EAAC,WAAW,EAAC,YAAY,EAAC,aAAa,EAAC,iBAAiB,EAAC,WAAW,EAAC,SAAS,CAAC,CAAC,CAAC;IACnI,IAAG,CAAC,CAAC,OAAO,KAAG,KAAK,IAAE,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAE,CAAC,CAAC,CAAC,CAAC,UAAU,EAAC,CAAC,CAAC,WAAW,EAAC,CAAC,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAE,CAAC,CAAC,SAAS,EAAC,SAAS,EAAC,WAAW,EAAC,OAAO,EAAC,SAAS,EAAC,UAAU,EAAC,QAAQ,EAAC,QAAQ,EAAC,oBAAoB,EAAC,kBAAkB,EAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,IAAE,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAC,KAAK;QAAC,MAAM,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAAA,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;AACzZ,CAAC;AACD,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAuB,EAAU,EAAE,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-host-transport.d.ts","sourceRoot":"","sources":["../src/dashboard-host-transport.ts"],"names":[],"mappings":"AAIA,OAAO,EAAyC,KAAK,aAAa,EAA6B,MAAM,qBAAqB,CAAC;AAC3H,eAAO,MAAM,yBAAyB,yBAAuB,CAAC;AAC9D,MAAM,MAAM,mBAAmB,GAAC;IAAC,KAAK,EAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAAA,MAAM,EAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAAA,WAAW,EAAC,aAAa,CAAC,aAAa,CAAC,CAAA;CAAC,CAAC;AAEvI,eAAO,MAAM,qBAAqB,GAAE,GAAE,OAAO,KAAE,CAAC,IAAI,mBAA0F,CAAC;AAE/I,0GAA0G;AAC1G,wBAAsB,kBAAkB,CAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,aAAa;;;IAgBtE;AACD,+GAA+G;AAC/G,wBAAgB,oBAAoB,CAAC,IAAI,EAAC,MAAM,GAAE,mBAAmB,CAUpE"}
1
+ {"version":3,"file":"dashboard-host-transport.d.ts","sourceRoot":"","sources":["../src/dashboard-host-transport.ts"],"names":[],"mappings":"AAIA,OAAO,EAAyC,KAAK,aAAa,EAA6B,MAAM,qBAAqB,CAAC;AAC3H,eAAO,MAAM,yBAAyB,yBAAuB,CAAC;AAC9D,MAAM,MAAM,mBAAmB,GAAC;IAAC,KAAK,EAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAAA,MAAM,EAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAAA,WAAW,EAAC,aAAa,CAAC,aAAa,CAAC,CAAA;CAAC,CAAC;AAEvI,eAAO,MAAM,qBAAqB,GAAE,GAAE,OAAO,KAAE,CAAC,IAAI,mBAA0F,CAAC;AAE/I,0GAA0G;AAC1G,wBAAsB,kBAAkB,CAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,aAAa;;;IAmBtE;AACD,+GAA+G;AAC/G,wBAAgB,oBAAoB,CAAC,IAAI,EAAC,MAAM,GAAE,mBAAmB,CAUpE"}
@@ -47,8 +47,11 @@ export async function serveDashboardHost(path, host) {
47
47
  result = await host.frame();
48
48
  else if (Object.keys(r).sort().join() === "operation,request" && r.operation === "action")
49
49
  result = await host.action(dashboardHostRequest(r.request));
50
- else if (Object.keys(r).sort().join() === "key,operation" && r.operation === "human-action" && typeof r.key === "string")
51
- result = await host.humanAction(r.key);
50
+ else if (["key,operation", "expected,key,operation"].includes(Object.keys(r).sort().join()) && r.operation === "human-action" && typeof r.key === "string") {
51
+ if (r.expected && (!/^[a-f0-9]{64}$/.test(r.expected.tip) || !/^[a-f0-9]{64}$/.test(r.expected.requestDigest) || Object.keys(r.expected).sort().join() !== "requestDigest,tip"))
52
+ throw Error("exact displayed action required");
53
+ result = await host.humanAction(r.key, r.expected);
54
+ }
52
55
  else
53
56
  throw Error("closed dashboard protocol required");
54
57
  const output = JSON.stringify({ ok: true, result }) + "\n";
@@ -117,7 +120,7 @@ export function connectDashboardHost(path) {
117
120
  fail(Error("dashboard disconnected; acknowledgement unknown")); });
118
121
  });
119
122
  };
120
- const api = { frame: () => call("frame"), action: (r) => call("action", { request: dashboardHostRequest(r) }), humanAction: (key) => call("human-action", { key }) };
123
+ const api = { frame: () => call("frame"), action: (r) => call("action", { request: dashboardHostRequest(r) }), humanAction: (key, expected) => call("human-action", { key, ...(expected ? { expected } : {}) }) };
121
124
  connections.add(api);
122
125
  return Object.freeze(api);
123
126
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-host-transport.js","sourceRoot":"","sources":["../src/dashboard-host-transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dashboard-host-transport.js","sourceRoot":"","sources":["../src/dashboard-host-transport.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { WorkPresentation } from "./daily-panel.ts";
1
2
  import { type OrdinaryChildren } from "./ordinary-children.ts";
2
3
  import { type GovernedBudgetBinding } from "./resource-budget.ts";
3
4
  import { type IntentRequest } from "./intent-control.ts";
@@ -32,6 +33,11 @@ export interface DashboardHostOptions {
32
33
  label: string;
33
34
  request: DashboardHostRequest;
34
35
  }[]>;
36
+ /** Read-only, digest-bound local outcome labels. Never grants acceptance or control. */
37
+ presentation?: () => WorkPresentation | null | Promise<WorkPresentation | null>;
38
+ currentWork?: () => Promise<import("./daily-view.ts").DailyView>;
39
+ learningView?: () => unknown;
40
+ afterObservation?: (observation: import("./dashboard-observation.ts").DashboardObservation) => void;
35
41
  /** Explicit approved observation effect only; refresh/frame never invokes it. */
36
42
  beforeObservation?: (sourceId: string) => Promise<void>;
37
43
  /** Owner callback after the exact intent journal reports applied; failure keeps host acknowledgement unknown. */
@@ -48,6 +54,10 @@ export interface DashboardHostOptions {
48
54
  export declare function createDashboardHost(options: DashboardHostOptions): Readonly<{
49
55
  hostDigest: string;
50
56
  selectionDigest: string;
57
+ /** Same owner gate as action: checking stop cannot race a newly admitted effect. Never releases a hold. */
58
+ stop(): Promise<void>;
59
+ /** Final owner-session disposal only, not /grants host stop. Disconnects without resolving/releasing any control. */
60
+ endSession(): void;
51
61
  frame(): Promise<{
52
62
  version: string;
53
63
  hostDigest: string;
@@ -69,7 +79,9 @@ export declare function createDashboardHost(options: DashboardHostOptions): Read
69
79
  key: string;
70
80
  label: string;
71
81
  operation: string;
82
+ requestDigest: string;
72
83
  }[];
84
+ presentation: WorkPresentation | null;
73
85
  requests: Record<string, unknown>[];
74
86
  control: string;
75
87
  acknowledgement: string;
@@ -101,7 +113,9 @@ export declare function createDashboardHost(options: DashboardHostOptions): Read
101
113
  key: string;
102
114
  label: string;
103
115
  operation: string;
116
+ requestDigest: string;
104
117
  }[];
118
+ presentation: WorkPresentation | null;
105
119
  requests: Record<string, unknown>[];
106
120
  control: string;
107
121
  acknowledgement: string;
@@ -111,7 +125,10 @@ export declare function createDashboardHost(options: DashboardHostOptions): Read
111
125
  freshness: string;
112
126
  workerInteractions: number;
113
127
  }>;
114
- humanAction(key: string): Promise<{
128
+ humanAction(key: string, expected?: {
129
+ tip: string;
130
+ requestDigest: string;
131
+ }): Promise<{
115
132
  state: string;
116
133
  result?: undefined;
117
134
  } | {
@@ -130,6 +147,10 @@ export declare function createDashboardHost(options: DashboardHostOptions): Read
130
147
  export declare function openDashboardHost(options: DashboardHostOptions): Readonly<{
131
148
  hostDigest: string;
132
149
  selectionDigest: string;
150
+ /** Same owner gate as action: checking stop cannot race a newly admitted effect. Never releases a hold. */
151
+ stop(): Promise<void>;
152
+ /** Final owner-session disposal only, not /grants host stop. Disconnects without resolving/releasing any control. */
153
+ endSession(): void;
133
154
  frame(): Promise<{
134
155
  version: string;
135
156
  hostDigest: string;
@@ -151,7 +172,9 @@ export declare function openDashboardHost(options: DashboardHostOptions): Readon
151
172
  key: string;
152
173
  label: string;
153
174
  operation: string;
175
+ requestDigest: string;
154
176
  }[];
177
+ presentation: WorkPresentation | null;
155
178
  requests: Record<string, unknown>[];
156
179
  control: string;
157
180
  acknowledgement: string;
@@ -183,7 +206,9 @@ export declare function openDashboardHost(options: DashboardHostOptions): Readon
183
206
  key: string;
184
207
  label: string;
185
208
  operation: string;
209
+ requestDigest: string;
186
210
  }[];
211
+ presentation: WorkPresentation | null;
187
212
  requests: Record<string, unknown>[];
188
213
  control: string;
189
214
  acknowledgement: string;
@@ -193,7 +218,10 @@ export declare function openDashboardHost(options: DashboardHostOptions): Readon
193
218
  freshness: string;
194
219
  workerInteractions: number;
195
220
  }>;
196
- humanAction(key: string): Promise<{
221
+ humanAction(key: string, expected?: {
222
+ tip: string;
223
+ requestDigest: string;
224
+ }): Promise<{
197
225
  state: string;
198
226
  result?: undefined;
199
227
  } | {
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-host.d.ts","sourceRoot":"","sources":["../src/dashboard-host.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4C,KAAK,gBAAgB,EAA6B,MAAM,wBAAwB,CAAC;AAOpI,OAAO,EAA6C,KAAK,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE7G,OAAO,EAAsC,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC7F,OAAO,EAAgF,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEpI,OAAO,EACL,KAAK,gBAAgB,EAAE,KAAK,mBAAmB,EAAE,KAAK,oBAAoB,EAAE,KAAK,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAChJ,cAAc,8BAA8B,CAAC;AAK7C,eAAO,MAAM,eAAe,GAAE,OAAM,OAAO,KAAE,KAAK,IAAI,aAAsE,CAAC;AAC7H,MAAM,MAAM,aAAa,GAAC,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC/D,MAAM,WAAW,oBAAoB;IAAG,QAAQ,CAAC,EAAC,gBAAgB,CAAC;IAAC,OAAO,EAAC,gBAAgB,CAAC;IAAC,MAAM,EAAC,mBAAmB,CAAC;IAAC,MAAM,EAAC,qBAAqB,CAAC;IAAC,UAAU,CAAC,EAAC,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;IAAC,SAAS,EAAC,MAAI,sBAAsB,GAAC,IAAI,CAAC;IAC/O,2GAA2G;IAC3G,YAAY,CAAC,EAAC,CAAC,OAAO,EAAC;QAAC,UAAU,EAAC,MAAM,CAAC;QAAA,eAAe,EAAC,MAAM,CAAC;QAAA,GAAG,EAAC,MAAM,CAAC;QAAA,YAAY,EAAC,SAAS;YAAC,QAAQ,EAAC,MAAM,CAAC;YAAA,YAAY,EAAC,MAAM,CAAA;SAAC,EAAE,CAAC;QAAA,0BAA0B,EAAC,MAAM,GAAC,IAAI,CAAA;KAAC,KAAG,SAAS;QAAC,GAAG,EAAC,MAAM,CAAC;QAAA,KAAK,EAAC,MAAM,CAAC;QAAA,OAAO,EAAC,oBAAoB,CAAA;KAAC,EAAE,GAAC,OAAO,CAAC,SAAS;QAAC,GAAG,EAAC,MAAM,CAAC;QAAA,KAAK,EAAC,MAAM,CAAC;QAAA,OAAO,EAAC,oBAAoB,CAAA;KAAC,EAAE,CAAC,CAAC;IACjU,iFAAiF;IACjF,iBAAiB,CAAC,EAAC,CAAC,QAAQ,EAAC,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,iHAAiH;IACjH,kBAAkB,CAAC,EAAC,CAAC,SAAS,EAAC,aAAa,CAAC,WAAW,CAAC,KAAG,IAAI,GAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/E,2GAA2G;IAC3G,QAAQ,CAAC,EAAC,MAAI;QAAC,OAAO,EAAC,OAAO,CAAC;QAAA,OAAO,EAAC,OAAO,CAAC;QAAA,cAAc,EAAC,MAAM,CAAC;QAAA,SAAS,EAAC,MAAM,CAAA;KAAC,GAAC,IAAI,CAAC;CAC7F;AAQD,6GAA6G;AAC7G,wBAAgB,mBAAmB,CAAC,OAAO,EAAC,oBAAoB;;;;;;;;;;;;;;;;;;;;;iBA4DC,MAAM;mBAAO,MAAM;uBAAW,MAAM;;;;;;;;;;;IAiBjG,6FAA6F;;;;;;;;;;;;;;;;;;;iBAjBhC,MAAM;mBAAO,MAAM;uBAAW,MAAM;;;;;;;;;;;qBAmB3E,MAAM;;;;;;;kBAGT,oBAAoB;;;;;;;GA1E1C;AACD,+GAA+G;AAC/G,wBAAgB,iBAAiB,CAAC,OAAO,EAAC,oBAAoB;;;;;;;;;;;;;;;;;;;;;iBAkDG,MAAM;mBAAO,MAAM;uBAAW,MAAM;;;;;;;;;;;IAiBjG,6FAA6F;;;;;;;;;;;;;;;;;;;iBAjBhC,MAAM;mBAAO,MAAM;uBAAW,MAAM;;;;;;;;;;;qBAmB3E,MAAM;;;;;;;kBAGT,oBAAoB;;;;;;;GAuF1C"}
1
+ {"version":3,"file":"dashboard-host.d.ts","sourceRoot":"","sources":["../src/dashboard-host.ts"],"names":[],"mappings":"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"}
@@ -18,7 +18,9 @@ const MAX_DISPLAYED_ACTIONS_PER_TIP = 32_768;
18
18
  export const isDashboardHost = (value) => typeof value === "object" && value !== null && hosts.has(value);
19
19
  function configuration(input) {
20
20
  const c = detached(input);
21
- controlShape(c, ["version", "trustDirectory", "trustPolicyId", "archiveRoot", "scope", "author", "policyPath", "policySha256", "sources", "selection", "cases", "blind", "budgetDigest", "experimentDigest", "harnessArtifactDigest", ...(Object.hasOwn(c, "ordinaryDigest") ? ["ordinaryDigest"] : []), ...(Object.hasOwn(c, "learningLifecycleId") ? ["learningLifecycleId"] : [])]);
21
+ controlShape(c, ["version", "trustDirectory", "trustPolicyId", "archiveRoot", "scope", "author", "policyPath", "policySha256", "sources", "selection", "cases", "blind", "budgetDigest", "experimentDigest", "harnessArtifactDigest", ...(Object.hasOwn(c, "ordinaryDigest") ? ["ordinaryDigest"] : []), ...(Object.hasOwn(c, "learningLifecycleId") ? ["learningLifecycleId"] : []), ...(Object.hasOwn(c, "journalDirectory") ? ["journalDirectory"] : [])]);
22
+ if (c.journalDirectory !== undefined && (typeof c.journalDirectory !== "string" || !isAbsolute(c.journalDirectory)))
23
+ throw Error("explicit host journal directory required");
22
24
  if (Object.hasOwn(c, "ordinaryDigest") && !sha(c.ordinaryDigest))
23
25
  throw Error("invalid ordinary binding digest");
24
26
  if (Object.hasOwn(c, "learningLifecycleId") && !sha(c.learningLifecycleId))
@@ -37,7 +39,7 @@ export function createDashboardHost(options) {
37
39
  const trust = h.openTrustLifecycle(c.trustDirectory), view = trust.inspect(Date.now());
38
40
  if (view.policyId !== c.trustPolicyId)
39
41
  throw Error("trust policy changed");
40
- h.learningJournal(join(c.trustDirectory, "producer-host"), { type: "producer-host-initial", config: c });
42
+ h.learningJournal(c.journalDirectory ?? join(c.trustDirectory, "producer-host"), { type: "producer-host-initial", config: c });
41
43
  return openDashboardHost(options);
42
44
  }
43
45
  /** Existing native writers + original controllers; no model, launch, authority-file loader or PID recovery. */
@@ -50,7 +52,7 @@ export function openDashboardHost(options) {
50
52
  throw Error("original ordinary controller binding required");
51
53
  if (resourceBindingDigest(budget.binding) !== c.budgetDigest || experiment && (!isExperimentController(experiment) || experimentBindingDigest(experiment.binding) !== c.experimentDigest))
52
54
  throw Error("original controller binding required");
53
- const trust = h.openTrustLifecycle(c.trustDirectory), journal = h.learningJournal(join(c.trustDirectory, "producer-host"));
55
+ const trust = h.openTrustLifecycle(c.trustDirectory), journal = h.learningJournal(c.journalDirectory ?? join(c.trustDirectory, "producer-host"));
54
56
  const initial = journal.read()[0].value;
55
57
  if (initial.type !== "producer-host-initial" || dataDigest(initial.config) !== hostDigest)
56
58
  throw Error("host store binding changed; no new budget");
@@ -63,7 +65,7 @@ export function openDashboardHost(options) {
63
65
  const observation = dashboardObservations(h, c, journal.read), history = () => journal.read();
64
66
  const append = (value) => journal.append(history().at(-1).id, value);
65
67
  const saved = () => { const rows = history().filter(e => e.value.type === "checkpoint"); return rows.length ? detached(rows.at(-1).value.checkpoint) : null; };
66
- let presenter, busy = false, poisoned = false, presentationRevision = null, presenceDigest = null, attentionDeferred = null, presentationAcknowledged = false;
68
+ let presenter, busy = false, poisoned = false, stopped = false, presentationRevision = null, presenceDigest = null, attentionDeferred = null, presentationAcknowledged = false;
67
69
  const ordinaryDispatchHoldKey = dataDigest({ hostDigest, control: "pause-new-ordinary-dispatch" });
68
70
  // A host frame is a read-only snapshot: ordinary children may attach or settle without advancing this journal.
69
71
  // Within one tip, a key keeps its first exact request; humanAction revalidates it against current native authority.
@@ -114,6 +116,34 @@ export function openDashboardHost(options) {
114
116
  });
115
117
  };
116
118
  const api = { hostDigest, selectionDigest,
119
+ /** Same owner gate as action: checking stop cannot race a newly admitted effect. Never releases a hold. */
120
+ async stop() {
121
+ if (stopped)
122
+ return;
123
+ if (busy)
124
+ throw Error("Cannot stop: dashboard operation busy; wait for its acknowledgement first");
125
+ busy = true;
126
+ try {
127
+ const rows = history();
128
+ if (poisoned || rows.some(e => e.value.type === "host-failure") || rows.some(e => e.value.type === "claim" && !rows.some(r => r.value.type === "result" && r.value.requestId === e.value.requestId)))
129
+ throw Error("Cannot stop: acknowledgement unknown; retain this original host for readback. Do not repeat effects. Ending the whole Pi session does not reconcile or release this hold.");
130
+ if (c.ordinaryDigest && !ordinary)
131
+ throw Error("Cannot stop: original ordinary boundary unavailable; no recovery");
132
+ const dispatch = await budget.controls(null).inspect();
133
+ if (dispatch.admission === "blocked-pending")
134
+ throw Error("Cannot stop: pending original control requires explicit reconciliation, then resume before stopping");
135
+ if (dispatch.paused || ordinary && ordinary.inspect().admission !== "open")
136
+ throw Error("Cannot stop: resume new work in the original dashboard first. Any pending intent also needs its original reconciliation; no hold was released.");
137
+ stopped = true;
138
+ presenter?.close();
139
+ presentationRevision = null;
140
+ }
141
+ finally {
142
+ busy = false;
143
+ }
144
+ },
145
+ /** Final owner-session disposal only, not /grants host stop. Disconnects without resolving/releasing any control. */
146
+ endSession() { stopped = true; presenter?.close(); presentationRevision = null; },
117
147
  async frame() {
118
148
  const rows = history(), tip = rows.at(-1).id, a = authority();
119
149
  let source = null, error = null;
@@ -127,6 +157,8 @@ export function openDashboardHost(options) {
127
157
  }
128
158
  try {
129
159
  source = await observation.view(selectionState === "current-control-snapshot" ? a : null, selection);
160
+ if (options.currentWork)
161
+ source = { ...source, daily: await options.currentWork() };
130
162
  }
131
163
  catch (e) {
132
164
  error = String(e);
@@ -156,12 +188,26 @@ export function openDashboardHost(options) {
156
188
  catch (e) {
157
189
  error = String(e);
158
190
  }
191
+ let presentation = null;
192
+ try {
193
+ presentation = await options.presentation?.() ?? null;
194
+ }
195
+ catch (e) {
196
+ error = String(e);
197
+ }
198
+ if (options.learningView)
199
+ try {
200
+ learning = options.learningView();
201
+ }
202
+ catch (e) {
203
+ learning = { state: "deferred", reason: String(e) };
204
+ }
159
205
  const attention = trust.inspect(Date.now());
160
206
  let actions = [];
161
207
  try {
162
208
  const available = await availableHumanActions();
163
209
  // A frame that completed after its captured tip is stale and cannot replace a newer display generation.
164
- if (history().at(-1).id === tip) {
210
+ if (!stopped && history().at(-1).id === tip) {
165
211
  if (!displayedActions || displayedActions.tip !== tip)
166
212
  displayedActions = { tip, actions: new Map() };
167
213
  const additions = available.filter(action => !displayedActions.actions.has(action.key));
@@ -175,26 +221,30 @@ export function openDashboardHost(options) {
175
221
  displayedActions.actions.set(action.key, action);
176
222
  return true;
177
223
  });
178
- actions = shown.map(({ key, label, operation }) => ({ key, label, operation }));
224
+ actions = shown.map(({ key, label, operation, request }) => ({ key, label, operation, requestDigest: dashboardHostRequestDigest(request) }));
179
225
  }
180
226
  }
181
227
  catch (e) {
182
228
  error = String(e);
183
229
  }
184
- return freeze(detached({ version: "producer-dashboard-frame-v1", hostDigest, selectionDigest: dashboardSelectionDigest(selection), selectionState, tip, source, controls, learning, debrief, attention, error, actions,
230
+ return freeze(detached({ version: "producer-dashboard-frame-v1", hostDigest, selectionDigest: dashboardSelectionDigest(selection), selectionState, tip, source, controls, learning, debrief, attention, error, actions, presentation,
185
231
  requests: rows.filter(e => ["claim", "result", "presentation", "defer", "ordinary-intent-pending"].includes(String(e.value.type))).map(e => e.value),
186
232
  control: rows.some(e => e.value.type === "host-failure") ? "failed" : rows.some(e => e.value.type === "claim" && !rows.some(r => r.value.type === "result" && r.value.requestId === e.value.requestId)) ? "unknown" : "not-assessed",
187
233
  acknowledgement: poisoned ? "unknown" : "readback-only", identity: "independently-declared-host; not human/module authentication", activeBranch: null, acceptance: "not-assessed", freshness: "snapshot-unknown", workerInteractions: 0 }));
188
234
  },
189
235
  /** Explicit reconciliation is read-only. A retained claim is never replayed as an effect. */
190
236
  reconcile: () => api.frame(),
191
- async humanAction(key) {
237
+ async humanAction(key, expected) {
192
238
  const tip = history().at(-1).id;
239
+ if (expected && expected.tip !== tip)
240
+ throw Error("displayed action is stale; select again");
193
241
  if (!displayedActions || displayedActions.tip !== tip)
194
242
  throw Error("dashboard actions must be displayed at the current tip");
195
243
  const found = displayedActions.actions.get(key);
196
244
  if (!found)
197
245
  throw Error(`unknown dashboard action ${JSON.stringify(key)}`);
246
+ if (expected && dashboardHostRequestDigest(found.request) !== expected.requestDigest)
247
+ throw Error("displayed action identity changed; no effect attempted");
198
248
  const current = (await availableHumanActions()).find(action => action.key === key);
199
249
  if (!current || current.label !== found.label || dashboardHostRequestDigest(current.request) !== dashboardHostRequestDigest(found.request))
200
250
  throw Error("displayed dashboard action changed; no effect attempted");
@@ -202,6 +252,8 @@ export function openDashboardHost(options) {
202
252
  },
203
253
  async action(input) {
204
254
  const request = dashboardHostRequest(input), digest = dashboardHostRequestDigest(request);
255
+ if (stopped)
256
+ throw Error("dashboard host stopped; no effect attempted");
205
257
  if (busy || poisoned)
206
258
  throw Error("dashboard operation busy or acknowledgement unknown");
207
259
  busy = true;
@@ -234,6 +286,7 @@ export function openDashboardHost(options) {
234
286
  await options.beforeObservation?.(sourceId);
235
287
  const captured = observation.observe(request.payload, a, selection);
236
288
  append({ type: "observation", observation: captured });
289
+ options.afterObservation?.(captured);
237
290
  result = captured;
238
291
  }
239
292
  else if (request.operation === "present") {
@@ -317,9 +370,12 @@ export function openDashboardHost(options) {
317
370
  if (request.operation === "dispatch-reconcile" && (await port.inspect()).records.find(r => r.request.requestId === native.requestId)?.digest !== dispatchRequestDigest(native))
318
371
  throw Error("exact original dispatch reconciliation required");
319
372
  result = request.operation === "dispatch" ? await port.request(native) : await port.reconcile(native.requestId);
320
- const record = result.records.find(r => r.request.requestId === native.requestId);
321
- if (ordinaryHold && (record?.decision !== "approved" || native.action === "resume-dispatch" && record.application === "applied"))
322
- ordinaryHold.release();
373
+ const snapshot = result, record = snapshot.records.find(r => r.request.requestId === native.requestId);
374
+ if (!record)
375
+ throw Error("native dispatch application acknowledgement unavailable");
376
+ // A denied resume must not undo an earlier pause/pending control. Release only after final host sync.
377
+ if (ordinaryHold && (native.action === "resume-dispatch" && record.decision === "approved" && record.application === "applied" || record.application === "not-applied" && snapshot.admission === "enabled"))
378
+ releaseOrdinary = ordinaryHold.release;
323
379
  }
324
380
  else if (request.operation === "intent" || request.operation === "intent-reconcile") {
325
381
  const native = detached(intentRequest(request.payload)), port = budget.intentControls(a.dispatch), digest = intentRequestDigest(native);
@@ -386,6 +442,12 @@ export function openDashboardHost(options) {
386
442
  append({ type: "result", requestId: request.requestId, state: "failed-or-unknown", reason: String(error) });
387
443
  throw error;
388
444
  }
445
+ if (["dispatch", "dispatch-reconcile", "intent", "intent-reconcile"].includes(request.operation) && result && typeof result === "object") {
446
+ const snapshot = result, nativeId = request.payload.requestId;
447
+ const applied = snapshot.records?.find(r => (r.requestId ?? r.request?.requestId) === nativeId);
448
+ if (applied?.application)
449
+ result = { ...result, application: applied.application, nativeRequestId: nativeId };
450
+ }
389
451
  append({ type: "result", requestId: request.requestId, state: "acknowledged", resultDigest: dataDigest(result ?? null) });
390
452
  releaseOrdinary?.();
391
453
  return { state: "acknowledged", result };