@rubytech/create-maxy-code 0.1.482 → 0.1.484

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 (229) hide show
  1. package/package.json +1 -1
  2. package/payload/platform/package-lock.json +271 -1
  3. package/payload/platform/plugins/admin/PLUGIN.md +1 -0
  4. package/payload/platform/plugins/admin/skills/platform-architecture/SKILL.md +54 -21
  5. package/payload/platform/plugins/admin/skills/whats-new/SKILL.md +57 -0
  6. package/payload/platform/plugins/docs/references/admin-ui.md +25 -0
  7. package/payload/platform/plugins/docs/references/google-guide.md +27 -20
  8. package/payload/platform/plugins/docs/references/neo4j.md +1 -0
  9. package/payload/platform/plugins/email/mcp/dist/__tests__/email-draft-send.test.js +76 -2
  10. package/payload/platform/plugins/email/mcp/dist/__tests__/email-draft-send.test.js.map +1 -1
  11. package/payload/platform/plugins/email/mcp/dist/lib/imap.d.ts +1 -0
  12. package/payload/platform/plugins/email/mcp/dist/lib/imap.d.ts.map +1 -1
  13. package/payload/platform/plugins/email/mcp/dist/lib/imap.js +1 -0
  14. package/payload/platform/plugins/email/mcp/dist/lib/imap.js.map +1 -1
  15. package/payload/platform/plugins/email/mcp/dist/tools/email-draft-send.d.ts.map +1 -1
  16. package/payload/platform/plugins/email/mcp/dist/tools/email-draft-send.js +87 -6
  17. package/payload/platform/plugins/email/mcp/dist/tools/email-draft-send.js.map +1 -1
  18. package/payload/platform/plugins/google/.claude-plugin/plugin.json +1 -1
  19. package/payload/platform/plugins/google/PLUGIN.md +20 -1
  20. package/payload/platform/plugins/google/mcp/dist/__tests__/account-register.test.js +29 -1
  21. package/payload/platform/plugins/google/mcp/dist/__tests__/account-register.test.js.map +1 -1
  22. package/payload/platform/plugins/google/mcp/dist/__tests__/consent-open.test.d.ts +2 -0
  23. package/payload/platform/plugins/google/mcp/dist/__tests__/consent-open.test.d.ts.map +1 -0
  24. package/payload/platform/plugins/google/mcp/dist/__tests__/consent-open.test.js +92 -0
  25. package/payload/platform/plugins/google/mcp/dist/__tests__/consent-open.test.js.map +1 -0
  26. package/payload/platform/plugins/google/mcp/dist/auth/consent-open.d.ts +61 -0
  27. package/payload/platform/plugins/google/mcp/dist/auth/consent-open.d.ts.map +1 -0
  28. package/payload/platform/plugins/google/mcp/dist/auth/consent-open.js +184 -0
  29. package/payload/platform/plugins/google/mcp/dist/auth/consent-open.js.map +1 -0
  30. package/payload/platform/plugins/google/mcp/dist/index.js +65 -2
  31. package/payload/platform/plugins/google/mcp/dist/index.js.map +1 -1
  32. package/payload/platform/plugins/google/mcp/dist/tools/account-register.d.ts +14 -0
  33. package/payload/platform/plugins/google/mcp/dist/tools/account-register.d.ts.map +1 -1
  34. package/payload/platform/plugins/google/mcp/dist/tools/account-register.js +16 -0
  35. package/payload/platform/plugins/google/mcp/dist/tools/account-register.js.map +1 -1
  36. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/typed-edge-schema.test.js +8 -0
  37. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/typed-edge-schema.test.js.map +1 -1
  38. package/payload/platform/plugins/memory/mcp/dist/lib/typed-edge-schema.d.ts.map +1 -1
  39. package/payload/platform/plugins/memory/mcp/dist/lib/typed-edge-schema.js +5 -1
  40. package/payload/platform/plugins/memory/mcp/dist/lib/typed-edge-schema.js.map +1 -1
  41. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-ingest.test.js +10 -0
  42. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-ingest.test.js.map +1 -1
  43. package/payload/platform/plugins/memory/references/schema-knowledge-work.md +2 -1
  44. package/payload/platform/services/claude-session-manager/dist/http-server.d.ts +5 -0
  45. package/payload/platform/services/claude-session-manager/dist/http-server.d.ts.map +1 -1
  46. package/payload/platform/services/claude-session-manager/dist/http-server.js +18 -1
  47. package/payload/platform/services/claude-session-manager/dist/http-server.js.map +1 -1
  48. package/payload/platform/services/claude-session-manager/dist/index.js +8 -0
  49. package/payload/platform/services/claude-session-manager/dist/index.js.map +1 -1
  50. package/payload/platform/services/claude-session-manager/dist/subagent-injection-tail.d.ts +13 -0
  51. package/payload/platform/services/claude-session-manager/dist/subagent-injection-tail.d.ts.map +1 -0
  52. package/payload/platform/services/claude-session-manager/dist/subagent-injection-tail.js +149 -0
  53. package/payload/platform/services/claude-session-manager/dist/subagent-injection-tail.js.map +1 -0
  54. package/payload/platform/services/telegram-channel/dist/instructions.d.ts.map +1 -1
  55. package/payload/platform/services/telegram-channel/dist/instructions.js +17 -2
  56. package/payload/platform/services/telegram-channel/dist/instructions.js.map +1 -1
  57. package/payload/platform/services/webchat-channel/dist/instructions.d.ts.map +1 -1
  58. package/payload/platform/services/webchat-channel/dist/instructions.js +17 -2
  59. package/payload/platform/services/webchat-channel/dist/instructions.js.map +1 -1
  60. package/payload/platform/services/whatsapp-channel/dist/server.d.ts.map +1 -1
  61. package/payload/platform/services/whatsapp-channel/dist/server.js +16 -2
  62. package/payload/platform/services/whatsapp-channel/dist/server.js.map +1 -1
  63. package/payload/server/public/activity.html +6 -6
  64. package/payload/server/public/assets/{AdminLoginScreens-DXYJWXaX.js → AdminLoginScreens-DF9S5Rca.js} +1 -1
  65. package/payload/server/public/assets/AdminShell-B0PNDCAb.js +2 -0
  66. package/payload/server/public/assets/{Checkbox-C08Ulc_a.js → Checkbox-s5X6dso4.js} +1 -1
  67. package/payload/server/public/assets/activity-BRBsaalV.js +1 -0
  68. package/payload/server/public/assets/admin-rScqRq-R.js +1 -0
  69. package/payload/server/public/assets/{arc-BHXuzTwg.js → arc-D-QzyndF.js} +1 -1
  70. package/payload/server/public/assets/architecture-YZFGNWBL-CGvD4r9F.js +1 -0
  71. package/payload/server/public/assets/{architectureDiagram-Q4EWVU46-DsN_vxau.js → architectureDiagram-Q4EWVU46-W7f0Us4S.js} +1 -1
  72. package/payload/server/public/assets/{blockDiagram-DXYQGD6D-CvNat1uB.js → blockDiagram-DXYQGD6D-CfPS4FXg.js} +1 -1
  73. package/payload/server/public/assets/bot-BVO9Uqr_.js +1 -0
  74. package/payload/server/public/assets/browser-BVW4FFii.js +1 -0
  75. package/payload/server/public/assets/{c4Diagram-AHTNJAMY-E9yqTPTW.js → c4Diagram-AHTNJAMY-Dq60cLVI.js} +1 -1
  76. package/payload/server/public/assets/calendar-CWsD3uLk.js +1 -0
  77. package/payload/server/public/assets/channel-Bpg-ADC0.js +1 -0
  78. package/payload/server/public/assets/chat-DKGREuIO.js +1 -0
  79. package/payload/server/public/assets/chevron-down-m581tl1J.js +1 -0
  80. package/payload/server/public/assets/chevron-left-BAY0xfmR.js +1 -0
  81. package/payload/server/public/assets/chevron-right-Dy_REdYZ.js +1 -0
  82. package/payload/server/public/assets/{chunk-2KRD3SAO-DpzI_0EY.js → chunk-2KRD3SAO-CXDjuDN0.js} +1 -1
  83. package/payload/server/public/assets/{chunk-336JU56O-eR_I9Eu4.js → chunk-336JU56O-926ox0tj.js} +2 -2
  84. package/payload/server/public/assets/chunk-426QAEUC-1poG7Nd3.js +1 -0
  85. package/payload/server/public/assets/{chunk-4BX2VUAB-D-6xk1t8.js → chunk-4BX2VUAB-C2nrPCfN.js} +1 -1
  86. package/payload/server/public/assets/{chunk-4TB4RGXK-BkqUcFpL.js → chunk-4TB4RGXK-CuW3FOR6.js} +1 -1
  87. package/payload/server/public/assets/{chunk-55IACEB6-ChCl2pSP.js → chunk-55IACEB6-B4_-In90.js} +1 -1
  88. package/payload/server/public/assets/{chunk-5FUZZQ4R-DasGsg54.js → chunk-5FUZZQ4R-DnYGr9CP.js} +1 -1
  89. package/payload/server/public/assets/{chunk-5PVQY5BW-DXlHUX1h.js → chunk-5PVQY5BW-BYCOi9bf.js} +1 -1
  90. package/payload/server/public/assets/{chunk-67CJDMHE-BZfVpTsE.js → chunk-67CJDMHE-CBxsC4JP.js} +1 -1
  91. package/payload/server/public/assets/{chunk-7N4EOEYR-C6U5TIgT.js → chunk-7N4EOEYR-CAACaqFr.js} +1 -1
  92. package/payload/server/public/assets/{chunk-AA7GKIK3-CA7cVDmw.js → chunk-AA7GKIK3-BoamZdS6.js} +1 -1
  93. package/payload/server/public/assets/{chunk-BSJP7CBP-DxN2GC3p.js → chunk-BSJP7CBP-CHk82eFy.js} +1 -1
  94. package/payload/server/public/assets/{chunk-CIAEETIT-C0-4wA8y.js → chunk-CIAEETIT-DdeW9zxl.js} +1 -1
  95. package/payload/server/public/assets/{chunk-EDXVE4YY--kyb1rLc.js → chunk-EDXVE4YY-DJqSRv2w.js} +1 -1
  96. package/payload/server/public/assets/{chunk-ENJZ2VHE-FBN6hR7V.js → chunk-ENJZ2VHE-BRi4BwM5.js} +1 -1
  97. package/payload/server/public/assets/{chunk-FMBD7UC4-Lpge4M5g.js → chunk-FMBD7UC4-OJp2CtUE.js} +1 -1
  98. package/payload/server/public/assets/{chunk-FOC6F5B3-CM1rwOou.js → chunk-FOC6F5B3-BUAQ6spG.js} +1 -1
  99. package/payload/server/public/assets/{chunk-ICPOFSXX-JdYLY3yu.js → chunk-ICPOFSXX-DeRggD-Q.js} +2 -2
  100. package/payload/server/public/assets/{chunk-K5T4RW27-DCUblGBr.js → chunk-K5T4RW27-EHiXZ8Py.js} +1 -1
  101. package/payload/server/public/assets/{chunk-KGLVRYIC-BP_cide2.js → chunk-KGLVRYIC-tOajPcpn.js} +1 -1
  102. package/payload/server/public/assets/{chunk-LIHQZDEY-DjMa1lOl.js → chunk-LIHQZDEY-uwO6oHIU.js} +1 -1
  103. package/payload/server/public/assets/{chunk-ORNJ4GCN-D51eJAoV.js → chunk-ORNJ4GCN-Dpa1_BCA.js} +1 -1
  104. package/payload/server/public/assets/{chunk-OYMX7WX6-4hWIO544.js → chunk-OYMX7WX6-ChdDqaQL.js} +1 -1
  105. package/payload/server/public/assets/chunk-QZHKN3VN-GN1tIO8J.js +1 -0
  106. package/payload/server/public/assets/{chunk-U2HBQHQK-BwdQf9cS.js → chunk-U2HBQHQK-5JgWosPv.js} +1 -1
  107. package/payload/server/public/assets/{chunk-X2U36JSP-DmDxwLOg.js → chunk-X2U36JSP-BGJqysB2.js} +1 -1
  108. package/payload/server/public/assets/{chunk-XPW4576I-JQyAB7ND.js → chunk-XPW4576I-GERE2ekx.js} +1 -1
  109. package/payload/server/public/assets/{chunk-YZCP3GAM-BonLdCzI.js → chunk-YZCP3GAM-BskqX1V5.js} +1 -1
  110. package/payload/server/public/assets/{chunk-ZZ45TVLE-BXKB2wSk.js → chunk-ZZ45TVLE-DG1iY-L9.js} +1 -1
  111. package/payload/server/public/assets/classDiagram-6PBFFD2Q-DMGVq8Jv.js +1 -0
  112. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-DfddT8UV.js +1 -0
  113. package/payload/server/public/assets/clone-Cc9vFIEk.js +1 -0
  114. package/payload/server/public/assets/{cose-bilkent-S5V4N54A-BDnd4Blw.js → cose-bilkent-S5V4N54A-C8Rl4ykh.js} +1 -1
  115. package/payload/server/public/assets/{dagre-BmexzuER.js → dagre-DTlv-FFy.js} +1 -1
  116. package/payload/server/public/assets/{dagre-KV5264BT-D4WVuwPj.js → dagre-KV5264BT-C0YrJPF3.js} +1 -1
  117. package/payload/server/public/assets/data-TOWuhMFb.js +1 -0
  118. package/payload/server/public/assets/{diagram-5BDNPKRD-Bbf4mT8a.js → diagram-5BDNPKRD-Dfk5oepI.js} +1 -1
  119. package/payload/server/public/assets/{diagram-G4DWMVQ6-BpqVTUmx.js → diagram-G4DWMVQ6-QRj55DiB.js} +1 -1
  120. package/payload/server/public/assets/{diagram-MMDJMWI5-DY-k5k6r.js → diagram-MMDJMWI5-BAPKsohU.js} +1 -1
  121. package/payload/server/public/assets/{diagram-TYMM5635-CXHxwacS.js → diagram-TYMM5635-C3iZXPkC.js} +1 -1
  122. package/payload/server/public/assets/{erDiagram-SMLLAGMA-BNKEc3l8.js → erDiagram-SMLLAGMA-DIbI7g_5.js} +1 -1
  123. package/payload/server/public/assets/{flatten-jn8bZgcI.js → flatten-DlAJeN0L.js} +1 -1
  124. package/payload/server/public/assets/{flowDiagram-DWJPFMVM-CbAeuJsi.js → flowDiagram-DWJPFMVM-l3eJJr8R.js} +1 -1
  125. package/payload/server/public/assets/{ganttDiagram-T4ZO3ILL-CeeNnL4l.js → ganttDiagram-T4ZO3ILL-aaEzHxIq.js} +1 -1
  126. package/payload/server/public/assets/gitGraph-7Q5UKJZL-DtjXE0UI.js +1 -0
  127. package/payload/server/public/assets/{gitGraphDiagram-UUTBAWPF-DG8RCtfg.js → gitGraphDiagram-UUTBAWPF-Di-1eg_m.js} +1 -1
  128. package/payload/server/public/assets/graph-BEGs_P2m.js +51 -0
  129. package/payload/server/public/assets/{graph-labels-LeIhl7ZG.js → graph-labels-Axa04w8A.js} +1 -1
  130. package/payload/server/public/assets/{graphlib-BkDExPQi.js → graphlib-D5awC2yp.js} +1 -1
  131. package/payload/server/public/assets/info-OMHHGYJF-CmArhGYf.js +1 -0
  132. package/payload/server/public/assets/infoDiagram-42DDH7IO-utWz7oZy.js +2 -0
  133. package/payload/server/public/assets/{isEmpty-Dkk6_L-B.js → isEmpty-Dh1dF-tM.js} +1 -1
  134. package/payload/server/public/assets/{ishikawaDiagram-UXIWVN3A-D_iMHV64.js → ishikawaDiagram-UXIWVN3A-CLOd_cNf.js} +1 -1
  135. package/payload/server/public/assets/{journeyDiagram-VCZTEJTY-BvPRpulx.js → journeyDiagram-VCZTEJTY-cGyfW6Tg.js} +1 -1
  136. package/payload/server/public/assets/{kanban-definition-6JOO6SKY-CkWaXWo2.js → kanban-definition-6JOO6SKY-CRTKWPlh.js} +1 -1
  137. package/payload/server/public/assets/{line-BGQT9unx.js → line-B8Brm0TD.js} +1 -1
  138. package/payload/server/public/assets/{linear-DzrYI8-8.js → linear-BHnSKXBe.js} +1 -1
  139. package/payload/server/public/assets/{maximize-2-2MgPSwlx.js → maximize-2-yucCepu_.js} +1 -1
  140. package/payload/server/public/assets/{mermaid-parser.core-DrMY7FMe.js → mermaid-parser.core-BtNpdQct.js} +2 -2
  141. package/payload/server/public/assets/{mermaid.core-BWdf6fZ7.js → mermaid.core-BY87anQZ.js} +3 -3
  142. package/payload/server/public/assets/{mindmap-definition-QFDTVHPH-CgqM9h97.js → mindmap-definition-QFDTVHPH-rUSv9qN1.js} +1 -1
  143. package/payload/server/public/assets/operator-911z_Fy_.js +1 -0
  144. package/payload/server/public/assets/{ordinal-DuJYM7p1.js → ordinal-Bnl5GL-x.js} +1 -1
  145. package/payload/server/public/assets/packet-4T2RLAQJ-BTfK0Zw4.js +1 -0
  146. package/payload/server/public/assets/page-6CZ8R57f.js +1 -0
  147. package/payload/server/public/assets/page-CgSgj8Cy.js +32 -0
  148. package/payload/server/public/assets/{pdf-render-riHufgrn.js → pdf-render-CrpAi4Ba.js} +1 -1
  149. package/payload/server/public/assets/pie-ZZUOXDRM-BvtPeMQY.js +1 -0
  150. package/payload/server/public/assets/{pieDiagram-DEJITSTG-BeUGoYS7.js → pieDiagram-DEJITSTG-Cjn9IP-C.js} +1 -1
  151. package/payload/server/public/assets/{public-VtmyYz8E.js → public-BzwveFwz.js} +1 -1
  152. package/payload/server/public/assets/{quadrantDiagram-34T5L4WZ-CX82WgKy.js → quadrantDiagram-34T5L4WZ-BkSHkSsn.js} +1 -1
  153. package/payload/server/public/assets/radar-PYXPWWZC-D2UXvQgn.js +1 -0
  154. package/payload/server/public/assets/{reduce-COyotL2V.js → reduce-Bp5oNw1n.js} +1 -1
  155. package/payload/server/public/assets/{requirementDiagram-MS252O5E-CzqebQXj.js → requirementDiagram-MS252O5E-hLwgyB-F.js} +1 -1
  156. package/payload/server/public/assets/{rotate-ccw-DaZdB2cz.js → rotate-ccw-BH51cf2Q.js} +1 -1
  157. package/payload/server/public/assets/{sankeyDiagram-XADWPNL6-CaHi1yzU.js → sankeyDiagram-XADWPNL6-D6Dl1RIa.js} +1 -1
  158. package/payload/server/public/assets/{sequenceDiagram-FGHM5R23-BF2AeiKW.js → sequenceDiagram-FGHM5R23-j0QBqkbL.js} +1 -1
  159. package/payload/server/public/assets/{stateDiagram-FHFEXIEX-DtUCA8Ih.js → stateDiagram-FHFEXIEX-TvEBNsuV.js} +1 -1
  160. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-Ur4eM6rb.js +1 -0
  161. package/payload/server/public/assets/tasks-21egY7A6.js +1 -0
  162. package/payload/server/public/assets/{time-entry-format-TD-PPEIu.js → time-entry-format-DPdGkp1C.js} +1 -1
  163. package/payload/server/public/assets/{timeline-definition-GMOUNBTQ-D3Q1YrKY.js → timeline-definition-GMOUNBTQ-BfivOP-j.js} +1 -1
  164. package/payload/server/public/assets/treeView-SZITEDCU-0dE7FvM2.js +1 -0
  165. package/payload/server/public/assets/treemap-W4RFUUIX-BrwlXpr5.js +1 -0
  166. package/payload/server/public/assets/{triangle-alert-BaLhVNnn.js → triangle-alert-DO2rjjfV.js} +1 -1
  167. package/payload/server/public/assets/useCopyFeedback-HMSM7-Ir.js +1 -0
  168. package/payload/server/public/assets/useSubAccountSwitcher-2ojOOYNo.css +1 -0
  169. package/payload/server/public/assets/{useSubAccountSwitcher-HEVLb6Z9.js → useSubAccountSwitcher-DLvqvfoc.js} +1 -1
  170. package/payload/server/public/assets/useVoiceRecorder-BcukQIza.js +2 -0
  171. package/payload/server/public/assets/{vennDiagram-DHZGUBPP-DnjzQDGf.js → vennDiagram-DHZGUBPP-Bvfw9aFJ.js} +1 -1
  172. package/payload/server/public/assets/wardley-RL74JXVD-CO9HdfJ-.js +1 -0
  173. package/payload/server/public/assets/{wardleyDiagram-NUSXRM2D-T3WHrUvi.js → wardleyDiagram-NUSXRM2D-C9h04G6b.js} +1 -1
  174. package/payload/server/public/assets/{xychartDiagram-5P7HB3ND-2Efyv4h2.js → xychartDiagram-5P7HB3ND-BMvi2m2q.js} +1 -1
  175. package/payload/server/public/brand-defaults.css +4 -0
  176. package/payload/server/public/browser.html +4 -4
  177. package/payload/server/public/calendar.html +6 -5
  178. package/payload/server/public/chat.html +14 -12
  179. package/payload/server/public/data.html +11 -11
  180. package/payload/server/public/graph.html +11 -10
  181. package/payload/server/public/index.html +17 -14
  182. package/payload/server/public/operator.html +16 -14
  183. package/payload/server/public/public.html +14 -12
  184. package/payload/server/public/tasks.html +6 -6
  185. package/payload/server/server.js +87 -0
  186. package/payload/server/public/assets/AdminShell-UDgNN4CA.js +0 -2
  187. package/payload/server/public/assets/activity-06gsRDVv.js +0 -1
  188. package/payload/server/public/assets/admin-BhiHyORH.js +0 -1
  189. package/payload/server/public/assets/architecture-YZFGNWBL-Ct5q6ks1.js +0 -1
  190. package/payload/server/public/assets/browser-Cz4IKS47.js +0 -1
  191. package/payload/server/public/assets/calendar-D0xtNqH8.js +0 -1
  192. package/payload/server/public/assets/channel-PE9vBKEQ.js +0 -1
  193. package/payload/server/public/assets/chat-DwLJ830n.js +0 -1
  194. package/payload/server/public/assets/chevron-left-Cv-TFuEf.js +0 -1
  195. package/payload/server/public/assets/chunk-426QAEUC-BDNZtJsz.js +0 -1
  196. package/payload/server/public/assets/chunk-QZHKN3VN-B_Hris8x.js +0 -1
  197. package/payload/server/public/assets/classDiagram-6PBFFD2Q-D8Q05iMI.js +0 -1
  198. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-Dm3hAxfm.js +0 -1
  199. package/payload/server/public/assets/clone-C-wOwvpY.js +0 -1
  200. package/payload/server/public/assets/data-DUDJfnjI.js +0 -1
  201. package/payload/server/public/assets/gitGraph-7Q5UKJZL-BBHsY16R.js +0 -1
  202. package/payload/server/public/assets/graph-BAoktBcx.js +0 -51
  203. package/payload/server/public/assets/info-OMHHGYJF-C1j5I_zx.js +0 -1
  204. package/payload/server/public/assets/infoDiagram-42DDH7IO-ZWkwHWEu.js +0 -2
  205. package/payload/server/public/assets/operator-CZifmNhp.js +0 -1
  206. package/payload/server/public/assets/packet-4T2RLAQJ-CGiTbe0N.js +0 -1
  207. package/payload/server/public/assets/page-B4kllGd_.js +0 -32
  208. package/payload/server/public/assets/page-DbfE7QwJ.js +0 -1
  209. package/payload/server/public/assets/pie-ZZUOXDRM-BrK023dE.js +0 -1
  210. package/payload/server/public/assets/radar-PYXPWWZC-p7NRamXX.js +0 -1
  211. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-a4FvB3L8.js +0 -1
  212. package/payload/server/public/assets/tasks-CvqVDbfO.js +0 -1
  213. package/payload/server/public/assets/treeView-SZITEDCU-CoWk8VoG.js +0 -1
  214. package/payload/server/public/assets/treemap-W4RFUUIX-BhWeGj8Y.js +0 -1
  215. package/payload/server/public/assets/useCopyFeedback-BhjPzRa3.js +0 -1
  216. package/payload/server/public/assets/useSubAccountSwitcher-CWRpVt1-.css +0 -1
  217. package/payload/server/public/assets/useVoiceRecorder-CfGgj3vm.js +0 -2
  218. package/payload/server/public/assets/wardley-RL74JXVD-C0q3Hqng.js +0 -1
  219. /package/payload/server/public/assets/{_baseFor-Bjj9It3Q.js → _baseFor-BBkmqPEk.js} +0 -0
  220. /package/payload/server/public/assets/{array-BrrxEo12.js → array-Bjtb2C_5.js} +0 -0
  221. /package/payload/server/public/assets/{cytoscape.esm-CTWJxUxo.js → cytoscape.esm-B1dQ664k.js} +0 -0
  222. /package/payload/server/public/assets/{defaultLocale-CFDbRV4k.js → defaultLocale-iwYA7ne8.js} +0 -0
  223. /package/payload/server/public/assets/{dist-BATfy7Sn.js → dist-CLmrZbY7.js} +0 -0
  224. /package/payload/server/public/assets/{init-dXCzGgLP.js → init-CxnBAgcf.js} +0 -0
  225. /package/payload/server/public/assets/{katex-CHA1JFYJ.js → katex-DojHoLIr.js} +0 -0
  226. /package/payload/server/public/assets/{path-CCRpdXhK.js → path-JZiojYzQ.js} +0 -0
  227. /package/payload/server/public/assets/{preload-helper-CH6UZRzu.js → preload-helper-CT1Z6Pdu.js} +0 -0
  228. /package/payload/server/public/assets/{rough.esm-Bud4g4fh.js → rough.esm-D5NinLFK.js} +0 -0
  229. /package/payload/server/public/assets/{src-DNdBRXXx.js → src-DQ0MSD6q.js} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rubytech/create-maxy-code",
3
- "version": "0.1.482",
3
+ "version": "0.1.484",
4
4
  "description": "Install Maxy — AI for Productive People",
5
5
  "bin": {
6
6
  "create-maxy-code": "./dist/index.js"
@@ -577,6 +577,10 @@
577
577
  "resolved": "plugins/filesystem/mcp",
578
578
  "link": true
579
579
  },
580
+ "node_modules/@maxy/google": {
581
+ "resolved": "plugins/google/mcp",
582
+ "link": true
583
+ },
580
584
  "node_modules/@maxy/graph-viewer": {
581
585
  "resolved": "plugins/graph-viewer/mcp",
582
586
  "link": true
@@ -585,6 +589,10 @@
585
589
  "resolved": "plugins/joblogic/mcp",
586
590
  "link": true
587
591
  },
592
+ "node_modules/@maxy/ledger": {
593
+ "resolved": "plugins/ledger/mcp",
594
+ "link": true
595
+ },
588
596
  "node_modules/@maxy/memory": {
589
597
  "resolved": "plugins/memory/mcp",
590
598
  "link": true
@@ -609,6 +617,10 @@
609
617
  "resolved": "plugins/scheduling/mcp",
610
618
  "link": true
611
619
  },
620
+ "node_modules/@maxy/storage-broker": {
621
+ "resolved": "plugins/storage-broker/mcp",
622
+ "link": true
623
+ },
612
624
  "node_modules/@maxy/telegram-channel": {
613
625
  "resolved": "services/telegram-channel",
614
626
  "link": true
@@ -617,6 +629,10 @@
617
629
  "resolved": "plugins/url-get/mcp",
618
630
  "link": true
619
631
  },
632
+ "node_modules/@maxy/voice-mirror-mcp": {
633
+ "resolved": "plugins/voice-mirror/mcp",
634
+ "link": true
635
+ },
620
636
  "node_modules/@maxy/webchat-channel": {
621
637
  "resolved": "services/webchat-channel",
622
638
  "link": true
@@ -5618,7 +5634,211 @@
5618
5634
  },
5619
5635
  "devDependencies": {
5620
5636
  "@types/node": "^22.0.0",
5621
- "typescript": "^5.7.0"
5637
+ "typescript": "^5.7.0",
5638
+ "vitest": "^4.1.10"
5639
+ }
5640
+ },
5641
+ "plugins/cloudflare/mcp/node_modules/@vitest/expect": {
5642
+ "version": "4.1.10",
5643
+ "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.1.10.tgz",
5644
+ "integrity": "sha512-YsCn+qAk1GWjQOWFEsEcL2gNQ0zmVmQu3T03qP6UyjhtmdtwtbuI+DASn/7iQB3HGTXkdBwGddzxPlmiql5vlA==",
5645
+ "dev": true,
5646
+ "license": "MIT",
5647
+ "dependencies": {
5648
+ "@standard-schema/spec": "^1.1.0",
5649
+ "@types/chai": "^5.2.2",
5650
+ "@vitest/spy": "4.1.10",
5651
+ "@vitest/utils": "4.1.10",
5652
+ "chai": "^6.2.2",
5653
+ "tinyrainbow": "^3.1.0"
5654
+ },
5655
+ "funding": {
5656
+ "url": "https://opencollective.com/vitest"
5657
+ }
5658
+ },
5659
+ "plugins/cloudflare/mcp/node_modules/@vitest/pretty-format": {
5660
+ "version": "4.1.10",
5661
+ "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.1.10.tgz",
5662
+ "integrity": "sha512-W1HsjSH4MXQ9YfmmhLAoIYf1HRfekQCGngeIgcei6MP5QQGWUe0gkopdZQaVCFO+JDJMrAJGwa5pRpNpvy4P8Q==",
5663
+ "dev": true,
5664
+ "license": "MIT",
5665
+ "dependencies": {
5666
+ "tinyrainbow": "^3.1.0"
5667
+ },
5668
+ "funding": {
5669
+ "url": "https://opencollective.com/vitest"
5670
+ }
5671
+ },
5672
+ "plugins/cloudflare/mcp/node_modules/@vitest/runner": {
5673
+ "version": "4.1.10",
5674
+ "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.1.10.tgz",
5675
+ "integrity": "sha512-IKI6kpIH+LmpROplyLwBBaCfMgOZOMsygVa6BARD6ahA04VRuJSa6OaVG7kRvSEMD870Vd91rSSw0eegtWyLGg==",
5676
+ "dev": true,
5677
+ "license": "MIT",
5678
+ "dependencies": {
5679
+ "@vitest/utils": "4.1.10",
5680
+ "pathe": "^2.0.3"
5681
+ },
5682
+ "funding": {
5683
+ "url": "https://opencollective.com/vitest"
5684
+ }
5685
+ },
5686
+ "plugins/cloudflare/mcp/node_modules/@vitest/snapshot": {
5687
+ "version": "4.1.10",
5688
+ "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.1.10.tgz",
5689
+ "integrity": "sha512-xRkfOT1qpTAi/Ti4Y1LtfRc3kEuqxGw59eN2jN9pRWMtS/XDevekhcFSqvQqjUNGksfjMJu3Y+oJ+4Ypn2OaJw==",
5690
+ "dev": true,
5691
+ "license": "MIT",
5692
+ "dependencies": {
5693
+ "@vitest/pretty-format": "4.1.10",
5694
+ "@vitest/utils": "4.1.10",
5695
+ "magic-string": "^0.30.21",
5696
+ "pathe": "^2.0.3"
5697
+ },
5698
+ "funding": {
5699
+ "url": "https://opencollective.com/vitest"
5700
+ }
5701
+ },
5702
+ "plugins/cloudflare/mcp/node_modules/@vitest/spy": {
5703
+ "version": "4.1.10",
5704
+ "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.1.10.tgz",
5705
+ "integrity": "sha512-PLf/Ugvoq5wO/b4rwYCR1h2PSIdXz7wnkQFMiUpLdtM7l6pqVFcQIBEHyT1+l+cj7mNwAfZHzqXqDyjvOuwbDw==",
5706
+ "dev": true,
5707
+ "license": "MIT",
5708
+ "funding": {
5709
+ "url": "https://opencollective.com/vitest"
5710
+ }
5711
+ },
5712
+ "plugins/cloudflare/mcp/node_modules/@vitest/utils": {
5713
+ "version": "4.1.10",
5714
+ "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.1.10.tgz",
5715
+ "integrity": "sha512-fy9am/HWxbaGt/Sawrp90vt6Y6jQwf1RX77cz3uwoJwJVMli/e1IEwRPnMNJ7vKfPTwo0diXifkpPvwH9v7nGA==",
5716
+ "dev": true,
5717
+ "license": "MIT",
5718
+ "dependencies": {
5719
+ "@vitest/pretty-format": "4.1.10",
5720
+ "convert-source-map": "^2.0.0",
5721
+ "tinyrainbow": "^3.1.0"
5722
+ },
5723
+ "funding": {
5724
+ "url": "https://opencollective.com/vitest"
5725
+ }
5726
+ },
5727
+ "plugins/cloudflare/mcp/node_modules/vitest": {
5728
+ "version": "4.1.10",
5729
+ "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.1.10.tgz",
5730
+ "integrity": "sha512-R9jUTe5S4Qb0HCd4TNqpC7oGcrMssMRGXLW80ubjWsW9VH5GF8y1Y0SFLY9AbqSk6nt0PnOx4H4WNJYZ13GUPw==",
5731
+ "dev": true,
5732
+ "license": "MIT",
5733
+ "dependencies": {
5734
+ "@vitest/expect": "4.1.10",
5735
+ "@vitest/mocker": "4.1.10",
5736
+ "@vitest/pretty-format": "4.1.10",
5737
+ "@vitest/runner": "4.1.10",
5738
+ "@vitest/snapshot": "4.1.10",
5739
+ "@vitest/spy": "4.1.10",
5740
+ "@vitest/utils": "4.1.10",
5741
+ "es-module-lexer": "^2.0.0",
5742
+ "expect-type": "^1.3.0",
5743
+ "magic-string": "^0.30.21",
5744
+ "obug": "^2.1.1",
5745
+ "pathe": "^2.0.3",
5746
+ "picomatch": "^4.0.3",
5747
+ "std-env": "^4.0.0-rc.1",
5748
+ "tinybench": "^2.9.0",
5749
+ "tinyexec": "^1.0.2",
5750
+ "tinyglobby": "^0.2.15",
5751
+ "tinyrainbow": "^3.1.0",
5752
+ "vite": "^6.0.0 || ^7.0.0 || ^8.0.0",
5753
+ "why-is-node-running": "^2.3.0"
5754
+ },
5755
+ "bin": {
5756
+ "vitest": "vitest.mjs"
5757
+ },
5758
+ "engines": {
5759
+ "node": "^20.0.0 || ^22.0.0 || >=24.0.0"
5760
+ },
5761
+ "funding": {
5762
+ "url": "https://opencollective.com/vitest"
5763
+ },
5764
+ "peerDependencies": {
5765
+ "@edge-runtime/vm": "*",
5766
+ "@opentelemetry/api": "^1.9.0",
5767
+ "@types/node": "^20.0.0 || ^22.0.0 || >=24.0.0",
5768
+ "@vitest/browser-playwright": "4.1.10",
5769
+ "@vitest/browser-preview": "4.1.10",
5770
+ "@vitest/browser-webdriverio": "4.1.10",
5771
+ "@vitest/coverage-istanbul": "4.1.10",
5772
+ "@vitest/coverage-v8": "4.1.10",
5773
+ "@vitest/ui": "4.1.10",
5774
+ "happy-dom": "*",
5775
+ "jsdom": "*",
5776
+ "vite": "^6.0.0 || ^7.0.0 || ^8.0.0"
5777
+ },
5778
+ "peerDependenciesMeta": {
5779
+ "@edge-runtime/vm": {
5780
+ "optional": true
5781
+ },
5782
+ "@opentelemetry/api": {
5783
+ "optional": true
5784
+ },
5785
+ "@types/node": {
5786
+ "optional": true
5787
+ },
5788
+ "@vitest/browser-playwright": {
5789
+ "optional": true
5790
+ },
5791
+ "@vitest/browser-preview": {
5792
+ "optional": true
5793
+ },
5794
+ "@vitest/browser-webdriverio": {
5795
+ "optional": true
5796
+ },
5797
+ "@vitest/coverage-istanbul": {
5798
+ "optional": true
5799
+ },
5800
+ "@vitest/coverage-v8": {
5801
+ "optional": true
5802
+ },
5803
+ "@vitest/ui": {
5804
+ "optional": true
5805
+ },
5806
+ "happy-dom": {
5807
+ "optional": true
5808
+ },
5809
+ "jsdom": {
5810
+ "optional": true
5811
+ },
5812
+ "vite": {
5813
+ "optional": false
5814
+ }
5815
+ }
5816
+ },
5817
+ "plugins/cloudflare/mcp/node_modules/vitest/node_modules/@vitest/mocker": {
5818
+ "version": "4.1.10",
5819
+ "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.1.10.tgz",
5820
+ "integrity": "sha512-v0xaezt+DKEmKfaxg133ldzADrwLGd7Ze1MfQQTYfvs8OqZIwbxyxaYURivwV7sWy5fqn3rH5uOrSp07bp44Ow==",
5821
+ "dev": true,
5822
+ "license": "MIT",
5823
+ "dependencies": {
5824
+ "@vitest/spy": "4.1.10",
5825
+ "estree-walker": "^3.0.3",
5826
+ "magic-string": "^0.30.21"
5827
+ },
5828
+ "funding": {
5829
+ "url": "https://opencollective.com/vitest"
5830
+ },
5831
+ "peerDependencies": {
5832
+ "msw": "^2.4.9",
5833
+ "vite": "^6.0.0 || ^7.0.0 || ^8.0.0"
5834
+ },
5835
+ "peerDependenciesMeta": {
5836
+ "msw": {
5837
+ "optional": true
5838
+ },
5839
+ "vite": {
5840
+ "optional": true
5841
+ }
5622
5842
  }
5623
5843
  },
5624
5844
  "plugins/connector/mcp": {
@@ -6395,6 +6615,18 @@
6395
6615
  }
6396
6616
  }
6397
6617
  },
6618
+ "plugins/google/mcp": {
6619
+ "name": "@maxy/google",
6620
+ "version": "0.1.0",
6621
+ "dependencies": {
6622
+ "@modelcontextprotocol/sdk": "^1.12.1",
6623
+ "zod": "^3.24.0"
6624
+ },
6625
+ "devDependencies": {
6626
+ "@types/node": "^22.0.0",
6627
+ "typescript": "^5.7.0"
6628
+ }
6629
+ },
6398
6630
  "plugins/graph-viewer/mcp": {
6399
6631
  "name": "@maxy/graph-viewer",
6400
6632
  "version": "0.1.0",
@@ -6424,6 +6656,19 @@
6424
6656
  "typescript": "^5.7.0"
6425
6657
  }
6426
6658
  },
6659
+ "plugins/ledger/mcp": {
6660
+ "name": "@maxy/ledger",
6661
+ "version": "0.1.0",
6662
+ "dependencies": {
6663
+ "@modelcontextprotocol/sdk": "^1.12.1",
6664
+ "neo4j-driver": "^5.28.1"
6665
+ },
6666
+ "devDependencies": {
6667
+ "@types/node": "^22.0.0",
6668
+ "typescript": "^5.7.0",
6669
+ "vitest": "^4.1.2"
6670
+ }
6671
+ },
6427
6672
  "plugins/memory/mcp": {
6428
6673
  "name": "@maxy/memory",
6429
6674
  "version": "0.1.0",
@@ -6491,6 +6736,19 @@
6491
6736
  "vitest": "^4.1.2"
6492
6737
  }
6493
6738
  },
6739
+ "plugins/storage-broker/mcp": {
6740
+ "name": "@maxy/storage-broker",
6741
+ "version": "0.1.0",
6742
+ "dependencies": {
6743
+ "@modelcontextprotocol/sdk": "^1.12.1",
6744
+ "zod": "^3.24.0"
6745
+ },
6746
+ "devDependencies": {
6747
+ "@types/node": "^22.0.0",
6748
+ "typescript": "^5.7.0",
6749
+ "vitest": "^4.1.7"
6750
+ }
6751
+ },
6494
6752
  "plugins/tasks/mcp": {
6495
6753
  "name": "@maxy/tasks",
6496
6754
  "version": "0.1.0",
@@ -6531,6 +6789,18 @@
6531
6789
  "vitest": "^4.1.2"
6532
6790
  }
6533
6791
  },
6792
+ "plugins/voice-mirror/mcp": {
6793
+ "name": "@maxy/voice-mirror-mcp",
6794
+ "version": "0.1.0",
6795
+ "dependencies": {
6796
+ "@modelcontextprotocol/sdk": "^1.12.1",
6797
+ "neo4j-driver": "^5.28.1"
6798
+ },
6799
+ "devDependencies": {
6800
+ "@types/node": "^22.0.0",
6801
+ "typescript": "^5.7.0"
6802
+ }
6803
+ },
6534
6804
  "plugins/waitlist/mcp": {
6535
6805
  "name": "@maxy/waitlist",
6536
6806
  "version": "0.1.0",
@@ -169,6 +169,7 @@ Tools are available via the `admin` MCP server.
169
169
  | Set up business profile | Admin asks to set up, complete, or update business operational data | `skills/business-profile/SKILL.md` |
170
170
  | Generate a QR code | User asks to generate, create, or make a QR code from a URL, Wi-Fi details, contact, or text | `skills/qr-code/SKILL.md` |
171
171
  | Timezone queries | User asks for the time in another city, timezone conversion, UTC offset, or DST status | `skills/datetime/SKILL.md` |
172
+ | What's new / release notes | User asks what's new, what changed, latest updates, recent changes, or how current their install is | `skills/whats-new/SKILL.md` |
172
173
  | Manage access grants | Admin asks to invite visitors, revoke or extend access, list who has access, or set an agent's access mode | `skills/access-manager/SKILL.md` |
173
174
  | Manage plugins and settings | User asks to install, enable, disable, or configure plugins, or change account settings | `skills/plugin-management/SKILL.md` |
174
175
  | Manage specialists | User asks to install or remove a specialist subagent, or activate/deactivate premium plugin agents | `skills/specialist-management/SKILL.md` |
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: platform-architecture
3
3
  description: Use when grounding any documented-surface claim about what Maxy ships — plugins, skills, specialists, install/deploy flows, internals. This is the install catalogue, not evidence of what is enabled on the current account. For install state on this account, call `capabilities-here`; for documented surface, cite the `Source:` URL inline.
4
- content-hash: sha256:c7a28352289a7121b08a8d8f2d5bcb1e79497a6acda2e355756cf7b02051c3a5
4
+ content-hash: sha256:103d5688cd9255611a9bf233effbaf7ffd8b45afa48b26d4f92b86febcfac1f5
5
5
  brand: maxy-code
6
6
  product-name: Maxy
7
7
  ---
@@ -2237,26 +2237,33 @@ force Google's annual third-party security assessment. Calendar is only a
2237
2237
 
2238
2238
  ## Connecting an account
2239
2239
 
2240
- `google-account-register` returns a consent URL. Relay it to the user: they open
2241
- it on any device, sign in, and approve.
2242
-
2243
- What happens next depends on where they approved.
2244
-
2245
- **If they approved on the machine this install runs on**, the connection
2246
- completes by itself and their browser shows a page naming the connected account.
2247
- Nothing is pasted. That page asks them to return to the chat and say so — do
2248
- that, then call `google-account-register-poll` to confirm.
2249
-
2250
- **If they approved on another device**, such as a phone, their browser lands on
2251
- a page that **fails to load**. That is expected, not a fault: the vendor app is
2252
- a Desktop client, so Google redirects to a loopback address on the install, and
2253
- a phone has no route to it. The address bar still carries the code. Ask them to
2254
- copy the **whole URL** from the address bar and pass it to
2255
- `google-account-register-submit`, which completes the connection.
2256
-
2257
- Paste the entire URL — the tool pulls the code out. A bare code, a `code=...`
2258
- fragment, and a value containing `%2F` all work too.
2259
- `google-account-register-poll` reports the outcome at any point.
2240
+ `google-account-register` resolves which of two routes applies to this install
2241
+ and returns one `instruction` field plus a `readback` directive. Relay the
2242
+ `instruction` to the user verbatim. Do not narrate both routes or decide between
2243
+ them yourself; the tool already chose.
2244
+
2245
+ The two routes behind that resolution:
2246
+
2247
+ **Auto-opened** (`path: "auto-open"`), when the install's own browser is
2248
+ reachable. Register opens the Google sign-in in it, so no link is handed over.
2249
+ The user signs in and approves there and the connection completes by itself. A
2250
+ backup link comes back in `consentUrl` for the rare case the page did not open
2251
+ in front of them.
2252
+
2253
+ **Paste** (`path: "paste"`), when no on-host browser is reachable, such as a
2254
+ browserless brand or a phone. Register returns a consent URL to relay. The user
2255
+ opens it, signs in, and approves; the loopback page then fails to load, which is
2256
+ expected, because the vendor app is a Desktop client that redirects to a
2257
+ loopback address the device cannot reach. The address bar still carries the
2258
+ code, so they copy the whole URL from it and pass it to
2259
+ `google-account-register-submit`. The tool pulls the code out of a whole URL, a
2260
+ bare code, a `code=...` fragment, or a value containing `%2F`.
2261
+
2262
+ Either way, read the outcome back with `google-account-register-poll`, per the
2263
+ result's `readback` field: `registered` names the connected email, `pending`
2264
+ means it has not completed, `expired` means the code timed out and register
2265
+ should be re-run. Do not tell the user they are connected before poll returns
2266
+ `registered`.
2260
2267
 
2261
2268
  The register tool does not block and does not wait. A second register while one
2262
2269
  is already live is refused rather than overwriting it; that refusal names how
@@ -3283,6 +3290,31 @@ documented in
3283
3290
  [`platform.md`](platform.md) "The Web Interface" — that paragraph is
3284
3291
  authoritative. This section names the surfaces and what backs each.
3285
3292
 
3293
+ > **Redesigned chrome.** The admin shell was rebuilt so the sidebar
3294
+ > owns all navigation; the full-width top header bar, the burger flyout, and the
3295
+ > "Powered by Claude Code" footer strip are retired. After the redesign:
3296
+ >
3297
+ > - **Nav rows** are Dashboard, Chat, Tasks, Calendar, Data, the brand container
3298
+ > row (Projects / Properties / Jobs, opening the graph filtered to the brand's
3299
+ > primary container), Activity, and Browser. The active row carries an accent
3300
+ > left indicator. The older People / Agents / Artefacts entries in the table
3301
+ > below are pre-redesign.
3302
+ > - **Dashboard home** renders on `/` (a greeting, stat cards, a Live-now column,
3303
+ > a Recent artefacts card, and a Channels column), consuming existing endpoints
3304
+ > only.
3305
+ > - **Per-surface header.** Each surface carries its own header (`PageHeader`):
3306
+ > the sidebar collapse toggle, the page title, and a Claude status pill on the
3307
+ > right (Connected / Connect, driven by `/api/health`). The pill replaces the
3308
+ > retired burger Disconnect visibility and footer strip.
3309
+ > - **Account kebab.** The version / Connect-Disconnect / Change PIN / Switch
3310
+ > account / Log out items moved from the burger onto a kebab on the sidebar user
3311
+ > footer (`AccountMenu`, extracted from the old `HeaderMenu`; the operator
3312
+ > variant still mounts `AccountMenu` for its reduced set).
3313
+ > - **Mobile (< 720px).** The sidebar opens as a drawer from a 44x44 header menu
3314
+ > button, and a fixed bottom tab bar (Home, Chat, Tasks, Data, Calendar) sits
3315
+ > under the content; Graph, Activity, and Browser stay reachable through the
3316
+ > drawer. Between 721 and 1080px the sidebar defaults to the rail.
3317
+
3286
3318
  > **Admin variant only.** Every surface below belongs to the `admin` shell
3287
3319
  > variant. The **operator** variant (`operator.<host>`) mounts no sidebar at
3288
3320
  > all: its dashboard is the persistent admin webchat at `/` and the data
@@ -3760,6 +3792,7 @@ If a session never runs an insight pass, its prose nodes are not lost — the ne
3760
3792
  | Person | AUTHORED | Report |
3761
3793
  | Person | AUTHORED | Page |
3762
3794
  | Person | AUTHORED | Note |
3795
+ | Person | AUTHORED | KnowledgeDocument |
3763
3796
  | KnowledgeDocument | ATTACHED_TO | Meeting |
3764
3797
  | Page | ATTACHED_TO | Project |
3765
3798
  | Note | ATTACHED_TO | Project |
@@ -0,0 +1,57 @@
1
+ ---
2
+ name: whats-new
3
+ description: "The platform's release notes: a dated, high-level timeline of the features and fixes that have shipped. Use when the operator asks what's new, what changed, what has been updated, latest updates, recent changes, release notes, or what the assistant can do now."
4
+ ---
5
+
6
+ # What's new
7
+
8
+ Invoked by the admin agent directly.
9
+
10
+ This is the platform's release timeline, newest first. Each entry shows the date it shipped and the version it shipped in, so you can tell the operator how current their install is. To compare, read the installed version from `capabilities-here` and match it against the versions below. Keep answers high level and in plain English; this is a summary, not a full commit log.
11
+
12
+ ## 2026-07-21 (0.1.482)
13
+
14
+ - WhatsApp now runs a separate connection for each client account, so one client's messages never mix with another's.
15
+ - A client account can pair its own WhatsApp number, and the assistant can reply inside an existing WhatsApp thread on that number.
16
+
17
+ ## 2026-07-20 (0.1.481)
18
+
19
+ - Data portal: a client can browse their whole folder tree, not just uploads, and download files held on the device through a private timed link.
20
+ - The activity page was rebuilt as one card per live session, with a date-range filter and active-time for each session.
21
+ - The tasks list now opens inside the admin screen instead of a separate view.
22
+ - Incoming WhatsApp messages are now saved under the correct account.
23
+ - Outlook sign-in is steadier: token refreshes no longer clash between processes.
24
+
25
+ ## 2026-07-11 (0.1.436)
26
+
27
+ - Reading a WhatsApp history now finds the right account's conversations.
28
+
29
+ ## 2026-07-10 (0.1.427)
30
+
31
+ - You can now reassign which team member manages a client account.
32
+ - Time spent can be recorded against a task.
33
+ - Email setup can point drafts at a chosen folder.
34
+
35
+ ## 2026-07-08 (0.1.414)
36
+
37
+ - The client view now shows the account manager's WhatsApp threads alongside the rest.
38
+
39
+ ## 2026-07-05 (0.1.401)
40
+
41
+ - Each brand now carries its own colour theme.
42
+ - The chat box shows a Connect prompt when the assistant is offline, instead of failing silently.
43
+
44
+ ## 2026-07-01 (0.1.377)
45
+
46
+ - The WhatsApp reader shows saved conversations even when nothing is in the live cache.
47
+
48
+ ## 2026-06-28 (0.1.370)
49
+
50
+ - Public booking page: set how far ahead people can book, page through five days at a time, and allow back-to-back slots.
51
+ - The admin calendar links straight to your public booking page.
52
+ - Telegram is now a first-class channel, the same as WhatsApp and web chat.
53
+
54
+ ## 2026-06-18 (0.1.336)
55
+
56
+ - Every operator-facing reply is now written in plain English.
57
+ - Project guides added: stakeholder mapping, pre-mortem, prioritisation, and turning a meeting into tasks.
@@ -393,6 +393,31 @@ documented in
393
393
  [`platform.md`](platform.md) "The Web Interface" — that paragraph is
394
394
  authoritative. This section names the surfaces and what backs each.
395
395
 
396
+ > **Redesigned chrome.** The admin shell was rebuilt so the sidebar
397
+ > owns all navigation; the full-width top header bar, the burger flyout, and the
398
+ > "Powered by Claude Code" footer strip are retired. After the redesign:
399
+ >
400
+ > - **Nav rows** are Dashboard, Chat, Tasks, Calendar, Data, the brand container
401
+ > row (Projects / Properties / Jobs, opening the graph filtered to the brand's
402
+ > primary container), Activity, and Browser. The active row carries an accent
403
+ > left indicator. The older People / Agents / Artefacts entries in the table
404
+ > below are pre-redesign.
405
+ > - **Dashboard home** renders on `/` (a greeting, stat cards, a Live-now column,
406
+ > a Recent artefacts card, and a Channels column), consuming existing endpoints
407
+ > only.
408
+ > - **Per-surface header.** Each surface carries its own header (`PageHeader`):
409
+ > the sidebar collapse toggle, the page title, and a Claude status pill on the
410
+ > right (Connected / Connect, driven by `/api/health`). The pill replaces the
411
+ > retired burger Disconnect visibility and footer strip.
412
+ > - **Account kebab.** The version / Connect-Disconnect / Change PIN / Switch
413
+ > account / Log out items moved from the burger onto a kebab on the sidebar user
414
+ > footer (`AccountMenu`, extracted from the old `HeaderMenu`; the operator
415
+ > variant still mounts `AccountMenu` for its reduced set).
416
+ > - **Mobile (< 720px).** The sidebar opens as a drawer from a 44x44 header menu
417
+ > button, and a fixed bottom tab bar (Home, Chat, Tasks, Data, Calendar) sits
418
+ > under the content; Graph, Activity, and Browser stay reachable through the
419
+ > drawer. Between 721 and 1080px the sidebar defaults to the rail.
420
+
396
421
  > **Admin variant only.** Every surface below belongs to the `admin` shell
397
422
  > variant. The **operator** variant (`operator.<host>`) mounts no sidebar at
398
423
  > all: its dashboard is the persistent admin webchat at `/` and the data
@@ -11,26 +11,33 @@ force Google's annual third-party security assessment. Calendar is only a
11
11
 
12
12
  ## Connecting an account
13
13
 
14
- `google-account-register` returns a consent URL. Relay it to the user: they open
15
- it on any device, sign in, and approve.
16
-
17
- What happens next depends on where they approved.
18
-
19
- **If they approved on the machine this install runs on**, the connection
20
- completes by itself and their browser shows a page naming the connected account.
21
- Nothing is pasted. That page asks them to return to the chat and say so — do
22
- that, then call `google-account-register-poll` to confirm.
23
-
24
- **If they approved on another device**, such as a phone, their browser lands on
25
- a page that **fails to load**. That is expected, not a fault: the vendor app is
26
- a Desktop client, so Google redirects to a loopback address on the install, and
27
- a phone has no route to it. The address bar still carries the code. Ask them to
28
- copy the **whole URL** from the address bar and pass it to
29
- `google-account-register-submit`, which completes the connection.
30
-
31
- Paste the entire URL — the tool pulls the code out. A bare code, a `code=...`
32
- fragment, and a value containing `%2F` all work too.
33
- `google-account-register-poll` reports the outcome at any point.
14
+ `google-account-register` resolves which of two routes applies to this install
15
+ and returns one `instruction` field plus a `readback` directive. Relay the
16
+ `instruction` to the user verbatim. Do not narrate both routes or decide between
17
+ them yourself; the tool already chose.
18
+
19
+ The two routes behind that resolution:
20
+
21
+ **Auto-opened** (`path: "auto-open"`), when the install's own browser is
22
+ reachable. Register opens the Google sign-in in it, so no link is handed over.
23
+ The user signs in and approves there and the connection completes by itself. A
24
+ backup link comes back in `consentUrl` for the rare case the page did not open
25
+ in front of them.
26
+
27
+ **Paste** (`path: "paste"`), when no on-host browser is reachable, such as a
28
+ browserless brand or a phone. Register returns a consent URL to relay. The user
29
+ opens it, signs in, and approves; the loopback page then fails to load, which is
30
+ expected, because the vendor app is a Desktop client that redirects to a
31
+ loopback address the device cannot reach. The address bar still carries the
32
+ code, so they copy the whole URL from it and pass it to
33
+ `google-account-register-submit`. The tool pulls the code out of a whole URL, a
34
+ bare code, a `code=...` fragment, or a value containing `%2F`.
35
+
36
+ Either way, read the outcome back with `google-account-register-poll`, per the
37
+ result's `readback` field: `registered` names the connected email, `pending`
38
+ means it has not completed, `expired` means the code timed out and register
39
+ should be re-run. Do not tell the user they are connected before poll returns
40
+ `registered`.
34
41
 
35
42
  The register tool does not block and does not wait. A second register while one
36
43
  is already live is refused rather than overwriting it; that refusal names how
@@ -55,6 +55,7 @@ If a session never runs an insight pass, its prose nodes are not lost — the ne
55
55
  | Person | AUTHORED | Report |
56
56
  | Person | AUTHORED | Page |
57
57
  | Person | AUTHORED | Note |
58
+ | Person | AUTHORED | KnowledgeDocument |
58
59
  | KnowledgeDocument | ATTACHED_TO | Meeting |
59
60
  | Page | ATTACHED_TO | Project |
60
61
  | Note | ATTACHED_TO | Project |