@songsid/agend 2.3.2-beta.15 → 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 (74) hide show
  1. package/dist/cache-service.d.ts +13 -1
  2. package/dist/cache-service.js +45 -2
  3. package/dist/cache-service.js.map +1 -1
  4. package/dist/channel/mcp-tools.js +2 -2
  5. package/dist/channel/mcp-tools.js.map +1 -1
  6. package/dist/config-validator.js +4 -1
  7. package/dist/config-validator.js.map +1 -1
  8. package/dist/fleet-manager.d.ts +14 -0
  9. package/dist/fleet-manager.js +33 -1
  10. package/dist/fleet-manager.js.map +1 -1
  11. package/dist/general-knowledge/skills/web-dashboard/SKILL.canvas-worker-off.md +10 -5
  12. package/dist/general-knowledge/skills/web-dashboard/SKILL.md +10 -5
  13. package/dist/instance-config-impact.js +1 -0
  14. package/dist/instance-config-impact.js.map +1 -1
  15. package/dist/office-levels.d.ts +64 -0
  16. package/dist/office-levels.js +66 -0
  17. package/dist/office-levels.js.map +1 -0
  18. package/dist/office-share-page.js +1 -1
  19. package/dist/office-share-page.js.map +1 -1
  20. package/dist/office-share.d.ts +18 -2
  21. package/dist/office-share.js +22 -4
  22. package/dist/office-share.js.map +1 -1
  23. package/dist/public-web-gateway.js +1 -1
  24. package/dist/public-web-gateway.js.map +1 -1
  25. package/dist/scheduler/task-board.d.ts +28 -6
  26. package/dist/scheduler/task-board.js +66 -11
  27. package/dist/scheduler/task-board.js.map +1 -1
  28. package/dist/settings-api.js +4 -0
  29. package/dist/settings-api.js.map +1 -1
  30. package/dist/settings-change.js +2 -0
  31. package/dist/settings-change.js.map +1 -1
  32. package/dist/settings-effect.js +2 -0
  33. package/dist/settings-effect.js.map +1 -1
  34. package/dist/task-board-waker.js +7 -2
  35. package/dist/task-board-waker.js.map +1 -1
  36. package/dist/types.d.ts +5 -0
  37. package/dist/ui/fleet-office-card.js +114 -0
  38. package/dist/ui/fleet-office-editor.js +27 -7
  39. package/dist/ui/fleet-office-levels.js +105 -0
  40. package/dist/ui/fleet-office-model.js +9 -1
  41. package/dist/ui/fleet-office-pack.d.ts +2 -0
  42. package/dist/ui/fleet-office-pack.js +48 -2
  43. package/dist/ui/fleet-office-skin.js +39 -3
  44. package/dist/ui/fleet-office-store.js +13 -0
  45. package/dist/ui/fleet-office.js +172 -26
  46. package/dist/ui/fleet-org.js +2 -0
  47. package/dist/ui/fleet-task-card.js +2 -2
  48. package/dist/ui/fleet-task-common.js +30 -7
  49. package/dist/ui/fleet-task-work.js +2 -2
  50. package/dist/ui/fleet-tasks.js +10 -11
  51. package/dist/ui/office-share-page.js +1 -0
  52. package/dist/ui/panel-settings.js +7 -1
  53. package/dist/ui/settings-registry.js +1 -0
  54. package/dist/ui/settings-strings.js +2 -0
  55. package/dist/ui/shared/app.css +44 -0
  56. package/dist/usage-rollup.d.ts +34 -3
  57. package/dist/usage-rollup.js +56 -3
  58. package/dist/usage-rollup.js.map +1 -1
  59. package/dist/web-api.d.ts +5 -0
  60. package/dist/web-api.js +42 -10
  61. package/dist/web-api.js.map +1 -1
  62. package/dist/web-auth.js +1 -1
  63. package/dist/web-auth.js.map +1 -1
  64. package/dist/web-office-acts.d.ts +5 -2
  65. package/dist/web-office-acts.js +7 -2
  66. package/dist/web-office-acts.js.map +1 -1
  67. package/dist/web-office-store.d.ts +6 -1
  68. package/dist/web-office-store.js +5 -0
  69. package/dist/web-office-store.js.map +1 -1
  70. package/dist/web-settings-patch.d.ts +3 -1
  71. package/dist/web-settings-patch.js +4 -1
  72. package/dist/web-settings-patch.js.map +1 -1
  73. package/dist/workflow-templates/default.md +1 -1
  74. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"settings-effect.js","sourceRoot":"","sources":["../src/settings-effect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settings-effect.js","sourceRoot":"","sources":["../src/settings-effect.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import { personConfirms, wrapUpGap } from "./scheduler/task-board.js";
3
3
  /** More assignments than this in one message are told as a count, not a line each. */
4
4
  const MANY_ASSIGNED = 3;
5
5
  /** The order a card's news is told in. */
6
- const ORDER = ["cancelled", "sent_back", "decide", "to_confirm", "answered", "approved", "wrap_up", "assigned", "start", "ready", "comment"];
6
+ const ORDER = ["cancelled", "sent_back", "decide", "to_confirm", "confirm_own", "answered", "approved", "wrap_up", "assigned", "start", "ready", "comment"];
7
7
  const quote = (text) => (text ? `: "${oneLine(text, 160)}"` : "");
8
8
  /** One reason, as a line about the card says it. */
9
9
  function say(w, r, card, here = false) {
@@ -24,6 +24,11 @@ function say(w, r, card, here = false) {
24
24
  const waits = `you handed it out and it is ready for your confirmation${card?.assignee ? ` (@${card.assignee})` : ""}${gap ? `, though ${gapText(gap, card.kind === "main")}` : ""}`;
25
25
  return `${waits} — check it, then move it to done, or back to claimed with what is missing`;
26
26
  }
27
+ // #2080: an agent's own card (nobody else confirms it) in review by itself or by another's move.
28
+ case "confirm_own": {
29
+ const gap = card ? wrapUpGap(card) : null;
30
+ return `it is in review and nobody else confirms it — it is yours${gap ? `, though ${gapText(gap, card.kind === "main")}` : ""}: check it, then move it to done`;
31
+ }
27
32
  case "approved": {
28
33
  const who = card && !personConfirms(card) ? by : "the person";
29
34
  return card?.assignee === w.instance ? `${who} confirmed it${quote(w.texts.approved)}` : `you handed it out; ${who} confirmed it${quote(w.texts.approved)}`;
@@ -31,7 +36,7 @@ function say(w, r, card, here = false) {
31
36
  case "cancelled": return `cancelled by ${by}${w.texts.cancelled?.startsWith("with its main task") ? ` ${oneLine(w.texts.cancelled, 160)}` : quote(w.texts.cancelled)} — stop working on it`;
32
37
  case "wrap_up": {
33
38
  const gap = card ? wrapUpGap(card) : null;
34
- return `it went to the person for confirmation by itself${gap ? `, but ${gapText(gap, true)}` : ""} — fill it in with update`;
39
+ return `it went ${card && !personConfirms(card) ? "to review" : "to the person for confirmation"} by itself${gap ? `, but ${gapText(gap, true)}` : ""} — fill it in with update`;
35
40
  }
36
41
  }
37
42
  }
@@ -1 +1 @@
1
- {"version":3,"file":"task-board-waker.js","sourceRoot":"","sources":["../src/task-board-waker.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAa,MAAM,2BAA2B,CAAC;AAqBjF,sFAAsF;AACtF,MAAM,aAAa,GAAG,CAAC,CAAC;AACxB,0CAA0C;AAC1C,MAAM,KAAK,GAAiB,CAAC,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;AAE3J,MAAM,KAAK,GAAG,CAAC,IAAwB,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAEtF,oDAAoD;AACpD,SAAS,GAAG,CAAC,CAAO,EAAE,CAAa,EAAE,IAAsB,EAAE,IAAI,GAAG,KAAK;IACvE,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;IAChC,QAAQ,CAAC,EAAE,CAAC;QACV,KAAK,UAAU,EAAE,OAAO,sBAAsB,EAAE,EAAE,CAAC;QACnD,KAAK,OAAO,EAAE,OAAO,GAAG,EAAE,uBAAuB,CAAC;QAClD,KAAK,WAAW,EAAE,OAAO,gBAAgB,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;QACzE,KAAK,UAAU,EAAE,OAAO,GAAG,EAAE,kCAAkC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,4BAA4B,CAAC;QACnH,KAAK,SAAS,EAAE,OAAO,oBAAoB,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACzE,KAAK,OAAO,EAAE,OAAO,qDAAqD,CAAC;QAC3E,KAAK,QAAQ,EAAE,OAAO,IAAI;YACxB,CAAC,CAAC,sCAAsC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,qJAAqJ;YACjQ,CAAC,CAAC,sCAAsC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,6FAA6F,CAAC;QAC5M,8GAA8G;QAC9G,KAAK,YAAY,EAAE,CAAC;YAClB,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC1C,MAAM,KAAK,GAAG,0DAA0D,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,YAAY,OAAO,CAAC,GAAG,EAAE,IAAK,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACtL,OAAO,GAAG,KAAK,4EAA4E,CAAC;QAC9F,CAAC;QACD,KAAK,UAAU,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC;YAC9D,OAAO,IAAI,EAAE,QAAQ,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,gBAAgB,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,sBAAsB,GAAG,gBAAgB,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9J,CAAC;QACD,KAAK,WAAW,EAAE,OAAO,gBAAgB,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,UAAU,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,uBAAuB,CAAC;QAC5L,KAAK,SAAS,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC1C,OAAO,mDAAmD,GAAG,CAAC,CAAC,CAAC,SAAS,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,2BAA2B,CAAC;QAChI,CAAC;IACH,CAAC;AACH,CAAC;AAED,4DAA4D;AAC5D,SAAS,MAAM,CAAC,KAAe;IAC7B,MAAM,CAAC,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACnG,IAAI,GAAG;QAAE,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;IAC5D,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACtF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,KAAa,EAAE,IAAI,GAAuC,GAAG,EAAE,CAAC,SAAS;AACnG,wFAAwF;AACxF,WAAW,GAAyB,GAAG,EAAE,CAAC,KAAK;IAC/C,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACnH,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QAC/B,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,UAAU,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QAChI,IAAI,IAAI;YAAE,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACxD,OAAO,CAAC,IAAI,CAAC;IACf,CAAC,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,CAAC,CAAO,EAAE,EAAE;QACvB,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvH,OAAO,GAAG,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,IAAI,YAAY,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,GAAG,CAAC;IAC1H,CAAC,CAAC;IACF,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC;IAC5F,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,MAAM,GAAG,aAAa,EAAE,CAAC;QACxD,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACnE,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9F,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,aAAa,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,YAAY,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxM,MAAM,OAAO,GAAG,qBAAqB,IAAI,GAAG,CAAC;QAC7C,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,MAAM,IAAI,GAAG,gFAAgF,CAAC;QAC9F,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,OAAO,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,gBAAgB,OAAO,IAAI,IAAI,EAAE,CAAC;IAC7I,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,gBAAgB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,2BAA2B,KAAK,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC;IAC1G,OAAO,gBAAgB,KAAK,CAAC,MAAM,2BAA2B,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC;AACpI,CAAC;AAED,MAAM,OAAO,cAAc;IAMI,IAAI;IALhB,SAAS,GAAG,IAAI,GAAG,EAAwD,CAAC;IACrF,OAAO,GAAG,KAAK,CAAC;IAChB,GAAG,GAAG,CAAC,CAAC;IACC,MAAM,CAA4C;IAEnE,YAA6B,IAAwB;oBAAxB,IAAI;QAC/B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC,GAAG,UAAU,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAkC,CAAC,EAAE,CAAC;IAC7K,CAAC;IAED,gHAAgH;IAChH,IAAI,CAAC,KAAsB;QACzB,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QACzB,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC;gBAAE,SAAS;YAChD,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC3C,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,KAAK,GAAG,EAAE,KAAK,EAAE,IAAI,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,EAAE,CAAC;gBACjH,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YACxC,CAAC;YACD,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACpC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG;gBACzB,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;gBACpJ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACjF,CAAC;IACH,CAAC;IAED,yGAAyG;IACzG,IAAI;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;YAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACpE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IAEO,KAAK,CAAC,QAAgB;QAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAChC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QACnC,qGAAqG;QACrG,MAAM,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAa,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;QAC5G,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,OAAO;QAC1B,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,GAAG,GAAG,cAAc,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;QACpF,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,IAAI,CAAC;YAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,WAAW,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;QAAC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YAC5K,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,wBAAwB,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAG,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YAClG,OAAO;QACT,CAAC;QACD,IAAI,KAAK;YAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,oCAAoC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;;YACvF,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,oDAAoD,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IACxG,CAAC;CACF"}
1
+ {"version":3,"file":"task-board-waker.js","sourceRoot":"","sources":["../src/task-board-waker.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -398,6 +398,11 @@ export interface WebConfig {
398
398
  * rail or the cache report the link already shows. Guests never get it.
399
399
  */
400
400
  usage_report_on_public_link?: boolean;
401
+ /**
402
+ * #2661: Office levels — each instance's level from its lifetime work, on its name tag and profile card (default
403
+ * true). Off: the host serves no levels (GET /ui/office-levels, a share link's), so no badge or level row is shown.
404
+ */
405
+ office_levels?: boolean;
401
406
  /**
402
407
  * #1937: the largest file the web chat takes, in MB (whole number, 1–500; default 50). Never more than
403
408
  * upload_max_total_mb; over the public link a file is at most 95 MB whatever this says (the quick tunnel's limit).
@@ -0,0 +1,114 @@
1
+ // #2661: a person's profile card in the Office (fleet-office.js opens it): a popover beside them, not a modal — the Office
2
+ // keeps running and is not dimmed; on a phone, a bottom sheet swiped down to close. Fixed 320 px wide.
3
+ //
4
+ // [avatar + badge] Display name
5
+ // instance-name (one line, cut, full on hover)
6
+ // Working · Master ← the state as the tooltip words it, and the title
7
+ // Lv 50 · 260M work tokens ← two lines over the XP bar, so neither wraps alone
8
+ // 10.4M to Lv 51
9
+ // [=========-----]
10
+ // Office Engineering · Work Model claude-opus-5-5
11
+ // Backend Claude Code Today 12.3K · 45 requests
12
+ // First seen Day 42
13
+ // Now: Typing away
14
+ // [Find in office] [Chat]
15
+ //
16
+ // What a viewer sees follows the host (GET /ui/office-levels, src/office-levels.ts): the level for anyone who sees the
17
+ // Office; work tokens, today and first seen only where the usage report is served (`detail`). A share link's page (no
18
+ // `onChat`) shows the name, title, state and office only — never the model, the backend or numbers. A title a skin pack
19
+ // pins (`levels.fixed`) shows whatever the level; with hideLevel, no "Lv n" and no XP bar. Levels off: no level rows.
20
+ import { html, useEffect, useRef } from "/assets/app-html.js";
21
+ import { t, register } from "/assets/app-i18n.js";
22
+ import { backendLabel, modelText, namesOf } from "/assets/instance-nav.js";
23
+ import { badgeText, fixedOf, tierOf, titleOf, tokens, xpOf } from "./fleet-office-levels.js";
24
+
25
+ register("ocard", {
26
+ en: {
27
+ card: "{0}'s card", level: "Lv {0}", work: "{0} work tokens", estimated: "estimated", toNext: "{0} to Lv {1}", office: "Office", model: "Model", backend: "Backend",
28
+ today: "Today", todayN: "{0} work tokens · {1} requests", firstSeen: "First seen", day: "Day {0}", now: "Now", find: "Find in office", chat: "Chat",
29
+ close: "Close", xp: "Progress to Lv {0}",
30
+ },
31
+ "zh-TW": {
32
+ card: "{0} 的名片", level: "Lv {0}", work: "{0} 工作 token", estimated: "估算", toNext: "再 {0} 到 Lv {1}", office: "辦公室", model: "模型", backend: "後端",
33
+ today: "今天", todayN: "{0} 工作 token · {1} 次請求", firstSeen: "首次出現", day: "第 {0} 天", now: "現在", find: "在辦公室找他", chat: "聊天",
34
+ close: "關閉", xp: "升到 Lv {0} 的進度",
35
+ },
36
+ });
37
+ const tc = (k, ...v) => t(`ocard.${k}`, ...v);
38
+
39
+ /** The days from `first` (YYYY-MM-DD, the fleet's zone) to today on this device's clock, counting the first as day 1. */
40
+ export function dayOf(first, nowMs = Date.now()) {
41
+ const m = /^(\d{4})-(\d{2})-(\d{2})$/.exec(first || "");
42
+ if (!m) return null;
43
+ const d = new Date(nowMs), today = Date.UTC(d.getFullYear(), d.getMonth(), d.getDate());
44
+ return Math.max(1, Math.floor((today - Date.UTC(+m[1], +m[2] - 1, +m[3])) / 86_400_000) + 1);
45
+ }
46
+
47
+ /**
48
+ * What the card says (pure, for the component and the tests): `node` the org chart's node; `lv` levelsOk's answer (or
49
+ * null); `levels` the style's pack `levels` (or null); `share` a share link's page; `state` the state's words; `now`
50
+ * the tooltip's activity line; `where` the office (and area) in words.
51
+ */
52
+ export function cardModel({ node, lv, levels, share = false, state, now, where }) {
53
+ const it = node.i || {};
54
+ const names = node.i ? namesOf(node.i) : { primary: node.name, secondary: "" };
55
+ const fx = fixedOf(node.name, levels);
56
+ const on = !!(lv && lv.enabled);
57
+ const e = on ? lv.levels.get(node.name) || null : null;
58
+ const showLevel = !!e && !(fx && fx.hideLevel);
59
+ const title = on && fx ? fx.title : e ? titleOf(e.level, levels && levels.titles) : null;
60
+ const detail = !share && !!e && e.workTokens !== undefined;
61
+ const xp = showLevel && detail ? xpOf(e.level, e.workTokens, lv.unit) : null;
62
+ const rows = [[tc("office"), where]];
63
+ if (!share && it.model) rows.push([tc("model"), modelText(it)]);
64
+ if (!share && it.backend) rows.push([tc("backend"), backendLabel(it.backend)]);
65
+ if (detail) rows.push([tc("today"), tc("todayN", tokens(e.today.workTokens), e.today.requests)]);
66
+ if (detail && e.firstSeen) rows.push([tc("firstSeen"), tc("day", dayOf(e.firstSeen))]);
67
+ return {
68
+ name: names.primary, instance: node.name,
69
+ stateLine: title ? `${state} · ${title}` : state,
70
+ badge: on && fx && fx.hideLevel ? { mark: true, tier: 0 } : e ? { text: badgeText(e.level), tier: tierOf(e.level) } : null,
71
+ level: showLevel ? { line1: detail ? `${tc("level", e.level)} · ${tc("work", tokens(e.workTokens))}` : tc("level", e.level), estimated: detail && e.estimated,
72
+ line2: xp ? tc("toNext", tokens(xp.toNext), xp.next) : null, pct: xp ? xp.pct : null, next: xp ? xp.next : null } : null,
73
+ rows, now,
74
+ };
75
+ }
76
+
77
+ /**
78
+ * The card. `model`: cardModel's; `avatar(canvas)`: draws the person's idle frame on it; `sheet`: a bottom sheet (a
79
+ * phone); `place(el)`: the page positions the popover (beside the person, following them); `onChat` (none on a share
80
+ * link), `onFind`, `onClose`.
81
+ */
82
+ export function OfficeCard({ model: m, avatar, sheet, place, onChat, onFind, onClose }) {
83
+ const box = useRef(null), canvas = useRef(null), swipe = useRef(null);
84
+ useEffect(() => { if (canvas.current && avatar) avatar(canvas.current); });
85
+ useEffect(() => { place && place(box.current); });
86
+ // A bottom sheet closes on a swipe down (60 px or more).
87
+ const down = (e) => { if (sheet) swipe.current = e.clientY; };
88
+ const up = (e) => { if (sheet && swipe.current !== null && e.clientY - swipe.current > 60) onClose(); swipe.current = null; };
89
+ return html`<div ref=${box} class=${`oo-card${sheet ? " sheet" : ""}`} role="dialog" aria-modal="false" aria-label=${tc("card", m.name)}
90
+ onPointerDown=${down} onPointerUp=${up} onPointerCancel=${() => { swipe.current = null; }}>
91
+ ${sheet ? html`<div class="oo-card-grip" aria-hidden="true"></div>` : null}
92
+ <div class="oo-card-head">
93
+ <div class="oo-card-avatar"><canvas ref=${canvas} width="56" height="56" aria-hidden="true"></canvas>
94
+ ${m.badge ? html`<span class=${`oo-badge tier-${m.badge.tier}${m.badge.mark ? " mark" : ""}`} aria-hidden="true">${m.badge.mark ? "" : m.badge.text}</span>` : null}</div>
95
+ <div class="oo-card-names">
96
+ <strong class="oo-card-name">${m.name}</strong>
97
+ <div class="oo-card-instance mono" title=${m.instance}>${m.instance}</div>
98
+ <div class="oo-card-state">${m.stateLine}</div>
99
+ </div>
100
+ <button type="button" class="icon-btn oo-card-close" aria-label=${tc("close")} title=${tc("close")} onClick=${onClose}>×</button>
101
+ </div>
102
+ ${m.level ? html`<div class="oo-card-xp">
103
+ <div>${m.level.line1}${m.level.estimated ? html` <span class="muted">(${tc("estimated")})</span>` : null}</div>
104
+ ${m.level.line2 ? html`<div class="muted">${m.level.line2}</div>` : null}
105
+ ${m.level.pct !== null ? html`<progress class="oo-card-bar" max="100" value=${Math.round(m.level.pct * 100)} aria-label=${tc("xp", m.level.next)}></progress>` : null}
106
+ </div>` : null}
107
+ <dl class="oo-card-rows">${m.rows.map(([k, v]) => html`<div><dt>${k}</dt><dd>${v}</dd></div>`)}</dl>
108
+ ${m.now ? html`<div class="oo-card-now"><span class="muted">${tc("now")}:</span> ${m.now}</div>` : null}
109
+ <div class="oo-card-actions">
110
+ ${onFind ? html`<button type="button" class="btn btn-sm btn-ghost oo-card-find" onClick=${onFind}>${tc("find")}</button>` : null}
111
+ ${onChat ? html`<button type="button" class="btn btn-sm btn-primary oo-card-chat" onClick=${onChat}>${tc("chat")}</button>` : null}
112
+ </div>
113
+ </div>`;
114
+ }
@@ -1,6 +1,6 @@
1
1
  // Fleet → Org chart → Office: the offices people keep on the host, edited (#2399 carry: the write surface's minimal
2
- // editor). An admin session adds an office, renames it, chooses its style (Desks / Studio), picks who is in it (whole
3
- // teams, or one instance at a time; none: everyone) and deletes one — then saves the whole list with the rev it read
2
+ // editor). An admin session adds an office, renames it, chooses its style (Desks / Studio), picks who is in it (everyone,
3
+ // whole teams or one instance at a time, or #2752 nobody: its style's NPCs only) and deletes one — then saves the whole list with the rev it read
4
4
  // (PUT /ui/offices; a change made meanwhile is a 409: read again, nothing overwritten). A stored office's layout (seats,
5
5
  // paths) and its layout overrides (Edit layout, fleet-office-layout.js) are kept as they are. Skin packs (#2513): the
6
6
  // packs the host keeps are styles to choose; an admin uploads one here (its manifest.json and its PNGs, picked together
@@ -13,11 +13,14 @@ import { SidePanel } from "/assets/side-panel.js";
13
13
  import { toast } from "/assets/ui-toast.js";
14
14
  import { nodeText } from "./fleet-org.js";
15
15
  import { BUILT_IN_SKINS } from "./fleet-office-skin.js";
16
+ import { NOBODY, membersMode } from "./fleet-office-model.js";
16
17
 
17
18
  register("orge", {
18
19
  en: {
19
20
  edit: "Edit offices", title: "Offices", lead: "Offices everyone on this fleet sees in the Office view. An office with no one picked shows everyone.",
20
21
  add: "Add office", newName: "New office", name: "Name", styleLabel: "Style", members: "Who is in it", membersN: "{0} picked", everyone: "Everyone",
22
+ picked: "Picked", nobody: "Nobody (NPCs only)", pickSome: "No one picked yet: it shows everyone until you pick someone.",
23
+ nobodyNote: "No agent sits here: only its style's NPCs.",
21
24
  teams: "Teams", instances: "Instances", remove: "Delete", save: "Save", cancel: "Cancel", saved: "Offices saved.",
22
25
  none: "No offices yet: the Office view shows the whole fleet.", nameNeeded: "Each office needs a name.", tooMany: "At most {0} offices.",
23
26
  changed: "Someone changed the offices meanwhile; your edits were not saved. Keep your edits (Save then replaces their change) or load theirs.",
@@ -39,6 +42,8 @@ register("orge", {
39
42
  "zh-TW": {
40
43
  edit: "編輯辦公室", title: "辦公室", lead: "這個 fleet 的每個人在辦公室檢視中都會看到這些辦公室。沒有選任何成員的辦公室會顯示全部。",
41
44
  add: "新增辦公室", newName: "新辦公室", name: "名稱", styleLabel: "風格", members: "成員", membersN: "已選 {0} 個", everyone: "全部",
45
+ picked: "指定", nobody: "沒有人(只有 NPC)", pickSome: "還沒選任何人:選人之前會顯示全部。",
46
+ nobodyNote: "這裡不坐任何 agent,只有風格裡的 NPC。",
42
47
  teams: "Team", instances: "Instance", remove: "刪除", save: "儲存", cancel: "取消", saved: "辦公室已儲存。",
43
48
  none: "還沒有辦公室:辦公室檢視會顯示整個 fleet。", nameNeeded: "每個辦公室都需要名稱。", tooMany: "最多 {0} 個辦公室。",
44
49
  changed: "有人在這期間修改了辦公室,你的編輯沒有儲存。你可以保留你的編輯(儲存時會取代對方的修改),或載入對方的版本。",
@@ -177,14 +182,29 @@ export function officeForSave(o) {
177
182
  return { id: o.id, name: o.name.trim(), skin: o.skin, members: [...o.members], ...(o.layout ? { layout: o.layout } : {}), ...(o.overrides ? { overrides: o.overrides } : {}) };
178
183
  }
179
184
 
185
+ const whoText = (members) => {
186
+ const mode = membersMode(members);
187
+ return mode === "everyone" ? te("everyone") : mode === "nobody" ? te("nobody") : te("membersN", members.filter((m) => m !== NOBODY).length);
188
+ };
189
+ /** "Who is in it" (#2752): Everyone ([]), Picked (the boxes; ticking one picks), or Nobody ([NOBODY]: NPCs only). */
180
190
  function Members({ office, view, everyone, onChange }) {
181
- const picked = new Set(office.members);
182
- const toggle = (m) => onChange(picked.has(m) ? office.members.filter((x) => x !== m) : [...office.members, m]);
191
+ const mode = membersMode(office.members);
192
+ const [picking, setPicking] = useState(false); // Picked chosen, no one ticked yet (still everyone)
193
+ const shown = mode === "everyone" && picking ? "picked" : mode;
194
+ const picks = office.members.filter((m) => m !== NOBODY); // a pick an older editor added keeps NOBODY beside it
195
+ const picked = new Set(picks);
196
+ const toggle = (m) => { setPicking(true); onChange(picked.has(m) ? picks.filter((x) => x !== m) : [...picks, m]); };
197
+ const choose = (to) => { setPicking(to === "picked"); onChange(to === "nobody" ? [NOBODY] : to === "picked" ? picks : []); };
198
+ const radio = (to) => html`<label key=${to} class="check"><input type="radio" name=${`oe-who-${office.id}`} value=${to} checked=${shown === to}
199
+ onChange=${() => choose(to)} /><span>${te(to)}</span></label>`;
183
200
  return html`<div class="oe-members">
184
- ${view.teams.length ? html`<fieldset class="oe-group"><legend>${te("teams")}</legend>${view.teams.map((tm) => html`<label key=${`t:${tm.name}`} class="check">
201
+ <fieldset class="oe-group oe-who"><legend>${te("members")}</legend>${["everyone", "picked", "nobody"].map(radio)}
202
+ ${shown === "picked" && !picks.length ? html`<p class="note">${te("pickSome")}</p>` : null}
203
+ ${shown === "nobody" ? html`<p class="note">${te("nobodyNote")}</p>` : null}</fieldset>
204
+ ${shown === "nobody" ? null : html`${view.teams.length ? html`<fieldset class="oe-group"><legend>${te("teams")}</legend>${view.teams.map((tm) => html`<label key=${`t:${tm.name}`} class="check">
185
205
  <input type="checkbox" checked=${picked.has(`team:${tm.name}`)} onChange=${() => toggle(`team:${tm.name}`)} /><span>${tm.name}</span></label>`)}</fieldset>` : null}
186
206
  <fieldset class="oe-group"><legend>${te("instances")}</legend>${everyone.map((n) => html`<label key=${n.name} class="check">
187
- <input type="checkbox" checked=${picked.has(n.name)} onChange=${() => toggle(n.name)} /><span>${nodeText(n).primary}</span></label>`)}</fieldset>
207
+ <input type="checkbox" checked=${picked.has(n.name)} onChange=${() => toggle(n.name)} /><span>${nodeText(n).primary}</span></label>`)}</fieldset>`}
188
208
  </div>`;
189
209
  }
190
210
 
@@ -261,7 +281,7 @@ export function OfficeEditor({ offices, rev, view, store, packs = [], ask = () =
261
281
  ${packs.map((pk) => html`<option key=${`pack:${pk.id}`} value=${pk.id}>${pk.name}</option>`)}
262
282
  ${STYLES.includes(o.skin) || packs.some((pk) => pk.id === o.skin) ? null : html`<option key=${o.skin} value=${o.skin}>${te("styleUnknown", o.skin)}</option>`}</select></label>
263
283
  <button type="button" class="btn btn-sm oe-members-btn" aria-expanded=${open === o.id ? "true" : "false"} onClick=${() => setOpen(open === o.id ? null : o.id)}>
264
- ${te("members")}: ${o.members.length ? te("membersN", o.members.length) : te("everyone")}</button>
284
+ ${te("members")}: ${whoText(o.members)}</button>
265
285
  <button type="button" class="btn btn-sm btn-danger oe-remove" onClick=${() => { setDraft((d) => d.filter((x) => x.id !== o.id)); if (open === o.id) setOpen(null); }}>${te("remove")}</button>
266
286
  </div>
267
287
  ${o.layout ? html`<p class="note">${te("layoutKept")}</p>` : null}
@@ -0,0 +1,105 @@
1
+ // #2661: the Office levels on the page — what the host serves (GET /ui/office-levels, src/office-levels.ts: the level from
2
+ // each instance's lifetime work, and where the viewer may see them, the numbers behind it) put into words and colours:
3
+ // the tier a level is in, its title (the page's generic ones, or a skin pack's `levels.titles`), a title a pack pins on
4
+ // someone (`levels.fixed`, which may hide the number), the badge's text and the XP bar. Pure: no DOM, no fetch.
5
+ import { t, register } from "/assets/app-i18n.js";
6
+
7
+ register("olv", {
8
+ en: { t0: "Novice", t1: "Apprentice", t2: "Adept", t3: "Expert", t4: "Master", t5: "Legend" },
9
+ "zh-TW": { t0: "新手", t1: "學徒", t2: "熟手", t3: "專家", t4: "大師", t5: "傳奇" },
10
+ });
11
+
12
+ /** The tiers by the level each starts at: grey, green, blue, the filled blue, gold, red (#2661). */
13
+ export const TIER_FROM = [0, 10, 20, 35, 50, 100];
14
+ /** The tier (0–5) a level is in. */
15
+ export const tierOf = (level) => { let i = 0; while (i + 1 < TIER_FROM.length && level >= TIER_FROM[i + 1]) i++; return i; };
16
+
17
+ /**
18
+ * A tier's badge colours from the dashboard's tokens (no palette of its own: the status tokens and their tints, as the
19
+ * renderer reads them, readPal). { bg, fg, line }.
20
+ */
21
+ export function tierColours(tier, pal) {
22
+ switch (tier) {
23
+ case 1: return { bg: pal.okBg, fg: pal.ok, line: pal.ok };
24
+ case 2: return { bg: pal.accentDim, fg: pal.accent, line: pal.accent };
25
+ case 3: return { bg: pal.accent, fg: pal.surface, line: pal.accent };
26
+ case 4: return { bg: pal.warnBg, fg: pal.warn, line: pal.warn };
27
+ case 5: return { bg: pal.dangerBg, fg: pal.danger, line: pal.danger };
28
+ default: return { bg: pal.surface2, fg: pal.text2, line: pal.border };
29
+ }
30
+ }
31
+
32
+ /** A level as the badge writes it: up to 999 whole, then 1.1k, 12k (never wider than four characters). */
33
+ export function badgeText(level) {
34
+ if (level < 1000) return String(level);
35
+ const k = level / 1000;
36
+ return k < 10 ? `${Math.floor(k * 10) / 10}k` : `${Math.floor(k)}k`;
37
+ }
38
+
39
+ /** The title for a level: the pack's table (the last entry it has reached), else the page's tier name. */
40
+ export function titleOf(level, titles) {
41
+ if (Array.isArray(titles) && titles.length) {
42
+ let name = null;
43
+ for (const e of titles) if (level >= e.from) name = e.name;
44
+ if (name) return name;
45
+ }
46
+ return t(`olv.t${tierOf(level)}`);
47
+ }
48
+
49
+ /** What a pack pins on `name` (an instance or an NPC's id): { title, hideLevel } or null. */
50
+ export function fixedOf(name, levels) {
51
+ const f = levels && levels.fixed;
52
+ return f && Object.prototype.hasOwnProperty.call(f, name) ? f[name] : null;
53
+ }
54
+
55
+ /** Work tokens to reach a level (the host's curve: level = floor(√(work ÷ unit))). */
56
+ export const workFor = (level, unit) => level * level * unit;
57
+
58
+ /** The XP bar: { next, toNext, pct (0–1) } — the next level, the work it still needs, how far along this level is. */
59
+ export function xpOf(level, work, unit) {
60
+ const from = workFor(level, unit), to = workFor(level + 1, unit);
61
+ return { next: level + 1, toNext: Math.max(0, to - work), pct: to > from ? Math.min(1, Math.max(0, (work - from) / (to - from))) : 0 };
62
+ }
63
+
64
+ /** Tokens in short words: 950, 12.3K, 260M, 1.2B. */
65
+ export function tokens(n) {
66
+ const v = Math.max(0, n);
67
+ if (v < 1000) return String(Math.round(v));
68
+ const [d, s] = v >= 1e9 ? [1e9, "B"] : v >= 1e6 ? [1e6, "M"] : [1e3, "K"];
69
+ const x = v / d;
70
+ return `${x < 100 ? Math.floor(x * 10) / 10 : Math.floor(x)}${s}`;
71
+ }
72
+
73
+ /**
74
+ * What the host answered (GET /ui/office-levels), checked: { enabled, unit, detail, levels: name → entry } with every
75
+ * entry's numbers sane (anything odd: no levels at all).
76
+ */
77
+ export function levelsOk(v) {
78
+ const none = { enabled: false, unit: 100000, detail: false, levels: new Map() };
79
+ if (!v || typeof v !== "object" || v.enabled !== true || typeof v.levels !== "object" || !v.levels) return none;
80
+ const unit = Number.isFinite(v.unit) && v.unit > 0 ? v.unit : 100000;
81
+ const n = (x) => Number.isFinite(x) && x >= 0;
82
+ const out = new Map();
83
+ for (const [name, e] of Object.entries(v.levels)) {
84
+ if (!e || !Number.isInteger(e.level) || e.level < 0) continue;
85
+ const detail = v.detail === true && n(e.workTokens) && e.today && n(e.today.workTokens) && n(e.today.requests);
86
+ out.set(name, detail
87
+ ? { level: e.level, workTokens: e.workTokens, estimated: e.estimated === true, today: { workTokens: e.today.workTokens, requests: e.today.requests },
88
+ firstSeen: typeof e.firstSeen === "string" && /^\d{4}-\d{2}-\d{2}$/.test(e.firstSeen) ? e.firstSeen : null }
89
+ : { level: e.level });
90
+ }
91
+ return { enabled: true, unit, detail: v.detail === true, levels: out };
92
+ }
93
+
94
+ /**
95
+ * The badge a person's name tag carries: { text, tier } — or { mark: true } for a pinned title that hides the level —
96
+ * or null (levels off, or none for them).
97
+ */
98
+ export function badgeOf(name, lv, levels) {
99
+ if (!lv || !lv.enabled) return null;
100
+ const fx = fixedOf(name, levels);
101
+ if (fx && fx.hideLevel) return { mark: true, tier: 0 };
102
+ const e = lv && lv.levels.get(name);
103
+ if (!e) return null;
104
+ return { text: badgeText(e.level), tier: tierOf(e.level) };
105
+ }
@@ -74,13 +74,21 @@ export function officeRooms(view, filter) {
74
74
  return picked.map((r) => ({ ...r, nodes: r.nodes.filter((n) => pinned.has(n.name)) })).filter((r) => r.nodes.length);
75
75
  }
76
76
 
77
- /** A stored office's members: instance names, or `team:<name>` for a team's; none means everyone. */
77
+ /**
78
+ * #2752: an office kept for nobody (its style's NPCs only) stores this one member: a team with no name, which no team
79
+ * has, so a version before it finds nobody too. `[]` still means everyone.
80
+ */
81
+ export const NOBODY = "team:";
82
+ /** Who an office's members pick: "everyone" ([]), "nobody" (only NOBODY), or "picked". */
83
+ export const membersMode = (members) => (!members.length ? "everyone" : members.every((m) => m === NOBODY) ? "nobody" : "picked");
84
+ /** A stored office's members: instance names, or `team:<name>` for a team's; none means everyone, NOBODY nobody. */
78
85
  export function membersOf(office, view) {
79
86
  const every = [...view.top, ...view.teams.flatMap((tm) => tm.nodes), ...view.rest.nodes];
80
87
  const byName = new Map(every.map((n) => [n.name, n]));
81
88
  if (!office.members.length) return [...byName.values()];
82
89
  const out = new Map();
83
90
  for (const m of office.members) {
91
+ if (m === NOBODY) continue;
84
92
  const team = m.startsWith("team:") ? view.teams.find((tm) => tm.name === m.slice(5)) : null;
85
93
  for (const n of team ? team.nodes : byName.has(m) ? [byName.get(m)] : []) if (!out.has(n.name)) out.set(n.name, n);
86
94
  }
@@ -18,6 +18,8 @@ export interface CheckedPack {
18
18
  furniture: PackFurniture[]; characters: Record<string, Record<string, PackStrip>>; byInstance: Record<string, string>;
19
19
  props: Record<string, PackStrip>; bubbles: Record<string, Record<string, string[]>>;
20
20
  room: { floor?: string; wall?: string }; desk: { back?: string; front?: string; lit?: string };
21
+ /** #2661: the Office levels' words — titles from each level up, and titles pinned on instances or NPCs. */
22
+ levels?: { titles?: Array<{ from: number; name: string }>; fixed?: Record<string, { title: string; hideLevel: boolean }> };
21
23
  }
22
24
  export interface LayoutOverrides {
23
25
  pack: string;
@@ -91,6 +91,13 @@
91
91
  // ≤ 40 characters each), in place of the page's own
92
92
  // "room": { "floor": "floor.png", "wall": "wall.png" }, "desk": { "back": …, "front": …, "lit": … }
93
93
  // optional: for the desks layout (a pack without stateZones)
94
+ // "levels": { optional (#2661): the Office levels' words
95
+ // "titles": [{ "from": 1, "name": "Intern" }, …], the title from each level up (≤ 32, `from` 0–100000
96
+ // rising, a name 1–24 characters), in place of the page's own
97
+ // "fixed": { "atlas": { "title": "Founder", "hideLevel": true } } }
98
+ // a title pinned on an instance (or an NPC: a furniture item's
99
+ // id) whatever its level (≤ 500); hideLevel: its badge is a mark,
100
+ // its card has no "Lv n" or XP bar
94
101
  // }
95
102
  //
96
103
  // A STRIP is { "src": "idle.png", "frames": 4, "w": 32, "h": 48, "fps": 4, "ax": 16, "ay": 44 }: `frames` frames of
@@ -154,7 +161,7 @@ const RESERVED = new Set(["cozy"]);
154
161
  const ID = /^[A-Za-z0-9_-]{1,40}$/;
155
162
  const SRC = /^[A-Za-z0-9._/-]{1,200}$/;
156
163
  const HEX = /^#[0-9a-f]{6}$/i;
157
- const LIMIT = { areas: 32, seats: 64, furniture: 128, waypoints: 512, edges: 2048, sets: 64, byInstance: 500, lines: 12, line: 40, seatFor: 16 };
164
+ const LIMIT = { areas: 32, seats: 64, furniture: 128, waypoints: 512, edges: 2048, sets: 64, byInstance: 500, lines: 12, line: 40, seatFor: 16, titles: 32, title: 24, fixed: 500 };
158
165
 
159
166
  class Refused extends Error { constructor(at, why) { super(`${at}: ${why}`); } }
160
167
  /** `o[k]` when it is o's own property, else undefined: a name from a pack or a page never reaches Object.prototype. */
@@ -243,6 +250,43 @@ function states(v, at) {
243
250
  return Array.isArray(v) ? list(v, 8, at).map((s, i) => one(s, `${at}[${i}]`)) : [one(v, at)];
244
251
  }
245
252
 
253
+ /** #2661: a title's words — 1–LIMIT.title characters on one line. */
254
+ function titleText(v, at) {
255
+ if (typeof v !== "string" || !v.trim() || [...v.trim()].length > LIMIT.title || /[\u0000-\u001f\u007f]/.test(v)) throw new Refused(at, `1–${LIMIT.title} characters`);
256
+ return v.trim();
257
+ }
258
+ /** #2661: a pack's `levels` (titles, fixed), checked; null when it has none. */
259
+ function levelsOf(v) {
260
+ if (v === undefined) return null;
261
+ obj(v, "levels");
262
+ keys(v, ["titles", "fixed"], "levels");
263
+ const out = {};
264
+ if (v.titles !== undefined) {
265
+ let last = -1;
266
+ out.titles = list(v.titles, LIMIT.titles, "levels.titles").map((t, i) => {
267
+ const at = `levels.titles[${i}]`;
268
+ obj(t, at); keys(t, ["from", "name"], at);
269
+ const from = int(t.from, 0, 100000, `${at}.from`);
270
+ if (from <= last) throw new Refused(`${at}.from`, "higher than the title before it");
271
+ last = from;
272
+ return { from, name: titleText(t.name, `${at}.name`) };
273
+ });
274
+ }
275
+ if (v.fixed !== undefined) {
276
+ obj(v.fixed, "levels.fixed");
277
+ if (Object.keys(v.fixed).length > LIMIT.fixed) throw new Refused("levels.fixed", `at most ${LIMIT.fixed}`);
278
+ out.fixed = {};
279
+ for (const [k, f] of Object.entries(v.fixed)) {
280
+ const at = `levels.fixed.${k}`;
281
+ if (inherited(k)) throw new Refused(at, "an instance's name (not an inherited one)");
282
+ obj(f, at); keys(f, ["title", "hideLevel"], at);
283
+ if (f.hideLevel !== undefined && typeof f.hideLevel !== "boolean") throw new Refused(`${at}.hideLevel`, "true or false");
284
+ out.fixed[k] = { title: titleText(f.title, `${at}.title`), hideLevel: f.hideLevel === true };
285
+ }
286
+ }
287
+ return out;
288
+ }
289
+
246
290
  /**
247
291
  * A pack's manifest, strictly: { ok: true, pack } or { ok: false, error: "<where>: <why>" }. `kept`: a pack the host
248
292
  * keeps already (read back, not uploaded), which may hold a RESERVED id.
@@ -250,7 +294,7 @@ function states(v, at) {
250
294
  export function checkSkinPack(x, { kept = false } = {}) {
251
295
  try {
252
296
  obj(x, "pack");
253
- keys(x, ["format", "id", "scale", "background", "foreground", "matte", "areas", "stateZones", "door", "mailDrop", "waypoints", "edges", "straight", "furniture", "characters", "byInstance", "props", "bubbles", "room", "desk"], "pack");
297
+ keys(x, ["format", "id", "scale", "background", "foreground", "matte", "areas", "stateZones", "door", "mailDrop", "waypoints", "edges", "straight", "furniture", "characters", "byInstance", "props", "bubbles", "room", "desk", "levels"], "pack");
254
298
  if (x.format !== 1) throw new Refused("format", "1");
255
299
  if (typeof x.id !== "string" || !ID.test(x.id)) throw new Refused("id", "1–40 letters, digits, _ or -");
256
300
  if (BUILT_IN.has(x.id) || (!kept && RESERVED.has(x.id))) throw new Refused("id", "a built-in skin's id");
@@ -348,6 +392,7 @@ export function checkSkinPack(x, { kept = false } = {}) {
348
392
  });
349
393
  }
350
394
  }
395
+ const levels = levelsOf(x.levels);
351
396
  const room = x.room === undefined ? {} : obj(x.room, "room"), desk = x.desk === undefined ? {} : obj(x.desk, "desk");
352
397
  keys(room, ["floor", "wall"], "room"); keys(desk, ["back", "front", "lit"], "desk");
353
398
  const opt = (v, at) => (v === undefined ? undefined : src(v, at));
@@ -357,6 +402,7 @@ export function checkSkinPack(x, { kept = false } = {}) {
357
402
  mailDrop: x.mailDrop === undefined ? null : point(x.mailDrop, "mailDrop"), waypoints, edges, straight: x.straight === true, furniture, characters, byInstance,
358
403
  props: x.props === undefined ? {} : strips(x.props, PROPS, "props", scale), bubbles,
359
404
  room: { floor: opt(room.floor, "room.floor"), wall: opt(room.wall, "room.wall") }, desk: { back: opt(desk.back, "desk.back"), front: opt(desk.front, "desk.front"), lit: opt(desk.lit, "desk.lit") },
405
+ ...(levels ? { levels } : {}),
360
406
  } };
361
407
  } catch (err) {
362
408
  if (err instanceof Refused) return { ok: false, error: err.message };