@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.
- package/package.json +2 -2
- package/payload/platform/lib/mcp-eager/dist/index.d.ts +0 -20
- package/payload/platform/lib/mcp-eager/dist/index.d.ts.map +1 -1
- package/payload/platform/lib/mcp-eager/dist/index.js +2 -1
- package/payload/platform/lib/mcp-eager/dist/index.js.map +1 -1
- package/payload/platform/lib/mcp-eager/src/index.ts +3 -1
- package/payload/platform/lib/mcp-lifeline/dist/index.d.ts +8 -0
- package/payload/platform/lib/mcp-lifeline/dist/index.d.ts.map +1 -0
- package/payload/platform/lib/mcp-lifeline/dist/index.js +71 -0
- package/payload/platform/lib/mcp-lifeline/dist/index.js.map +1 -0
- package/payload/platform/lib/mcp-lifeline/package.json +7 -0
- package/payload/platform/lib/mcp-lifeline/src/__tests__/lifeline.test.ts +146 -0
- package/payload/platform/lib/mcp-lifeline/src/index.ts +78 -0
- package/payload/platform/lib/mcp-lifeline/tsconfig.json +9 -0
- package/payload/platform/lib/mcp-lifeline/vitest.config.ts +9 -0
- package/payload/platform/lib/models/dist/index.d.ts +8 -0
- package/payload/platform/lib/models/dist/index.d.ts.map +1 -1
- package/payload/platform/lib/models/dist/index.js +20 -1
- package/payload/platform/lib/models/dist/index.js.map +1 -1
- package/payload/platform/lib/models/src/index.ts +22 -0
- package/payload/platform/package.json +5 -2
- package/payload/platform/plugins/admin/mcp/dist/index.js +11 -10
- package/payload/platform/plugins/admin/mcp/dist/index.js.map +1 -1
- package/payload/platform/plugins/admin/skills/platform-architecture/SKILL.md +20 -11
- package/payload/platform/plugins/docs/references/admin-session.md +1 -1
- package/payload/platform/plugins/docs/references/admin-ui.md +5 -3
- package/payload/platform/plugins/docs/references/internals.md +14 -7
- package/payload/platform/plugins/memory/mcp/dist/index.js +32 -31
- package/payload/platform/plugins/memory/mcp/dist/index.js.map +1 -1
- package/payload/platform/plugins/memory/references/schema-estate-agent.md +32 -0
- package/payload/platform/plugins/outlook/mcp/dist/index.js +8 -7
- package/payload/platform/plugins/outlook/mcp/dist/index.js.map +1 -1
- package/payload/platform/plugins/quickbooks/mcp/dist/index.js +12 -11
- package/payload/platform/plugins/quickbooks/mcp/dist/index.js.map +1 -1
- package/payload/platform/plugins/replicate/mcp/dist/index.js +4 -3
- package/payload/platform/plugins/replicate/mcp/dist/index.js.map +1 -1
- package/payload/platform/plugins/whatsapp/mcp/dist/index.js +11 -10
- package/payload/platform/plugins/whatsapp/mcp/dist/index.js.map +1 -1
- package/payload/platform/scripts/__tests__/check-no-raw-mcp-registrations.test.sh +57 -0
- package/payload/platform/scripts/check-no-raw-mcp-registrations.mjs +70 -0
- package/payload/platform/services/claude-session-manager/dist/http-server.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/http-server.js +71 -14
- package/payload/platform/services/claude-session-manager/dist/http-server.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/pty-spawner.d.ts +5 -0
- package/payload/platform/services/claude-session-manager/dist/pty-spawner.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/pty-spawner.js +7 -0
- package/payload/platform/services/claude-session-manager/dist/pty-spawner.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/rc-daemon.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/rc-daemon.js +3 -12
- package/payload/platform/services/claude-session-manager/dist/rc-daemon.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/session-sidecar.d.ts +8 -0
- package/payload/platform/services/claude-session-manager/dist/session-sidecar.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/session-sidecar.js +9 -0
- package/payload/platform/services/claude-session-manager/dist/session-sidecar.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/system-prompt.d.ts +5 -0
- package/payload/platform/services/claude-session-manager/dist/system-prompt.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/system-prompt.js +15 -0
- package/payload/platform/services/claude-session-manager/dist/system-prompt.js.map +1 -1
- package/payload/platform/services/webchat-channel/dist/permission.d.ts +46 -0
- package/payload/platform/services/webchat-channel/dist/permission.d.ts.map +1 -0
- package/payload/platform/services/webchat-channel/dist/permission.js +56 -0
- package/payload/platform/services/webchat-channel/dist/permission.js.map +1 -0
- package/payload/platform/services/webchat-channel/dist/server.d.ts.map +1 -1
- package/payload/platform/services/webchat-channel/dist/server.js +47 -1
- package/payload/platform/services/webchat-channel/dist/server.js.map +1 -1
- package/payload/platform/templates/specialists/agents/data-manager.md +3 -1
- package/payload/premium-plugins/writer-craft/lib/mcp-lifeline/dist/index.d.ts +8 -0
- package/payload/premium-plugins/writer-craft/lib/mcp-lifeline/dist/index.d.ts.map +1 -0
- package/payload/premium-plugins/writer-craft/lib/mcp-lifeline/dist/index.js +71 -0
- package/payload/premium-plugins/writer-craft/lib/mcp-lifeline/dist/index.js.map +1 -0
- package/payload/premium-plugins/writer-craft/lib/mcp-lifeline/package.json +7 -0
- package/payload/premium-plugins/writer-craft/mcp/dist/index.d.ts.map +1 -1
- package/payload/premium-plugins/writer-craft/mcp/dist/index.js +6 -5
- package/payload/premium-plugins/writer-craft/mcp/dist/index.js.map +1 -1
- package/payload/premium-plugins/writer-craft/mcp/src/index.ts +6 -5
- package/payload/server/{chunk-Q7EWROVN.js → chunk-NCRJQEZ3.js} +0 -101
- package/payload/server/maxy-edge.js +1 -1
- package/payload/server/public/assets/AdminLoginScreens-CrdmA3KA.js +1 -0
- package/payload/server/public/assets/AdminShell-0meAFBva.js +1 -0
- package/payload/server/public/assets/Checkbox-DXisJRUK.js +1 -0
- package/payload/server/public/assets/OperatorConversations-DBy2G8q3.js +9 -0
- package/payload/server/public/assets/OperatorConversations-DvRXfq3q.css +1 -0
- package/payload/server/public/assets/admin-DX5lZxWt.js +1 -0
- package/payload/server/public/assets/{arc-J2g2u5Xv.js → arc-CxLB9WCE.js} +1 -1
- package/payload/server/public/assets/architecture-YZFGNWBL-DN-MYxff.js +1 -0
- package/payload/server/public/assets/{architectureDiagram-Q4EWVU46-CN0BXxpE.js → architectureDiagram-Q4EWVU46-D-EdJPSY.js} +1 -1
- package/payload/server/public/assets/{blockDiagram-DXYQGD6D-HX-8wF2p.js → blockDiagram-DXYQGD6D-CXx9RgCm.js} +1 -1
- package/payload/server/public/assets/browser-Bxx8w8BA.js +1 -0
- package/payload/server/public/assets/{c4Diagram-AHTNJAMY-wIuarKF5.js → c4Diagram-AHTNJAMY-RFBXEe0B.js} +1 -1
- package/payload/server/public/assets/channel-y27xl53N.js +1 -0
- package/payload/server/public/assets/chat-CT9YrNtI.js +1 -0
- package/payload/server/public/assets/{chunk-2KRD3SAO-Buz7egJZ.js → chunk-2KRD3SAO-DBqAFwK9.js} +1 -1
- package/payload/server/public/assets/{chunk-336JU56O-_JcFXJqc.js → chunk-336JU56O-DdnFEz6R.js} +2 -2
- package/payload/server/public/assets/chunk-426QAEUC-D8Iwaegm.js +1 -0
- package/payload/server/public/assets/{chunk-4BX2VUAB-DUR5Dg3M.js → chunk-4BX2VUAB-cnw-3Gbs.js} +1 -1
- package/payload/server/public/assets/{chunk-4TB4RGXK-BRIqQ9st.js → chunk-4TB4RGXK-BnqJ0bDc.js} +1 -1
- package/payload/server/public/assets/{chunk-55IACEB6-CezTHWXL.js → chunk-55IACEB6-BwyHvvzo.js} +1 -1
- package/payload/server/public/assets/{chunk-5FUZZQ4R-DHYUPzF1.js → chunk-5FUZZQ4R-DXA9U02I.js} +1 -1
- package/payload/server/public/assets/{chunk-5PVQY5BW-BVn4_fI5.js → chunk-5PVQY5BW-D78bZ_8D.js} +1 -1
- package/payload/server/public/assets/{chunk-67CJDMHE-BBLA8Mbi.js → chunk-67CJDMHE-CtE_Mgv7.js} +1 -1
- package/payload/server/public/assets/{chunk-7N4EOEYR-CdWfEI5c.js → chunk-7N4EOEYR-CUZDaySl.js} +1 -1
- package/payload/server/public/assets/{chunk-AA7GKIK3-tS11knCR.js → chunk-AA7GKIK3-CYQ3jO4X.js} +1 -1
- package/payload/server/public/assets/{chunk-BSJP7CBP-GEu1OOZ6.js → chunk-BSJP7CBP-BbA_HyTR.js} +1 -1
- package/payload/server/public/assets/{chunk-CIAEETIT-DKrNbbp_.js → chunk-CIAEETIT-D7_YqRhG.js} +1 -1
- package/payload/server/public/assets/{chunk-EDXVE4YY-B0InXNyr.js → chunk-EDXVE4YY-B23LrtSw.js} +1 -1
- package/payload/server/public/assets/{chunk-ENJZ2VHE-CO7lkHdm.js → chunk-ENJZ2VHE-D3fTHYKN.js} +1 -1
- package/payload/server/public/assets/{chunk-FMBD7UC4-CMj74lWo.js → chunk-FMBD7UC4-DFAA2tyh.js} +1 -1
- package/payload/server/public/assets/{chunk-FOC6F5B3-CLnKQoXw.js → chunk-FOC6F5B3-BF4IHvlI.js} +1 -1
- package/payload/server/public/assets/{chunk-ICPOFSXX-CdiEKIaz.js → chunk-ICPOFSXX-DBUGemHy.js} +2 -2
- package/payload/server/public/assets/{chunk-K5T4RW27-B6LA3fiv.js → chunk-K5T4RW27-rMMs08Eh.js} +1 -1
- package/payload/server/public/assets/{chunk-KGLVRYIC-DrhRrb8Q.js → chunk-KGLVRYIC-BD2r8R2G.js} +1 -1
- package/payload/server/public/assets/{chunk-LIHQZDEY-DVQukevB.js → chunk-LIHQZDEY-D4sYTTwM.js} +1 -1
- package/payload/server/public/assets/{chunk-ORNJ4GCN-ZMLkoDhP.js → chunk-ORNJ4GCN-CAs_uFzb.js} +1 -1
- package/payload/server/public/assets/{chunk-OYMX7WX6-C0dJkynG.js → chunk-OYMX7WX6-Fkp-2ORc.js} +1 -1
- package/payload/server/public/assets/chunk-QZHKN3VN-qHqDpwz3.js +1 -0
- package/payload/server/public/assets/{chunk-U2HBQHQK-BQ9BPIFZ.js → chunk-U2HBQHQK-D_pxZh25.js} +1 -1
- package/payload/server/public/assets/{chunk-X2U36JSP-CAonGMOd.js → chunk-X2U36JSP-CeVmvvRf.js} +1 -1
- package/payload/server/public/assets/{chunk-XPW4576I-D5C_WNlk.js → chunk-XPW4576I-iWP54fKp.js} +1 -1
- package/payload/server/public/assets/{chunk-YZCP3GAM-Ecdvzekb.js → chunk-YZCP3GAM-CNtbWJNN.js} +1 -1
- package/payload/server/public/assets/{chunk-ZZ45TVLE-BsFZd1cN.js → chunk-ZZ45TVLE-BmlFjU_9.js} +1 -1
- package/payload/server/public/assets/classDiagram-6PBFFD2Q-DgVoYWhO.js +1 -0
- package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-C0WNP3uN.js +1 -0
- package/payload/server/public/assets/clone-D50F_pvg.js +1 -0
- package/payload/server/public/assets/{cose-bilkent-S5V4N54A-DBWHaIwm.js → cose-bilkent-S5V4N54A-C7YmF1Pg.js} +1 -1
- package/payload/server/public/assets/{dagre-Dr7ZJYeS.js → dagre-BAmiDDtR.js} +1 -1
- package/payload/server/public/assets/{dagre-KV5264BT-oIJddk7m.js → dagre-KV5264BT-Ca3ESJhc.js} +1 -1
- package/payload/server/public/assets/data-B9NtsXgF.js +1 -0
- package/payload/server/public/assets/{diagram-5BDNPKRD-CEVxqOZ4.js → diagram-5BDNPKRD-BgT1ORf2.js} +1 -1
- package/payload/server/public/assets/{diagram-G4DWMVQ6-BovF7Rjx.js → diagram-G4DWMVQ6-BTaUIiem.js} +1 -1
- package/payload/server/public/assets/{diagram-MMDJMWI5-BhrF8zoF.js → diagram-MMDJMWI5-Bdb2g6Uo.js} +1 -1
- package/payload/server/public/assets/{diagram-TYMM5635-DCUYwxtR.js → diagram-TYMM5635-CkLGC0zZ.js} +1 -1
- package/payload/server/public/assets/{dist-DSsFp0Qd.js → dist-Bkbhs3jw.js} +1 -1
- package/payload/server/public/assets/{erDiagram-SMLLAGMA-BS2-HdCg.js → erDiagram-SMLLAGMA-D_sj4DMg.js} +1 -1
- package/payload/server/public/assets/{flatten-BZMXCpLh.js → flatten-E2Sr0FeD.js} +1 -1
- package/payload/server/public/assets/{flowDiagram-DWJPFMVM-BzSFLoea.js → flowDiagram-DWJPFMVM-iLERoZTe.js} +1 -1
- package/payload/server/public/assets/{ganttDiagram-T4ZO3ILL-1-3QU7mT.js → ganttDiagram-T4ZO3ILL-D60hjMBy.js} +1 -1
- package/payload/server/public/assets/gitGraph-7Q5UKJZL-D-L2yzYf.js +1 -0
- package/payload/server/public/assets/{gitGraphDiagram-UUTBAWPF-fTrJ35Wk.js → gitGraphDiagram-UUTBAWPF-Di0XM6fi.js} +1 -1
- package/payload/server/public/assets/{graph-Dx2a6vGB.js → graph-B59N222f.js} +3 -3
- package/payload/server/public/assets/graph-labels-70w-1ov0.js +1 -0
- package/payload/server/public/assets/{graphlib-rlEzI2qD.js → graphlib-C8fUP7uV.js} +1 -1
- package/payload/server/public/assets/info-OMHHGYJF-BQn6jndO.js +1 -0
- package/payload/server/public/assets/infoDiagram-42DDH7IO-BwMdbiXg.js +2 -0
- package/payload/server/public/assets/{isEmpty-DaYIrHay.js → isEmpty-CLz-UprQ.js} +1 -1
- package/payload/server/public/assets/{ishikawaDiagram-UXIWVN3A-0eU_UtlT.js → ishikawaDiagram-UXIWVN3A-CwgI4B5Z.js} +1 -1
- package/payload/server/public/assets/{journeyDiagram-VCZTEJTY-BKLeZohp.js → journeyDiagram-VCZTEJTY-CxBu-tze.js} +1 -1
- package/payload/server/public/assets/{kanban-definition-6JOO6SKY-Dq72xyaN.js → kanban-definition-6JOO6SKY-D2qlheA5.js} +1 -1
- package/payload/server/public/assets/{line-LQhmDT8k.js → line-Bdod7uzQ.js} +1 -1
- package/payload/server/public/assets/{linear-BGotDbGs.js → linear-BiVe6QzC.js} +1 -1
- package/payload/server/public/assets/{mermaid-parser.core-DoLdho1V.js → mermaid-parser.core-xZN7hC6M.js} +2 -2
- package/payload/server/public/assets/{mermaid.core-C1RRyHGm.js → mermaid.core-D0IylAac.js} +3 -3
- package/payload/server/public/assets/{mindmap-definition-QFDTVHPH-vUVVVyV1.js → mindmap-definition-QFDTVHPH-J_Szhwf1.js} +1 -1
- package/payload/server/public/assets/operator-DpRAhwQN.js +1 -0
- package/payload/server/public/assets/{ordinal-BqEhkPyh.js → ordinal-5RtyPJVt.js} +1 -1
- package/payload/server/public/assets/packet-4T2RLAQJ-DmkQBx4h.js +1 -0
- package/payload/server/public/assets/page-Ehjc9b9V.js +30 -0
- package/payload/server/public/assets/pie-ZZUOXDRM-DDnxYUBm.js +1 -0
- package/payload/server/public/assets/{pieDiagram-DEJITSTG-B9Pl6Qhc.js → pieDiagram-DEJITSTG-CV5DxUVx.js} +1 -1
- package/payload/server/public/assets/public-BcqXGSaE.js +1 -0
- package/payload/server/public/assets/{quadrantDiagram-34T5L4WZ-Drn9T81A.js → quadrantDiagram-34T5L4WZ-BsFMVizF.js} +1 -1
- package/payload/server/public/assets/radar-PYXPWWZC-7H4k0ChM.js +1 -0
- package/payload/server/public/assets/{reduce-T2IuntYP.js → reduce-B3Mw_0s1.js} +1 -1
- package/payload/server/public/assets/{requirementDiagram-MS252O5E-C0PAItJm.js → requirementDiagram-MS252O5E-C5eRRvGc.js} +1 -1
- package/payload/server/public/assets/{sankeyDiagram-XADWPNL6-BR42Mtwd.js → sankeyDiagram-XADWPNL6-CJYv5gpw.js} +1 -1
- package/payload/server/public/assets/{sequenceDiagram-FGHM5R23-c2lR9UOS.js → sequenceDiagram-FGHM5R23-B25563_2.js} +1 -1
- package/payload/server/public/assets/{src-DXUM2BJo.js → src-BKOAoFQc.js} +1 -1
- package/payload/server/public/assets/{stateDiagram-FHFEXIEX-BcHhtqsZ.js → stateDiagram-FHFEXIEX-BLyNJYOA.js} +1 -1
- package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-BSVuxZxz.js +1 -0
- package/payload/server/public/assets/{timeline-definition-GMOUNBTQ-Ax32c10H.js → timeline-definition-GMOUNBTQ-D-HgOM6Q.js} +1 -1
- package/payload/server/public/assets/treeView-SZITEDCU-BLXWTQtW.js +1 -0
- package/payload/server/public/assets/treemap-W4RFUUIX-DiePDF5d.js +1 -0
- package/payload/server/public/assets/{vennDiagram-DHZGUBPP-BxePewPq.js → vennDiagram-DHZGUBPP-Cw1JElYp.js} +1 -1
- package/payload/server/public/assets/wardley-RL74JXVD-OSUWK5LN.js +1 -0
- package/payload/server/public/assets/{wardleyDiagram-NUSXRM2D-DmJwZ2f5.js → wardleyDiagram-NUSXRM2D-BqMWzEko.js} +1 -1
- package/payload/server/public/assets/{xychartDiagram-5P7HB3ND-YjHomudv.js → xychartDiagram-5P7HB3ND-DBp71TLT.js} +1 -1
- package/payload/server/public/browser.html +5 -8
- package/payload/server/public/chat.html +8 -12
- package/payload/server/public/data.html +5 -7
- package/payload/server/public/graph.html +7 -10
- package/payload/server/public/index.html +8 -11
- package/payload/server/public/operator.html +10 -14
- package/payload/server/public/public.html +8 -10
- package/payload/server/server.js +376 -226
- package/payload/server/public/assets/AccessGate-B0sCa0QJ.js +0 -1
- package/payload/server/public/assets/AdminLoginScreens-C7Oaqpr6.js +0 -1
- package/payload/server/public/assets/AdminShell-DgK7TWCI.js +0 -1
- package/payload/server/public/assets/Checkbox-C4m1jfdP.js +0 -1
- package/payload/server/public/assets/OperatorConversations-qc_xy7Az.css +0 -1
- package/payload/server/public/assets/OperatorConversations-z2mSY_eQ.js +0 -1
- package/payload/server/public/assets/admin-DxYk1Ghu.js +0 -1
- package/payload/server/public/assets/architecture-YZFGNWBL-C6nkAxzW.js +0 -1
- package/payload/server/public/assets/audio-attachment-mime-BXj3DB3Y.js +0 -30
- package/payload/server/public/assets/brand-BwWvCHLs.css +0 -1
- package/payload/server/public/assets/brand-DOgCGEoD.js +0 -9
- package/payload/server/public/assets/browser-NzxOujfD.js +0 -1
- package/payload/server/public/assets/channel-Q39xIXyT.js +0 -1
- package/payload/server/public/assets/chat-CEQTEN5z.js +0 -1
- package/payload/server/public/assets/chunk-426QAEUC-CCYjp9C2.js +0 -1
- package/payload/server/public/assets/chunk-QZHKN3VN-BNBxnHZh.js +0 -1
- package/payload/server/public/assets/classDiagram-6PBFFD2Q-BShusfby.js +0 -1
- package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-D4ivPLFF.js +0 -1
- package/payload/server/public/assets/clone-CjEM8LwB.js +0 -1
- package/payload/server/public/assets/data-CTROHvif.js +0 -1
- package/payload/server/public/assets/gitGraph-7Q5UKJZL-Btp3PwZh.js +0 -1
- package/payload/server/public/assets/graph-labels-Dxqq08v6.js +0 -1
- package/payload/server/public/assets/info-OMHHGYJF-CPt2y6_L.js +0 -1
- package/payload/server/public/assets/infoDiagram-42DDH7IO-CpXNTMgd.js +0 -2
- package/payload/server/public/assets/inter-cyrillic-400-normal-HOLc17fK.woff +0 -0
- package/payload/server/public/assets/inter-cyrillic-400-normal-obahsSVq.woff2 +0 -0
- package/payload/server/public/assets/inter-cyrillic-500-normal-BasfLYem.woff2 +0 -0
- package/payload/server/public/assets/inter-cyrillic-500-normal-CxZf_p3X.woff +0 -0
- package/payload/server/public/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2 +0 -0
- package/payload/server/public/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff +0 -0
- package/payload/server/public/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2 +0 -0
- package/payload/server/public/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.woff +0 -0
- package/payload/server/public/assets/inter-greek-400-normal-B4URO6DV.woff2 +0 -0
- package/payload/server/public/assets/inter-greek-400-normal-q2sYcFCs.woff +0 -0
- package/payload/server/public/assets/inter-greek-500-normal-BIZE56-Y.woff2 +0 -0
- package/payload/server/public/assets/inter-greek-500-normal-Xzm54t5V.woff +0 -0
- package/payload/server/public/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2 +0 -0
- package/payload/server/public/assets/inter-greek-ext-400-normal-KugGGMne.woff +0 -0
- package/payload/server/public/assets/inter-greek-ext-500-normal-2j5mBUwD.woff +0 -0
- package/payload/server/public/assets/inter-greek-ext-500-normal-C4iEst2y.woff2 +0 -0
- package/payload/server/public/assets/inter-latin-400-normal-C38fXH4l.woff2 +0 -0
- package/payload/server/public/assets/inter-latin-400-normal-CyCys3Eg.woff +0 -0
- package/payload/server/public/assets/inter-latin-500-normal-BL9OpVg8.woff +0 -0
- package/payload/server/public/assets/inter-latin-500-normal-Cerq10X2.woff2 +0 -0
- package/payload/server/public/assets/inter-latin-ext-400-normal-77YHD8bZ.woff +0 -0
- package/payload/server/public/assets/inter-latin-ext-400-normal-C1nco2VV.woff2 +0 -0
- package/payload/server/public/assets/inter-latin-ext-500-normal-BxGbmqWO.woff +0 -0
- package/payload/server/public/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2 +0 -0
- package/payload/server/public/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff +0 -0
- package/payload/server/public/assets/inter-vietnamese-400-normal-DMkecbls.woff2 +0 -0
- package/payload/server/public/assets/inter-vietnamese-500-normal-DOriooB6.woff2 +0 -0
- package/payload/server/public/assets/inter-vietnamese-500-normal-mJboJaSs.woff +0 -0
- package/payload/server/public/assets/newsreader-latin-300-normal-AOSWdb_s.woff +0 -0
- package/payload/server/public/assets/newsreader-latin-300-normal-FGBQ0wlI.woff2 +0 -0
- package/payload/server/public/assets/newsreader-latin-400-normal-BFBkh4jY.woff2 +0 -0
- package/payload/server/public/assets/newsreader-latin-400-normal-gRTjlS2D.woff +0 -0
- package/payload/server/public/assets/newsreader-latin-500-normal-B66TYsaK.woff2 +0 -0
- package/payload/server/public/assets/newsreader-latin-500-normal-DFwuUcdu.woff +0 -0
- package/payload/server/public/assets/newsreader-latin-ext-300-normal-CFtw49Zd.woff +0 -0
- package/payload/server/public/assets/newsreader-latin-ext-300-normal-DRMzurxT.woff2 +0 -0
- package/payload/server/public/assets/newsreader-latin-ext-400-normal-DYA1XoQK.woff +0 -0
- package/payload/server/public/assets/newsreader-latin-ext-400-normal-svq1FPys.woff2 +0 -0
- package/payload/server/public/assets/newsreader-latin-ext-500-normal-BNHmvKvI.woff2 +0 -0
- package/payload/server/public/assets/newsreader-latin-ext-500-normal-CZruMFou.woff +0 -0
- package/payload/server/public/assets/newsreader-vietnamese-300-normal-CsrIkm-V.woff +0 -0
- package/payload/server/public/assets/newsreader-vietnamese-300-normal-D3VHEe81.woff2 +0 -0
- package/payload/server/public/assets/newsreader-vietnamese-400-normal-BekUZro8.woff +0 -0
- package/payload/server/public/assets/newsreader-vietnamese-400-normal-DdKr49mV.woff2 +0 -0
- package/payload/server/public/assets/newsreader-vietnamese-500-normal-BEAbKU8A.woff +0 -0
- package/payload/server/public/assets/newsreader-vietnamese-500-normal-CL6a8tp2.woff2 +0 -0
- package/payload/server/public/assets/operator-BTHMTwNI.js +0 -1
- package/payload/server/public/assets/packet-4T2RLAQJ-Cwc-j_AI.js +0 -1
- package/payload/server/public/assets/page-B9fQp1g9.js +0 -1
- package/payload/server/public/assets/pie-ZZUOXDRM-BZ9fjD1_.js +0 -1
- package/payload/server/public/assets/public-cuggl7du.js +0 -6
- package/payload/server/public/assets/public-next-apqAebbA.js +0 -1
- package/payload/server/public/assets/public-vnj7OhQj.css +0 -1
- package/payload/server/public/assets/radar-PYXPWWZC-BNz5Rt9V.js +0 -1
- package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-BUQ_F4eP.js +0 -1
- package/payload/server/public/assets/treeView-SZITEDCU-DcVCQgp1.js +0 -1
- package/payload/server/public/assets/treemap-W4RFUUIX-Bm12mwGd.js +0 -1
- package/payload/server/public/assets/useSelectionMode-DlgEcMtA.js +0 -5
- package/payload/server/public/assets/wardley-RL74JXVD-47Z3ymtK.js +0 -1
- package/payload/server/public/public-next.html +0 -25
- /package/payload/server/public/assets/{_baseFor-Y5mTRiRv.js → _baseFor-DVaNaTfF.js} +0 -0
- /package/payload/server/public/assets/{admin-types-D2qTXuCg.js → admin-types-CJrGd46U.js} +0 -0
- /package/payload/server/public/assets/{array-BwJyW1Dp.js → array-8_H1156C.js} +0 -0
- /package/payload/server/public/assets/{chunk-CAM3fms7.js → chunk-Pqm5yXtL.js} +0 -0
- /package/payload/server/public/assets/{cytoscape.esm-D95TtHqz.js → cytoscape.esm-h10p_6j-.js} +0 -0
- /package/payload/server/public/assets/{defaultLocale-kiwRz9Au.js → defaultLocale-pD7tFa1r.js} +0 -0
- /package/payload/server/public/assets/{init-CKZirZ49.js → init-CwJ4b81e.js} +0 -0
- /package/payload/server/public/assets/{katex-8mXVa4k3.js → katex-DJPjIBAI.js} +0 -0
- /package/payload/server/public/assets/{path-B0d9ncVi.js → path-CK8wrAxY.js} +0 -0
- /package/payload/server/public/assets/{preload-helper-C5gCWwwF.js → preload-helper-Bf_JiD2A.js} +0 -0
- /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.
|
|
199
|
-
// in
|
|
200
|
-
|
|
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 [
|
|
1751
|
-
// spawn for the admin sessions pane.
|
|
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' ? (
|
|
1789
|
-
const reseatEffort = typeof body.effort === 'string' ? (
|
|
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
|
-
|
|
1960
|
-
|
|
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
|
-
|
|
2111
|
-
|
|
2112
|
-
|
|
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
|
-
|
|
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
|