@songsid/agend 2.3.2-beta.14 → 2.3.2-beta.16

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 (145) hide show
  1. package/dist/backend/codex-session-lookup.d.ts +15 -0
  2. package/dist/backend/codex-session-lookup.js +58 -0
  3. package/dist/backend/codex-session-lookup.js.map +1 -1
  4. package/dist/backend/codex.js +15 -4
  5. package/dist/backend/codex.js.map +1 -1
  6. package/dist/backend/kiro-classic-archive.d.ts +5 -0
  7. package/dist/backend/kiro-classic-archive.js +132 -7
  8. package/dist/backend/kiro-classic-archive.js.map +1 -1
  9. package/dist/backend/kiro-identity.d.ts +2 -0
  10. package/dist/backend/kiro-identity.js +4 -0
  11. package/dist/backend/kiro-identity.js.map +1 -1
  12. package/dist/backend/kiro-reconcile-store.d.ts +27 -0
  13. package/dist/backend/kiro-reconcile-store.js +344 -0
  14. package/dist/backend/kiro-reconcile-store.js.map +1 -0
  15. package/dist/backend/kiro-v2-store-worker.js +12 -3
  16. package/dist/backend/kiro-v2-store-worker.js.map +1 -1
  17. package/dist/backend/kiro-v2-store.d.ts +11 -0
  18. package/dist/backend/kiro-v2-store.js.map +1 -1
  19. package/dist/cache-service.d.ts +13 -1
  20. package/dist/cache-service.js +45 -2
  21. package/dist/cache-service.js.map +1 -1
  22. package/dist/channel/mcp-tools.js +5 -3
  23. package/dist/channel/mcp-tools.js.map +1 -1
  24. package/dist/cli.js +17 -4
  25. package/dist/cli.js.map +1 -1
  26. package/dist/config-validator.js +4 -1
  27. package/dist/config-validator.js.map +1 -1
  28. package/dist/fleet-manager.d.ts +23 -1
  29. package/dist/fleet-manager.js +127 -9
  30. package/dist/fleet-manager.js.map +1 -1
  31. package/dist/general-instance.d.ts +24 -0
  32. package/dist/general-instance.js +53 -0
  33. package/dist/general-instance.js.map +1 -1
  34. package/dist/general-knowledge/skills/web-appearance/SKILL.canvas-worker-off.md +2 -0
  35. package/dist/general-knowledge/skills/web-appearance/SKILL.md +2 -0
  36. package/dist/general-knowledge/skills/web-dashboard/SKILL.canvas-worker-off.md +16 -9
  37. package/dist/general-knowledge/skills/web-dashboard/SKILL.md +16 -9
  38. package/dist/instance-config-impact.js +1 -0
  39. package/dist/instance-config-impact.js.map +1 -1
  40. package/dist/kiro-reconcile.d.ts +21 -0
  41. package/dist/kiro-reconcile.js +80 -0
  42. package/dist/kiro-reconcile.js.map +1 -0
  43. package/dist/kiro-tui-forensic.d.ts +7 -0
  44. package/dist/kiro-tui-forensic.js +17 -3
  45. package/dist/kiro-tui-forensic.js.map +1 -1
  46. package/dist/locale.js +20 -0
  47. package/dist/locale.js.map +1 -1
  48. package/dist/log-service.js +1 -1
  49. package/dist/log-service.js.map +1 -1
  50. package/dist/office-levels.d.ts +64 -0
  51. package/dist/office-levels.js +66 -0
  52. package/dist/office-levels.js.map +1 -0
  53. package/dist/office-share-page.d.ts +3 -1
  54. package/dist/office-share-page.js +8 -3
  55. package/dist/office-share-page.js.map +1 -1
  56. package/dist/office-share-service.d.ts +4 -3
  57. package/dist/office-share-service.js +6 -6
  58. package/dist/office-share-service.js.map +1 -1
  59. package/dist/office-share.d.ts +35 -8
  60. package/dist/office-share.js +50 -15
  61. package/dist/office-share.js.map +1 -1
  62. package/dist/outbound-handlers.js +20 -1
  63. package/dist/outbound-handlers.js.map +1 -1
  64. package/dist/outbound-schemas.d.ts +6 -0
  65. package/dist/outbound-schemas.js +6 -0
  66. package/dist/outbound-schemas.js.map +1 -1
  67. package/dist/public-web-gateway.js +1 -1
  68. package/dist/public-web-gateway.js.map +1 -1
  69. package/dist/quickstart-api.d.ts +25 -1
  70. package/dist/quickstart-api.js +53 -6
  71. package/dist/quickstart-api.js.map +1 -1
  72. package/dist/scheduler/task-board.d.ts +28 -6
  73. package/dist/scheduler/task-board.js +66 -11
  74. package/dist/scheduler/task-board.js.map +1 -1
  75. package/dist/service-installer.d.ts +13 -0
  76. package/dist/service-installer.js +15 -0
  77. package/dist/service-installer.js.map +1 -1
  78. package/dist/service-owner.d.ts +25 -0
  79. package/dist/service-owner.js +43 -2
  80. package/dist/service-owner.js.map +1 -1
  81. package/dist/settings-api.js +4 -0
  82. package/dist/settings-api.js.map +1 -1
  83. package/dist/settings-change.js +2 -0
  84. package/dist/settings-change.js.map +1 -1
  85. package/dist/settings-effect.js +2 -0
  86. package/dist/settings-effect.js.map +1 -1
  87. package/dist/setup-form.js +17 -3
  88. package/dist/setup-form.js.map +1 -1
  89. package/dist/setup-i18n.js +2 -0
  90. package/dist/setup-i18n.js.map +1 -1
  91. package/dist/task-board-waker.js +7 -2
  92. package/dist/task-board-waker.js.map +1 -1
  93. package/dist/tool-permissions.js +1 -0
  94. package/dist/tool-permissions.js.map +1 -1
  95. package/dist/types.d.ts +5 -0
  96. package/dist/ui/fleet-office-card.js +114 -0
  97. package/dist/ui/fleet-office-editor.js +27 -7
  98. package/dist/ui/fleet-office-layout.js +14 -6
  99. package/dist/ui/fleet-office-levels.js +105 -0
  100. package/dist/ui/fleet-office-model.js +9 -1
  101. package/dist/ui/fleet-office-pack.d.ts +6 -0
  102. package/dist/ui/fleet-office-pack.js +62 -6
  103. package/dist/ui/fleet-office-skin.js +39 -3
  104. package/dist/ui/fleet-office-store.js +31 -3
  105. package/dist/ui/fleet-office-view.js +8 -0
  106. package/dist/ui/fleet-office-zones.js +10 -2
  107. package/dist/ui/fleet-office.js +208 -30
  108. package/dist/ui/fleet-org.js +2 -0
  109. package/dist/ui/fleet-task-card.js +2 -2
  110. package/dist/ui/fleet-task-common.js +30 -7
  111. package/dist/ui/fleet-task-work.js +2 -2
  112. package/dist/ui/fleet-tasks.js +10 -11
  113. package/dist/ui/office-share-dialog.js +31 -7
  114. package/dist/ui/office-share-page.js +1 -0
  115. package/dist/ui/panel-log.js +2 -2
  116. package/dist/ui/panel-settings.js +7 -1
  117. package/dist/ui/settings-registry.js +1 -0
  118. package/dist/ui/settings-strings.js +4 -0
  119. package/dist/ui/settings-wizard.js +15 -4
  120. package/dist/ui/shared/app.css +50 -0
  121. package/dist/ui/shared/setup-host-text.js +2 -0
  122. package/dist/usage-rollup.d.ts +34 -3
  123. package/dist/usage-rollup.js +56 -3
  124. package/dist/usage-rollup.js.map +1 -1
  125. package/dist/web-api.d.ts +5 -0
  126. package/dist/web-api.js +116 -14
  127. package/dist/web-api.js.map +1 -1
  128. package/dist/web-auth.js +1 -1
  129. package/dist/web-auth.js.map +1 -1
  130. package/dist/web-office-acts.d.ts +5 -2
  131. package/dist/web-office-acts.js +7 -2
  132. package/dist/web-office-acts.js.map +1 -1
  133. package/dist/web-office-pack-tools.d.ts +10 -1
  134. package/dist/web-office-pack-tools.js +36 -5
  135. package/dist/web-office-pack-tools.js.map +1 -1
  136. package/dist/web-office-skins.js +6 -0
  137. package/dist/web-office-skins.js.map +1 -1
  138. package/dist/web-office-store.d.ts +28 -4
  139. package/dist/web-office-store.js +49 -8
  140. package/dist/web-office-store.js.map +1 -1
  141. package/dist/web-settings-patch.d.ts +3 -1
  142. package/dist/web-settings-patch.js +4 -1
  143. package/dist/web-settings-patch.js.map +1 -1
  144. package/dist/workflow-templates/default.md +1 -1
  145. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"usage-rollup.js","sourceRoot":"","sources":["../src/usage-rollup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"usage-rollup.js","sourceRoot":"","sources":["../src/usage-rollup.ts"],"names":[],"mappings":"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"}
package/dist/web-api.d.ts CHANGED
@@ -68,6 +68,7 @@ export interface WebApiContext {
68
68
  echo_to_channel?: boolean;
69
69
  usage_panel?: boolean;
70
70
  usage_report_on_public_link?: boolean;
71
+ office_levels?: boolean;
71
72
  upload_max_file_mb?: number;
72
73
  upload_max_total_mb?: number;
73
74
  search?: {
@@ -197,6 +198,8 @@ export interface WebApiContext {
197
198
  readonly themeStore?: ThemeStore;
198
199
  /** Fleet → Org chart → Office: the offices people made (web-offices.json); absent: /ui/offices is not offered. */
199
200
  readonly officeStore?: OfficeStore;
201
+ /** #2080: an instance dispatcher no longer in the fleet (its cards fall back to the person: Waiting for you). */
202
+ readonly dispatcherGone?: (name: string) => boolean;
200
203
  /** How often a person may save the offices (absent: no limit, as in a test without it). */
201
204
  readonly officeWrites?: OfficeWriteLimiter;
202
205
  /** #2578: the agents' live acts in the Office view (office_set); absent: /ui/office-acts is not offered. */
@@ -258,6 +261,8 @@ export interface WebApiContext {
258
261
  logSteps?(name: string, q: import("./log-service.js").LogQuery): Promise<unknown>;
259
262
  /** #1468: the prompt-cache expiry analysis for a window ("24h" | "7d" | "30d"); absent: not offered. */
260
263
  cacheReport?(window: string): Promise<unknown>;
264
+ /** #2661: every instance's Office level (office-levels.ts), reused for a minute; null: web.office_levels is off. Absent: not offered. */
265
+ officeLevels?(): Promise<Record<string, import("./office-levels.js").OfficeLevel> | null>;
261
266
  /** #2122: the usage report (Fleet → Usage); absent: not offered. */
262
267
  usageReport?(params: {
263
268
  range: import("./usage-report.js").UsageRange;
package/dist/web-api.js CHANGED
@@ -450,7 +450,7 @@ function handleAppIcon(req, res, url, ctx, method) {
450
450
  }
451
451
  /**
452
452
  * #2636: Office share links — GET /ui/office-share (the open ones, and whether this fleet offers them), POST { office,
453
- * minutes?, text? } (a new one; answers its URL once its tunnel is up, or why not), DELETE /ui/office-share/<id|all>.
453
+ * minutes?, text?, theme? } (a new one; #2715 theme "auto" | "light" | "dark"; answers its URL once its tunnel is up, or why not), DELETE /ui/office-share/<id|all>.
454
454
  * An admin session only — on the dashboard reached directly, or (the user, #2636 follow-up) a fleet admin signed in over
455
455
  * the /web public link: the same check either way. Never the CLI token, a read-only session or a guest. The share's own
456
456
  * tunnel and gateway stay apart from /web's. The person is asked again once the body is in.
@@ -515,12 +515,13 @@ function handleOfficeShare(req, res, url, ctx, path, method) {
515
515
  return;
516
516
  }
517
517
  if (!body || typeof body !== "object" || Array.isArray(body) || typeof body.office !== "string"
518
- || (body.minutes !== undefined && typeof body.minutes !== "number") || (body.text !== undefined && typeof body.text !== "boolean")) {
519
- json(res, 400, { error: "office (string), minutes? (number), text? (boolean)" });
518
+ || (body.minutes !== undefined && typeof body.minutes !== "number") || (body.text !== undefined && typeof body.text !== "boolean")
519
+ || (body.theme !== undefined && typeof body.theme !== "string")) {
520
+ json(res, 400, { error: "office (string), minutes? (number), text? (boolean), theme? (auto, light or dark)" });
520
521
  return;
521
522
  }
522
523
  const made = await service.create({ office: body.office, owner: now.person, ...(typeof body.minutes === "number" ? { minutes: body.minutes } : {}),
523
- ...(typeof body.text === "boolean" ? { text: body.text } : {}) });
524
+ ...(typeof body.text === "boolean" ? { text: body.text } : {}), ...(typeof body.theme === "string" ? { theme: body.theme } : {}) });
524
525
  if (!made.ok) {
525
526
  const status = made.error === "disabled" ? 404 : made.error === "tunnel" ? 503 : made.error === "too_many" ? 409 : 400;
526
527
  json(res, status, { error: made.error, ...(made.reason ? { reason: made.reason } : {}) });
@@ -2484,6 +2485,75 @@ export function handleWebRequest(req, res, url, ctx) {
2484
2485
  });
2485
2486
  return true;
2486
2487
  }
2488
+ // #2716: PUT /ui/office-style { skin }: the whole-fleet office's style for every viewer, device and share link (a skin
2489
+ // id, or null for the default; read back as GET /ui/offices's autoSkin). Who may save the offices may set it, as they
2490
+ // would: an admin session, never the CLI token or the public link; asked again once the body is in; counted with the
2491
+ // offices' saves. Every page hears `offices` and reads again.
2492
+ if (method === "PUT" && path === "/ui/office-style") {
2493
+ const store = ctx.officeStore;
2494
+ if (!store) {
2495
+ json(res, 404, { error: "Offices are not kept on this fleet" });
2496
+ return true;
2497
+ }
2498
+ if (gatewayRequestContext(req)) {
2499
+ json(res, 403, { error: "offices_not_over_public_link" });
2500
+ return true;
2501
+ }
2502
+ const who = () => {
2503
+ const verdict = evaluateWebRequest(req, url, ctx.webToken ?? null, ctx.webSessions, { touch: false });
2504
+ if (verdict.kind !== "allow")
2505
+ return { status: 401 };
2506
+ return verdict.via === "session" && verdict.session?.tier === "admin" ? { person: verdict.session.owner ? webPersonKey(verdict.session.owner) : "admin-session" } : { status: 403 };
2507
+ };
2508
+ const refuse = (status) => json(res, status, { error: status === 401 ? WEB_TOKEN_INVALID_MESSAGE : "offices_need_an_admin_session" });
2509
+ const first = who();
2510
+ if ("status" in first) {
2511
+ refuse(first.status);
2512
+ return true;
2513
+ }
2514
+ (async () => {
2515
+ let body;
2516
+ try {
2517
+ body = await parseBody(req);
2518
+ }
2519
+ catch {
2520
+ json(res, 400, { error: "Invalid JSON" });
2521
+ return;
2522
+ }
2523
+ if (!permitWebContinuation(req, res, ctx))
2524
+ return;
2525
+ const now = who();
2526
+ if ("status" in now) {
2527
+ refuse(now.status);
2528
+ return;
2529
+ }
2530
+ if (!body || typeof body !== "object" || Array.isArray(body) || !("skin" in body) || Object.keys(body).some(k => k !== "skin")) {
2531
+ json(res, 400, { error: "office_style_invalid", detail: "{ skin: a skin id, or null }" });
2532
+ return;
2533
+ }
2534
+ const limiter = ctx.officeWrites, allowed = limiter ? limiter.check(now.person) : { ok: true };
2535
+ if (!allowed.ok) {
2536
+ res.setHeader("Retry-After", String(allowed.retry_after_s));
2537
+ json(res, 429, { error: "offices_rate_limited", retry_after_s: allowed.retry_after_s });
2538
+ return;
2539
+ }
2540
+ const r = store.setAutoSkin(body.skin);
2541
+ if (!r.ok) {
2542
+ json(res, r.status, { error: r.error, ...(r.detail ? { detail: r.detail } : {}) });
2543
+ return;
2544
+ }
2545
+ limiter?.record(now.person);
2546
+ ctx.emitSseEvent("offices", { rev: r.rev });
2547
+ json(res, 200, { rev: r.rev, autoSkin: r.autoSkin });
2548
+ })().catch(err => {
2549
+ ctx.logger.error({ err: err.message }, "Saving the office style failed");
2550
+ try {
2551
+ json(res, 500, { error: "Saving the office style failed" });
2552
+ }
2553
+ catch { /* already answered */ }
2554
+ });
2555
+ return true;
2556
+ }
2487
2557
  // #2578: GET /ui/office-acts { acts }: the agents' live acts (office_set), read as the offices are (the public link
2488
2558
  // too, which has no stream); every change also comes as `office_acts` on the stream. Nothing here writes one.
2489
2559
  if (method === "GET" && path === "/ui/office-acts") {
@@ -2495,6 +2565,37 @@ export function handleWebRequest(req, res, url, ctx) {
2495
2565
  json(res, 200, { acts: acts.live(), now: Date.now() }); // now: the host's clock, for the page's offset
2496
2566
  return true;
2497
2567
  }
2568
+ // #2661: GET /ui/office-levels { enabled, unit, detail, levels }: each instance's Office level, read as the offices
2569
+ // are (a guest's routes do not include it). The level for whoever may open the Office; the numbers behind it (work
2570
+ // tokens, today, first seen) only where the usage report would be served (`detail`): not with web.usage_panel off,
2571
+ // not over the public link unless web.usage_report_on_public_link. Off (web.office_levels false): no levels at all.
2572
+ if (method === "GET" && path === "/ui/office-levels") {
2573
+ if (!ctx.officeLevels) {
2574
+ json(res, 404, { error: "Office levels are not kept on this fleet" });
2575
+ return true;
2576
+ }
2577
+ const admitted = admissionOf(req, url, ctx);
2578
+ if (!admitted) {
2579
+ json(res, 401, { error: WEB_TOKEN_INVALID_MESSAGE });
2580
+ return true;
2581
+ }
2582
+ const detail = () => ctx.fleetConfig?.web?.usage_panel !== false
2583
+ && (!gatewayRequestContext(req) || ctx.fleetConfig?.web?.usage_report_on_public_link === true);
2584
+ void import("./office-levels.js").then(async ({ LEVEL, levelsFor }) => {
2585
+ const levels = await ctx.officeLevels();
2586
+ // Asked again before it is sent (it was awaited): a session signed out or a switch turned off meanwhile.
2587
+ if (admissionOf(req, url, ctx) !== admitted)
2588
+ return json(res, 401, { error: WEB_TOKEN_INVALID_MESSAGE });
2589
+ if (!levels || ctx.fleetConfig?.web?.office_levels === false)
2590
+ return json(res, 200, { enabled: false, unit: LEVEL.UNIT, detail: false, levels: {} });
2591
+ const d = detail();
2592
+ json(res, 200, { enabled: true, unit: LEVEL.UNIT, detail: d, levels: levelsFor(levels, d) });
2593
+ }).catch((err) => { ctx.logger.error({ err }, "office levels failed"); try {
2594
+ json(res, 500, { error: "Office levels failed" });
2595
+ }
2596
+ catch { /* already answered */ } });
2597
+ return true;
2598
+ }
2498
2599
  if (path === "/ui/office-skins" || path.startsWith("/ui/office-skins/"))
2499
2600
  return handleOfficeSkins(req, res, url, ctx, path, method);
2500
2601
  if (path === "/ui/office-pack-changes" || path.startsWith("/ui/office-pack-changes/"))
@@ -3319,7 +3420,8 @@ export function handleWebRequest(req, res, url, ctx) {
3319
3420
  // #2296: every open Tasks tab reads the board again after each change; on the dashboard they all get the same
3320
3421
  // board for a revision, so it is built once per (revision, done=all, minute) — the minute for the 14-day
3321
3422
  // window. The public link's reads are filtered per request (hidden instances) and are built each time.
3322
- const key = gateway ? null : `${rev}:${allDone ? 1 : 0}:${Math.floor(Date.now() / 60_000)}`;
3423
+ // #2757 review: and by the dispatchers gone (a deleted one makes its cards the person's, the revision unchanged).
3424
+ const key = gateway ? null : `${rev}:${allDone ? 1 : 0}:${Math.floor(Date.now() / 60_000)}:${board.goneDispatchers(ctx.dispatcherGone)}`;
3323
3425
  const kept = key ? boardBodies.get(board) : undefined;
3324
3426
  if (kept && kept.key === key) {
3325
3427
  jsonText(res, 200, kept.body);
@@ -3331,7 +3433,7 @@ export function handleWebRequest(req, res, url, ctx) {
3331
3433
  // #2355 review: the names a project's lead may be — the fleet's instances (a Classic-only room is not one); over the
3332
3434
  // public link, not a hidden one.
3333
3435
  const leads = Object.keys(ctx.fleetConfig?.instances ?? {}).filter((n) => !hiddenName(n)).sort();
3334
- const body = JSON.stringify({ rev, cards: board.views(cards, scope), projects, leads, stats: board.projectStats() });
3436
+ const body = JSON.stringify({ rev, cards: board.views(cards, scope, ctx.dispatcherGone), projects, leads, stats: board.projectStats(ctx.dispatcherGone) });
3335
3437
  if (key)
3336
3438
  boardBodies.set(board, { key, body });
3337
3439
  jsonText(res, 200, body);
@@ -3346,7 +3448,7 @@ export function handleWebRequest(req, res, url, ctx) {
3346
3448
  // by every open drawer (the public link's is filtered per request, as the board's).
3347
3449
  const only = url.searchParams.get("instance");
3348
3450
  const names = (only ? [only] : [...new Set([...Object.keys(ctx.fleetConfig?.instances ?? {}), ...board.liveAssignees()])]).filter((n) => !hiddenName(n));
3349
- const key = gateway ? null : `${board.revision()}:${only === null ? "*" : `=${only}`}:${names.join("\u0000")}`;
3451
+ const key = gateway ? null : `${board.revision()}:${only === null ? "*" : `=${only}`}:${names.join("\u0000")}:${board.goneDispatchers(ctx.dispatcherGone)}`;
3350
3452
  const kept = key ? workBodies.get(board) : undefined;
3351
3453
  if (kept && kept.key === key) {
3352
3454
  jsonText(res, 200, kept.body);
@@ -3359,7 +3461,7 @@ export function handleWebRequest(req, res, url, ctx) {
3359
3461
  for (const c of [...w.doing, ...w.blocked, ...w.review, ...w.ready, ...w.waiting.map((x) => x.card), ...w.mains.map((x) => x.card)])
3360
3462
  if (!hidden(c))
3361
3463
  all.set(c.uuid, c);
3362
- const viewOf = new Map(board.views([...all.values()], scope).map((v) => [v.uuid, v]));
3464
+ const viewOf = new Map(board.views([...all.values()], scope, ctx.dispatcherGone).map((v) => [v.uuid, v]));
3363
3465
  const drawn = (cards) => cards.flatMap((c) => (viewOf.has(c.uuid) ? [viewOf.get(c.uuid)] : []));
3364
3466
  const codes = (cards) => cards.filter((x) => all.has(x.card.uuid)).map((x) => x.card.code);
3365
3467
  const body = JSON.stringify({ instances: works.map(({ name, w }) => ({
@@ -3376,7 +3478,7 @@ export function handleWebRequest(req, res, url, ctx) {
3376
3478
  if (method === "GET" && path === "/ui/tasks/search") {
3377
3479
  const names = new Map(board.listProjects(true).map((p) => [p.id, p.name]));
3378
3480
  const hits = board.search(url.searchParams.get("q") ?? "", Number(url.searchParams.get("limit")) || 20, scope).filter((h) => !hidden(h.card));
3379
- const views = board.views(hits.map((h) => h.card), scope);
3481
+ const views = board.views(hits.map((h) => h.card), scope, ctx.dispatcherGone);
3380
3482
  const results = hits.map(({ card: c, match }, i) => ({
3381
3483
  card: views[i],
3382
3484
  match,
@@ -3392,13 +3494,13 @@ export function handleWebRequest(req, res, url, ctx) {
3392
3494
  json(res, 404, { error: "no such card", code: "not_found" });
3393
3495
  return true;
3394
3496
  }
3395
- json(res, 200, shown(board.detail(ref, scope)));
3497
+ json(res, 200, shown(board.detail(ref, scope, ctx.dispatcherGone)));
3396
3498
  return true;
3397
3499
  }
3398
3500
  if (method === "POST" && path === "/ui/tasks/cards") {
3399
3501
  boardWrite(req, res, url, ctx, board, CardCreateSchema, (spec, person) => {
3400
3502
  const { cards, said } = board.createCards(person, { cards: [spec] });
3401
- return { card: board.view(cards[0]), notes: said };
3503
+ return { card: board.view(cards[0], {}, ctx.dispatcherGone), notes: said };
3402
3504
  });
3403
3505
  return true;
3404
3506
  }
@@ -3406,16 +3508,16 @@ export function handleWebRequest(req, res, url, ctx) {
3406
3508
  if (card[2] === "move") {
3407
3509
  boardWrite(req, res, url, ctx, board, CardMoveSchema, ({ to, ...move }, person) => {
3408
3510
  const { card: moved, said } = board.moveCard(person, ref, to, move);
3409
- return { card: board.view(moved), notes: said };
3511
+ return { card: board.view(moved, {}, ctx.dispatcherGone), notes: said };
3410
3512
  });
3411
3513
  }
3412
3514
  else if (card[2] === "reorder") {
3413
- boardWrite(req, res, url, ctx, board, CardReorderSchema, ({ after, before }, person) => ({ card: board.view(board.reorder(person, ref, after ?? null, before ?? null)) }));
3515
+ boardWrite(req, res, url, ctx, board, CardReorderSchema, ({ after, before }, person) => ({ card: board.view(board.reorder(person, ref, after ?? null, before ?? null), {}, ctx.dispatcherGone) }));
3414
3516
  }
3415
3517
  else {
3416
3518
  boardWrite(req, res, url, ctx, board, CardPatchSchema, (patch, person) => {
3417
3519
  const { card: updated, said } = board.updateCard(person, ref, patch);
3418
- return { card: board.view(updated), notes: said };
3520
+ return { card: board.view(updated, {}, ctx.dispatcherGone), notes: said };
3419
3521
  });
3420
3522
  }
3421
3523
  return true;