pilotswarm 0.5.58 → 0.5.60

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 (96) hide show
  1. package/README.md +6 -0
  2. package/mcp/dist/src/context.d.ts +2 -0
  3. package/mcp/dist/src/context.d.ts.map +1 -1
  4. package/mcp/dist/src/context.js +3 -1
  5. package/mcp/dist/src/context.js.map +1 -1
  6. package/mcp/dist/src/tools/agent-packages.js +1 -1
  7. package/mcp/dist/src/tools/agent-packages.js.map +1 -1
  8. package/mcp/dist/src/tools/capabilities.d.ts +4 -0
  9. package/mcp/dist/src/tools/capabilities.d.ts.map +1 -1
  10. package/mcp/dist/src/tools/capabilities.js +4 -0
  11. package/mcp/dist/src/tools/capabilities.js.map +1 -1
  12. package/package.json +2 -2
  13. package/ui/core/src/controller.js +58 -20
  14. package/ui/core/src/formatting.js +18 -9
  15. package/ui/core/src/history.js +81 -25
  16. package/ui/core/src/index.js +2 -0
  17. package/ui/core/src/moa.js +47 -0
  18. package/ui/core/src/reducer.js +51 -7
  19. package/ui/core/src/selectors.js +67 -64
  20. package/ui/core/src/session-errors.js +113 -11
  21. package/ui/core/src/state.js +1 -0
  22. package/ui/react/src/components.js +1 -0
  23. package/ui/react/src/web-app.js +345 -200
  24. package/web/api/router.js +1 -1
  25. package/web/api/ws.js +43 -3
  26. package/web/authz.js +6 -1
  27. package/web/dist/assets/{abnfDiagram-VRR7QNED-CCTGbkH5.js → abnfDiagram-VRR7QNED-CXEHJkTQ.js} +1 -1
  28. package/web/dist/assets/{arc-w8Hl2ORd.js → arc-lInHlEVm.js} +1 -1
  29. package/web/dist/assets/{architectureDiagram-ZJ3FMSHR-DAFM73jL.js → architectureDiagram-ZJ3FMSHR-vrocx6re.js} +1 -1
  30. package/web/dist/assets/{blockDiagram-677ZJIJ3-BYfTQFe7.js → blockDiagram-677ZJIJ3-B1KA5QIB.js} +1 -1
  31. package/web/dist/assets/{c4Diagram-LMCZKHZV-bNF2gRsg.js → c4Diagram-LMCZKHZV-Du9xJMjz.js} +1 -1
  32. package/web/dist/assets/channel-6wPrR6sC.js +1 -0
  33. package/web/dist/assets/{chunk-2Q5K7J3B-DhqJnJ4W.js → chunk-2Q5K7J3B-BuHucQOQ.js} +1 -1
  34. package/web/dist/assets/{chunk-32BRIVSS-Jg1a6n_3.js → chunk-32BRIVSS-T-AE5Yz0.js} +1 -1
  35. package/web/dist/assets/{chunk-5VM5RSS4-y7NKpClZ.js → chunk-5VM5RSS4-B_kTsNzt.js} +1 -1
  36. package/web/dist/assets/{chunk-EX3LRPZG-Lks3EhVc.js → chunk-EX3LRPZG-CtqgceBQ.js} +1 -1
  37. package/web/dist/assets/{chunk-JWPE2WC7-BjcSkfk2.js → chunk-JWPE2WC7-C_Fv9QUd.js} +1 -1
  38. package/web/dist/assets/{chunk-MOJQB5TN-USDZsR-1.js → chunk-MOJQB5TN-D5GeF8ZZ.js} +1 -1
  39. package/web/dist/assets/{chunk-RYQCIY6F--HnsBTqS.js → chunk-RYQCIY6F-Cg63wDst.js} +1 -1
  40. package/web/dist/assets/{chunk-V7JOEXUC-CUql3Oy3.js → chunk-V7JOEXUC-Bz6G3lev.js} +1 -1
  41. package/web/dist/assets/{chunk-VR4S4FIN-CpS-l3FG.js → chunk-VR4S4FIN-DKs_hvUD.js} +1 -1
  42. package/web/dist/assets/{chunk-XXDRQBXY-Bjb7ifTV.js → chunk-XXDRQBXY-B9AtUlbn.js} +1 -1
  43. package/web/dist/assets/classDiagram-OUVF2IWQ-vvXyIfbC.js +1 -0
  44. package/web/dist/assets/classDiagram-v2-EOCWNBFH-vvXyIfbC.js +1 -0
  45. package/web/dist/assets/{cose-bilkent-JH36ORCC-CmY3-Xrd.js → cose-bilkent-JH36ORCC-rAG6oS0i.js} +1 -1
  46. package/web/dist/assets/{cynefin-VYW2F7L2-DVtcyDi5.js → cynefin-VYW2F7L2-CUy2C8UT.js} +1 -1
  47. package/web/dist/assets/{cynefinDiagram-TSTJHNR4-BPqkLecJ.js → cynefinDiagram-TSTJHNR4-C1W8blXH.js} +1 -1
  48. package/web/dist/assets/{dagre-VKFMJZFB-B73fSRpn.js → dagre-VKFMJZFB-DC0XqwcC.js} +1 -1
  49. package/web/dist/assets/{diagram-FQU43EPY-uRCPZyuW.js → diagram-FQU43EPY-COAY9zCP.js} +1 -1
  50. package/web/dist/assets/{diagram-G47NLZAW-CHs_l9pw.js → diagram-G47NLZAW-DLPr8eWG.js} +1 -1
  51. package/web/dist/assets/{diagram-NH7WQ7WH-BDs35ueJ.js → diagram-NH7WQ7WH-DoNgwoDz.js} +1 -1
  52. package/web/dist/assets/{diagram-OA4YK3LP-Dsv48zWW.js → diagram-OA4YK3LP-D3-5TINE.js} +1 -1
  53. package/web/dist/assets/{diagram-WEI45ONY-Bty-lxLj.js → diagram-WEI45ONY-DplCkBJC.js} +1 -1
  54. package/web/dist/assets/{ebnfDiagram-CCIWWBDH-DgaxsuDg.js → ebnfDiagram-CCIWWBDH-dvcVh7yr.js} +1 -1
  55. package/web/dist/assets/{erDiagram-Q63AITRT-CR6l4OsK.js → erDiagram-Q63AITRT-Cde8cTY6.js} +1 -1
  56. package/web/dist/assets/{flowDiagram-23GEKE2U-4y1ts4PX.js → flowDiagram-23GEKE2U-MGMNsh2E.js} +1 -1
  57. package/web/dist/assets/{ganttDiagram-NO4QXBWP-CyKdJ2e9.js → ganttDiagram-NO4QXBWP-BiKw7AfS.js} +1 -1
  58. package/web/dist/assets/{gitGraphDiagram-IHSO6WYX-Ct5ShF3i.js → gitGraphDiagram-IHSO6WYX-vC7fsylq.js} +1 -1
  59. package/web/dist/assets/index-D9Ab1VTY.css +1 -0
  60. package/web/dist/assets/index-DDAyy127.js +24 -0
  61. package/web/dist/assets/{infoDiagram-FWYZ7A6U-uWoTXOM3.js → infoDiagram-FWYZ7A6U-Du1uirB0.js} +1 -1
  62. package/web/dist/assets/{ishikawaDiagram-FXEZZL3T-BTlDV_pc.js → ishikawaDiagram-FXEZZL3T-Dk--Qshr.js} +1 -1
  63. package/web/dist/assets/{journeyDiagram-5HDEW3XC-_R-XB78s.js → journeyDiagram-5HDEW3XC-iDE4zf_N.js} +1 -1
  64. package/web/dist/assets/{kanban-definition-HUTT4EX6-D7iwBjoS.js → kanban-definition-HUTT4EX6-D7WI8iRR.js} +1 -1
  65. package/web/dist/assets/{linear-BugN16AP.js → linear-B1_kxCBK.js} +1 -1
  66. package/web/dist/assets/{mermaid.core-De_KIbl-.js → mermaid.core-DNmC5O4Y.js} +4 -4
  67. package/web/dist/assets/{mindmap-definition-LN4V7U3C-B72NDgcU.js → mindmap-definition-LN4V7U3C-DIbLKLMA.js} +1 -1
  68. package/web/dist/assets/{papaparse.min-BsD41u4P.js → papaparse.min-BdWinjY-.js} +1 -1
  69. package/web/dist/assets/{pegDiagram-2B236MQR-C6oifn4x.js → pegDiagram-2B236MQR-CkxxR07G.js} +1 -1
  70. package/web/dist/assets/{pieDiagram-ENE6RG2P-Cpn0_Hp6.js → pieDiagram-ENE6RG2P-Dxvp1mn7.js} +1 -1
  71. package/web/dist/assets/pilotswarm-493nqGmy.js +98 -0
  72. package/web/dist/assets/{quadrantDiagram-ABIIQ3AL-CJT4OoDA.js → quadrantDiagram-ABIIQ3AL-CrL0hjZW.js} +1 -1
  73. package/web/dist/assets/{railroadDiagram-RFXS5EU6-BKtBN8XC.js → railroadDiagram-RFXS5EU6-CmVmFBPa.js} +1 -1
  74. package/web/dist/assets/{requirementDiagram-TGXJPOKE-Dw7BCEzo.js → requirementDiagram-TGXJPOKE-DJc3NRXb.js} +1 -1
  75. package/web/dist/assets/{sankeyDiagram-HTMAVEWB-Avmr1rvJ.js → sankeyDiagram-HTMAVEWB-BJNqWqBb.js} +1 -1
  76. package/web/dist/assets/{sequenceDiagram-DBY2YBRQ-BRNnslq1.js → sequenceDiagram-DBY2YBRQ-C0wddECV.js} +1 -1
  77. package/web/dist/assets/{sizeCapture-X5ZJPWSS-BNmM8zTz.js → sizeCapture-X5ZJPWSS-Cw0dqPWS.js} +1 -1
  78. package/web/dist/assets/{stateDiagram-2N3HPSRC-CKXaP1Y6.js → stateDiagram-2N3HPSRC-C5793RHZ.js} +1 -1
  79. package/web/dist/assets/stateDiagram-v2-6OUMAXLB-qGaRayHj.js +1 -0
  80. package/web/dist/assets/{swimlanes-5IMT3BWC-Dkeka0gO.js → swimlanes-5IMT3BWC-Bhpm77Zu.js} +2 -2
  81. package/web/dist/assets/swimlanesDiagram-G3AALYLV-BXjNM_Zw.js +8 -0
  82. package/web/dist/assets/{timeline-definition-FHXFAJF6-5hTTq-SL.js → timeline-definition-FHXFAJF6-CwbE4NsH.js} +1 -1
  83. package/web/dist/assets/{vennDiagram-L72KCM5P-DL8MolqK.js → vennDiagram-L72KCM5P-DZnJEL_w.js} +1 -1
  84. package/web/dist/assets/{wardleyDiagram-EHGQE667-CwGhy6eW.js → wardleyDiagram-EHGQE667-DwTgBDev.js} +1 -1
  85. package/web/dist/assets/{xychartDiagram-FW5EYKEG-Dn4T-3Dx.js → xychartDiagram-FW5EYKEG-BiPjN3Qc.js} +1 -1
  86. package/web/dist/index.html +3 -3
  87. package/web/runtime.js +81 -44
  88. package/web/server.js +1 -0
  89. package/web/dist/assets/channel-s4nVWOVf.js +0 -1
  90. package/web/dist/assets/classDiagram-OUVF2IWQ-tj8tRjww.js +0 -1
  91. package/web/dist/assets/classDiagram-v2-EOCWNBFH-tj8tRjww.js +0 -1
  92. package/web/dist/assets/index-DaRnh5NC.css +0 -1
  93. package/web/dist/assets/index-aFRNNWe9.js +0 -24
  94. package/web/dist/assets/pilotswarm-9Szh1sEC.js +0 -99
  95. package/web/dist/assets/stateDiagram-v2-6OUMAXLB-Dr0juUsm.js +0 -1
  96. package/web/dist/assets/swimlanesDiagram-G3AALYLV-q-jLf0ZX.js +0 -8
package/README.md CHANGED
@@ -260,3 +260,9 @@ Docs: [Quick Start](https://github.com/affandar/pilotswarm/blob/main/docs/quicks
260
260
  [MCP Setup](https://github.com/affandar/pilotswarm/blob/main/docs/user-guide/mcp-local-setup.md) ·
261
261
  [Web API Reference](https://github.com/affandar/pilotswarm/blob/main/docs/api/reference.md) ·
262
262
  [Architecture / Layering](https://github.com/affandar/pilotswarm/blob/main/docs/architecture/layering.md)
263
+
264
+ ## Master of Agents
265
+
266
+ The desktop portal includes a personal multi-session workspace with resizable
267
+ chat/canvas panels, one focused composer, and zen mode. Layouts save automatically.
268
+ See the [MoA guide](https://github.com/affandar/PilotSwarm/blob/main/docs/user-guide/master-of-agents.md).
@@ -73,6 +73,8 @@ interface ServerContextBase {
73
73
  ownershipEnforced: boolean;
74
74
  defaultVisibility: string;
75
75
  systemVisibility: string;
76
+ adminScope?: string;
77
+ policyVersion?: number;
76
78
  };
77
79
  /** True when running over the Web API (`--api-url`); false in direct mode. */
78
80
  webMode: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,gBAAgB,EAEhB,6BAA6B,EAS7B,qBAAqB,EAErB,cAAc,EACd,KAAK,uBAAuB,EAC5B,KAAK,SAAS,EACd,KAAK,iBAAiB,EACtB,KAAK,UAAU,EAClB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAG/C,KAAK,WAAW,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7D;;;;;;;;GAQG;AACH,KAAK,UAAU,GACT;IACE;;;OAGG;IACH,GAAG,EAAE,SAAS,CAAC;IACf;;;;;OAKG;IACH,GAAG,EAAE,6BAA6B,CAAC;CACtC,GACC;IAAE,GAAG,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,IAAI,CAAA;CAAE,CAAC;AAE/B,MAAM,MAAM,aAAa,GAAG,iBAAiB,GAAG,UAAU,CAAC;AAE3D,UAAU,iBAAiB;IACvB,MAAM,EAAE,gBAAgB,CAAC;IACzB;;;;OAIG;IACH,IAAI,EAAE,uBAAuB,CAAC;IAC9B,KAAK,EAAE,SAAS,CAAC;IACjB;;;;;OAKG;IACH,aAAa,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACxC;;;;;OAKG;IACH,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC;IACzB;;;;;;OAMG;IACH,KAAK,EAAE,OAAO,CAAC;IACf,oEAAoE;IACpE,SAAS,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;IACnC;;;;;;OAMG;IACH,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,KAAK,EAAE;QAAE,iBAAiB,EAAE,OAAO,CAAC;QAAC,iBAAiB,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3F,8EAA8E;IAC9E,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,qBAAqB,GAAG,IAAI,CAAC;IACrC,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrE;;;;;;OAMG;IACH,gBAAgB,EAAE,WAAW,EAAE,CAAC;IAChC;;;;;OAKG;IACH,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5B;;;;;OAKG;IACH,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1C;AAED,MAAM,WAAW,oBAAoB;IACjC,wFAAwF;IACxF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB;;;;OAIG;IACH,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;CACvC;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,aAAa,CAAC,CAiNtF"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,gBAAgB,EAEhB,6BAA6B,EAS7B,qBAAqB,EAErB,cAAc,EACd,KAAK,uBAAuB,EAC5B,KAAK,SAAS,EACd,KAAK,iBAAiB,EACtB,KAAK,UAAU,EAClB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAG/C,KAAK,WAAW,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7D;;;;;;;;GAQG;AACH,KAAK,UAAU,GACT;IACE;;;OAGG;IACH,GAAG,EAAE,SAAS,CAAC;IACf;;;;;OAKG;IACH,GAAG,EAAE,6BAA6B,CAAC;CACtC,GACC;IAAE,GAAG,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,IAAI,CAAA;CAAE,CAAC;AAE/B,MAAM,MAAM,aAAa,GAAG,iBAAiB,GAAG,UAAU,CAAC;AAE3D,UAAU,iBAAiB;IACvB,MAAM,EAAE,gBAAgB,CAAC;IACzB;;;;OAIG;IACH,IAAI,EAAE,uBAAuB,CAAC;IAC9B,KAAK,EAAE,SAAS,CAAC;IACjB;;;;;OAKG;IACH,aAAa,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACxC;;;;;OAKG;IACH,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC;IACzB;;;;;;OAMG;IACH,KAAK,EAAE,OAAO,CAAC;IACf,oEAAoE;IACpE,SAAS,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;IACnC;;;;;;OAMG;IACH,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,KAAK,EAAE;QAAE,iBAAiB,EAAE,OAAO,CAAC;QAAC,iBAAiB,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACxI,8EAA8E;IAC9E,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,qBAAqB,GAAG,IAAI,CAAC;IACrC,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrE;;;;;;OAMG;IACH,gBAAgB,EAAE,WAAW,EAAE,CAAC;IAChC;;;;;OAKG;IACH,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5B;;;;;OAKG;IACH,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1C;AAED,MAAM,WAAW,oBAAoB;IACjC,wFAAwF;IACxF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB;;;;OAIG;IACH,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;CACvC;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,aAAa,CAAC,CAmNtF"}
@@ -10,7 +10,7 @@ export async function createContext(opts) {
10
10
  let graph = null;
11
11
  let admin = false;
12
12
  let ctxRole = null;
13
- let ctxAuthz = { ownershipEnforced: false, defaultVisibility: "private", systemVisibility: "read" };
13
+ let ctxAuthz = { ownershipEnforced: false, defaultVisibility: "private", systemVisibility: "read", adminScope: "unrestricted", policyVersion: 0 };
14
14
  let webAgents = null;
15
15
  if (opts.apiUrl) {
16
16
  // Web API mode (supported): no database credentials in this process.
@@ -55,6 +55,8 @@ export async function createContext(opts) {
55
55
  ownershipEnforced: Boolean(boot.authz.ownershipEnforced),
56
56
  defaultVisibility: String(boot.authz.defaultVisibility || "private"),
57
57
  systemVisibility: String(boot.authz.systemVisibility || "read"),
58
+ adminScope: String(boot.authz.adminScope || "unrestricted"),
59
+ policyVersion: Number(boot.authz.policyVersion) || 0,
58
60
  };
59
61
  }
60
62
  }
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/context.ts"],"names":[],"mappings":"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"}
@@ -18,7 +18,7 @@ export function registerAgentPackageTools(server, ctx) {
18
18
  server.registerTool("list_agent_packages", {
19
19
  title: "List Agent Packages",
20
20
  description: "List registry agent packages visible to this credential: shared packages plus your own "
21
- + "user-scope ones (admins see all). Each row carries the active version (semver, sha, size) "
21
+ + "user-scope ones (unrestricted admins see all; cluster-scoped admins use ordinary access). Each row carries the active version (semver, sha, size) "
22
22
  + "and its manifest (agents/skills/tools).",
23
23
  inputSchema: {},
24
24
  }, withToolErrors(async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"agent-packages.js","sourceRoot":"","sources":["../../../src/tools/agent-packages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-packages.js","sourceRoot":"","sources":["../../../src/tools/agent-packages.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,10 @@ export declare function buildCapabilities(ctx: ServerContext): {
14
14
  admin: boolean;
15
15
  role: string | null;
16
16
  ownership_enforced: boolean;
17
+ admin_scope: string;
18
+ authz_policy_version: number;
19
+ user_resource_bypass: boolean;
20
+ system_session_admin: boolean;
17
21
  default_visibility: string;
18
22
  viewerScopedGroups: boolean;
19
23
  facts: {
@@ -1 +1 @@
1
- {"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../../src/tools/capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAGnD;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,aAAa;;;;;;;;;;;;;;;;;;;;EAkCnD;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,aAAa,QA0C5E"}
1
+ {"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../../src/tools/capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAGnD;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,aAAa;;;;;;;;;;;;;;;;;;;;;;;;EAsCnD;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,aAAa,QA0C5E"}
@@ -19,6 +19,10 @@ export function buildCapabilities(ctx) {
19
19
  // refused with the reason in the error.
20
20
  role: ctx.role ?? null,
21
21
  ownership_enforced: ctx.authz?.ownershipEnforced ?? false,
22
+ admin_scope: ctx.authz?.adminScope ?? "unrestricted",
23
+ authz_policy_version: ctx.authz?.policyVersion ?? 0,
24
+ user_resource_bypass: ctx.admin && ctx.authz?.adminScope !== "cluster",
25
+ system_session_admin: ctx.admin,
22
26
  default_visibility: ctx.authz?.defaultVisibility ?? "private",
23
27
  // Session groups are private per-user organization: list_session_groups
24
28
  // returns only the caller's groups, session views carry viewer_group_id
@@ -1 +1 @@
1
- {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../../src/tools/capabilities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../../src/tools/capabilities.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pilotswarm",
3
- "version": "0.5.58",
3
+ "version": "0.5.60",
4
4
  "description": "PilotSwarm application package: terminal UI, browser portal + Web API server, and MCP server — one install, three bins.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -81,7 +81,7 @@
81
81
  "ink": "^6.8.0",
82
82
  "jose": "^6.2.2",
83
83
  "mermaid": "^11.16.0",
84
- "pilotswarm-sdk": "0.5.58",
84
+ "pilotswarm-sdk": "0.5.60",
85
85
  "react": "^19.2.4",
86
86
  "react-dom": "^19.2.4",
87
87
  "ws": "^8.18.2"
@@ -14,7 +14,7 @@ import {
14
14
  } from "./history.js";
15
15
  import { applySessionUsageEvent, cloneContextUsageSnapshot } from "./context-usage.js";
16
16
  import { validateCanvasAction, formatCanvasActionPrompt, createCanvasActionLimiter } from "./canvas-actions.js";
17
- import { shouldKeepRecoverableTransportWarning } from "./session-errors.js";
17
+ import { shouldKeepSessionWarning } from "./session-errors.js";
18
18
  import {
19
19
  computeLegacyLayout,
20
20
  getBaseSessionPaneHeight,
@@ -164,12 +164,12 @@ function classifyNavigationLoadError(error) {
164
164
  }
165
165
 
166
166
  // A 404/NOT_FOUND on a per-session data loop is TERMINAL: the session was
167
- // deleted (here or elsewhere) and every retry will 404 forever. 403 stays
168
- // retryable a transient auth blip must not evict a live pane.
167
+ // deleted or no longer accessible. A permission denial must clear retained
168
+ // content; network/server failures remain retryable.
169
169
  function isSessionGoneError(error) {
170
170
  const status = Number(error?.status);
171
171
  const code = String(error?.code || "").toUpperCase();
172
- return status === 404 || code === "NOT_FOUND";
172
+ return status === 404 || status === 403 || code === "NOT_FOUND" || code === "FORBIDDEN";
173
173
  }
174
174
 
175
175
  async function loadSessionCatalogPageWindow(transport) {
@@ -423,7 +423,7 @@ function buildSessionMergePatch(previousSession, nextSession) {
423
423
  patch.waitReason = null;
424
424
  changed = true;
425
425
  }
426
- if (shouldKeepRecoverableTransportWarning(previousSession, nextSession)) {
426
+ if (shouldKeepSessionWarning(previousSession, nextSession)) {
427
427
  if (patch.error !== previousSession.error) {
428
428
  patch.error = previousSession.error;
429
429
  changed = true;
@@ -2550,6 +2550,8 @@ export class PilotSwarmUiController {
2550
2550
  // A folder row can never be "gone" from the session catalog: it is not
2551
2551
  // a session. Only sessions/groupsLoaded may remove one.
2552
2552
  if (isSessionGroupRowId(sessionId)) return;
2553
+ // An older in-flight catalog read must not undo an access revocation.
2554
+ this.sessionRefreshSeq = (this.sessionRefreshSeq || 0) + 1;
2553
2555
  if (this.activeSessionSubscriptionId === sessionId) {
2554
2556
  this.detachActiveSession();
2555
2557
  }
@@ -3253,6 +3255,8 @@ export class PilotSwarmUiController {
3253
3255
  */
3254
3256
  revealCreatedSession() {
3255
3257
  if (this.getState().admin?.visible) this.closeAdminConsole();
3258
+ this.closeBudget();
3259
+ this.dispatch({ type: "ui/revealCreatedSession", sessionId: this.getState().sessions.activeSessionId });
3256
3260
  this.setFocus(FOCUS_REGIONS.PROMPT);
3257
3261
  }
3258
3262
 
@@ -5452,7 +5456,9 @@ export class PilotSwarmUiController {
5452
5456
  return;
5453
5457
  }
5454
5458
  await this.ensureSessionHistory(sessionId, { force: true });
5459
+ if (this.getState().sessions.activeSessionId !== sessionId) return;
5455
5460
  await this.syncSessionDetail(sessionId).catch(() => {});
5461
+ if (this.getState().sessions.activeSessionId !== sessionId) return;
5456
5462
  this.attachActiveSession(sessionId);
5457
5463
  this.ensureInspectorData().catch(() => {});
5458
5464
  // Canvas snapshot rides the selection burst. Invalidate-then-fetch on
@@ -5588,8 +5594,9 @@ export class PilotSwarmUiController {
5588
5594
  * history pipeline recognizes the canonical prefix and keeps it out of
5589
5595
  * the portal chat pane; the transcript still records it for provenance.
5590
5596
  */
5591
- submitCanvasAction(sessionId, message) {
5597
+ submitCanvasAction(sessionId, message, slot = 1) {
5592
5598
  if (!sessionId) return Promise.resolve({ ok: false, reason: "no session" });
5599
+ if (!Number.isInteger(slot) || slot < 1 || slot > 5) return Promise.resolve({ ok: false, reason: "invalid canvas slot" });
5593
5600
  // Creator-only, mirrored from the server's enforcement (the server is
5594
5601
  // the authority; this is the friendly refusal). The canvas mutates —
5595
5602
  // a shared viewer may be looking at a different revision than the one
@@ -5599,7 +5606,7 @@ export class PilotSwarmUiController {
5599
5606
  // longer pre-refuses non-owners: a write-shared collaborator's click
5600
5607
  // must reach the agent, and the server's refusal for a read-only
5601
5608
  // viewer comes back as the result's reason.
5602
- const contract = this.getState().canvas.bySessionId[sessionId]?.responseContract || null;
5609
+ const contract = this.getState().canvas.bySessionId[canvasPrefKey(sessionId, slot)]?.responseContract || null;
5603
5610
  const verdict = validateCanvasAction(contract, message);
5604
5611
  if (!verdict.ok) return Promise.resolve(verdict);
5605
5612
  if (!this.canvasActionLimiters) this.canvasActionLimiters = new Map();
@@ -5745,6 +5752,10 @@ export class PilotSwarmUiController {
5745
5752
 
5746
5753
  mergeSessionEvent(sessionId, event) {
5747
5754
  if (!sessionId || !event) return false;
5755
+ if (event.eventType === "session.access_revoked") {
5756
+ this.handleSessionGone(sessionId);
5757
+ return true;
5758
+ }
5748
5759
  // Plane-synthesized canvas events are TRANSIENT: they update canvas
5749
5760
  // state and nothing else. They carry no seq — letting them into
5750
5761
  // history would corrupt the replay cursor — and they must never
@@ -6005,15 +6016,42 @@ export class PilotSwarmUiController {
6005
6016
  this.maybeFlushQueuedOutbox(sessionId, session);
6006
6017
  }
6007
6018
 
6019
+ async openCreatedSession(created, options = {}) {
6020
+ const sessionId = created.sessionId;
6021
+ // Creation is explicit navigation, even if a paged/stale catalog or
6022
+ // the current filters omit the new row. Seed the response, preserve
6023
+ // the outgoing draft, and latch the same visibility rules as a link.
6024
+ // Invalidate catalog reads that started before this row existed.
6025
+ this.sessionRefreshSeq = (this.sessionRefreshSeq || 0) + 1;
6026
+ if (this.getState().ui.promptEdit) this.exitPendingPromptEdit({ restoreDraft: true });
6027
+ this.dispatch({ type: "sessions/selected", sessionId });
6028
+ this.dispatch({ type: "ui/sequenceExpandedTurns", turns: [] });
6029
+ this.dispatch({ type: "ui/sequenceSelectedTurn", turn: null });
6030
+ this.dispatch({ type: "sessions/navigationIntent", sessionId });
6031
+ this.dispatch({ type: "sessions/merged", session: normalizeSessionListRow({
6032
+ ...created,
6033
+ ...(options.groupId ? { viewerGroupId: options.groupId } : {}),
6034
+ }) });
6035
+ this.revealCreatedSession();
6036
+ this.dispatch({ type: "ui/status", text: `Created session ${sessionId.slice(0, 8)}` });
6037
+ // A follow-up read failure must not masquerade as a failed create and
6038
+ // invite a duplicate. The regular refresh loop can finish hydration.
6039
+ try {
6040
+ await this.loadSession(sessionId);
6041
+ } catch (error) {
6042
+ if (this.getState().sessions.activeSessionId === sessionId) {
6043
+ this.dispatch({ type: "ui/status", text: `Created session ${sessionId.slice(0, 8)}; could not load it yet: ${error?.message || error}` });
6044
+ }
6045
+ }
6046
+ this.scheduleSessionsRefresh(0);
6047
+ }
6048
+
6008
6049
  async createSession(options = {}) {
6009
6050
  try {
6010
6051
  const requestOptions = this.applyActiveGroupDefault(options);
6011
6052
  const created = await this.transport.createSession(requestOptions);
6012
6053
  await this.placeCreatedSessionInGroup(created, requestOptions.groupId ?? null);
6013
- await this.refreshSessions();
6014
- await this.loadSession(created.sessionId);
6015
- this.revealCreatedSession();
6016
- this.dispatch({ type: "ui/status", text: `Created session ${created.sessionId.slice(0, 8)}` });
6054
+ await this.openCreatedSession(created, requestOptions);
6017
6055
  return created;
6018
6056
  } catch (error) {
6019
6057
  this.dispatch({ type: "ui/status", text: error?.message || String(error) || "Failed to create session" });
@@ -6033,13 +6071,7 @@ export class PilotSwarmUiController {
6033
6071
  // session that was just created, and a lost count only reorders a list.
6034
6072
  this._recordAgentPickerUse(agentName);
6035
6073
  await this.placeCreatedSessionInGroup(created, requestOptions.groupId ?? null);
6036
- await this.refreshSessions();
6037
- await this.loadSession(created.sessionId);
6038
- this.revealCreatedSession();
6039
- this.dispatch({
6040
- type: "ui/status",
6041
- text: `Created ${formatAgentDisplayTitle(agentName, options.title)} session ${created.sessionId.slice(0, 8)}`,
6042
- });
6074
+ await this.openCreatedSession(created, requestOptions);
6043
6075
  return created;
6044
6076
  } catch (error) {
6045
6077
  this.dispatch({ type: "ui/status", text: error?.message || String(error) || "Failed to create session" });
@@ -9649,10 +9681,16 @@ export class PilotSwarmUiController {
9649
9681
  ...(olderHistory.events || []),
9650
9682
  ...(history?.events || []),
9651
9683
  ];
9684
+ // A page can split an assistant message from its turn
9685
+ // boundary. Reclassify the combined durable window while
9686
+ // retaining this visit's preview identity and reasoning.
9687
+ const existingChatById = new Map((history?.chat || []).map((item) => [item.id, item]));
9688
+ const combinedHistory = buildHistoryModel(combinedEvents, { requestedLimit: combinedEvents.length });
9652
9689
  history = {
9690
+ ...history,
9653
9691
  chat: dedupeChatMessages([
9654
- ...(olderHistory.chat || []),
9655
- ...(history?.chat || []),
9692
+ ...combinedHistory.chat.map((item) => ({ ...existingChatById.get(item.id), ...item })),
9693
+ ...(history?.chat || []).filter((item) => item.liveTurn || item.optimistic),
9656
9694
  ]),
9657
9695
  activity: [
9658
9696
  ...(olderHistory.activity || []),
@@ -617,7 +617,9 @@ export function extractHttpLinks(source = "") {
617
617
  .filter((token) => token.href);
618
618
  }
619
619
 
620
- function parseInlineMarkdownRuns(source) {
620
+ function parseInlineMarkdownRuns(source, depth = 0) {
621
+ // Keep pathological model output from exhausting the JS call stack.
622
+ if (depth >= 32) return [{ text: String(source || ""), color: null, bold: false, underline: false }];
621
623
  const tokens = tokenizeInlineMarkdown(source);
622
624
  const runs = [];
623
625
 
@@ -626,12 +628,16 @@ function parseInlineMarkdownRuns(source) {
626
628
  pushTextRun(runs, token.text, { color: "cyan" });
627
629
  continue;
628
630
  }
629
- if (token.type === "strong") {
630
- pushTextRun(runs, token.text, { bold: true });
631
- continue;
632
- }
633
- if (token.type === "em") {
634
- pushTextRun(runs, token.text, { underline: true });
631
+ if (token.type === "strong" || token.type === "em") {
632
+ // Emphasis may contain links (e.g. **[Download](artifact://...)**).
633
+ // Preserve their href so the portal can render its artifact card;
634
+ // flattening token.text here leaves raw Markdown in the transcript.
635
+ for (const run of parseInlineMarkdownRuns(token.text, depth + 1)) {
636
+ pushTextRun(runs, run.text, {
637
+ ...run,
638
+ ...(token.type === "strong" ? { bold: true } : { underline: true }),
639
+ });
640
+ }
635
641
  continue;
636
642
  }
637
643
  if (token.type === "link") {
@@ -1050,7 +1056,9 @@ export function parseMarkdownLines(input, options = {}) {
1050
1056
 
1051
1057
  const headingMatch = /^(#{1,6})\s+(.*)$/.exec(rawLine);
1052
1058
  if (headingMatch) {
1053
- lines.push([{ text: headingMatch[2], color: "white", bold: true }]);
1059
+ lines.push(parseInlineMarkdownRuns(headingMatch[2]).map((run) => ({
1060
+ ...run, color: run.color || "white", bold: true,
1061
+ })));
1054
1062
  continue;
1055
1063
  }
1056
1064
 
@@ -1106,6 +1114,7 @@ export function buildMessageCardLines({
1106
1114
  bodyColor = null,
1107
1115
  fitToContent = false,
1108
1116
  tableMode = null,
1117
+ cardKey = null,
1109
1118
  } = {}) {
1110
1119
  const maxWidth = Math.max(fitToContent ? 12 : 20, Number(width) || (fitToContent ? 12 : 20));
1111
1120
  const maxContentWidth = Math.max(1, maxWidth - 4);
@@ -1130,7 +1139,7 @@ export function buildMessageCardLines({
1130
1139
  : lineRuns))
1131
1140
  : sentinelBodyLines;
1132
1141
  return [
1133
- { kind: "cardStart", runs: titleRuns, borderColor },
1142
+ { kind: "cardStart", runs: titleRuns, borderColor, ...(cardKey ? { cardKey } : {}) },
1134
1143
  ...sentinelTinted,
1135
1144
  { kind: "cardEnd" },
1136
1145
  [{ text: "", color: null }],
@@ -2,6 +2,7 @@ import { formatHumanDurationSeconds, formatTimestamp, shortModelName, shortSessi
2
2
  import { isCanvasActionContent, parseCanvasActionContent } from "./canvas-actions.js";
3
3
  import { formatCompactionActivityRuns } from "./context-usage.js";
4
4
  import { canonicalSystemTitle } from "./system-titles.js";
5
+ import { buildSessionWarning } from "./session-errors.js";
5
6
 
6
7
  export const DEFAULT_HISTORY_EVENT_LIMIT = 300;
7
8
  export const HISTORY_EVENT_LIMIT_STEPS = [
@@ -16,8 +17,13 @@ export const HISTORY_EVENT_LIMIT_STEPS = [
16
17
  // noisy sessions (thousands of tool/orchestration events between messages)
17
18
  // load transcript pages instead of raw-stream pages.
18
19
  export const CHAT_HISTORY_EVENT_TYPES = [
20
+ "session.error",
19
21
  "user.message",
20
22
  "assistant.message",
23
+ // Needed to distinguish interim assistant output from the final answer
24
+ // when an older transcript page is loaded.
25
+ "session.turn_completed",
26
+ "session.turn_stopped",
21
27
  "system.message",
22
28
  // Session regeneration boundary — rendered as an inline epoch divider in
23
29
  // the transcript, so it must survive backward chat-history paging.
@@ -246,14 +252,18 @@ function comparableMessageText(message) {
246
252
  export function parseAskedAndAnsweredExchange(text) {
247
253
  const source = String(text || "").replace(/\r\n/g, "\n").trim();
248
254
  const prefix = 'The user was asked: "';
249
- const marker = '"\nThe user responded: "';
250
-
251
255
  if (!source.startsWith(prefix) || !source.endsWith('"')) return null;
252
- const markerIndex = source.indexOf(marker, prefix.length);
253
- if (markerIndex === -1) return null;
254
-
255
- const question = source.slice(prefix.length, markerIndex);
256
- const answer = source.slice(markerIndex + marker.length, -1);
256
+ // Multi-writer sessions include the answering participant in the runtime
257
+ // wrapper. This is still an agent question followed by a human answer,
258
+ // not a human-authored copy of the entire question. Identity comes from
259
+ // the event's sender metadata, never from this display-only wrapper.
260
+ const marker = /"\nThe user responded(?: \(answered by [^\r\n]+?\))?: "/g;
261
+ marker.lastIndex = prefix.length;
262
+ const match = marker.exec(source);
263
+ if (!match) return null;
264
+
265
+ const question = source.slice(prefix.length, match.index);
266
+ const answer = source.slice(marker.lastIndex, -1);
257
267
  if (!question.trim() || !answer.trim()) return null;
258
268
  return { question, answer };
259
269
  }
@@ -395,11 +405,17 @@ function sharesClientMessageId(left, right) {
395
405
  function areMessagesEquivalent(left, right) {
396
406
  if (!left || !right) return false;
397
407
  if (left.role !== right.role) return false;
408
+ // Identical text in separate model messages still represents separate
409
+ // preview slots (and one may later become the final answer).
410
+ if (left.role === "assistant" && left.messageId && right.messageId) {
411
+ return left.messageId === right.messageId;
412
+ }
398
413
  // Canvas revision lines are platform-minted, exactly-once (one durable
399
414
  // event per rev), and share identical text by design (the artifact://
400
415
  // link) — the redelivery time-window below would eat rev N-1 on every
401
416
  // reload, making the transcript disagree with what live append showed.
402
- if (left.kind === "canvas-update" || right.kind === "canvas-update") {
417
+ if (left.kind === "canvas-update" || right.kind === "canvas-update"
418
+ || left.kind === "session-warning" || right.kind === "session-warning") {
403
419
  return left.kind === right.kind && left.id === right.id;
404
420
  }
405
421
 
@@ -533,9 +549,10 @@ function buildChatMessage(event, role) {
533
549
  const messageId = typeof event?.data?.messageId === "string" && event.data.messageId
534
550
  ? event.data.messageId
535
551
  : null;
552
+ const chatRole = deriveChatRole(event, role, text);
536
553
  return {
537
554
  id: `${event.sessionId}:${event.seq}`,
538
- role: deriveChatRole(event, role, text),
555
+ role: chatRole,
539
556
  text,
540
557
  time: formatTimestamp(event.createdAt),
541
558
  createdAt: event.createdAt instanceof Date ? event.createdAt.getTime() : new Date(event.createdAt).getTime(),
@@ -543,9 +560,38 @@ function buildChatMessage(event, role) {
543
560
  ...(sender ? { sender } : {}),
544
561
  ...(attachments.length > 0 ? { attachments } : {}),
545
562
  ...(messageId ? { messageId } : {}),
563
+ ...(chatRole === "assistant" ? {
564
+ assistantPreview: true,
565
+ responsePending: true,
566
+ responseFinal: false,
567
+ responseCanFinalize: !event?.data?.parentToolCallId && !event?.data?.toolRequests?.length,
568
+ ...(typeof event?.data?.reasoningText === "string" && event.data.reasoningText
569
+ ? { liveReasoningText: event.data.reasoningText } : {}),
570
+ } : {}),
546
571
  };
547
572
  }
548
573
 
574
+ // A saved assistant.message is not necessarily the answer: a single runTurn
575
+ // can contain many tool-loop utterances. Only its successful durable boundary
576
+ // promotes the last eligible message. Use the same rule for replay and append.
577
+ function settleAssistantResponses(chat, event) {
578
+ const resultType = event?.data?.resultType || event?.data?.result;
579
+ const successful = event?.eventType === "session.turn_completed"
580
+ && (!resultType || resultType === "completed");
581
+ let finalIndex = -1;
582
+ for (let index = chat.length - 1; index >= 0; index -= 1) {
583
+ if (chat[index]?.responsePending) {
584
+ if (successful && chat[index].responseCanFinalize) finalIndex = index;
585
+ break;
586
+ }
587
+ }
588
+ for (let index = 0; index < chat.length; index += 1) {
589
+ if (chat[index]?.responsePending) chat[index] = {
590
+ ...chat[index], responsePending: false, responseFinal: index === finalIndex,
591
+ };
592
+ }
593
+ }
594
+
549
595
  /** Apply one transient `turn` topic snapshot without touching durable events/seq. */
550
596
  export function applyLiveTurnToHistory(history, payload, meta = {}) {
551
597
  if (!payload) return history;
@@ -1168,6 +1214,13 @@ export function buildHistoryModel(events = [], options = {}) {
1168
1214
 
1169
1215
  for (const event of events) {
1170
1216
  storedEvents.push(event);
1217
+ if (event.eventType === "session.error") {
1218
+ const warning = buildSessionWarning(event);
1219
+ if (warning) chat.push(warning);
1220
+ }
1221
+ if (["user.message", "session.turn_completed", "session.turn_stopped", "session.epoch_committed"].includes(event.eventType)) {
1222
+ settleAssistantResponses(chat, event);
1223
+ }
1171
1224
  if (event.eventType === "user.message") {
1172
1225
  activity.push(...buildEmbeddedSystemNoticeActivityItems(event, "user"));
1173
1226
  const message = buildChatMessage(event, "user");
@@ -1262,6 +1315,17 @@ export function appendEventToHistory(history, event) {
1262
1315
  stoppedMessageIds: Array.isArray(history?.stoppedMessageIds) ? history.stoppedMessageIds : [],
1263
1316
  };
1264
1317
 
1318
+ if (event.eventType === "session.error") {
1319
+ const warning = buildSessionWarning(event);
1320
+ if (warning && !next.chat.some(item => item.id === warning.id)) {
1321
+ next.chat = clampHistoryItems([...next.chat, warning], loadedEventLimit);
1322
+ }
1323
+ }
1324
+
1325
+ if (["user.message", "session.turn_completed", "session.turn_stopped", "session.epoch_committed"].includes(event.eventType)) {
1326
+ settleAssistantResponses(next.chat, event);
1327
+ }
1328
+
1265
1329
  // A stopped turn leaves a durable session.turn_stopped carrying the
1266
1330
  // interrupted prompt's clientMessageIds. Record them and retroactively
1267
1331
  // flag any matching transcript message (the user.message usually lands
@@ -1331,22 +1395,14 @@ export function appendEventToHistory(history, event) {
1331
1395
  if (liveIndex >= 0) {
1332
1396
  const settledAt = Date.now();
1333
1397
  const liveStartedAt = Number(liveItem?.liveStartedAt || liveItem?.createdAt) || settledAt;
1334
- const liveAgeMs = Math.max(0, settledAt - liveStartedAt);
1335
- // A live surface that never crossed the reveal threshold remains
1336
- // invisible and the durable answer renders normally. Once it was
1337
- // eligible to be seen, preserve the key and reasoning long enough
1338
- // for the browser to morph it smoothly into committed transcript.
1339
- if (liveAgeMs >= 200) {
1340
- const streamSettleDelayMs = Math.max(0, 900 - liveAgeMs);
1341
- Object.assign(message, {
1342
- streamSettling: true,
1343
- liveKey: liveItem?.liveKey || message.messageId,
1344
- liveStartedAt,
1345
- liveReasoningText: liveItem?.reasoningText || "",
1346
- streamSettleDelayMs,
1347
- streamSettleAt: settledAt + streamSettleDelayMs + 180,
1348
- });
1349
- }
1398
+ // Keep the disclosure identity even for short streams. Committing
1399
+ // an interim message must not reset expansion or its scroll box.
1400
+ Object.assign(message, {
1401
+ streamSettling: true,
1402
+ liveKey: liveItem?.liveKey || message.messageId,
1403
+ liveStartedAt,
1404
+ liveReasoningText: message.liveReasoningText || liveItem?.reasoningText || "",
1405
+ });
1350
1406
  next.chat.splice(Math.min(liveIndex, next.chat.length), 0, message);
1351
1407
  }
1352
1408
  else next.chat.push(message);
@@ -16,3 +16,5 @@ export { isThemeLight } from "./themes/helpers.js";
16
16
  export * from "./themes/index.js";
17
17
  export { validateCanvasAction, formatCanvasActionPrompt, parseCanvasActionContent, isCanvasActionContent, createCanvasActionLimiter, CANVAS_ACTION_PREFIX } from "./canvas-actions.js";
18
18
  export * from "./table-layout.js";
19
+
20
+ export * from "./moa.js";