@rubytech/create-maxy-code 0.1.299 → 0.1.301

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 (213) hide show
  1. package/package.json +1 -1
  2. package/payload/platform/plugins/admin/PLUGIN.md +10 -10
  3. package/payload/platform/plugins/admin/skills/platform-architecture/SKILL.md +84 -84
  4. package/payload/platform/plugins/admin/skills/public-agent-manager/SKILL.md +4 -4
  5. package/payload/platform/plugins/aeo/PLUGIN.md +1 -1
  6. package/payload/platform/plugins/business-assistant/skills/e-sign/SKILL.md +4 -4
  7. package/payload/platform/plugins/cloudflare/references/manual-setup.md +43 -22
  8. package/payload/platform/plugins/cloudflare/references/reset-guide.md +19 -1
  9. package/payload/platform/plugins/cloudflare/skills/cloudflare/SKILL.md +19 -3
  10. package/payload/platform/plugins/contacts/PLUGIN.md +1 -1
  11. package/payload/platform/plugins/docs/references/admin-identity-gate.md +6 -6
  12. package/payload/platform/plugins/docs/references/admin-session.md +15 -15
  13. package/payload/platform/plugins/docs/references/admin-ui.md +18 -18
  14. package/payload/platform/plugins/docs/references/aeo.md +1 -1
  15. package/payload/platform/plugins/docs/references/deployment.md +3 -3
  16. package/payload/platform/plugins/docs/references/internals.md +28 -28
  17. package/payload/platform/plugins/docs/references/platform.md +21 -21
  18. package/payload/platform/plugins/docs/references/plugins-guide.md +3 -3
  19. package/payload/platform/plugins/docs/references/troubleshooting.md +6 -6
  20. package/payload/platform/plugins/docs/references/visitor-graph.md +3 -3
  21. package/payload/platform/plugins/email/PLUGIN.md +2 -2
  22. package/payload/platform/plugins/email/references/email-reference.md +2 -2
  23. package/payload/platform/plugins/linkedin-import/skills/linkedin-import/SKILL.md +2 -2
  24. package/payload/platform/plugins/memory/.claude-plugin/plugin.json +1 -1
  25. package/payload/platform/plugins/memory/PLUGIN.md +9 -9
  26. package/payload/platform/plugins/memory/references/graph-primitives.md +2 -2
  27. package/payload/platform/plugins/memory/references/schema-base.md +14 -14
  28. package/payload/platform/plugins/memory/references/transcript-formats/circleback.md +1 -1
  29. package/payload/platform/plugins/memory/references/transcript-formats/otter.md +1 -1
  30. package/payload/platform/plugins/memory/skills/conversation-archive/SKILL.md +6 -6
  31. package/payload/platform/plugins/memory/skills/conversation-archive-enrich/SKILL.md +1 -1
  32. package/payload/platform/plugins/memory/skills/conversation-archive-mcp/SKILL.md +8 -8
  33. package/payload/platform/plugins/memory/skills/document-ingest/SKILL.md +5 -5
  34. package/payload/platform/plugins/obsidian-import/skills/obsidian-import/references/daily-notes.md +1 -1
  35. package/payload/platform/plugins/prompt-optimiser/skills/prompt-optimiser/SKILL.md +1 -1
  36. package/payload/platform/plugins/slides/PROVENANCE.md +1 -1
  37. package/payload/platform/plugins/substack-import/skills/substack-import/SKILL.md +1 -1
  38. package/payload/platform/plugins/telegram/PLUGIN.md +1 -1
  39. package/payload/platform/plugins/url-get/PLUGIN.md +2 -2
  40. package/payload/platform/plugins/whatsapp/.claude-plugin/plugin.json +1 -1
  41. package/payload/platform/plugins/whatsapp/PLUGIN.md +5 -5
  42. package/payload/platform/plugins/whatsapp/references/channels-whatsapp.md +5 -5
  43. package/payload/platform/plugins/whatsapp/skills/manage-whatsapp-config/SKILL.md +1 -1
  44. package/payload/platform/plugins/workflows/PLUGIN.md +1 -1
  45. package/payload/platform/plugins/x-import/PLUGIN.md +2 -2
  46. package/payload/platform/plugins/x-import/skills/x-import/SKILL.md +1 -1
  47. package/payload/platform/scripts/__tests__/check-no-task-id-leaks.test.sh +125 -0
  48. package/payload/platform/scripts/__tests__/resume-tunnel.test.sh +253 -0
  49. package/payload/platform/scripts/check-no-esm-require.mjs +4 -0
  50. package/payload/platform/scripts/check-no-task-id-leaks.mjs +54 -6
  51. package/payload/platform/scripts/resume-tunnel.sh +89 -5
  52. package/payload/platform/services/whatsapp-channel/dist/notification.d.ts +14 -0
  53. package/payload/platform/services/whatsapp-channel/dist/notification.d.ts.map +1 -1
  54. package/payload/platform/services/whatsapp-channel/dist/notification.js +11 -0
  55. package/payload/platform/services/whatsapp-channel/dist/notification.js.map +1 -1
  56. package/payload/platform/services/whatsapp-channel/dist/server.d.ts +4 -0
  57. package/payload/platform/services/whatsapp-channel/dist/server.d.ts.map +1 -1
  58. package/payload/platform/services/whatsapp-channel/dist/server.js +54 -3
  59. package/payload/platform/services/whatsapp-channel/dist/server.js.map +1 -1
  60. package/payload/platform/services/whatsapp-channel/dist/turn-follow.d.ts +18 -0
  61. package/payload/platform/services/whatsapp-channel/dist/turn-follow.d.ts.map +1 -0
  62. package/payload/platform/services/whatsapp-channel/dist/turn-follow.js +137 -0
  63. package/payload/platform/services/whatsapp-channel/dist/turn-follow.js.map +1 -0
  64. package/payload/platform/templates/specialists/agents/database-operator.md +1 -1
  65. package/payload/platform/templates/specialists/agents/librarian.md +2 -2
  66. package/payload/server/{chunk-7H4KMTMC.js → chunk-JHSF5VPE.js} +171 -95
  67. package/payload/server/maxy-edge.js +19 -1
  68. package/payload/server/public/assets/AdminShell-BJrxifYa.js +1 -0
  69. package/payload/server/public/assets/{Checkbox-DHnspkuk.js → Checkbox-C7bBRzLP.js} +1 -1
  70. package/payload/server/public/assets/{Transcript-9FlneAzM.js → Transcript-bGy_Gx99.js} +1 -1
  71. package/payload/server/public/assets/admin-jYKA7jR5.js +1 -0
  72. package/payload/server/public/assets/{arc-CPOhuw1V.js → arc-DxSm8tli.js} +1 -1
  73. package/payload/server/public/assets/architecture-YZFGNWBL-6g9jRVgc.js +1 -0
  74. package/payload/server/public/assets/{architectureDiagram-Q4EWVU46-BaR37f-j.js → architectureDiagram-Q4EWVU46-7JSAh0vL.js} +1 -1
  75. package/payload/server/public/assets/audio-attachment-mime-DL5R1M2A.js +30 -0
  76. package/payload/server/public/assets/{blockDiagram-DXYQGD6D-Du7NMQfQ.js → blockDiagram-DXYQGD6D-DLoVmHKD.js} +1 -1
  77. package/payload/server/public/assets/{browser--bCCzvRh.js → browser-7fyPCFWB.js} +1 -1
  78. package/payload/server/public/assets/{c4Diagram-AHTNJAMY-F3GnFLbs.js → c4Diagram-AHTNJAMY-Nv1G0o9P.js} +1 -1
  79. package/payload/server/public/assets/channel-BgQLJanG.js +1 -0
  80. package/payload/server/public/assets/chat-UF9ATDwe.js +1 -0
  81. package/payload/server/public/assets/{chunk-2KRD3SAO-SUv9UlAA.js → chunk-2KRD3SAO-BpqPMhoA.js} +1 -1
  82. package/payload/server/public/assets/chunk-336JU56O-DgXHlVU_.js +2 -0
  83. package/payload/server/public/assets/chunk-426QAEUC-Dr_XVuUq.js +1 -0
  84. package/payload/server/public/assets/{chunk-4BX2VUAB-D5iKMyHO.js → chunk-4BX2VUAB-nwyZSZH8.js} +1 -1
  85. package/payload/server/public/assets/{chunk-4TB4RGXK-BahbQ7-Z.js → chunk-4TB4RGXK-Tfxz9LHX.js} +1 -1
  86. package/payload/server/public/assets/{chunk-55IACEB6-DfF9myIx.js → chunk-55IACEB6-6FMJQGXG.js} +1 -1
  87. package/payload/server/public/assets/{chunk-5FUZZQ4R-jF6a9UVe.js → chunk-5FUZZQ4R-g2FgZF3D.js} +1 -1
  88. package/payload/server/public/assets/{chunk-5PVQY5BW-BOCI-roy.js → chunk-5PVQY5BW-DtLwXsPH.js} +1 -1
  89. package/payload/server/public/assets/{chunk-67CJDMHE-E5wGK0dP.js → chunk-67CJDMHE-K91CP5ZU.js} +1 -1
  90. package/payload/server/public/assets/{chunk-7N4EOEYR-CtT0GsUT.js → chunk-7N4EOEYR-BGpCQhqK.js} +1 -1
  91. package/payload/server/public/assets/{chunk-AA7GKIK3-CGUj8eo-.js → chunk-AA7GKIK3-jkDbInck.js} +1 -1
  92. package/payload/server/public/assets/{chunk-BSJP7CBP-OPAIjvSk.js → chunk-BSJP7CBP-mDosdzGs.js} +1 -1
  93. package/payload/server/public/assets/{chunk-CIAEETIT-S_D8FhIT.js → chunk-CIAEETIT-DhBxewpQ.js} +1 -1
  94. package/payload/server/public/assets/{chunk-EDXVE4YY-CkD4AyZi.js → chunk-EDXVE4YY-B7c-9Emg.js} +1 -1
  95. package/payload/server/public/assets/{chunk-ENJZ2VHE-CmoK-c5f.js → chunk-ENJZ2VHE-Cqhhncox.js} +1 -1
  96. package/payload/server/public/assets/{chunk-FMBD7UC4-DcyogdNf.js → chunk-FMBD7UC4-BpDq6wj1.js} +1 -1
  97. package/payload/server/public/assets/{chunk-FOC6F5B3-8iNobZdv.js → chunk-FOC6F5B3-Ds02-ktu.js} +1 -1
  98. package/payload/server/public/assets/{chunk-ICPOFSXX-DeGZE9pw.js → chunk-ICPOFSXX-BTX5POFr.js} +2 -2
  99. package/payload/server/public/assets/{chunk-K5T4RW27-CkoKFdgU.js → chunk-K5T4RW27-Du1PXXBU.js} +1 -1
  100. package/payload/server/public/assets/{chunk-KGLVRYIC-DyNP1efP.js → chunk-KGLVRYIC-siasOAf8.js} +1 -1
  101. package/payload/server/public/assets/{chunk-LIHQZDEY-WZPpo5Dd.js → chunk-LIHQZDEY-xf1rbZtf.js} +1 -1
  102. package/payload/server/public/assets/{chunk-ORNJ4GCN-Cr7E0-Df.js → chunk-ORNJ4GCN-DeTLQ_LD.js} +1 -1
  103. package/payload/server/public/assets/{chunk-OYMX7WX6-BPjxo1Oc.js → chunk-OYMX7WX6-DQ7_oVJn.js} +1 -1
  104. package/payload/server/public/assets/chunk-QZHKN3VN-DF4o9HRJ.js +1 -0
  105. package/payload/server/public/assets/{chunk-U2HBQHQK-CuDS7yVX.js → chunk-U2HBQHQK-CXmFUKgn.js} +1 -1
  106. package/payload/server/public/assets/{chunk-X2U36JSP-DEkde3xe.js → chunk-X2U36JSP-Bj8-8Wkz.js} +1 -1
  107. package/payload/server/public/assets/{chunk-XPW4576I-BwRCuKyu.js → chunk-XPW4576I-Con3TXqt.js} +1 -1
  108. package/payload/server/public/assets/{chunk-YZCP3GAM-DD9nUp-w.js → chunk-YZCP3GAM-Dx8BHGWf.js} +1 -1
  109. package/payload/server/public/assets/{chunk-ZZ45TVLE-BDH9b11G.js → chunk-ZZ45TVLE-Dp4Q5Y-f.js} +1 -1
  110. package/payload/server/public/assets/classDiagram-6PBFFD2Q-DAbPKU6u.js +1 -0
  111. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-BKuFQLcv.js +1 -0
  112. package/payload/server/public/assets/clone-DnNHGhNe.js +1 -0
  113. package/payload/server/public/assets/{cose-bilkent-S5V4N54A-CfeophtW.js → cose-bilkent-S5V4N54A-pZiCv69E.js} +1 -1
  114. package/payload/server/public/assets/{dagre-CVxEmku2.js → dagre-CLqhEgbL.js} +1 -1
  115. package/payload/server/public/assets/{dagre-KV5264BT-TOuVLdjq.js → dagre-KV5264BT-BCxE8iyk.js} +1 -1
  116. package/payload/server/public/assets/{data-B8Waqy4Q.js → data-CIJnkfgX.js} +1 -1
  117. package/payload/server/public/assets/{diagram-5BDNPKRD-BJQnfJjx.js → diagram-5BDNPKRD-slUEdZzz.js} +1 -1
  118. package/payload/server/public/assets/{diagram-G4DWMVQ6-CqK94J29.js → diagram-G4DWMVQ6-DPcraMfu.js} +1 -1
  119. package/payload/server/public/assets/{diagram-MMDJMWI5-BCnATv2X.js → diagram-MMDJMWI5-DR6luhGK.js} +1 -1
  120. package/payload/server/public/assets/{diagram-TYMM5635-Cl3BUrVs.js → diagram-TYMM5635-Jap1B4wA.js} +1 -1
  121. package/payload/server/public/assets/{erDiagram-SMLLAGMA--Uw0kvib.js → erDiagram-SMLLAGMA-DJKUs2hO.js} +1 -1
  122. package/payload/server/public/assets/{file-download-Pk6cNtuB.js → file-download-gth6Gpmn.js} +1 -1
  123. package/payload/server/public/assets/{flatten-DtM0XAMt.js → flatten-Cl1Bc3dR.js} +1 -1
  124. package/payload/server/public/assets/{flowDiagram-DWJPFMVM-B_VGZIbJ.js → flowDiagram-DWJPFMVM-C8W-ZZ9W.js} +1 -1
  125. package/payload/server/public/assets/{ganttDiagram-T4ZO3ILL-D-vdf1dC.js → ganttDiagram-T4ZO3ILL-DYCX4Xu2.js} +1 -1
  126. package/payload/server/public/assets/gitGraph-7Q5UKJZL-g7mvu6IY.js +1 -0
  127. package/payload/server/public/assets/{gitGraphDiagram-UUTBAWPF-CpyAlvu3.js → gitGraphDiagram-UUTBAWPF-CZu_fpgS.js} +1 -1
  128. package/payload/server/public/assets/{graph-D-VQpkaS.js → graph-DHnB3BHK.js} +1 -1
  129. package/payload/server/public/assets/{graph-labels-cJvlyVxD.js → graph-labels-huk-fKcY.js} +1 -1
  130. package/payload/server/public/assets/{graphlib-DaV4XyBp.js → graphlib-Bdp7TA4y.js} +1 -1
  131. package/payload/server/public/assets/info-OMHHGYJF-DZqJuIkB.js +1 -0
  132. package/payload/server/public/assets/infoDiagram-42DDH7IO-cGfGccHz.js +2 -0
  133. package/payload/server/public/assets/{isEmpty-D__iH1WQ.js → isEmpty-D1pGOD1J.js} +1 -1
  134. package/payload/server/public/assets/{ishikawaDiagram-UXIWVN3A-_4NvfwwU.js → ishikawaDiagram-UXIWVN3A-B7KfIX6z.js} +1 -1
  135. package/payload/server/public/assets/{journeyDiagram-VCZTEJTY-PJQ-tPWv.js → journeyDiagram-VCZTEJTY-CSDwBfhF.js} +1 -1
  136. package/payload/server/public/assets/jsx-runtime-DZddXDvJ.css +1 -0
  137. package/payload/server/public/assets/{kanban-definition-6JOO6SKY-asCNlyH4.js → kanban-definition-6JOO6SKY-CWzcEKTr.js} +1 -1
  138. package/payload/server/public/assets/{line-BSXr2IPU.js → line-BNQSlbYn.js} +1 -1
  139. package/payload/server/public/assets/{linear-CSAKvvko.js → linear-BN6kGN93.js} +1 -1
  140. package/payload/server/public/assets/mermaid-parser.core-CcFhkElq.js +4 -0
  141. package/payload/server/public/assets/mermaid.core-BsIeJ7Cc.js +11 -0
  142. package/payload/server/public/assets/{mindmap-definition-QFDTVHPH-IxwnMT2Q.js → mindmap-definition-QFDTVHPH-CQVzj6D_.js} +1 -1
  143. package/payload/server/public/assets/operator-D3QAzlPs.js +1 -0
  144. package/payload/server/public/assets/{ordinal-BRQ5CzZY.js → ordinal-CBZeH4Yp.js} +1 -1
  145. package/payload/server/public/assets/packet-4T2RLAQJ-Hn8rlHpy.js +1 -0
  146. package/payload/server/public/assets/page-86edaOS1.js +1 -0
  147. package/payload/server/public/assets/pie-ZZUOXDRM-BPGWVqBm.js +1 -0
  148. package/payload/server/public/assets/{pieDiagram-DEJITSTG-DFqSnPPB.js → pieDiagram-DEJITSTG-DnrQ9fyn.js} +1 -1
  149. package/payload/server/public/assets/preload-helper-CQ36nxok.js +1 -0
  150. package/payload/server/public/assets/public-B4LqL6lA.js +6 -0
  151. package/payload/server/public/assets/{quadrantDiagram-34T5L4WZ-1AB3hlEb.js → quadrantDiagram-34T5L4WZ-BQWlCyWi.js} +1 -1
  152. package/payload/server/public/assets/radar-PYXPWWZC-DMdLrj3E.js +1 -0
  153. package/payload/server/public/assets/{reduce-CkcXOmmJ.js → reduce-PuPlFPRX.js} +1 -1
  154. package/payload/server/public/assets/{requirementDiagram-MS252O5E-C2Zpzq3l.js → requirementDiagram-MS252O5E-Du_vZhU1.js} +1 -1
  155. package/payload/server/public/assets/{sankeyDiagram-XADWPNL6-DkmhPhwS.js → sankeyDiagram-XADWPNL6-Cf6Z8GPQ.js} +1 -1
  156. package/payload/server/public/assets/{sequenceDiagram-FGHM5R23-1hQLpeZ1.js → sequenceDiagram-FGHM5R23-CS8GVol8.js} +1 -1
  157. package/payload/server/public/assets/{stateDiagram-FHFEXIEX-CBHIwm3f.js → stateDiagram-FHFEXIEX-Bv1NW2F1.js} +1 -1
  158. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-BGUCxPmp.js +1 -0
  159. package/payload/server/public/assets/{timeline-definition-GMOUNBTQ-CLRWWipW.js → timeline-definition-GMOUNBTQ-ClGYAsr0.js} +1 -1
  160. package/payload/server/public/assets/treeView-SZITEDCU-CWxofUbI.js +1 -0
  161. package/payload/server/public/assets/treemap-W4RFUUIX-Cfgb_ZG0.js +1 -0
  162. package/payload/server/public/assets/{useSelectionMode-6fff2UIV.js → useSelectionMode-lrH0qwAR.js} +1 -1
  163. package/payload/server/public/assets/{vennDiagram-DHZGUBPP-ByFoQMek.js → vennDiagram-DHZGUBPP-C2wTcxQT.js} +1 -1
  164. package/payload/server/public/assets/wardley-RL74JXVD-B45olYjj.js +1 -0
  165. package/payload/server/public/assets/{wardleyDiagram-NUSXRM2D-DIkXRSha.js → wardleyDiagram-NUSXRM2D-D86-ivEx.js} +1 -1
  166. package/payload/server/public/assets/{xychartDiagram-5P7HB3ND-BNdEcN73.js → xychartDiagram-5P7HB3ND-Ba5WAN8P.js} +1 -1
  167. package/payload/server/public/browser.html +6 -6
  168. package/payload/server/public/chat.html +9 -8
  169. package/payload/server/public/data.html +5 -5
  170. package/payload/server/public/graph.html +8 -8
  171. package/payload/server/public/index.html +9 -9
  172. package/payload/server/public/operator.html +9 -9
  173. package/payload/server/public/public.html +7 -6
  174. package/payload/server/server.js +164 -124
  175. package/payload/server/public/assets/AdminShell-Eo1RXZxq.js +0 -1
  176. package/payload/server/public/assets/admin-ORJGvOqo.js +0 -1
  177. package/payload/server/public/assets/architecture-YZFGNWBL-CQHotPO2.js +0 -1
  178. package/payload/server/public/assets/audio-attachment-mime-CFRERhV0.js +0 -1
  179. package/payload/server/public/assets/channel-DfO_IgSU.js +0 -1
  180. package/payload/server/public/assets/chat-DIrzZjdO.js +0 -1
  181. package/payload/server/public/assets/chunk-336JU56O-DHUrM3QG.js +0 -2
  182. package/payload/server/public/assets/chunk-426QAEUC-CBo-Lx7X.js +0 -1
  183. package/payload/server/public/assets/chunk-QZHKN3VN-CNlL2tiW.js +0 -1
  184. package/payload/server/public/assets/classDiagram-6PBFFD2Q-Bo-iLGpk.js +0 -1
  185. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-Bz7DNpvQ.js +0 -1
  186. package/payload/server/public/assets/clone-Bh_bM_44.js +0 -1
  187. package/payload/server/public/assets/gitGraph-7Q5UKJZL-Ds2hoRX4.js +0 -1
  188. package/payload/server/public/assets/info-OMHHGYJF-BuX4gDTt.js +0 -1
  189. package/payload/server/public/assets/infoDiagram-42DDH7IO-pcFw8-8F.js +0 -2
  190. package/payload/server/public/assets/jsx-runtime-BjFkEGXb.css +0 -1
  191. package/payload/server/public/assets/mermaid-parser.core-DFxv-h16.js +0 -4
  192. package/payload/server/public/assets/mermaid.core-Be34BFtA.js +0 -11
  193. package/payload/server/public/assets/operator-DyLRFmNE.js +0 -1
  194. package/payload/server/public/assets/packet-4T2RLAQJ-9qQ2zAJ3.js +0 -1
  195. package/payload/server/public/assets/page-CFgywgGE.js +0 -1
  196. package/payload/server/public/assets/pie-ZZUOXDRM-aDbmozld.js +0 -1
  197. package/payload/server/public/assets/public-_pD6yEQ6.js +0 -35
  198. package/payload/server/public/assets/radar-PYXPWWZC-CEm-iLey.js +0 -1
  199. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-DHGLsXgi.js +0 -1
  200. package/payload/server/public/assets/treeView-SZITEDCU-DYa2gPJa.js +0 -1
  201. package/payload/server/public/assets/treemap-W4RFUUIX-D816ED1y.js +0 -1
  202. package/payload/server/public/assets/wardley-RL74JXVD-BniDWDlr.js +0 -1
  203. /package/payload/server/public/assets/{_baseFor-SRtUHe7G.js → _baseFor-brRjpUOX.js} +0 -0
  204. /package/payload/server/public/assets/{array-BpsnM-Py.js → array-BGFCBI0e.js} +0 -0
  205. /package/payload/server/public/assets/{cytoscape.esm-D4Rl1H5h.js → cytoscape.esm-TvRJ2tGX.js} +0 -0
  206. /package/payload/server/public/assets/{defaultLocale-C7sQPl-O.js → defaultLocale-CRZydyG6.js} +0 -0
  207. /package/payload/server/public/assets/{dist-BXJR8AkG.js → dist-Dbh7HrZX.js} +0 -0
  208. /package/payload/server/public/assets/{init-BydxaDEV.js → init-B8gtcn7T.js} +0 -0
  209. /package/payload/server/public/assets/{jsx-runtime-B54kfC3e.js → jsx-runtime-CMu8uN0-.js} +0 -0
  210. /package/payload/server/public/assets/{katex-B0fVeDx4.js → katex-RxgSu_dy.js} +0 -0
  211. /package/payload/server/public/assets/{path-jlWYQ2i9.js → path-DZF-JdEe.js} +0 -0
  212. /package/payload/server/public/assets/{rough.esm-c4PR5shF.js → rough.esm-6CnTHTkH.js} +0 -0
  213. /package/payload/server/public/assets/{src-CPkr6SrY.js → src-BoaldmnP.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"notification.js","sourceRoot":"","sources":["../src/notification.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"notification.js","sourceRoot":"","sources":["../src/notification.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,yEAAyE;AACzE,yEAAyE;AAsBzE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAC9B,8FAA8F;IAC9F,8GAA8G;IAC9G,iFAAiF;IACjF,0EAA0E;IAC1E,gDAAgD;IAChD,sGAAsG;IACtG,iHAAiH;IACjH,iDAAiD;IACjD,qBAAqB;IACrB,+DAA+D;IAC/D,wHAAwH;IACxH,kCAAkC,CAAA;AAWpC;;;;;;;;;;GAUG;AACH,MAAM,UAAU,wBAAwB,CAAC,CAAiB;IACxD,OAAO;QACL,MAAM,EAAE,8BAAuC;QAC/C,MAAM,EAAE;YACN,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC,OAAO;SACxC;KACF,CAAA;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,cAAc,CAAC,CAAiB;IACvC,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAA;IAClE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC,IAAI,CAAA;IACxC,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CACxB,CAAC,CAAC,EAAE,EAAE,CACJ,qBAAqB,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,EAAE;QACxC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI;QAC3C,gDAAgD,CACnD,CAAA;IACD,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;IAC7B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAC/B,OAAO,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;AACjD,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,mBAAmB,CAAC,CAAiB;IACnD,MAAM,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,CAAA;IACjC,OAAO;QACL,OAAO,EAAE,eAAe,OAAO,uBAAuB,mBAAmB,EAAE;QAC3E,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC;KACjD,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,UAAkB,EAAE,CAAuB;IACvE,OAAO,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAA;AAClC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,UAAkB,EAAE,IAAY;IACjE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,CAAA;AACvC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,0BAA0B,CACxC,UAAkB,EAClB,KAAe,EACf,OAAgB;IAEhB,OAAO,OAAO,KAAK,SAAS;QAC1B,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE;QAC1C,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,CAAA;AACrC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CACnC,UAAkB,EAClB,WAAmB;IAEnB,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,CAAA;AAC9C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,OAA+B,EAC/B,IAAiF;IAEjF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,IAAI,MAAM,OAAO,EAAE;YAAE,OAAO,IAAI,CAAA;QAChC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,GAAG,CAAC;YAAE,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC3D,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAClC,UAAkB,EAClB,SAAiB,EACjB,OAAgB,EAChB,SAAiB;IAEjB,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,CAAA;AAChE,CAAC;AAED;;;;gCAIgC;AAChC,MAAM,UAAU,eAAe,CAAC,MAAc,EAAE,IAAa;IAC3D,MAAM,CAAC,GAAG,IAAsD,CAAA;IAChE,MAAM,MAAM,GAAG,OAAO,CAAC,EAAE,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;IAClF,IAAI,CAAC,MAAM;QAAE,OAAO,2BAA2B,MAAM,EAAE,CAAA;IACvD,IAAI,CAAC,EAAE,QAAQ,KAAK,IAAI;QAAE,OAAO,+CAA+C,CAAA;IAChF,OAAO,UAAU,MAAM,EAAE,CAAA;AAC3B,CAAC"}
@@ -1,6 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  import { Server } from '@modelcontextprotocol/sdk/server/index.js';
3
3
  import { type WatchGrewFn, type FindJsonlFn } from './jsonl-watch.js';
4
+ import { type TurnOutcome } from './turn-follow.js';
5
+ export type FollowTurnFn = (jsonlPath: string, startOffset: number, timeoutMs: number) => Promise<TurnOutcome>;
4
6
  export declare const mcp: Server<{
5
7
  method: string;
6
8
  params?: {
@@ -39,6 +41,8 @@ export declare function subscribeInbound(opts?: {
39
41
  watchGrew?: WatchGrewFn;
40
42
  findJsonl?: FindJsonlFn;
41
43
  notificationTimeoutMs?: number;
44
+ followTurn?: FollowTurnFn;
45
+ turnFollowTimeoutMs?: number;
42
46
  }): Promise<void>;
43
47
  export declare function main(): Promise<void>;
44
48
  //# sourceMappingURL=server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";AAcA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAA;AAIlE,OAAO,EAAyC,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAwC5G,eAAO,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMf,CAAA;AA6GD,wBAAsB,gBAAgB,CAAC,IAAI,CAAC,EAAE;IAC5C,SAAS,CAAC,EAAE,WAAW,CAAA;IACvB,SAAS,CAAC,EAAE,WAAW,CAAA;IACvB,qBAAqB,CAAC,EAAE,MAAM,CAAA;CAC/B,GAAG,OAAO,CAAC,IAAI,CAAC,CAuHhB;AAED,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAO1C"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";AAcA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAA;AAIlE,OAAO,EAAyC,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC5G,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAA;AA4BtE,MAAM,MAAM,YAAY,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,WAAW,CAAC,CAAA;AAqB9G,eAAO,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMf,CAAA;AA6GD,wBAAsB,gBAAgB,CAAC,IAAI,CAAC,EAAE;IAC5C,SAAS,CAAC,EAAE,WAAW,CAAA;IACvB,SAAS,CAAC,EAAE,WAAW,CAAA;IACvB,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,UAAU,CAAC,EAAE,YAAY,CAAA;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAC7B,GAAG,OAAO,CAAC,IAAI,CAAC,CAkKhB;AAED,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAO1C"}
@@ -9,13 +9,14 @@
9
9
  //
10
10
  // Transport glue only — message shaping and the reply body are the unit-tested
11
11
  // pure helpers in ./notification. Verified end-to-end at deploy (Task 7).
12
- import { realpathSync } from 'node:fs';
12
+ import { realpathSync, statSync } from 'node:fs';
13
13
  import { pathToFileURL } from 'node:url';
14
14
  import { Server } from '@modelcontextprotocol/sdk/server/index.js';
15
15
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
16
16
  import { ListToolsRequestSchema, CallToolRequestSchema } from '@modelcontextprotocol/sdk/types.js';
17
- import { acceptsSender, composeAdminContent, buildReplyPostBody, buildReplyDocumentPostBody, buildReceivedPostBody, buildReplyError, postWithRetry } from './notification.js';
17
+ import { acceptsSender, composeAdminContent, buildReplyPostBody, buildReplyDocumentPostBody, buildReceivedPostBody, buildTurnEndPostBody, buildReplyError, postWithRetry } from './notification.js';
18
18
  import { findJsonlForSessionId, watchForGrowth } from './jsonl-watch.js';
19
+ import { followTurnOutcome } from './turn-follow.js';
19
20
  function requireEnv(name) {
20
21
  const v = process.env[name];
21
22
  if (!v)
@@ -34,6 +35,10 @@ const RECEIPT_ACK_DELAY_MS = 2000;
34
35
  // drop happens inside the harness during the cold-resume window; by the time a
35
36
  // 10 s watch times out that window has passed and a resend is processed.
36
37
  const NOTIFICATION_RETRY_TIMEOUT_MS = 10_000;
38
+ // Task 832 — turn-follow give-up. Matches the longest channel turn window
39
+ // (WHATSAPP_PTY_TURN_TIMEOUT_MS default 300_000): a follow that outlives the
40
+ // turn is a dead session, not a slow one.
41
+ const TURN_FOLLOW_TIMEOUT_MS = 300_000;
37
42
  // Co-visibility: the operator watches the same session in claude.ai/code,
38
43
  // where the reply tool call shows but its text does not. Instruct the agent to
39
44
  // also write its answer as normal assistant text so the operator can read it
@@ -46,6 +51,8 @@ const INSTRUCTIONS = `You are connected to WhatsApp. Every <channel source="what
46
51
  `writing your response as normal text so it stays visible here, then (2) call the reply tool with ` +
47
52
  `that same response to deliver it to the sender on WhatsApp. Always finish by calling the reply ` +
48
53
  `tool; never wait for confirmation before replying. ` +
54
+ `Your turn is not finished until you have called the reply tool: ending a turn with your answer ` +
55
+ `written only as text, without a reply call, fails to deliver it to the operator. ` +
49
56
  `When you need to send the operator a file or attachment, call the reply-document tool with the ` +
50
57
  `file path(s) — this is the only surface that delivers a document to WhatsApp. Do NOT rely on ` +
51
58
  `SendUserFile alone for a WhatsApp attachment.`;
@@ -157,9 +164,15 @@ async function postReady() {
157
164
  export async function subscribeInbound(opts) {
158
165
  const watchGrower = opts?.watchGrew ?? watchForGrowth;
159
166
  const notificationTimeoutMs = opts?.notificationTimeoutMs ?? NOTIFICATION_RETRY_TIMEOUT_MS;
167
+ const followTurn = opts?.followTurn ?? followTurnOutcome;
168
+ const turnFollowTimeoutMs = opts?.turnFollowTimeoutMs ?? TURN_FOLLOW_TIMEOUT_MS;
160
169
  const sessionId = process.env.WA_CHANNEL_SESSION_ID;
161
170
  const findJsonlFn = opts?.findJsonl ?? ((s) => findJsonlForSessionId(s));
162
- const jsonlPath = sessionId ? findJsonlFn(sessionId) : null;
171
+ let jsonlPath = sessionId ? findJsonlFn(sessionId) : null;
172
+ // Task 832 — at most one turn-follow per session at a time. A message queued
173
+ // mid-turn does not spawn a second follow: the in-flight follow's end_turn
174
+ // covers it, so exactly one turn-end decision fires per end_turn.
175
+ let followInFlight = false;
163
176
  const url = `${GATEWAY_URL}/wa-channel/inbound?senderId=${encodeURIComponent(SENDER_ID)}`;
164
177
  for (;;) {
165
178
  try {
@@ -208,6 +221,18 @@ export async function subscribeInbound(opts) {
208
221
  // misroute can be reconciled against the dispatch detector (Task 747).
209
222
  const composed = composeAdminContent(payload);
210
223
  console.error(`[reframe] op=applied sender=${SENDER_ID.slice(0, 8)} channel=whatsapp payloadBytes=${composed.payloadBytes}`);
224
+ // Task 832 — JSONL byte offset at turn start, captured before the emit
225
+ // so the turn-follow catches every line this turn produces. Resilient:
226
+ // a missing/odd file yields 0 and the follow bails fast.
227
+ let turnStartOffset = 0;
228
+ if (jsonlPath) {
229
+ try {
230
+ turnStartOffset = statSync(jsonlPath).size;
231
+ }
232
+ catch {
233
+ turnStartOffset = 0;
234
+ }
235
+ }
211
236
  await mcp.notification({
212
237
  method: 'notifications/claude/channel',
213
238
  params: { content: composed.content },
@@ -259,6 +284,32 @@ export async function subscribeInbound(opts) {
259
284
  }
260
285
  }
261
286
  }
287
+ // Task 832 — follow the turn to its end_turn and report the delivery
288
+ // decision to the gateway, which delivers the conclusion when nothing
289
+ // was sent. Detached so the SSE read loop keeps receiving; the
290
+ // in-flight guard means a message queued mid-turn does not spawn a
291
+ // second follow. Re-resolve the path lazily when it was absent at
292
+ // startup (brand-new session whose JSONL appears on the first turn).
293
+ if (!jsonlPath && sessionId)
294
+ jsonlPath = findJsonlFn(sessionId);
295
+ if (jsonlPath && !followInFlight) {
296
+ followInFlight = true;
297
+ const followPath = jsonlPath;
298
+ const followStart = turnStartOffset;
299
+ void (async () => {
300
+ try {
301
+ const outcome = await followTurn(followPath, followStart, turnFollowTimeoutMs);
302
+ await fetch(`${GATEWAY_URL}/wa-channel/turn-end`, {
303
+ method: 'POST',
304
+ headers: { 'content-type': 'application/json' },
305
+ body: JSON.stringify(buildTurnEndPostBody(SENDER_ID, sessionId ?? '', outcome.replied, outcome.finalText)),
306
+ }).catch(() => { });
307
+ }
308
+ finally {
309
+ followInFlight = false;
310
+ }
311
+ })();
312
+ }
262
313
  }
263
314
  }
264
315
  console.error('[whatsapp-channel] inbound stream closed by gateway; reconnecting');
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ export interface TurnOutcome {
2
+ /** A reply/reply-document tool_use appeared in the turn. */
3
+ replied: boolean;
4
+ /** Text of the end_turn assistant message ('' when none / not yet reached). */
5
+ finalText: string;
6
+ /** The turn reached an assistant end_turn. */
7
+ reachedEndTurn: boolean;
8
+ }
9
+ /** Fold one turn's JSONL line strings into the delivery decision. Pure. */
10
+ export declare function reduceTurnFromLines(lines: string[]): TurnOutcome;
11
+ /**
12
+ * Tail `jsonlPath` from `startOffset` until the first assistant end_turn or
13
+ * `timeoutMs` elapses, returning the turn outcome. Resolves immediately with a
14
+ * neutral outcome if the file cannot be statted (mirrors watchForGrowth). Never
15
+ * rejects.
16
+ */
17
+ export declare function followTurnOutcome(jsonlPath: string, startOffset: number, timeoutMs: number): Promise<TurnOutcome>;
18
+ //# sourceMappingURL=turn-follow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"turn-follow.d.ts","sourceRoot":"","sources":["../src/turn-follow.ts"],"names":[],"mappings":"AAgBA,MAAM,WAAW,WAAW;IAC1B,4DAA4D;IAC5D,OAAO,EAAE,OAAO,CAAA;IAChB,+EAA+E;IAC/E,SAAS,EAAE,MAAM,CAAA;IACjB,8CAA8C;IAC9C,cAAc,EAAE,OAAO,CAAA;CACxB;AAUD,2EAA2E;AAC3E,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,WAAW,CAoChE;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,WAAW,CAAC,CAoEtB"}
@@ -0,0 +1,137 @@
1
+ // Turn-end detector for the WhatsApp native channel (Task 832). Pure of the MCP
2
+ // SDK so it unit-tests in isolation. `reduceTurnFromLines` folds a turn's JSONL
3
+ // lines into the delivery decision; `followTurnOutcome` tails the session JSONL
4
+ // from a byte offset until the first assistant end_turn (or a timeout).
5
+ import { closeSync, openSync, readSync, statSync, watch } from 'node:fs';
6
+ // The reply tools the agent uses to deliver to WhatsApp. Either one appearing in
7
+ // a turn means the operator received something this turn — so the turn was not
8
+ // silent and no text fallback fires. Mirrors WA_CHANNEL_SERVER_NAME
9
+ // ('whatsapp-channel') in claude-session-manager's wa-channel-mcp.ts; kept as a
10
+ // literal here to avoid a cross-package import.
11
+ const REPLY_TOOL_NAMES = new Set([
12
+ 'mcp__whatsapp-channel__reply',
13
+ 'mcp__whatsapp-channel__reply-document',
14
+ ]);
15
+ /** Fold one turn's JSONL line strings into the delivery decision. Pure. */
16
+ export function reduceTurnFromLines(lines) {
17
+ let replied = false;
18
+ let finalText = '';
19
+ let reachedEndTurn = false;
20
+ for (const line of lines) {
21
+ if (!line)
22
+ continue;
23
+ let ev;
24
+ try {
25
+ ev = JSON.parse(line);
26
+ }
27
+ catch {
28
+ continue;
29
+ }
30
+ if (ev.type !== 'assistant')
31
+ continue;
32
+ const msg = ev.message;
33
+ const isEnd = msg?.stop_reason === 'end_turn';
34
+ if (!msg || !Array.isArray(msg.content)) {
35
+ if (isEnd) {
36
+ reachedEndTurn = true;
37
+ finalText = '';
38
+ }
39
+ continue;
40
+ }
41
+ let endText = '';
42
+ for (const block of msg.content) {
43
+ if (block?.type === 'tool_use' && typeof block.name === 'string' && REPLY_TOOL_NAMES.has(block.name)) {
44
+ replied = true;
45
+ }
46
+ else if (block?.type === 'text' && typeof block.text === 'string' && isEnd) {
47
+ endText += block.text;
48
+ }
49
+ }
50
+ if (isEnd) {
51
+ reachedEndTurn = true;
52
+ finalText = endText;
53
+ }
54
+ }
55
+ return { replied, finalText, reachedEndTurn };
56
+ }
57
+ /**
58
+ * Tail `jsonlPath` from `startOffset` until the first assistant end_turn or
59
+ * `timeoutMs` elapses, returning the turn outcome. Resolves immediately with a
60
+ * neutral outcome if the file cannot be statted (mirrors watchForGrowth). Never
61
+ * rejects.
62
+ */
63
+ export async function followTurnOutcome(jsonlPath, startOffset, timeoutMs) {
64
+ let baseSize;
65
+ try {
66
+ baseSize = statSync(jsonlPath).size;
67
+ }
68
+ catch {
69
+ return { replied: false, finalText: '', reachedEndTurn: false };
70
+ }
71
+ return new Promise((resolve) => {
72
+ let offset = Math.min(startOffset, baseSize);
73
+ let carry = '';
74
+ const lines = [];
75
+ let settled = false;
76
+ const settle = (o) => {
77
+ if (settled)
78
+ return;
79
+ settled = true;
80
+ watcher.close();
81
+ clearTimeout(timer);
82
+ clearInterval(poll);
83
+ resolve(o);
84
+ };
85
+ const timer = setTimeout(() => settle(reduceTurnFromLines(lines)), timeoutMs);
86
+ // Poll as well as watch: fs.watch misses appends on some platforms (notably
87
+ // macOS), so a light poll guarantees growth is seen within the interval.
88
+ const poll = setInterval(() => drain(), 200);
89
+ // Synchronous read of the newly-appended bytes (mirrors the reader's
90
+ // readFrom). Being fully synchronous, two pending invocations (the poll and
91
+ // the fs.watch callback) run to completion serially on the event loop, so
92
+ // `offset` advances and `carry` is appended atomically per call — overlapping
93
+ // reads can never reassemble bytes out of order.
94
+ const drain = () => {
95
+ let end;
96
+ try {
97
+ end = statSync(jsonlPath).size;
98
+ }
99
+ catch {
100
+ settle(reduceTurnFromLines(lines));
101
+ return;
102
+ }
103
+ if (end <= offset)
104
+ return;
105
+ let buf;
106
+ try {
107
+ const fd = openSync(jsonlPath, 'r');
108
+ try {
109
+ buf = Buffer.alloc(end - offset);
110
+ readSync(fd, buf, 0, buf.length, offset);
111
+ }
112
+ finally {
113
+ closeSync(fd);
114
+ }
115
+ }
116
+ catch {
117
+ settle(reduceTurnFromLines(lines));
118
+ return;
119
+ }
120
+ offset = end;
121
+ carry += buf.toString('utf8');
122
+ let nl = carry.indexOf('\n');
123
+ while (nl !== -1) {
124
+ lines.push(carry.slice(0, nl));
125
+ carry = carry.slice(nl + 1);
126
+ nl = carry.indexOf('\n');
127
+ }
128
+ const out = reduceTurnFromLines(lines);
129
+ if (out.reachedEndTurn)
130
+ settle(out);
131
+ };
132
+ const watcher = watch(jsonlPath, { persistent: false }, () => drain());
133
+ watcher.on('error', () => settle(reduceTurnFromLines(lines)));
134
+ drain(); // catch lines already present between startOffset and now
135
+ });
136
+ }
137
+ //# sourceMappingURL=turn-follow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"turn-follow.js","sourceRoot":"","sources":["../src/turn-follow.ts"],"names":[],"mappings":"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"}
@@ -22,7 +22,7 @@ Decide the precise operations against the schema, execute them with the writers
22
22
 
23
23
  ## Typed-edge auto-extraction pass (on `/insight`)
24
24
 
25
- When admin's brief names the typed-edge pass (Task 305) and supplies a `sinceIso` timestamp, call `memory-typed-edge-pass` with that timestamp exactly once. The tool reads prose-bearing nodes (Message/Page/Meeting/KnowledgeDocument/ConversationArchive/Idea/Note/Post/Report — `:KnowledgeDocument` covers email threads via `source:'email'` since Task 321; `:ConversationArchive` covers chat transcripts since Task 397) the account wrote since `sinceIso`, asks Haiku for typed-edge proposals against a closed allowlist, validates each one, and MERGEs accepted edges with `createdBy` provenance. Return the full counter object verbatim — admin needs `nodesProcessed` and `accepted` for its insight-pass summary. Do not reinterpret the counts or summarise them.
25
+ When admin's brief names the typed-edge pass and supplies a `sinceIso` timestamp, call `memory-typed-edge-pass` with that timestamp exactly once. The tool reads prose-bearing nodes (Message/Page/Meeting/KnowledgeDocument/ConversationArchive/Idea/Note/Post/Report — `:KnowledgeDocument` covers email threads via `source:'email'`; `:ConversationArchive` covers chat transcripts) the account wrote since `sinceIso`, asks Haiku for typed-edge proposals against a closed allowlist, validates each one, and MERGEs accepted edges with `createdBy` provenance. Return the full counter object verbatim — admin needs `nodesProcessed` and `accepted` for its insight-pass summary. Do not reinterpret the counts or summarise them.
26
26
 
27
27
  ## Bulk external archives route elsewhere
28
28
 
@@ -34,7 +34,7 @@ The dispatch brief from the admin agent names the input class. Map it to one ski
34
34
  | Input | Skill | Parent label |
35
35
  |---|---|---|
36
36
  | Document (PDF / text / web page) | `document-ingest` (mode='document') | `:KnowledgeDocument` (keyed on `attachmentId`) |
37
- | Conversation transcript (any source) | `conversation-archive` | `:ConversationArchive` (Task 397 — keyed on `conversationIdentity`) |
37
+ | Conversation transcript (any source) | `conversation-archive` | `:ConversationArchive` (keyed on `conversationIdentity`) |
38
38
  | Granola / Otter / Circleback meeting ingest (provider MCP connected to the host) | `conversation-archive-mcp` | `:ConversationArchive` (same identity formula as `conversation-archive`; source ∈ {granola, otter, circleback}; per-provider meeting ID and `calendarEventId` stamped as cross-references) |
39
39
  | Per-row enrich pass over an existing conversation-document parent | `conversation-archive-enrich` | (mutates existing `:Section` chunks) |
40
40
  | LinkedIn Basic Data Export directory | `linkedin-import` | flat-dataset MERGE via `memory-archive-write` |
@@ -44,7 +44,7 @@ If the brief is ambiguous between two skills (e.g. an unzipped tree that contain
44
44
 
45
45
  ## Graph hierarchy
46
46
 
47
- Every node has a parent in the canonical chain `LocalBusiness → Project → Task | Person | Organisation | KnowledgeDocument | ConversationArchive` (Task 397 promoted `:ConversationArchive` to a peer parent). The wrapped writers reject orphans. The four ingest skills each name the anchor or participant flow that must complete before any write; honour those flows.
47
+ Every node has a parent in the canonical chain `LocalBusiness → Project → Task | Person | Organisation | KnowledgeDocument | ConversationArchive` (`:ConversationArchive` is a peer parent). The wrapped writers reject orphans. The four ingest skills each name the anchor or participant flow that must complete before any write; honour those flows.
48
48
 
49
49
  ## When a tool returns an error
50
50