@rubytech/create-maxy-code 0.1.382 → 0.1.384

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 (196) hide show
  1. package/package.json +1 -1
  2. package/payload/platform/plugins/admin/mcp/dist/index.js +37 -9
  3. package/payload/platform/plugins/admin/mcp/dist/index.js.map +1 -1
  4. package/payload/platform/plugins/admin/mcp/dist/tools/account-lifecycle.d.ts +48 -0
  5. package/payload/platform/plugins/admin/mcp/dist/tools/account-lifecycle.d.ts.map +1 -1
  6. package/payload/platform/plugins/admin/mcp/dist/tools/account-lifecycle.js +51 -0
  7. package/payload/platform/plugins/admin/mcp/dist/tools/account-lifecycle.js.map +1 -1
  8. package/payload/platform/plugins/admin/skills/platform-architecture/SKILL.md +39 -24
  9. package/payload/platform/plugins/cloudflare/references/hosting-sites.md +7 -4
  10. package/payload/platform/plugins/cloudflare/skills/cloudflare/SKILL.md +9 -6
  11. package/payload/platform/plugins/docs/references/admin-ui.md +33 -22
  12. package/payload/platform/plugins/docs/references/attachments.md +5 -1
  13. package/payload/platform/plugins/email/skills/email-composition/SKILL.md +1 -1
  14. package/payload/platform/plugins/outlook/skills/outlook/SKILL.md +2 -0
  15. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/d1-command.test.d.ts +2 -0
  16. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/d1-command.test.d.ts.map +1 -0
  17. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/d1-command.test.js +23 -0
  18. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/d1-command.test.js.map +1 -0
  19. package/payload/platform/plugins/scheduling/mcp/dist/lib/d1-command.d.ts +12 -0
  20. package/payload/platform/plugins/scheduling/mcp/dist/lib/d1-command.d.ts.map +1 -0
  21. package/payload/platform/plugins/scheduling/mcp/dist/lib/d1-command.js +14 -0
  22. package/payload/platform/plugins/scheduling/mcp/dist/lib/d1-command.js.map +1 -0
  23. package/payload/platform/plugins/scheduling/mcp/dist/scripts/reconcile-bookings.js +3 -1
  24. package/payload/platform/plugins/scheduling/mcp/dist/scripts/reconcile-bookings.js.map +1 -1
  25. package/payload/platform/plugins/telegram/skills/configure/SKILL.md +2 -0
  26. package/payload/platform/plugins/whatsapp/references/channels-whatsapp.md +1 -1
  27. package/payload/platform/scripts/__tests__/check-plugin-references.test.sh +83 -0
  28. package/payload/platform/scripts/check-plugin-references.mjs +60 -11
  29. package/payload/platform/services/claude-session-manager/dist/account-title-stores.d.ts +21 -0
  30. package/payload/platform/services/claude-session-manager/dist/account-title-stores.d.ts.map +1 -0
  31. package/payload/platform/services/claude-session-manager/dist/account-title-stores.js +71 -0
  32. package/payload/platform/services/claude-session-manager/dist/account-title-stores.js.map +1 -0
  33. package/payload/platform/services/claude-session-manager/dist/http-server.d.ts +2 -2
  34. package/payload/platform/services/claude-session-manager/dist/http-server.d.ts.map +1 -1
  35. package/payload/platform/services/claude-session-manager/dist/http-server.js +46 -103
  36. package/payload/platform/services/claude-session-manager/dist/http-server.js.map +1 -1
  37. package/payload/platform/services/claude-session-manager/dist/index.js +40 -10
  38. package/payload/platform/services/claude-session-manager/dist/index.js.map +1 -1
  39. package/payload/platform/services/claude-session-manager/dist/rootless-client-audit.d.ts +35 -0
  40. package/payload/platform/services/claude-session-manager/dist/rootless-client-audit.d.ts.map +1 -0
  41. package/payload/platform/services/claude-session-manager/dist/rootless-client-audit.js +114 -0
  42. package/payload/platform/services/claude-session-manager/dist/rootless-client-audit.js.map +1 -0
  43. package/payload/platform/services/claude-session-manager/package.json +2 -1
  44. package/payload/server/package.json +2 -1
  45. package/payload/server/public/assets/{AdminLoginScreens-C_Qn0UPy.js → AdminLoginScreens-C_h8V0Xs.js} +1 -1
  46. package/payload/server/public/assets/AdminShell-Dqnxpn7U.js +1 -0
  47. package/payload/server/public/assets/{Checkbox-B76SHnPC.js → Checkbox-Bl1WRVGb.js} +1 -1
  48. package/payload/server/public/assets/Transcript-C93Lifnb.js +1 -0
  49. package/payload/server/public/assets/admin-ByoqNaSf.js +1 -0
  50. package/payload/server/public/assets/admin-types-hioowVct.js +1 -0
  51. package/payload/server/public/assets/{arc-JgkiMDpu.js → arc-C6-nr5UV.js} +1 -1
  52. package/payload/server/public/assets/architecture-YZFGNWBL-DdgmZ93B.js +1 -0
  53. package/payload/server/public/assets/{architectureDiagram-Q4EWVU46-CyIbl1bD.js → architectureDiagram-Q4EWVU46-DIdho_T6.js} +1 -1
  54. package/payload/server/public/assets/{blockDiagram-DXYQGD6D-CkcZVblf.js → blockDiagram-DXYQGD6D-D5rTTBSy.js} +1 -1
  55. package/payload/server/public/assets/{browser-Chmp3Xfv.js → browser-BXY1sNxv.js} +1 -1
  56. package/payload/server/public/assets/{c4Diagram-AHTNJAMY-VByNuobb.js → c4Diagram-AHTNJAMY-pfUVHdmy.js} +1 -1
  57. package/payload/server/public/assets/calendar-CObRTPpU.js +1 -0
  58. package/payload/server/public/assets/channel-Da-UUyqx.js +1 -0
  59. package/payload/server/public/assets/chat-Dq-VHp7a.js +1 -0
  60. package/payload/server/public/assets/chevron-left-DjbK_wdQ.js +1 -0
  61. package/payload/server/public/assets/{chunk-2KRD3SAO-BFwiGcqo.js → chunk-2KRD3SAO-EF6cdj8U.js} +1 -1
  62. package/payload/server/public/assets/{chunk-336JU56O-BMCBU-vf.js → chunk-336JU56O-DE-lcZAc.js} +2 -2
  63. package/payload/server/public/assets/chunk-426QAEUC-B1kFAxo1.js +1 -0
  64. package/payload/server/public/assets/{chunk-4BX2VUAB-RfOeo8_F.js → chunk-4BX2VUAB--ANCzzyn.js} +1 -1
  65. package/payload/server/public/assets/{chunk-4TB4RGXK-B5xbgonc.js → chunk-4TB4RGXK-DTO_X80J.js} +1 -1
  66. package/payload/server/public/assets/{chunk-55IACEB6-K8U55ikJ.js → chunk-55IACEB6-4J3nrz44.js} +1 -1
  67. package/payload/server/public/assets/{chunk-5FUZZQ4R-DgmmsrAc.js → chunk-5FUZZQ4R-jH_eqAHL.js} +1 -1
  68. package/payload/server/public/assets/{chunk-5PVQY5BW-DQ6rtehF.js → chunk-5PVQY5BW-C-qU6p6k.js} +1 -1
  69. package/payload/server/public/assets/{chunk-67CJDMHE-CC2kfpmQ.js → chunk-67CJDMHE-DXxH9Snb.js} +1 -1
  70. package/payload/server/public/assets/{chunk-7N4EOEYR-BClZ5bzw.js → chunk-7N4EOEYR-CCkxuP7A.js} +1 -1
  71. package/payload/server/public/assets/{chunk-AA7GKIK3-adtwAFKX.js → chunk-AA7GKIK3-CyItuM8d.js} +1 -1
  72. package/payload/server/public/assets/{chunk-BSJP7CBP-fKY1UWEd.js → chunk-BSJP7CBP-Bg7gxYNf.js} +1 -1
  73. package/payload/server/public/assets/{chunk-CIAEETIT-knPAMmjG.js → chunk-CIAEETIT-BAXbOqv5.js} +1 -1
  74. package/payload/server/public/assets/{chunk-EDXVE4YY-C7FRKZ5e.js → chunk-EDXVE4YY-vdoErQoc.js} +1 -1
  75. package/payload/server/public/assets/{chunk-ENJZ2VHE-0cgFfv3z.js → chunk-ENJZ2VHE-Cz_z_6GK.js} +1 -1
  76. package/payload/server/public/assets/{chunk-FMBD7UC4-Dm_Hcblb.js → chunk-FMBD7UC4-Ck2jvOgW.js} +1 -1
  77. package/payload/server/public/assets/{chunk-FOC6F5B3-CfCJNXmK.js → chunk-FOC6F5B3-DucR0Qo8.js} +1 -1
  78. package/payload/server/public/assets/{chunk-ICPOFSXX-xeu6qrZj.js → chunk-ICPOFSXX-DolYDD7g.js} +2 -2
  79. package/payload/server/public/assets/{chunk-K5T4RW27-BQDCSuTh.js → chunk-K5T4RW27-FRzx7E5I.js} +1 -1
  80. package/payload/server/public/assets/{chunk-KGLVRYIC-D6fFAgbM.js → chunk-KGLVRYIC-Bb5S4Bmc.js} +1 -1
  81. package/payload/server/public/assets/{chunk-LIHQZDEY-Dskwlc-K.js → chunk-LIHQZDEY-c8VZJ-lU.js} +1 -1
  82. package/payload/server/public/assets/{chunk-ORNJ4GCN-CnHIrJeA.js → chunk-ORNJ4GCN-BAeh-LZ1.js} +1 -1
  83. package/payload/server/public/assets/{chunk-OYMX7WX6-B4bnsPkv.js → chunk-OYMX7WX6-BUg7Kysh.js} +1 -1
  84. package/payload/server/public/assets/chunk-QZHKN3VN-BjE-Glwf.js +1 -0
  85. package/payload/server/public/assets/{chunk-U2HBQHQK-BeEXzOqV.js → chunk-U2HBQHQK-K4r17UTk.js} +1 -1
  86. package/payload/server/public/assets/{chunk-X2U36JSP-D2rpgOqd.js → chunk-X2U36JSP-Byh-CyxC.js} +1 -1
  87. package/payload/server/public/assets/{chunk-XPW4576I-D-yT82Xf.js → chunk-XPW4576I-DC7lhr93.js} +1 -1
  88. package/payload/server/public/assets/{chunk-YZCP3GAM-DqxlLBm1.js → chunk-YZCP3GAM-B2cu7AEP.js} +1 -1
  89. package/payload/server/public/assets/{chunk-ZZ45TVLE-CA_Ep0OM.js → chunk-ZZ45TVLE-DH_p8sFX.js} +1 -1
  90. package/payload/server/public/assets/classDiagram-6PBFFD2Q-Dol3Ogeh.js +1 -0
  91. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-VUMj7gWH.js +1 -0
  92. package/payload/server/public/assets/clone-m7oGrdBC.js +1 -0
  93. package/payload/server/public/assets/{cose-bilkent-S5V4N54A-DWb9mxTa.js → cose-bilkent-S5V4N54A-DeM6JI00.js} +1 -1
  94. package/payload/server/public/assets/{dagre-B3K7jxOZ.js → dagre-3drs3e4F.js} +1 -1
  95. package/payload/server/public/assets/{dagre-KV5264BT-BhiTISRq.js → dagre-KV5264BT-C6S-VUtN.js} +1 -1
  96. package/payload/server/public/assets/data-BXOoK8Ci.js +1 -0
  97. package/payload/server/public/assets/{diagram-5BDNPKRD-D5yBIDpm.js → diagram-5BDNPKRD-BkvA32I3.js} +1 -1
  98. package/payload/server/public/assets/{diagram-G4DWMVQ6-CSTE1S4d.js → diagram-G4DWMVQ6-CVwtRMPB.js} +1 -1
  99. package/payload/server/public/assets/{diagram-MMDJMWI5-D8llv4XY.js → diagram-MMDJMWI5-DJ1JVMbd.js} +1 -1
  100. package/payload/server/public/assets/{diagram-TYMM5635-CITQ7aDM.js → diagram-TYMM5635-rfj-crtX.js} +1 -1
  101. package/payload/server/public/assets/{erDiagram-SMLLAGMA-BjR5nlmv.js → erDiagram-SMLLAGMA-TJPuweS5.js} +1 -1
  102. package/payload/server/public/assets/{flatten-DhYYI_lo.js → flatten-BZkoyJ4e.js} +1 -1
  103. package/payload/server/public/assets/{flowDiagram-DWJPFMVM-Dl6e-E0f.js → flowDiagram-DWJPFMVM-LQWEUjbV.js} +1 -1
  104. package/payload/server/public/assets/{ganttDiagram-T4ZO3ILL-CppkrFAl.js → ganttDiagram-T4ZO3ILL-DdYsxKRw.js} +1 -1
  105. package/payload/server/public/assets/gitGraph-7Q5UKJZL-cJEaiQq4.js +1 -0
  106. package/payload/server/public/assets/{gitGraphDiagram-UUTBAWPF-clV_tnwa.js → gitGraphDiagram-UUTBAWPF-sx8-fokM.js} +1 -1
  107. package/payload/server/public/assets/{graph-DEHmvpNl.js → graph-BCL0fVDH.js} +3 -3
  108. package/payload/server/public/assets/{graph-labels-CYAjU3rz.js → graph-labels-C0nn9nQi.js} +1 -1
  109. package/payload/server/public/assets/{graphlib-Cnk6WL-8.js → graphlib-DixeJdCf.js} +1 -1
  110. package/payload/server/public/assets/info-OMHHGYJF-BUxfOTKa.js +1 -0
  111. package/payload/server/public/assets/infoDiagram-42DDH7IO-CD-d3Rgf.js +2 -0
  112. package/payload/server/public/assets/{isEmpty-DGhq_DBP.js → isEmpty-VRKFml5R.js} +1 -1
  113. package/payload/server/public/assets/{ishikawaDiagram-UXIWVN3A-DUqusmP1.js → ishikawaDiagram-UXIWVN3A-BKUCuKhZ.js} +1 -1
  114. package/payload/server/public/assets/{journeyDiagram-VCZTEJTY-RMEvGtDJ.js → journeyDiagram-VCZTEJTY-BafZP6pM.js} +1 -1
  115. package/payload/server/public/assets/{kanban-definition-6JOO6SKY-BxkwQPCP.js → kanban-definition-6JOO6SKY-DQ4c6wRv.js} +1 -1
  116. package/payload/server/public/assets/{line-CiOuSBlJ.js → line-0_x1Wivu.js} +1 -1
  117. package/payload/server/public/assets/{linear-D22sItNm.js → linear-CZrU-J2V.js} +1 -1
  118. package/payload/server/public/assets/{mermaid-parser.core-kvN8ajT-.js → mermaid-parser.core-DwJ1cyfO.js} +2 -2
  119. package/payload/server/public/assets/{mermaid.core-DKHTTwbg.js → mermaid.core-DnUst0He.js} +3 -3
  120. package/payload/server/public/assets/{mindmap-definition-QFDTVHPH-CKUJxwdG.js → mindmap-definition-QFDTVHPH-oc-GwerE.js} +1 -1
  121. package/payload/server/public/assets/operator-B_1qYO7m.js +1 -0
  122. package/payload/server/public/assets/{ordinal-CibZU3PM.js → ordinal-v4prQcuq.js} +1 -1
  123. package/payload/server/public/assets/packet-4T2RLAQJ-B9U_2639.js +1 -0
  124. package/payload/server/public/assets/page-BQEl7aZO.js +1 -0
  125. package/payload/server/public/assets/page-Dck23z9U.js +32 -0
  126. package/payload/server/public/assets/pdf-render-NQmflZ7K.js +11 -0
  127. package/payload/server/public/assets/pdf.worker.min-yatZIOMy.mjs +21 -0
  128. package/payload/server/public/assets/pie-ZZUOXDRM-Glh-lJOT.js +1 -0
  129. package/payload/server/public/assets/{pieDiagram-DEJITSTG-CRMabeJN.js → pieDiagram-DEJITSTG-BnBtQNHM.js} +1 -1
  130. package/payload/server/public/assets/public-BzvwPHM0.js +1 -0
  131. package/payload/server/public/assets/{quadrantDiagram-34T5L4WZ-DcrlhDuj.js → quadrantDiagram-34T5L4WZ-CkNqtzHI.js} +1 -1
  132. package/payload/server/public/assets/radar-PYXPWWZC-CTSgob8w.js +1 -0
  133. package/payload/server/public/assets/{reduce-Da0RBva0.js → reduce-0Mm1v1Rr.js} +1 -1
  134. package/payload/server/public/assets/{requirementDiagram-MS252O5E-DP231rM_.js → requirementDiagram-MS252O5E-D7qc27KT.js} +1 -1
  135. package/payload/server/public/assets/{rotate-ccw-K1xZvf3B.js → rotate-ccw-CHep9vl5.js} +1 -1
  136. package/payload/server/public/assets/{sankeyDiagram-XADWPNL6--HM5_dC8.js → sankeyDiagram-XADWPNL6-2Y4sqRY7.js} +1 -1
  137. package/payload/server/public/assets/{sequenceDiagram-FGHM5R23-BsiVmDR9.js → sequenceDiagram-FGHM5R23-hXOiSHuT.js} +1 -1
  138. package/payload/server/public/assets/{stateDiagram-FHFEXIEX-Cjdhqdjh.js → stateDiagram-FHFEXIEX-Dq4hhkLA.js} +1 -1
  139. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-DTj9o2vZ.js +1 -0
  140. package/payload/server/public/assets/{timeline-definition-GMOUNBTQ-Cf5xPmSA.js → timeline-definition-GMOUNBTQ-Dn9wBUEw.js} +1 -1
  141. package/payload/server/public/assets/treeView-SZITEDCU-CXApkW1l.js +1 -0
  142. package/payload/server/public/assets/treemap-W4RFUUIX-DzvTXAcT.js +1 -0
  143. package/payload/server/public/assets/useSubAccountSwitcher-B1Kf32uG.js +9 -0
  144. package/payload/server/public/assets/{useSubAccountSwitcher-B44qYovc.css → useSubAccountSwitcher-CfI3J2IX.css} +1 -1
  145. package/payload/server/public/assets/{vennDiagram-DHZGUBPP-PCor55Sw.js → vennDiagram-DHZGUBPP-BKVHJiIt.js} +1 -1
  146. package/payload/server/public/assets/wardley-RL74JXVD-BExXV4oI.js +1 -0
  147. package/payload/server/public/assets/{wardleyDiagram-NUSXRM2D-bokCHsim.js → wardleyDiagram-NUSXRM2D-Bn9vvpdK.js} +1 -1
  148. package/payload/server/public/assets/{xychartDiagram-5P7HB3ND-B2YnsUoQ.js → xychartDiagram-5P7HB3ND-FIoMdPB3.js} +1 -1
  149. package/payload/server/public/browser.html +5 -4
  150. package/payload/server/public/calendar.html +6 -4
  151. package/payload/server/public/chat.html +11 -8
  152. package/payload/server/public/data.html +8 -5
  153. package/payload/server/public/graph.html +9 -7
  154. package/payload/server/public/index.html +11 -9
  155. package/payload/server/public/operator.html +13 -10
  156. package/payload/server/public/public.html +10 -8
  157. package/payload/server/server.js +150 -21
  158. package/payload/server/public/assets/AdminShell-iHdYhspw.js +0 -1
  159. package/payload/server/public/assets/admin-RTEhnrPk.js +0 -1
  160. package/payload/server/public/assets/admin-types-DJoj6VJv.js +0 -1
  161. package/payload/server/public/assets/architecture-YZFGNWBL-Dh5BzVzk.js +0 -1
  162. package/payload/server/public/assets/calendar-CjE7hiqV.js +0 -1
  163. package/payload/server/public/assets/channel-CFHc3PQ7.js +0 -1
  164. package/payload/server/public/assets/chat-DiKmCMO1.js +0 -1
  165. package/payload/server/public/assets/chunk-426QAEUC-De9_O1hi.js +0 -1
  166. package/payload/server/public/assets/chunk-QZHKN3VN-COwe7oXR.js +0 -1
  167. package/payload/server/public/assets/classDiagram-6PBFFD2Q-wjL65qaU.js +0 -1
  168. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-D_EIplVd.js +0 -1
  169. package/payload/server/public/assets/clone-CEczy_Ef.js +0 -1
  170. package/payload/server/public/assets/data-5PpEsUR3.js +0 -1
  171. package/payload/server/public/assets/gitGraph-7Q5UKJZL-KHAc7IxG.js +0 -1
  172. package/payload/server/public/assets/info-OMHHGYJF-C6nm3sYf.js +0 -1
  173. package/payload/server/public/assets/infoDiagram-42DDH7IO-DhwCejsr.js +0 -2
  174. package/payload/server/public/assets/operator-BDTnuQhB.js +0 -1
  175. package/payload/server/public/assets/packet-4T2RLAQJ-z-APhyNH.js +0 -1
  176. package/payload/server/public/assets/page-D8FFXoI9.js +0 -1
  177. package/payload/server/public/assets/page-HeiBebPq.js +0 -32
  178. package/payload/server/public/assets/pie-ZZUOXDRM-D_HVZjir.js +0 -1
  179. package/payload/server/public/assets/public-BIOxrxZK.js +0 -1
  180. package/payload/server/public/assets/radar-PYXPWWZC-DtKBIb3o.js +0 -1
  181. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-6v4alr7n.js +0 -1
  182. package/payload/server/public/assets/treeView-SZITEDCU-DbXWs029.js +0 -1
  183. package/payload/server/public/assets/treemap-W4RFUUIX-DUGgqAs9.js +0 -1
  184. package/payload/server/public/assets/useSubAccountSwitcher-DPEkYkYd.js +0 -9
  185. package/payload/server/public/assets/wardley-RL74JXVD-Cjn85RON.js +0 -1
  186. /package/payload/server/public/assets/{_baseFor-BFYpZGkN.js → _baseFor-C0Y1mc3g.js} +0 -0
  187. /package/payload/server/public/assets/{array-CYkMkqnU.js → array-DqLCdDFv.js} +0 -0
  188. /package/payload/server/public/assets/{cytoscape.esm-DqlHsaog.js → cytoscape.esm-Cn5b4Cdu.js} +0 -0
  189. /package/payload/server/public/assets/{defaultLocale-Beh6XjaL.js → defaultLocale-CrJzLgRD.js} +0 -0
  190. /package/payload/server/public/assets/{dist-BMqkacmt.js → dist-Dlks0Bfw.js} +0 -0
  191. /package/payload/server/public/assets/{init-Rr1s_RiX.js → init-C0r9Gk5G.js} +0 -0
  192. /package/payload/server/public/assets/{katex-pVJiI_rc.js → katex-BFwFoEts.js} +0 -0
  193. /package/payload/server/public/assets/{path-BAQ3hXlG.js → path-DIKpVbHL.js} +0 -0
  194. /package/payload/server/public/assets/{preload-helper-B_l5jfgx.js → preload-helper-C5gCWwwF.js} +0 -0
  195. /package/payload/server/public/assets/{rough.esm-nHaDi0Kw.js → rough.esm-DsHEmXUZ.js} +0 -0
  196. /package/payload/server/public/assets/{src-CsEKjNXD.js → src-Bv7ZWAzF.js} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"d1-command.test.js","sourceRoot":"","sources":["../../../src/lib/__tests__/d1-command.test.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,qEAAqE;AACrE,yEAAyE;AACzE,4EAA4E;AAC5E,kEAAkE;AAClE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC9D,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,cAAc,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC7D,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACjC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iEAAiE,EAAE,GAAG,EAAE;QACzE,MAAM,EAAE,IAAI,EAAE,GAAG,cAAc,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACpD,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;YACnB,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM;YACnC,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU;SAC9C,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Build the argv for a D1 SQL read. Resolves wrangler via `npx` — the brand
3
+ * server PATH carries no global `wrangler`, only `npx wrangler` resolves, the
4
+ * same form the proven forward-path availability publisher uses. Keeping this
5
+ * pure lets the argv be asserted without importing the side-effectful
6
+ * dispatcher script (Task 1350).
7
+ */
8
+ export declare function buildD1Command(dbName: string, sql: string): {
9
+ command: string;
10
+ args: string[];
11
+ };
12
+ //# sourceMappingURL=d1-command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"d1-command.d.ts","sourceRoot":"","sources":["../../src/lib/d1-command.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,GACV;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAKrC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Build the argv for a D1 SQL read. Resolves wrangler via `npx` — the brand
3
+ * server PATH carries no global `wrangler`, only `npx wrangler` resolves, the
4
+ * same form the proven forward-path availability publisher uses. Keeping this
5
+ * pure lets the argv be asserted without importing the side-effectful
6
+ * dispatcher script (Task 1350).
7
+ */
8
+ export function buildD1Command(dbName, sql) {
9
+ return {
10
+ command: "npx",
11
+ args: ["wrangler", "d1", "execute", dbName, "--remote", "--json", "--command", sql],
12
+ };
13
+ }
14
+ //# sourceMappingURL=d1-command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"d1-command.js","sourceRoot":"","sources":["../../src/lib/d1-command.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAC5B,MAAc,EACd,GAAW;IAEX,OAAO;QACL,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,CAAC;KACpF,CAAC;AACJ,CAAC"}
@@ -24,6 +24,7 @@ import { resolve, join } from "node:path";
24
24
  import { homedir } from "node:os";
25
25
  import { reconcileOne, auditCounts } from "../lib/booking-reconcile.js";
26
26
  import { notifyBooking } from "../lib/booking-notify.js";
27
+ import { buildD1Command } from "../lib/d1-command.js";
27
28
  function resolveConfigDir() {
28
29
  const platformRoot = process.env.PLATFORM_ROOT;
29
30
  if (!platformRoot)
@@ -99,7 +100,8 @@ function readEnvFile(path) {
99
100
  }
100
101
  /** Run a D1 SQL statement via wrangler with the per-scope token. Returns parsed rows. */
101
102
  function d1Query(dbName, sql, env) {
102
- const res = spawnSync("wrangler", ["d1", "execute", dbName, "--remote", "--json", "--command", sql], {
103
+ const { command, args } = buildD1Command(dbName, sql);
104
+ const res = spawnSync(command, args, {
103
105
  env: { ...process.env, ...env },
104
106
  encoding: "utf-8",
105
107
  maxBuffer: 16 * 1024 * 1024,
@@ -1 +1 @@
1
- {"version":3,"file":"reconcile-bookings.js","sourceRoot":"","sources":["../../src/scripts/reconcile-bookings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reconcile-bookings.js","sourceRoot":"","sources":["../../src/scripts/reconcile-bookings.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,8 @@ A finished Telegram setup has all of these, and the skill is not done until each
22
22
 
23
23
  ## Flow
24
24
 
25
+ Read `references/setup-guide.md` (cited throughout this flow) with the `plugin-read` tool (`file="references/setup-guide.md"`), which resolves it at the plugin root. A plain `Read` against this skill's base directory misses, because the file lives one level up at the plugin root, not under the skill.
26
+
25
27
  ### Step 1 — Get the bot token
26
28
 
27
29
  Follow `references/setup-guide.md` "Creating a Bot": the operator creates the bot via @BotFather and gives you the token (e.g. `123456:ABC-DEF…`). Confirm you have it before continuing.
@@ -252,7 +252,7 @@ When a pairing attempt fails — the phone accepts the code and shows "Continue
252
252
  grep -aE '\[whatsapp:(login|session|reconcile)\]' <server log> | grep 'cid=<id>'
253
253
  ```
254
254
 
255
- The single decision point is whether an `op=pair-success` line appears between `op=code-issued` and `op=close`. Absent + `op=close … kind=qr-refs-ended-408` → the completion signal never returned (beyond the Pi). A dirty `op=creds-pre registered=true hasAccount=false`, or `op=reconnect withAccount=false` → Pi-side. A half-registered credential folder (pairing requested, never completed) is reconciled on each `/status` pass: an in-flight or freshly-written one is preserved and logged `[whatsapp:reconcile] op=half-registered … inFlight=<bool>`, while an aged, abandoned one (no live login, creds untouched past the 5-minute pairing window) is deleted once, logged `op=discard-half-registered`, so the next pairing starts from an empty folder.
255
+ The single decision point is whether an `op=pair-success` line appears between `op=code-issued` and `op=close`. Absent + `op=close … kind=qr-refs-ended-408` → the completion signal never returned (beyond the Pi). When no account signature is captured, the login now terminates on `op=pairing-incomplete … reason=no-account-signature` rather than reconnecting a half-registered credential into a `401`; the operator sees an actionable message ("WhatsApp accepted the code but did not finish linking … open WhatsApp, Linked Devices, remove existing devices, then ask for a new code") that points at the phone's linked-device limit or a stale companion — the account-side cause a reconnect cannot fix. A dirty `op=creds-pre registered=true hasAccount=false` → Pi-side. A half-registered credential folder (pairing requested, never completed) is reconciled on each `/status` pass: an in-flight or freshly-written one is preserved and logged `[whatsapp:reconcile] op=half-registered … inFlight=<bool>`, while an aged, abandoned one (no live login, creds untouched past the 5-minute pairing window) is deleted once, logged `op=discard-half-registered`, so the next pairing starts from an empty folder.
256
256
 
257
257
  Full grammar, success/failure signatures, and the `kind` table: [`.docs/whatsapp-pairing-lifeline.md`](../../../../.docs/whatsapp-pairing-lifeline.md).
258
258
 
@@ -0,0 +1,83 @@
1
+ #!/usr/bin/env bash
2
+ # Task 1362 — the reference-reachability guard.
3
+ # A SKILL.md's plugin-root-only bare `references/…` citation is reachable ONLY
4
+ # when the SKILL.md declares the `plugin-read` convention. Without it, a plain
5
+ # Read against the announced skill base dir misses, so the citation is a
6
+ # violation. Skill-local references, full `plugins/<name>/references/…` paths,
7
+ # and PLUGIN.md plugin-root references are unaffected.
8
+ set -u
9
+ GATE="$(cd "$(dirname "$0")/.." && pwd)/check-plugin-references.mjs"
10
+ [[ -f "$GATE" ]] || { echo "FAIL: gate script missing at $GATE" >&2; exit 1; }
11
+ PASS=0; FAIL=0
12
+
13
+ ROOT=$(mktemp -d)
14
+ PREMIUM="$ROOT/premium-empty"
15
+ mkdir -p "$PREMIUM"
16
+ trap 'rm -rf "$ROOT"' EXIT
17
+
18
+ reset_root() { rm -rf "$ROOT/platform"; }
19
+
20
+ # Write a SKILL.md for plugin "$1" (skill slug == plugin name) with body "$2".
21
+ make_skill() {
22
+ local plugin="$1" body="$2"
23
+ local dir="$ROOT/platform/plugins/$plugin/skills/$plugin"
24
+ mkdir -p "$dir"
25
+ { printf -- '---\nname: %s\ndescription: test skill\n---\n\n' "$plugin"; printf '%s\n' "$body"; } > "$dir/SKILL.md"
26
+ }
27
+
28
+ # Create a reference file at an arbitrary path under $ROOT.
29
+ make_ref() { local rel="$1"; mkdir -p "$ROOT/$(dirname "$rel")"; printf 'ref body\n' > "$ROOT/$rel"; }
30
+
31
+ check() {
32
+ local desc="$1" expected="$2"
33
+ node "$GATE" "$ROOT/platform" "$PREMIUM" >/dev/null 2>&1
34
+ local got=$?
35
+ if [[ "$got" -eq "$expected" ]]; then echo "PASS: $desc"; ((PASS++))
36
+ else echo "FAIL: $desc (expected exit $expected, got $got)"; ((FAIL++)); fi
37
+ }
38
+
39
+ # CASE 1: plugin-root-only ref, NO plugin-read declared → violation.
40
+ reset_root
41
+ make_ref "platform/plugins/foo/references/api.md"
42
+ make_skill "foo" 'Read \`references/api.md\` before the API call.'
43
+ check "plugin-root-only ref without plugin-read fails" 1
44
+
45
+ # CASE 2: same ref, plugin-read declared → passes.
46
+ reset_root
47
+ make_ref "platform/plugins/foo/references/api.md"
48
+ make_skill "foo" 'Open \`references/api.md\` with the \`plugin-read\` tool before the API call.'
49
+ check "plugin-root-only ref with plugin-read passes" 0
50
+
51
+ # CASE 3: skill-local ref, NO plugin-read → passes (plain Read resolves it).
52
+ reset_root
53
+ make_ref "platform/plugins/foo/skills/foo/references/local.md"
54
+ make_skill "foo" 'Read \`references/local.md\` for the details.'
55
+ check "skill-local ref without plugin-read passes" 0
56
+
57
+ # CASE 4: full plugins/<name>/references/... path, NO plugin-read → passes.
58
+ reset_root
59
+ make_ref "platform/plugins/foo/references/api.md"
60
+ make_skill "foo" 'Read \`plugins/foo/references/api.md\` before the API call.'
61
+ check "full plugin-path ref without plugin-read passes" 0
62
+
63
+ # CASE 5: genuinely missing ref (neither skill-local nor plugin-root) → violation.
64
+ reset_root
65
+ make_skill "foo" 'Open \`references/ghost.md\` with \`plugin-read\`.'
66
+ check "missing ref fails even with plugin-read" 1
67
+
68
+ # CASE 6: a MISSING full plugins/<name>/references/... path from a SKILL.md without
69
+ # plugin-read → violation, and the plugin-root "declare plugin-read" hint must NOT
70
+ # fire (the hint is scoped to the bare references/ shape only; a full path is not
71
+ # reachability-limited by the missing convention). Guards the Task 1362 hint-scope fix.
72
+ reset_root
73
+ make_skill "foo" 'Read \`plugins/foo/references/ghost.md\` before the API call.'
74
+ OUT=$(node "$GATE" "$ROOT/platform" "$PREMIUM" 2>&1); GOT=$?
75
+ if [[ "$GOT" -eq 1 ]] && ! grep -q "exists at plugin root" <<<"$OUT"; then
76
+ echo "PASS: missing full-path ref fails without a false plugin-read hint"; ((PASS++))
77
+ else
78
+ echo "FAIL: missing full-path ref (exit=$GOT, hint present=$(grep -qc 'exists at plugin root' <<<"$OUT" && echo yes || echo no))"; ((FAIL++))
79
+ fi
80
+
81
+ echo ""
82
+ echo "Results: $PASS passed, $FAIL failed"
83
+ [[ "$FAIL" -eq 0 ]] && exit 0 || exit 1
@@ -17,6 +17,21 @@
17
17
  // 2. `plugins/<name>/references/<file>.md` (optionally prefixed by
18
18
  // `platform/`) — resolves at `<platformRoot>/plugins/<name>/references/
19
19
  // <file>.md`.
20
+ //
21
+ // Task 1362 — access-method tightening for SKILL.md bare references.
22
+ // A SKILL.md announces its own skill directory as the base dir. An agent that
23
+ // reads "references/foo.md" with a plain file `Read` resolves it against that
24
+ // base dir → `<skill-dir>/references/foo.md`. When the reference actually lives
25
+ // at the plugin root (`<plugin-root>/references/foo.md`, the shared layout the
26
+ // cloudflare/outlook/telegram/email plugins use) that plain read MISSES, and the
27
+ // agent gets "File does not exist" — the reliability trap Task 1362 removes.
28
+ // The plugin-root path is only reachable if the SKILL.md tells the agent to read
29
+ // via the `plugin-read` tool (which resolves plugin-root-relative). So for a bare
30
+ // reference cited from a SKILL.md, the plugin-root candidate counts ONLY when that
31
+ // SKILL.md declares the `plugin-read` convention; without it, the skill-local path
32
+ // is the sole candidate and a plugin-root-only reference is a violation. PLUGIN.md
33
+ // is itself a plugin-root doc always read via plugin-read, so its plugin-root
34
+ // candidate is unconditional (unchanged).
20
35
 
21
36
  import { existsSync, readdirSync, readFileSync, statSync } from "node:fs";
22
37
  import { resolve, relative, join, dirname } from "node:path";
@@ -85,23 +100,25 @@ function owningPluginRoot(filePath) {
85
100
 
86
101
  // Directories to resolve a bare `references/<file>.md` citation against.
87
102
  // Returns an array of candidate directories; the citation passes if the file
88
- // exists under ANY of them. Both candidate paths for SKILL.md are reachable
89
- // via `plugin-read` — the agent may construct `file=references/foo.md`
90
- // (plugin-root form) or `file=skills/<slug>/references/foo.md` (skill-local
91
- // form), depending on how the plugin organises its references.
103
+ // exists under ANY of them.
92
104
  //
93
105
  // PLUGIN.md — plugin-root only. → [<plugin-root>]
94
- // SKILL.md — skill-local OR plugin-root.
95
- // [<skill-dir>, <plugin-root>]
106
+ // SKILL.md — skill-local always; plugin-root ONLY when the SKILL.md
107
+ // declares the `plugin-read` convention (Task 1362). A plain
108
+ // `Read` from a SKILL.md resolves against the announced skill
109
+ // dir, so a plugin-root-only reference is unreachable unless
110
+ // the SKILL.md routes the read through `plugin-read`.
111
+ // → [<skill-dir>] or
112
+ // [<skill-dir>, <plugin-root>]
96
113
  // specialist template — no owning context. → []
97
- function bareReferenceContextDirs(filePath) {
114
+ function bareReferenceContextDirs(filePath, declaresPluginRead) {
98
115
  if (filePath.endsWith("/PLUGIN.md")) {
99
116
  return [dirname(filePath)];
100
117
  }
101
118
  if (filePath.endsWith("/SKILL.md")) {
102
119
  const skillDir = dirname(filePath);
103
120
  const pluginRoot = owningPluginRoot(filePath);
104
- return pluginRoot ? [skillDir, pluginRoot] : [skillDir];
121
+ return pluginRoot && declaresPluginRead ? [skillDir, pluginRoot] : [skillDir];
105
122
  }
106
123
  return [];
107
124
  }
@@ -110,7 +127,7 @@ function bareReferenceContextDirs(filePath) {
110
127
  // citation passes the existence check if ANY candidate exists. Returns an
111
128
  // empty array if the citation has no resolvable shape (bare reference cited
112
129
  // from a non-plugin file).
113
- function candidateTargets({ raw, sourcePath, platformRoot }) {
130
+ function candidateTargets({ raw, sourcePath, platformRoot, declaresPluginRead }) {
114
131
  // Strip an optional leading `platform/` so `platform/plugins/<name>/...`
115
132
  // and `plugins/<name>/...` resolve identically.
116
133
  const normalised = raw.replace(/^platform\//, "");
@@ -130,7 +147,7 @@ function candidateTargets({ raw, sourcePath, platformRoot }) {
130
147
  }
131
148
 
132
149
  // Bare `references/<file>.md`.
133
- const ctxDirs = bareReferenceContextDirs(sourcePath);
150
+ const ctxDirs = bareReferenceContextDirs(sourcePath, declaresPluginRead);
134
151
  return ctxDirs.map(d => resolve(d, normalised));
135
152
  }
136
153
 
@@ -141,6 +158,10 @@ function scanFile(filePath, { platformRoot, repoRoot }) {
141
158
  } catch {
142
159
  return { violations: [], citations: 0 };
143
160
  }
161
+ // Whether this file routes its bare references through the `plugin-read` tool.
162
+ // Governs whether a SKILL.md's plugin-root reference candidate is reachable
163
+ // (Task 1362 — see bareReferenceContextDirs). PLUGIN.md ignores this.
164
+ const declaresPluginRead = /plugin-read/.test(body);
144
165
  const violations = [];
145
166
  let citations = 0;
146
167
  const lines = body.split("\n");
@@ -153,7 +174,7 @@ function scanFile(filePath, { platformRoot, repoRoot }) {
153
174
  // 1-based column, pointing at the start of the captured citation.
154
175
  const column = (m.index + m[0].indexOf(raw)) + 1;
155
176
  citations++;
156
- const candidates = candidateTargets({ raw, sourcePath: filePath, platformRoot });
177
+ const candidates = candidateTargets({ raw, sourcePath: filePath, platformRoot, declaresPluginRead });
157
178
  if (candidates.length === 0) {
158
179
  violations.push({
159
180
  source: relative(repoRoot, filePath),
@@ -171,12 +192,39 @@ function scanFile(filePath, { platformRoot, repoRoot }) {
171
192
  const targetMsg = candidates.length === 1
172
193
  ? candidates[0]
173
194
  : `none of [${candidates.join(", ")}]`;
195
+ // Task 1362 hint: a SKILL.md BARE `references/<file>.md` citation that
196
+ // misses skill-local but DOES exist at the plugin root is an access-method
197
+ // defect, not a missing file. The fix is to declare `plugin-read` (or write
198
+ // the full `plugins/<name>/references/...` path), not to create a skill-local
199
+ // copy. Restrict the hint to the bare shape: a citation already written as a
200
+ // full `plugins/.../references/...` (or `skills/.../references/...`) path is
201
+ // resolved elsewhere and is not reachability-limited by a missing convention,
202
+ // so it gets no hint (and its `raw` would resolve to a bogus nested path here).
203
+ let hint;
204
+ const isBareRef = raw.replace(/^platform\//, "").startsWith("references/");
205
+ if (
206
+ isBareRef &&
207
+ filePath.endsWith("/SKILL.md") &&
208
+ !declaresPluginRead &&
209
+ owningPluginRoot(filePath)
210
+ ) {
211
+ const rootCandidate = resolve(
212
+ owningPluginRoot(filePath),
213
+ raw.replace(/^platform\//, ""),
214
+ );
215
+ if (existsSync(rootCandidate)) {
216
+ hint =
217
+ `exists at plugin root (${relative(repoRoot, rootCandidate)}) but this SKILL.md does not declare the \`plugin-read\` convention, ` +
218
+ `so a plain Read misses it — declare \`plugin-read\` or cite the full \`plugins/<name>/references/...\` path`;
219
+ }
220
+ }
174
221
  violations.push({
175
222
  source: relative(repoRoot, filePath),
176
223
  line: i + 1,
177
224
  column,
178
225
  target: targetMsg,
179
226
  raw,
227
+ ...(hint ? { hint } : {}),
180
228
  });
181
229
  }
182
230
  }
@@ -244,6 +292,7 @@ if (process.argv[1] && import.meta.url === pathToFileURL(process.argv[1]).href)
244
292
  console.error(` source: ${v.source}:${v.line}:${v.column}`);
245
293
  console.error(` cites: ${v.raw}`);
246
294
  console.error(` target: ${v.target}`);
295
+ if (v.hint) console.error(` hint: ${v.hint}`);
247
296
  }
248
297
  console.error(
249
298
  `FATAL: ${r.violations.length} broken reference citation(s) across ${r.scanned} scanned file(s) (${r.citations} citations).`,
@@ -0,0 +1,21 @@
1
+ import type { Logger } from './types.js';
2
+ import { UserTitleStore } from './user-title-store.js';
3
+ export declare class AccountTitleStores {
4
+ private readonly accountsRoot;
5
+ private readonly bootAccountId;
6
+ private readonly logger;
7
+ private readonly byAccountId;
8
+ /** `bootAccountDir` is `<installDir>/data/accounts/<bootAccountId>`; its
9
+ * parent is the accounts root every per-account file hangs off. */
10
+ constructor(bootAccountDir: string, logger: Logger);
11
+ /** The per-account store for `accountId`, created and loaded from disk on
12
+ * first access and cached thereafter. A null `accountId` (unresolvable
13
+ * session account) falls back to the boot account and is logged. */
14
+ forAccount(accountId: string | null): UserTitleStore;
15
+ /** The per-account store for the account a session runs under, resolved
16
+ * from its spawn `cwd`. Same resolution the delete/list paths use. */
17
+ forSessionCwd(cwd: string | null): UserTitleStore;
18
+ /** The boot account's store — used for the manager's boot-ready size log. */
19
+ bootStore(): UserTitleStore;
20
+ }
21
+ //# sourceMappingURL=account-title-stores.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account-title-stores.d.ts","sourceRoot":"","sources":["../src/account-title-stores.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAEtD,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAQ;IACrC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAQ;IACtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoC;IAEhE;wEACoE;gBACxD,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAMlD;;yEAEqE;IACrE,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,cAAc;IAwBpD;2EACuE;IACvE,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,cAAc;IAIjD,6EAA6E;IAC7E,SAAS,IAAI,cAAc;CAG5B"}
@@ -0,0 +1,71 @@
1
+ // Task 1354 — account-scoped session-title persistence.
2
+ //
3
+ // The manager runs one process per brand but hosts sessions for several
4
+ // accounts (the boot/house account plus any client sub-accounts). Operator
5
+ // renames must persist where the sidebar reads them: the read side
6
+ // (sidebar-sessions.ts, Task 1303) resolves the title file from the session's
7
+ // OWN account — `accounts/<sessionAccount>/session-titles.json`. A single
8
+ // boot-anchored store wrote every rename to the boot account's file, so a
9
+ // sub-account rename was invisible to the read. This registry closes that
10
+ // asymmetry: one `UserTitleStore` per account, each bound to that account's
11
+ // own `session-titles.json`, resolved from the session's spawn cwd.
12
+ //
13
+ // The session's account is `basename(cwd)` whenever cwd names a registered
14
+ // account dir (accountIdFromSessionCwd, config.ts). When it does not resolve
15
+ // (archived row with no PID-derived cwd, or an unstamped session — the Task
16
+ // 1314 gap), the registry falls back to the boot account and logs the miss,
17
+ // so degradation is predictable and visible rather than a silent wrong-account
18
+ // write.
19
+ import { basename, dirname, join } from 'node:path';
20
+ import { accountIdFromSessionCwd } from './config.js';
21
+ import { UserTitleStore } from './user-title-store.js';
22
+ export class AccountTitleStores {
23
+ accountsRoot;
24
+ bootAccountId;
25
+ logger;
26
+ byAccountId = new Map();
27
+ /** `bootAccountDir` is `<installDir>/data/accounts/<bootAccountId>`; its
28
+ * parent is the accounts root every per-account file hangs off. */
29
+ constructor(bootAccountDir, logger) {
30
+ this.accountsRoot = dirname(bootAccountDir);
31
+ this.bootAccountId = basename(bootAccountDir);
32
+ this.logger = logger;
33
+ }
34
+ /** The per-account store for `accountId`, created and loaded from disk on
35
+ * first access and cached thereafter. A null `accountId` (unresolvable
36
+ * session account) falls back to the boot account and is logged. */
37
+ forAccount(accountId) {
38
+ let id = accountId;
39
+ // `id` is joined into a filesystem path below; it must be a single, plain
40
+ // path segment. Reject anything that carries a separator (basename differs)
41
+ // or is a relative-dir reference (`.` / `..`) — those could escape the
42
+ // accounts root. Fall back to boot, same predictable degradation as an
43
+ // unresolvable (null) account. (`basename('..') === '..'`, so the `.`/`..`
44
+ // cases must be named explicitly — the basename check alone misses them.)
45
+ if (id !== null && (id === '.' || id === '..' || id !== basename(id))) {
46
+ this.logger(`[claude-session-manager] title-store account-id-unsafe id-rejected — using boot account=${this.bootAccountId}`);
47
+ id = null;
48
+ }
49
+ if (!id) {
50
+ this.logger(`[claude-session-manager] title-store account-unresolved — using boot account=${this.bootAccountId}`);
51
+ id = this.bootAccountId;
52
+ }
53
+ const existing = this.byAccountId.get(id);
54
+ if (existing)
55
+ return existing;
56
+ const store = new UserTitleStore(join(this.accountsRoot, id, 'session-titles.json'), this.logger);
57
+ store.loadFromDisk();
58
+ this.byAccountId.set(id, store);
59
+ return store;
60
+ }
61
+ /** The per-account store for the account a session runs under, resolved
62
+ * from its spawn `cwd`. Same resolution the delete/list paths use. */
63
+ forSessionCwd(cwd) {
64
+ return this.forAccount(accountIdFromSessionCwd(cwd, this.accountsRoot));
65
+ }
66
+ /** The boot account's store — used for the manager's boot-ready size log. */
67
+ bootStore() {
68
+ return this.forAccount(this.bootAccountId);
69
+ }
70
+ }
71
+ //# sourceMappingURL=account-title-stores.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account-title-stores.js","sourceRoot":"","sources":["../src/account-title-stores.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,EAAE;AACF,wEAAwE;AACxE,2EAA2E;AAC3E,mEAAmE;AACnE,8EAA8E;AAC9E,0EAA0E;AAC1E,0EAA0E;AAC1E,0EAA0E;AAC1E,4EAA4E;AAC5E,oEAAoE;AACpE,EAAE;AACF,2EAA2E;AAC3E,6EAA6E;AAC7E,4EAA4E;AAC5E,4EAA4E;AAC5E,+EAA+E;AAC/E,SAAS;AAET,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAEtD,MAAM,OAAO,kBAAkB;IACZ,YAAY,CAAQ;IACpB,aAAa,CAAQ;IACrB,MAAM,CAAQ;IACd,WAAW,GAAG,IAAI,GAAG,EAA0B,CAAA;IAEhE;wEACoE;IACpE,YAAY,cAAsB,EAAE,MAAc;QAChD,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC,CAAA;QAC3C,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAA;QAC7C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IAED;;yEAEqE;IACrE,UAAU,CAAC,SAAwB;QACjC,IAAI,EAAE,GAAG,SAAS,CAAA;QAClB,0EAA0E;QAC1E,4EAA4E;QAC5E,uEAAuE;QACvE,uEAAuE;QACvE,2EAA2E;QAC3E,0EAA0E;QAC1E,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YACtE,IAAI,CAAC,MAAM,CAAC,2FAA2F,IAAI,CAAC,aAAa,EAAE,CAAC,CAAA;YAC5H,EAAE,GAAG,IAAI,CAAA;QACX,CAAC;QACD,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,IAAI,CAAC,MAAM,CAAC,gFAAgF,IAAI,CAAC,aAAa,EAAE,CAAC,CAAA;YACjH,EAAE,GAAG,IAAI,CAAC,aAAa,CAAA;QACzB,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACzC,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAA;QAC7B,MAAM,KAAK,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,EAAE,qBAAqB,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QACjG,KAAK,CAAC,YAAY,EAAE,CAAA;QACpB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;QAC/B,OAAO,KAAK,CAAA;IACd,CAAC;IAED;2EACuE;IACvE,aAAa,CAAC,GAAkB;QAC9B,OAAO,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAA;IACzE,CAAC;IAED,6EAA6E;IAC7E,SAAS;QACP,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;IAC5C,CAAC;CACF"}
@@ -3,7 +3,7 @@ import { type SpawnDeps } from './pty-spawner.js';
3
3
  import type { FsWatcher } from './fs-watcher.js';
4
4
  import type { RateLimiter } from './spawn-rate-limiter.js';
5
5
  import type { AuditRegistry } from './public-tool-audit.js';
6
- import { type UserTitleStore } from './user-title-store.js';
6
+ import { AccountTitleStores } from './account-title-stores.js';
7
7
  import { WaChannelStore } from './wa-channel-store.js';
8
8
  import { WebchatChannelStore } from './webchat-channel-store.js';
9
9
  import { TelegramChannelStore } from './telegram-channel-store.js';
@@ -21,7 +21,7 @@ export interface HttpDeps extends Omit<SpawnDeps, 'onSessionReady' | 'watcher'>
21
21
  publicToolAudit: AuditRegistry;
22
22
  /** Task 253 — operator-stamped title override store. Reads merge into
23
23
  * every displayName resolution site; the /:sessionId/rename route writes. */
24
- userTitleStore: UserTitleStore;
24
+ titleStores: AccountTitleStores;
25
25
  /** Task 683 — per-session WhatsApp channel binding. Gateway `/rc-spawn`
26
26
  * write-throughs it; every resume path reads it back to re-apply the
27
27
  * channel argv so `reply` is present on every live PTY for the session. */
@@ -1 +1 @@
1
- {"version":3,"file":"http-server.d.ts","sourceRoot":"","sources":["../src/http-server.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAe3B,OAAO,EAkBL,KAAK,SAAS,EAEf,MAAM,kBAAkB,CAAA;AA4BzB,OAAO,KAAK,EAAE,SAAS,EAAyB,MAAM,iBAAiB,CAAA;AAEvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAC3D,OAAO,EAAqB,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAgFlE,eAAO,MAAM,kBAAkB,QAA2B,CAAA;AAS1D,eAAO,MAAM,4BAA4B,QAAS,CAAA;AAIlD,MAAM,WAAW,QAAS,SAAQ,IAAI,CAAC,SAAS,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAC7E;;qEAEiE;IACjE,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,SAAS,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,iBAAiB,EAAE,MAAM,CAAA;IACzB,kBAAkB,EAAE,WAAW,CAAA;IAC/B,eAAe,EAAE,aAAa,CAAA;IAC9B;kFAC8E;IAC9E,cAAc,EAAE,cAAc,CAAA;IAC9B;;gFAE4E;IAC5E,cAAc,EAAE,cAAc,CAAA;IAC9B;;;6BAGyB;IACzB,mBAAmB,CAAC,EAAE,mBAAmB,CAAA;IACzC;;;sCAGkC;IAClC,oBAAoB,CAAC,EAAE,oBAAoB,CAAA;IAC3C;;gFAE4E;IAC5E,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AAsFD;;;;;;mEAMmE;AACnE,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAiC9D;AAMD;;;;;;iBAMiB;AACjB,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAmCvF;AAID;;;;;;yBAMyB;AACzB,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAiCzD;AAkDD,wBAAgB,eAAe,CAAC,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAEpG;AAgBD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE1D;AAUD,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAMvE;AAMD,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,GACtB,MAAM,CAER;AAkCD,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAe5F;AAwJD;;;kEAGkE;AAClE,MAAM,MAAM,OAAO,GAAG,IAAI,GAAG;IAC3B,2BAA2B,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACpD;;;+CAG2C;IAC3C,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CAChD,CAAA;AA8CD,wBAAgB,YAAY,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAqtFpD"}
1
+ {"version":3,"file":"http-server.d.ts","sourceRoot":"","sources":["../src/http-server.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAe3B,OAAO,EAkBL,KAAK,SAAS,EAEf,MAAM,kBAAkB,CAAA;AA4BzB,OAAO,KAAK,EAAE,SAAS,EAAyB,MAAM,iBAAiB,CAAA;AAEvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAE3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAgFlE,eAAO,MAAM,kBAAkB,QAA2B,CAAA;AAS1D,eAAO,MAAM,4BAA4B,QAAS,CAAA;AAIlD,MAAM,WAAW,QAAS,SAAQ,IAAI,CAAC,SAAS,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAC7E;;qEAEiE;IACjE,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,SAAS,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,iBAAiB,EAAE,MAAM,CAAA;IACzB,kBAAkB,EAAE,WAAW,CAAA;IAC/B,eAAe,EAAE,aAAa,CAAA;IAC9B;kFAC8E;IAC9E,WAAW,EAAE,kBAAkB,CAAA;IAC/B;;gFAE4E;IAC5E,cAAc,EAAE,cAAc,CAAA;IAC9B;;;6BAGyB;IACzB,mBAAmB,CAAC,EAAE,mBAAmB,CAAA;IACzC;;;sCAGkC;IAClC,oBAAoB,CAAC,EAAE,oBAAoB,CAAA;IAC3C;;gFAE4E;IAC5E,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AAsFD;;;;;;mEAMmE;AACnE,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAiC9D;AAMD;;;;;;iBAMiB;AACjB,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAmCvF;AAID;;;;;;yBAMyB;AACzB,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAiCzD;AAkCD,wBAAgB,eAAe,CAAC,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAEpG;AAgBD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE1D;AAUD,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAMvE;AAMD,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,GACtB,MAAM,CAER;AAkCD,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAe5F;AAwJD;;;kEAGkE;AAClE,MAAM,MAAM,OAAO,GAAG,IAAI,GAAG;IAC3B,2BAA2B,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACpD;;;+CAG2C;IAC3C,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CAChD,CAAA;AA8CD,wBAAgB,YAAY,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CA6qFpD"}