@rubytech/create-maxy-code 0.1.315 → 0.1.317

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 (278) hide show
  1. package/package.json +2 -2
  2. package/payload/platform/lib/mcp-eager/dist/index.d.ts +0 -20
  3. package/payload/platform/lib/mcp-eager/dist/index.d.ts.map +1 -1
  4. package/payload/platform/lib/mcp-eager/dist/index.js +2 -1
  5. package/payload/platform/lib/mcp-eager/dist/index.js.map +1 -1
  6. package/payload/platform/lib/mcp-eager/src/index.ts +3 -1
  7. package/payload/platform/lib/mcp-lifeline/dist/index.d.ts +8 -0
  8. package/payload/platform/lib/mcp-lifeline/dist/index.d.ts.map +1 -0
  9. package/payload/platform/lib/mcp-lifeline/dist/index.js +71 -0
  10. package/payload/platform/lib/mcp-lifeline/dist/index.js.map +1 -0
  11. package/payload/platform/lib/mcp-lifeline/package.json +7 -0
  12. package/payload/platform/lib/mcp-lifeline/src/__tests__/lifeline.test.ts +146 -0
  13. package/payload/platform/lib/mcp-lifeline/src/index.ts +78 -0
  14. package/payload/platform/lib/mcp-lifeline/tsconfig.json +9 -0
  15. package/payload/platform/lib/mcp-lifeline/vitest.config.ts +9 -0
  16. package/payload/platform/lib/models/dist/index.d.ts +8 -0
  17. package/payload/platform/lib/models/dist/index.d.ts.map +1 -1
  18. package/payload/platform/lib/models/dist/index.js +20 -1
  19. package/payload/platform/lib/models/dist/index.js.map +1 -1
  20. package/payload/platform/lib/models/src/index.ts +22 -0
  21. package/payload/platform/package.json +5 -2
  22. package/payload/platform/plugins/admin/mcp/dist/index.js +11 -10
  23. package/payload/platform/plugins/admin/mcp/dist/index.js.map +1 -1
  24. package/payload/platform/plugins/admin/skills/platform-architecture/SKILL.md +20 -11
  25. package/payload/platform/plugins/docs/references/admin-session.md +1 -1
  26. package/payload/platform/plugins/docs/references/admin-ui.md +5 -3
  27. package/payload/platform/plugins/docs/references/internals.md +14 -7
  28. package/payload/platform/plugins/memory/mcp/dist/index.js +32 -31
  29. package/payload/platform/plugins/memory/mcp/dist/index.js.map +1 -1
  30. package/payload/platform/plugins/memory/references/schema-estate-agent.md +32 -0
  31. package/payload/platform/plugins/outlook/mcp/dist/index.js +8 -7
  32. package/payload/platform/plugins/outlook/mcp/dist/index.js.map +1 -1
  33. package/payload/platform/plugins/quickbooks/mcp/dist/index.js +12 -11
  34. package/payload/platform/plugins/quickbooks/mcp/dist/index.js.map +1 -1
  35. package/payload/platform/plugins/replicate/mcp/dist/index.js +4 -3
  36. package/payload/platform/plugins/replicate/mcp/dist/index.js.map +1 -1
  37. package/payload/platform/plugins/whatsapp/mcp/dist/index.js +11 -10
  38. package/payload/platform/plugins/whatsapp/mcp/dist/index.js.map +1 -1
  39. package/payload/platform/scripts/__tests__/check-no-raw-mcp-registrations.test.sh +57 -0
  40. package/payload/platform/scripts/check-no-raw-mcp-registrations.mjs +70 -0
  41. package/payload/platform/services/claude-session-manager/dist/http-server.d.ts.map +1 -1
  42. package/payload/platform/services/claude-session-manager/dist/http-server.js +71 -14
  43. package/payload/platform/services/claude-session-manager/dist/http-server.js.map +1 -1
  44. package/payload/platform/services/claude-session-manager/dist/pty-spawner.d.ts +5 -0
  45. package/payload/platform/services/claude-session-manager/dist/pty-spawner.d.ts.map +1 -1
  46. package/payload/platform/services/claude-session-manager/dist/pty-spawner.js +7 -0
  47. package/payload/platform/services/claude-session-manager/dist/pty-spawner.js.map +1 -1
  48. package/payload/platform/services/claude-session-manager/dist/rc-daemon.d.ts.map +1 -1
  49. package/payload/platform/services/claude-session-manager/dist/rc-daemon.js +3 -12
  50. package/payload/platform/services/claude-session-manager/dist/rc-daemon.js.map +1 -1
  51. package/payload/platform/services/claude-session-manager/dist/session-sidecar.d.ts +8 -0
  52. package/payload/platform/services/claude-session-manager/dist/session-sidecar.d.ts.map +1 -1
  53. package/payload/platform/services/claude-session-manager/dist/session-sidecar.js +9 -0
  54. package/payload/platform/services/claude-session-manager/dist/session-sidecar.js.map +1 -1
  55. package/payload/platform/services/claude-session-manager/dist/system-prompt.d.ts +5 -0
  56. package/payload/platform/services/claude-session-manager/dist/system-prompt.d.ts.map +1 -1
  57. package/payload/platform/services/claude-session-manager/dist/system-prompt.js +15 -0
  58. package/payload/platform/services/claude-session-manager/dist/system-prompt.js.map +1 -1
  59. package/payload/platform/services/webchat-channel/dist/permission.d.ts +46 -0
  60. package/payload/platform/services/webchat-channel/dist/permission.d.ts.map +1 -0
  61. package/payload/platform/services/webchat-channel/dist/permission.js +56 -0
  62. package/payload/platform/services/webchat-channel/dist/permission.js.map +1 -0
  63. package/payload/platform/services/webchat-channel/dist/server.d.ts.map +1 -1
  64. package/payload/platform/services/webchat-channel/dist/server.js +47 -1
  65. package/payload/platform/services/webchat-channel/dist/server.js.map +1 -1
  66. package/payload/platform/templates/specialists/agents/data-manager.md +3 -1
  67. package/payload/premium-plugins/writer-craft/lib/mcp-lifeline/dist/index.d.ts +8 -0
  68. package/payload/premium-plugins/writer-craft/lib/mcp-lifeline/dist/index.d.ts.map +1 -0
  69. package/payload/premium-plugins/writer-craft/lib/mcp-lifeline/dist/index.js +71 -0
  70. package/payload/premium-plugins/writer-craft/lib/mcp-lifeline/dist/index.js.map +1 -0
  71. package/payload/premium-plugins/writer-craft/lib/mcp-lifeline/package.json +7 -0
  72. package/payload/premium-plugins/writer-craft/mcp/dist/index.d.ts.map +1 -1
  73. package/payload/premium-plugins/writer-craft/mcp/dist/index.js +6 -5
  74. package/payload/premium-plugins/writer-craft/mcp/dist/index.js.map +1 -1
  75. package/payload/premium-plugins/writer-craft/mcp/src/index.ts +6 -5
  76. package/payload/server/{chunk-Q7EWROVN.js → chunk-NCRJQEZ3.js} +0 -101
  77. package/payload/server/maxy-edge.js +1 -1
  78. package/payload/server/public/assets/AdminLoginScreens-CrdmA3KA.js +1 -0
  79. package/payload/server/public/assets/AdminShell-0meAFBva.js +1 -0
  80. package/payload/server/public/assets/Checkbox-DXisJRUK.js +1 -0
  81. package/payload/server/public/assets/OperatorConversations-DBy2G8q3.js +9 -0
  82. package/payload/server/public/assets/OperatorConversations-DvRXfq3q.css +1 -0
  83. package/payload/server/public/assets/admin-DX5lZxWt.js +1 -0
  84. package/payload/server/public/assets/{arc-J2g2u5Xv.js → arc-CxLB9WCE.js} +1 -1
  85. package/payload/server/public/assets/architecture-YZFGNWBL-DN-MYxff.js +1 -0
  86. package/payload/server/public/assets/{architectureDiagram-Q4EWVU46-CN0BXxpE.js → architectureDiagram-Q4EWVU46-D-EdJPSY.js} +1 -1
  87. package/payload/server/public/assets/{blockDiagram-DXYQGD6D-HX-8wF2p.js → blockDiagram-DXYQGD6D-CXx9RgCm.js} +1 -1
  88. package/payload/server/public/assets/browser-Bxx8w8BA.js +1 -0
  89. package/payload/server/public/assets/{c4Diagram-AHTNJAMY-wIuarKF5.js → c4Diagram-AHTNJAMY-RFBXEe0B.js} +1 -1
  90. package/payload/server/public/assets/channel-y27xl53N.js +1 -0
  91. package/payload/server/public/assets/chat-CT9YrNtI.js +1 -0
  92. package/payload/server/public/assets/{chunk-2KRD3SAO-Buz7egJZ.js → chunk-2KRD3SAO-DBqAFwK9.js} +1 -1
  93. package/payload/server/public/assets/{chunk-336JU56O-_JcFXJqc.js → chunk-336JU56O-DdnFEz6R.js} +2 -2
  94. package/payload/server/public/assets/chunk-426QAEUC-D8Iwaegm.js +1 -0
  95. package/payload/server/public/assets/{chunk-4BX2VUAB-DUR5Dg3M.js → chunk-4BX2VUAB-cnw-3Gbs.js} +1 -1
  96. package/payload/server/public/assets/{chunk-4TB4RGXK-BRIqQ9st.js → chunk-4TB4RGXK-BnqJ0bDc.js} +1 -1
  97. package/payload/server/public/assets/{chunk-55IACEB6-CezTHWXL.js → chunk-55IACEB6-BwyHvvzo.js} +1 -1
  98. package/payload/server/public/assets/{chunk-5FUZZQ4R-DHYUPzF1.js → chunk-5FUZZQ4R-DXA9U02I.js} +1 -1
  99. package/payload/server/public/assets/{chunk-5PVQY5BW-BVn4_fI5.js → chunk-5PVQY5BW-D78bZ_8D.js} +1 -1
  100. package/payload/server/public/assets/{chunk-67CJDMHE-BBLA8Mbi.js → chunk-67CJDMHE-CtE_Mgv7.js} +1 -1
  101. package/payload/server/public/assets/{chunk-7N4EOEYR-CdWfEI5c.js → chunk-7N4EOEYR-CUZDaySl.js} +1 -1
  102. package/payload/server/public/assets/{chunk-AA7GKIK3-tS11knCR.js → chunk-AA7GKIK3-CYQ3jO4X.js} +1 -1
  103. package/payload/server/public/assets/{chunk-BSJP7CBP-GEu1OOZ6.js → chunk-BSJP7CBP-BbA_HyTR.js} +1 -1
  104. package/payload/server/public/assets/{chunk-CIAEETIT-DKrNbbp_.js → chunk-CIAEETIT-D7_YqRhG.js} +1 -1
  105. package/payload/server/public/assets/{chunk-EDXVE4YY-B0InXNyr.js → chunk-EDXVE4YY-B23LrtSw.js} +1 -1
  106. package/payload/server/public/assets/{chunk-ENJZ2VHE-CO7lkHdm.js → chunk-ENJZ2VHE-D3fTHYKN.js} +1 -1
  107. package/payload/server/public/assets/{chunk-FMBD7UC4-CMj74lWo.js → chunk-FMBD7UC4-DFAA2tyh.js} +1 -1
  108. package/payload/server/public/assets/{chunk-FOC6F5B3-CLnKQoXw.js → chunk-FOC6F5B3-BF4IHvlI.js} +1 -1
  109. package/payload/server/public/assets/{chunk-ICPOFSXX-CdiEKIaz.js → chunk-ICPOFSXX-DBUGemHy.js} +2 -2
  110. package/payload/server/public/assets/{chunk-K5T4RW27-B6LA3fiv.js → chunk-K5T4RW27-rMMs08Eh.js} +1 -1
  111. package/payload/server/public/assets/{chunk-KGLVRYIC-DrhRrb8Q.js → chunk-KGLVRYIC-BD2r8R2G.js} +1 -1
  112. package/payload/server/public/assets/{chunk-LIHQZDEY-DVQukevB.js → chunk-LIHQZDEY-D4sYTTwM.js} +1 -1
  113. package/payload/server/public/assets/{chunk-ORNJ4GCN-ZMLkoDhP.js → chunk-ORNJ4GCN-CAs_uFzb.js} +1 -1
  114. package/payload/server/public/assets/{chunk-OYMX7WX6-C0dJkynG.js → chunk-OYMX7WX6-Fkp-2ORc.js} +1 -1
  115. package/payload/server/public/assets/chunk-QZHKN3VN-qHqDpwz3.js +1 -0
  116. package/payload/server/public/assets/{chunk-U2HBQHQK-BQ9BPIFZ.js → chunk-U2HBQHQK-D_pxZh25.js} +1 -1
  117. package/payload/server/public/assets/{chunk-X2U36JSP-CAonGMOd.js → chunk-X2U36JSP-CeVmvvRf.js} +1 -1
  118. package/payload/server/public/assets/{chunk-XPW4576I-D5C_WNlk.js → chunk-XPW4576I-iWP54fKp.js} +1 -1
  119. package/payload/server/public/assets/{chunk-YZCP3GAM-Ecdvzekb.js → chunk-YZCP3GAM-CNtbWJNN.js} +1 -1
  120. package/payload/server/public/assets/{chunk-ZZ45TVLE-BsFZd1cN.js → chunk-ZZ45TVLE-BmlFjU_9.js} +1 -1
  121. package/payload/server/public/assets/classDiagram-6PBFFD2Q-DgVoYWhO.js +1 -0
  122. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-C0WNP3uN.js +1 -0
  123. package/payload/server/public/assets/clone-D50F_pvg.js +1 -0
  124. package/payload/server/public/assets/{cose-bilkent-S5V4N54A-DBWHaIwm.js → cose-bilkent-S5V4N54A-C7YmF1Pg.js} +1 -1
  125. package/payload/server/public/assets/{dagre-Dr7ZJYeS.js → dagre-BAmiDDtR.js} +1 -1
  126. package/payload/server/public/assets/{dagre-KV5264BT-oIJddk7m.js → dagre-KV5264BT-Ca3ESJhc.js} +1 -1
  127. package/payload/server/public/assets/data-B9NtsXgF.js +1 -0
  128. package/payload/server/public/assets/{diagram-5BDNPKRD-CEVxqOZ4.js → diagram-5BDNPKRD-BgT1ORf2.js} +1 -1
  129. package/payload/server/public/assets/{diagram-G4DWMVQ6-BovF7Rjx.js → diagram-G4DWMVQ6-BTaUIiem.js} +1 -1
  130. package/payload/server/public/assets/{diagram-MMDJMWI5-BhrF8zoF.js → diagram-MMDJMWI5-Bdb2g6Uo.js} +1 -1
  131. package/payload/server/public/assets/{diagram-TYMM5635-DCUYwxtR.js → diagram-TYMM5635-CkLGC0zZ.js} +1 -1
  132. package/payload/server/public/assets/{dist-DSsFp0Qd.js → dist-Bkbhs3jw.js} +1 -1
  133. package/payload/server/public/assets/{erDiagram-SMLLAGMA-BS2-HdCg.js → erDiagram-SMLLAGMA-D_sj4DMg.js} +1 -1
  134. package/payload/server/public/assets/{flatten-BZMXCpLh.js → flatten-E2Sr0FeD.js} +1 -1
  135. package/payload/server/public/assets/{flowDiagram-DWJPFMVM-BzSFLoea.js → flowDiagram-DWJPFMVM-iLERoZTe.js} +1 -1
  136. package/payload/server/public/assets/{ganttDiagram-T4ZO3ILL-1-3QU7mT.js → ganttDiagram-T4ZO3ILL-D60hjMBy.js} +1 -1
  137. package/payload/server/public/assets/gitGraph-7Q5UKJZL-D-L2yzYf.js +1 -0
  138. package/payload/server/public/assets/{gitGraphDiagram-UUTBAWPF-fTrJ35Wk.js → gitGraphDiagram-UUTBAWPF-Di0XM6fi.js} +1 -1
  139. package/payload/server/public/assets/{graph-Dx2a6vGB.js → graph-B59N222f.js} +3 -3
  140. package/payload/server/public/assets/graph-labels-70w-1ov0.js +1 -0
  141. package/payload/server/public/assets/{graphlib-rlEzI2qD.js → graphlib-C8fUP7uV.js} +1 -1
  142. package/payload/server/public/assets/info-OMHHGYJF-BQn6jndO.js +1 -0
  143. package/payload/server/public/assets/infoDiagram-42DDH7IO-BwMdbiXg.js +2 -0
  144. package/payload/server/public/assets/{isEmpty-DaYIrHay.js → isEmpty-CLz-UprQ.js} +1 -1
  145. package/payload/server/public/assets/{ishikawaDiagram-UXIWVN3A-0eU_UtlT.js → ishikawaDiagram-UXIWVN3A-CwgI4B5Z.js} +1 -1
  146. package/payload/server/public/assets/{journeyDiagram-VCZTEJTY-BKLeZohp.js → journeyDiagram-VCZTEJTY-CxBu-tze.js} +1 -1
  147. package/payload/server/public/assets/{kanban-definition-6JOO6SKY-Dq72xyaN.js → kanban-definition-6JOO6SKY-D2qlheA5.js} +1 -1
  148. package/payload/server/public/assets/{line-LQhmDT8k.js → line-Bdod7uzQ.js} +1 -1
  149. package/payload/server/public/assets/{linear-BGotDbGs.js → linear-BiVe6QzC.js} +1 -1
  150. package/payload/server/public/assets/{mermaid-parser.core-DoLdho1V.js → mermaid-parser.core-xZN7hC6M.js} +2 -2
  151. package/payload/server/public/assets/{mermaid.core-C1RRyHGm.js → mermaid.core-D0IylAac.js} +3 -3
  152. package/payload/server/public/assets/{mindmap-definition-QFDTVHPH-vUVVVyV1.js → mindmap-definition-QFDTVHPH-J_Szhwf1.js} +1 -1
  153. package/payload/server/public/assets/operator-DpRAhwQN.js +1 -0
  154. package/payload/server/public/assets/{ordinal-BqEhkPyh.js → ordinal-5RtyPJVt.js} +1 -1
  155. package/payload/server/public/assets/packet-4T2RLAQJ-DmkQBx4h.js +1 -0
  156. package/payload/server/public/assets/page-Ehjc9b9V.js +30 -0
  157. package/payload/server/public/assets/pie-ZZUOXDRM-DDnxYUBm.js +1 -0
  158. package/payload/server/public/assets/{pieDiagram-DEJITSTG-B9Pl6Qhc.js → pieDiagram-DEJITSTG-CV5DxUVx.js} +1 -1
  159. package/payload/server/public/assets/public-BcqXGSaE.js +1 -0
  160. package/payload/server/public/assets/{quadrantDiagram-34T5L4WZ-Drn9T81A.js → quadrantDiagram-34T5L4WZ-BsFMVizF.js} +1 -1
  161. package/payload/server/public/assets/radar-PYXPWWZC-7H4k0ChM.js +1 -0
  162. package/payload/server/public/assets/{reduce-T2IuntYP.js → reduce-B3Mw_0s1.js} +1 -1
  163. package/payload/server/public/assets/{requirementDiagram-MS252O5E-C0PAItJm.js → requirementDiagram-MS252O5E-C5eRRvGc.js} +1 -1
  164. package/payload/server/public/assets/{sankeyDiagram-XADWPNL6-BR42Mtwd.js → sankeyDiagram-XADWPNL6-CJYv5gpw.js} +1 -1
  165. package/payload/server/public/assets/{sequenceDiagram-FGHM5R23-c2lR9UOS.js → sequenceDiagram-FGHM5R23-B25563_2.js} +1 -1
  166. package/payload/server/public/assets/{src-DXUM2BJo.js → src-BKOAoFQc.js} +1 -1
  167. package/payload/server/public/assets/{stateDiagram-FHFEXIEX-BcHhtqsZ.js → stateDiagram-FHFEXIEX-BLyNJYOA.js} +1 -1
  168. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-BSVuxZxz.js +1 -0
  169. package/payload/server/public/assets/{timeline-definition-GMOUNBTQ-Ax32c10H.js → timeline-definition-GMOUNBTQ-D-HgOM6Q.js} +1 -1
  170. package/payload/server/public/assets/treeView-SZITEDCU-BLXWTQtW.js +1 -0
  171. package/payload/server/public/assets/treemap-W4RFUUIX-DiePDF5d.js +1 -0
  172. package/payload/server/public/assets/{vennDiagram-DHZGUBPP-BxePewPq.js → vennDiagram-DHZGUBPP-Cw1JElYp.js} +1 -1
  173. package/payload/server/public/assets/wardley-RL74JXVD-OSUWK5LN.js +1 -0
  174. package/payload/server/public/assets/{wardleyDiagram-NUSXRM2D-DmJwZ2f5.js → wardleyDiagram-NUSXRM2D-BqMWzEko.js} +1 -1
  175. package/payload/server/public/assets/{xychartDiagram-5P7HB3ND-YjHomudv.js → xychartDiagram-5P7HB3ND-DBp71TLT.js} +1 -1
  176. package/payload/server/public/browser.html +5 -8
  177. package/payload/server/public/chat.html +8 -12
  178. package/payload/server/public/data.html +5 -7
  179. package/payload/server/public/graph.html +7 -10
  180. package/payload/server/public/index.html +8 -11
  181. package/payload/server/public/operator.html +10 -14
  182. package/payload/server/public/public.html +8 -10
  183. package/payload/server/server.js +376 -226
  184. package/payload/server/public/assets/AccessGate-B0sCa0QJ.js +0 -1
  185. package/payload/server/public/assets/AdminLoginScreens-C7Oaqpr6.js +0 -1
  186. package/payload/server/public/assets/AdminShell-DgK7TWCI.js +0 -1
  187. package/payload/server/public/assets/Checkbox-C4m1jfdP.js +0 -1
  188. package/payload/server/public/assets/OperatorConversations-qc_xy7Az.css +0 -1
  189. package/payload/server/public/assets/OperatorConversations-z2mSY_eQ.js +0 -1
  190. package/payload/server/public/assets/admin-DxYk1Ghu.js +0 -1
  191. package/payload/server/public/assets/architecture-YZFGNWBL-C6nkAxzW.js +0 -1
  192. package/payload/server/public/assets/audio-attachment-mime-BXj3DB3Y.js +0 -30
  193. package/payload/server/public/assets/brand-BwWvCHLs.css +0 -1
  194. package/payload/server/public/assets/brand-DOgCGEoD.js +0 -9
  195. package/payload/server/public/assets/browser-NzxOujfD.js +0 -1
  196. package/payload/server/public/assets/channel-Q39xIXyT.js +0 -1
  197. package/payload/server/public/assets/chat-CEQTEN5z.js +0 -1
  198. package/payload/server/public/assets/chunk-426QAEUC-CCYjp9C2.js +0 -1
  199. package/payload/server/public/assets/chunk-QZHKN3VN-BNBxnHZh.js +0 -1
  200. package/payload/server/public/assets/classDiagram-6PBFFD2Q-BShusfby.js +0 -1
  201. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-D4ivPLFF.js +0 -1
  202. package/payload/server/public/assets/clone-CjEM8LwB.js +0 -1
  203. package/payload/server/public/assets/data-CTROHvif.js +0 -1
  204. package/payload/server/public/assets/gitGraph-7Q5UKJZL-Btp3PwZh.js +0 -1
  205. package/payload/server/public/assets/graph-labels-Dxqq08v6.js +0 -1
  206. package/payload/server/public/assets/info-OMHHGYJF-CPt2y6_L.js +0 -1
  207. package/payload/server/public/assets/infoDiagram-42DDH7IO-CpXNTMgd.js +0 -2
  208. package/payload/server/public/assets/inter-cyrillic-400-normal-HOLc17fK.woff +0 -0
  209. package/payload/server/public/assets/inter-cyrillic-400-normal-obahsSVq.woff2 +0 -0
  210. package/payload/server/public/assets/inter-cyrillic-500-normal-BasfLYem.woff2 +0 -0
  211. package/payload/server/public/assets/inter-cyrillic-500-normal-CxZf_p3X.woff +0 -0
  212. package/payload/server/public/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2 +0 -0
  213. package/payload/server/public/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff +0 -0
  214. package/payload/server/public/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2 +0 -0
  215. package/payload/server/public/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.woff +0 -0
  216. package/payload/server/public/assets/inter-greek-400-normal-B4URO6DV.woff2 +0 -0
  217. package/payload/server/public/assets/inter-greek-400-normal-q2sYcFCs.woff +0 -0
  218. package/payload/server/public/assets/inter-greek-500-normal-BIZE56-Y.woff2 +0 -0
  219. package/payload/server/public/assets/inter-greek-500-normal-Xzm54t5V.woff +0 -0
  220. package/payload/server/public/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2 +0 -0
  221. package/payload/server/public/assets/inter-greek-ext-400-normal-KugGGMne.woff +0 -0
  222. package/payload/server/public/assets/inter-greek-ext-500-normal-2j5mBUwD.woff +0 -0
  223. package/payload/server/public/assets/inter-greek-ext-500-normal-C4iEst2y.woff2 +0 -0
  224. package/payload/server/public/assets/inter-latin-400-normal-C38fXH4l.woff2 +0 -0
  225. package/payload/server/public/assets/inter-latin-400-normal-CyCys3Eg.woff +0 -0
  226. package/payload/server/public/assets/inter-latin-500-normal-BL9OpVg8.woff +0 -0
  227. package/payload/server/public/assets/inter-latin-500-normal-Cerq10X2.woff2 +0 -0
  228. package/payload/server/public/assets/inter-latin-ext-400-normal-77YHD8bZ.woff +0 -0
  229. package/payload/server/public/assets/inter-latin-ext-400-normal-C1nco2VV.woff2 +0 -0
  230. package/payload/server/public/assets/inter-latin-ext-500-normal-BxGbmqWO.woff +0 -0
  231. package/payload/server/public/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2 +0 -0
  232. package/payload/server/public/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff +0 -0
  233. package/payload/server/public/assets/inter-vietnamese-400-normal-DMkecbls.woff2 +0 -0
  234. package/payload/server/public/assets/inter-vietnamese-500-normal-DOriooB6.woff2 +0 -0
  235. package/payload/server/public/assets/inter-vietnamese-500-normal-mJboJaSs.woff +0 -0
  236. package/payload/server/public/assets/newsreader-latin-300-normal-AOSWdb_s.woff +0 -0
  237. package/payload/server/public/assets/newsreader-latin-300-normal-FGBQ0wlI.woff2 +0 -0
  238. package/payload/server/public/assets/newsreader-latin-400-normal-BFBkh4jY.woff2 +0 -0
  239. package/payload/server/public/assets/newsreader-latin-400-normal-gRTjlS2D.woff +0 -0
  240. package/payload/server/public/assets/newsreader-latin-500-normal-B66TYsaK.woff2 +0 -0
  241. package/payload/server/public/assets/newsreader-latin-500-normal-DFwuUcdu.woff +0 -0
  242. package/payload/server/public/assets/newsreader-latin-ext-300-normal-CFtw49Zd.woff +0 -0
  243. package/payload/server/public/assets/newsreader-latin-ext-300-normal-DRMzurxT.woff2 +0 -0
  244. package/payload/server/public/assets/newsreader-latin-ext-400-normal-DYA1XoQK.woff +0 -0
  245. package/payload/server/public/assets/newsreader-latin-ext-400-normal-svq1FPys.woff2 +0 -0
  246. package/payload/server/public/assets/newsreader-latin-ext-500-normal-BNHmvKvI.woff2 +0 -0
  247. package/payload/server/public/assets/newsreader-latin-ext-500-normal-CZruMFou.woff +0 -0
  248. package/payload/server/public/assets/newsreader-vietnamese-300-normal-CsrIkm-V.woff +0 -0
  249. package/payload/server/public/assets/newsreader-vietnamese-300-normal-D3VHEe81.woff2 +0 -0
  250. package/payload/server/public/assets/newsreader-vietnamese-400-normal-BekUZro8.woff +0 -0
  251. package/payload/server/public/assets/newsreader-vietnamese-400-normal-DdKr49mV.woff2 +0 -0
  252. package/payload/server/public/assets/newsreader-vietnamese-500-normal-BEAbKU8A.woff +0 -0
  253. package/payload/server/public/assets/newsreader-vietnamese-500-normal-CL6a8tp2.woff2 +0 -0
  254. package/payload/server/public/assets/operator-BTHMTwNI.js +0 -1
  255. package/payload/server/public/assets/packet-4T2RLAQJ-Cwc-j_AI.js +0 -1
  256. package/payload/server/public/assets/page-B9fQp1g9.js +0 -1
  257. package/payload/server/public/assets/pie-ZZUOXDRM-BZ9fjD1_.js +0 -1
  258. package/payload/server/public/assets/public-cuggl7du.js +0 -6
  259. package/payload/server/public/assets/public-next-apqAebbA.js +0 -1
  260. package/payload/server/public/assets/public-vnj7OhQj.css +0 -1
  261. package/payload/server/public/assets/radar-PYXPWWZC-BNz5Rt9V.js +0 -1
  262. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-BUQ_F4eP.js +0 -1
  263. package/payload/server/public/assets/treeView-SZITEDCU-DcVCQgp1.js +0 -1
  264. package/payload/server/public/assets/treemap-W4RFUUIX-Bm12mwGd.js +0 -1
  265. package/payload/server/public/assets/useSelectionMode-DlgEcMtA.js +0 -5
  266. package/payload/server/public/assets/wardley-RL74JXVD-47Z3ymtK.js +0 -1
  267. package/payload/server/public/public-next.html +0 -25
  268. /package/payload/server/public/assets/{_baseFor-Y5mTRiRv.js → _baseFor-DVaNaTfF.js} +0 -0
  269. /package/payload/server/public/assets/{admin-types-D2qTXuCg.js → admin-types-CJrGd46U.js} +0 -0
  270. /package/payload/server/public/assets/{array-BwJyW1Dp.js → array-8_H1156C.js} +0 -0
  271. /package/payload/server/public/assets/{chunk-CAM3fms7.js → chunk-Pqm5yXtL.js} +0 -0
  272. /package/payload/server/public/assets/{cytoscape.esm-D95TtHqz.js → cytoscape.esm-h10p_6j-.js} +0 -0
  273. /package/payload/server/public/assets/{defaultLocale-kiwRz9Au.js → defaultLocale-pD7tFa1r.js} +0 -0
  274. /package/payload/server/public/assets/{init-CKZirZ49.js → init-CwJ4b81e.js} +0 -0
  275. /package/payload/server/public/assets/{katex-8mXVa4k3.js → katex-DJPjIBAI.js} +0 -0
  276. /package/payload/server/public/assets/{path-B0d9ncVi.js → path-CK8wrAxY.js} +0 -0
  277. /package/payload/server/public/assets/{preload-helper-C5gCWwwF.js → preload-helper-Bf_JiD2A.js} +0 -0
  278. /package/payload/server/public/assets/{rough.esm-BWqoIFNR.js → rough.esm-Dwml_la6.js} +0 -0
@@ -30,6 +30,7 @@ import { mergeTarget, isMultiTarget, targetKinds } from './channel-targets.js';
30
30
  import { randomUUID } from 'node:crypto';
31
31
  import { execFileSync } from 'node:child_process';
32
32
  import { buildRcChildEnv, reapplyAdminLevers } from './rc-daemon.js';
33
+ import { isEffortLevel, isPermissionMode } from '../../../lib/models/dist/index.js';
33
34
  import { spawnClaudeSession, stopSession, writeInputToPty, isLive, onPtyExit, livePtyCount, liveSessionIds, getPtyTrackerForTests, livePidForSession, priorExitedCountForSession, PERMISSION_MODES, openFdCount, registerRcSpawnPty, } from './pty-spawner.js';
34
35
  import { writeScopeRecord, removeScopeRecord } from './scope-record.js';
35
36
  import { writeReseatMarker, resolveReseatChain, clearReseatMarker } from './reseat-ledger.js';
@@ -195,10 +196,9 @@ export function forkArgvSegment(fromSessionId, newSessionId, model) {
195
196
  // `--permission-mode` argv flag) and an optional effort (merged into the
196
197
  // per-spawn inline `--settings` as `effortLevel`). Both are validated here as a
197
198
  // shape defence-in-depth: the UI route is the authoritative allowlist gate, but
198
- // a malformed value must never reach the child argv. Mirrors the canonical sets
199
- // in webchat.ts / rc-daemon. `dontAsk` and `max` are excluded (not fork-writable).
200
- const FORK_PERMISSION_MODES = new Set(['default', 'acceptEdits', 'plan', 'auto', 'bypassPermissions']);
201
- const FORK_EFFORT_LEVELS = new Set(['low', 'medium', 'high', 'xhigh']);
199
+ // a malformed value must never reach the child argv. The allowlists are the
200
+ // canonical sets in lib/models (isPermissionMode / isEffortLevel); `dontAsk` and
201
+ // `max` are excluded there (not fork-writable).
202
202
  // Task 879 — the re-seated fork inherits the source's history, including the
203
203
  // source's earlier self-identification on the OLD model. The rc-spawn path does
204
204
  // not compose --append-system-prompt (only fresh spawnSession does), so the
@@ -786,6 +786,11 @@ export function buildHttpApp(deps) {
786
786
  && typeof wc.serverPath === 'string' && wc.serverPath.startsWith('/')
787
787
  ? { key: wc.key, gatewayUrl: wc.gatewayUrl, serverPath: wc.serverPath }
788
788
  : undefined;
789
+ // Task 939 — gated-visitor read-back block, rendered UI-side. Shape-gated
790
+ // to a non-empty string with a generous ceiling; absent otherwise.
791
+ const previousContext = typeof body.previousContext === 'string' && body.previousContext.length > 0 && body.previousContext.length <= 20000
792
+ ? body.previousContext
793
+ : undefined;
789
794
  // Task 624 — maxy-composed public-session title. Validated by the same
790
795
  // validateUserTitle the /:sessionId/rename route uses; persisted only for
791
796
  // role=public after the sessionId is minted. An invalid/absent name leaves
@@ -864,6 +869,7 @@ export function buildHttpApp(deps) {
864
869
  personId,
865
870
  visitorId,
866
871
  webchatChannel,
872
+ previousContext,
867
873
  });
868
874
  if (!result.ok) {
869
875
  if ('rejected' in result) {
@@ -1747,8 +1753,9 @@ export function buildHttpApp(deps) {
1747
1753
  const sessions = [...seen.entries()].map(([sessionId, pid]) => ({ sessionId, pid }));
1748
1754
  return c.json({ sessions });
1749
1755
  });
1750
- // Task 543 — fire-and-forget `claude --remote-control [name] [--session-id <sid>]`
1751
- // spawn for the admin sessions pane. The new PTY registers itself in
1756
+ // Task 543 — fire-and-forget `claude --remote-control [--session-id <sid>]`
1757
+ // spawn for the admin sessions pane. (Task 945 removed the `name` positional —
1758
+ // `name` is a display label, never a CLI prompt; do not re-add it to argv.) The new PTY registers itself in
1752
1759
  // claude.ai/code as its own Remote Control entry; reconciliation with the
1753
1760
  // rc-daemon is out of scope. The PID lands in
1754
1761
  // `<CLAUDE_CONFIG_DIR>/sessions/<pid>.json` via claude's own bootstrap,
@@ -1785,8 +1792,8 @@ export function buildHttpApp(deps) {
1785
1792
  // Task 928 — fork-carried levers. `null` when the field is present but not in
1786
1793
  // the allowlist (rejected below, on the fork path only); `undefined` when
1787
1794
  // absent (the fork keeps the settings-resolved mode / the harness default effort).
1788
- const reseatPermissionMode = typeof body.permissionMode === 'string' ? (FORK_PERMISSION_MODES.has(body.permissionMode) ? body.permissionMode : null) : undefined;
1789
- const reseatEffort = typeof body.effort === 'string' ? (FORK_EFFORT_LEVELS.has(body.effort) ? body.effort : null) : undefined;
1795
+ const reseatPermissionMode = typeof body.permissionMode === 'string' ? (isPermissionMode(body.permissionMode) ? body.permissionMode : null) : undefined;
1796
+ const reseatEffort = typeof body.effort === 'string' ? (isEffortLevel(body.effort) ? body.effort : null) : undefined;
1790
1797
  // Task 626 — per-visitor slice ringfence for the public session-end review
1791
1798
  // rc session. Shape-gated identically to /public-spawn so a body-controlled
1792
1799
  // value cannot reach the child env. Absent on channel-admin / LinkedIn.
@@ -1956,8 +1963,12 @@ export function buildHttpApp(deps) {
1956
1963
  const existingJsonlPath = sessionId ? findExistingJsonlForSessionId(deps.claudeConfigDir, sessionId) : null;
1957
1964
  const mode = existingJsonlPath ? 'resume' : 'fresh';
1958
1965
  const argv = ['--remote-control'];
1959
- if (name)
1960
- argv.push(name);
1966
+ // Task 945 — `name` is the row's display label, never a prompt. It must NOT
1967
+ // be pushed as a positional: the CLI treats a bare positional as the initial
1968
+ // prompt, so a long label (e.g. a first-message-derived title) became a
1969
+ // multi-kilobyte prompt and the remote-control bind timed out. The sole
1970
+ // positional is `initialMessage` (pushed below). `name` stays in the request
1971
+ // body and the log lines for observability only.
1961
1972
  // Task 889 — append-system-prompt segments are accumulated and pushed once
1962
1973
  // (below, after channel resolution) so the re-seat model line and the
1963
1974
  // authenticated-identity line share a single flag.
@@ -2034,6 +2045,16 @@ export function buildHttpApp(deps) {
2034
2045
  }
2035
2046
  }
2036
2047
  }
2048
+ // Task 933 — read the persisted sidecar once so the identity gate below can
2049
+ // resolve role + name + adminUserId from disk when the caller omitted them
2050
+ // (a channel-driven resume passes only sessionId). Missing/unparseable
2051
+ // yields null; the gate degrades to the not-resolvable identity form. Only
2052
+ // the webchat identity gate + name-refresh consume it, so the read (and its
2053
+ // log line) is scoped to a webchat-bound session — every other resume path
2054
+ // skips the disk touch.
2055
+ const priorSidecar = sessionId && effectiveWebchatChannel
2056
+ ? readSidecar(sidecarPathForSessionId(deps.spawnCwd, sessionId), deps.logger).sidecar
2057
+ : null;
2037
2058
  // Task 850 — assemble the bound target set and choose the channel server:
2038
2059
  // - ≥2 kinds: ONE unified `channel` server (one reply tool fanning to every
2039
2060
  // target's existing gateway endpoint). The mature per-kind servers are
@@ -2107,9 +2128,29 @@ export function buildHttpApp(deps) {
2107
2128
  // guessing the account email. Gated on the webchat binding + admin role so
2108
2129
  // public visitor spawns and the one-shot admin jobs are untouched. The
2109
2130
  // breadcrumb makes a silent resolution regression visible without a chat.
2110
- if (effectiveWebchatChannel && rcRole === 'admin') {
2111
- appendSegments.push(authenticatedIdentityPrompt(authenticatedName ?? null));
2112
- deps.logger(`[rc-spawn] op=identity-injected userId=${adminUserId ? adminUserId.slice(0, 8) : 'none'} resolved=${authenticatedName ? 1 : 0}`);
2131
+ //
2132
+ // Task 933 — make the gate caller-independent. A channel-driven resume
2133
+ // recovers the webchat binding from the store but passes no role/name, so
2134
+ // the body-only gate used to skip injection and the resumed agent ran with
2135
+ // no identity. The admin role and the resolved name are now derived from
2136
+ // the persisted sidecar when the body omits them; `source` records whether
2137
+ // the identity came from the caller (body) or from disk (sidecar).
2138
+ const adminBinding = rcRole === 'admin' || priorSidecar?.role === 'admin';
2139
+ if (effectiveWebchatChannel && adminBinding) {
2140
+ const resolvedName = authenticatedName ?? priorSidecar?.authenticatedName ?? null;
2141
+ const resolvedAdminUserId = adminUserId ?? priorSidecar?.adminUserId ?? null;
2142
+ // `source` follows where the resolved name actually came from. When no
2143
+ // name resolves (resolved=0) it reports which signal marked the session
2144
+ // admin: the caller's body role, else the persisted sidecar.
2145
+ const identitySource = authenticatedName
2146
+ ? 'body'
2147
+ : priorSidecar?.authenticatedName
2148
+ ? 'sidecar'
2149
+ : rcRole === 'admin'
2150
+ ? 'body'
2151
+ : 'sidecar';
2152
+ appendSegments.push(authenticatedIdentityPrompt(resolvedName));
2153
+ deps.logger(`[rc-spawn] op=identity-injected userId=${resolvedAdminUserId ? resolvedAdminUserId.slice(0, 8) : 'none'} resolved=${resolvedName ? 1 : 0} source=${identitySource}`);
2113
2154
  }
2114
2155
  if (appendSegments.length > 0) {
2115
2156
  argv.push('--append-system-prompt', appendSegments.join('\n\n'));
@@ -2166,7 +2207,11 @@ export function buildHttpApp(deps) {
2166
2207
  // here is enough for an operator to reproduce by hand. The wrapped
2167
2208
  // argv is fully reconstructible from this line + the spawn adapter
2168
2209
  // source (Task 250 / 556).
2169
- deps.logger(`[rc-spawn] op=argv unitToken=${unitToken} cwd=${deps.spawnCwd} permissionMode=${effectiveRcPermissionMode} argv=${JSON.stringify([deps.claudeBin, ...argv])}`);
2210
+ // Task 945 record the byte count of the sole positional actually placed in
2211
+ // argv (the trailing `initialMessage`, else 0) so a future oversized positional
2212
+ // is visible without reconstructing it from the full argv dump.
2213
+ const positionalBytes = initialMessage ? Buffer.byteLength(initialMessage, 'utf8') : 0;
2214
+ deps.logger(`[rc-spawn] op=argv unitToken=${unitToken} cwd=${deps.spawnCwd} permissionMode=${effectiveRcPermissionMode} positionalBytes=${positionalBytes} argv=${JSON.stringify([deps.claudeBin, ...argv])}`);
2170
2215
  emitRcLife(deps.logger, 'argv', 'rc-spawn', 'node-pty', rcLifeMode, unitToken, {
2171
2216
  cwd: deps.spawnCwd,
2172
2217
  argv: JSON.stringify([deps.claudeBin, ...argv]),
@@ -2279,6 +2324,10 @@ export function buildHttpApp(deps) {
2279
2324
  // Task 865 — admin-webchat author identity from the rc-spawn body;
2280
2325
  // null for public and one-shot sessions, which carry none.
2281
2326
  adminUserId: adminUserId ?? null,
2327
+ // Task 933 — resolved admin display name from the rc-spawn body,
2328
+ // persisted so a later caller-driven channel resume (which carries
2329
+ // no authenticatedName) can re-inject the identity segment.
2330
+ authenticatedName: authenticatedName ?? null,
2282
2331
  // Task 884 — open-mode anchor + per-agent scope are stamped only on
2283
2332
  // the /public-spawn path; the rc-spawn write carries neither, so
2284
2333
  // both are null here.
@@ -2291,6 +2340,14 @@ export function buildHttpApp(deps) {
2291
2340
  deps.logger(`[rc-spawn] op=channel-sidecar-write-failed sessionId=${sessionId.slice(0, 8)} channel=${classifyChannel} err=${JSON.stringify(err instanceof Error ? err.message : String(err))}`);
2292
2341
  }
2293
2342
  }
2343
+ else if (authenticatedName && priorSidecar && priorSidecar.authenticatedName !== authenticatedName) {
2344
+ // Task 933 — the write above is write-once; refresh the persisted name
2345
+ // when a later operator spawn carries a fresher one so a caller-driven
2346
+ // resume injects the current identity, not the first-spawn snapshot.
2347
+ const refreshed = updateSidecar(classifySidecarPath, { authenticatedName }, deps.logger);
2348
+ if (refreshed)
2349
+ deps.watcher.refreshSidecar?.(sessionId);
2350
+ }
2294
2351
  }
2295
2352
  // Task 626 — one-shot job (LinkedIn ingest, public session-end review):
2296
2353
  // stop the PTY once its single assistant turn lands `end_turn`. closeAfterTurn