@rubytech/create-maxy-code 0.1.496 → 0.1.498

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 (236) hide show
  1. package/package.json +1 -1
  2. package/payload/platform/docs/superpowers/plans/2026-07-24-task-1942-subaccount-switcher-brand-head.md +327 -0
  3. package/payload/platform/docs/superpowers/specs/2026-07-24-task-1942-subaccount-switcher-brand-head-design.md +35 -0
  4. package/payload/platform/plugins/admin/skills/platform-architecture/SKILL.md +72 -12
  5. package/payload/platform/plugins/docs/references/admin-ui.md +50 -10
  6. package/payload/platform/plugins/docs/references/outlook-guide.md +5 -1
  7. package/payload/platform/plugins/docs/references/sweep-guide.md +16 -0
  8. package/payload/platform/plugins/memory/PLUGIN.md +2 -0
  9. package/payload/platform/plugins/memory/mcp/dist/index.js +2 -2
  10. package/payload/platform/plugins/memory/mcp/dist/index.js.map +1 -1
  11. package/payload/platform/plugins/memory/mcp/dist/scripts/__tests__/dream-cycle-sweep-decision.test.d.ts +2 -0
  12. package/payload/platform/plugins/memory/mcp/dist/scripts/__tests__/dream-cycle-sweep-decision.test.d.ts.map +1 -0
  13. package/payload/platform/plugins/memory/mcp/dist/scripts/__tests__/dream-cycle-sweep-decision.test.js +84 -0
  14. package/payload/platform/plugins/memory/mcp/dist/scripts/__tests__/dream-cycle-sweep-decision.test.js.map +1 -0
  15. package/payload/platform/plugins/memory/mcp/dist/scripts/dream-cycle-sweep-decision.d.ts +54 -0
  16. package/payload/platform/plugins/memory/mcp/dist/scripts/dream-cycle-sweep-decision.d.ts.map +1 -0
  17. package/payload/platform/plugins/memory/mcp/dist/scripts/dream-cycle-sweep-decision.js +58 -0
  18. package/payload/platform/plugins/memory/mcp/dist/scripts/dream-cycle-sweep-decision.js.map +1 -0
  19. package/payload/platform/plugins/memory/mcp/dist/scripts/dream-cycle-sweep.d.ts +30 -0
  20. package/payload/platform/plugins/memory/mcp/dist/scripts/dream-cycle-sweep.d.ts.map +1 -0
  21. package/payload/platform/plugins/memory/mcp/dist/scripts/dream-cycle-sweep.js +204 -0
  22. package/payload/platform/plugins/memory/mcp/dist/scripts/dream-cycle-sweep.js.map +1 -0
  23. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/conversation-archive-derive-insights.test.js +30 -0
  24. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/conversation-archive-derive-insights.test.js.map +1 -1
  25. package/payload/platform/plugins/memory/mcp/dist/tools/conversation-archive-derive-insights.d.ts +4 -2
  26. package/payload/platform/plugins/memory/mcp/dist/tools/conversation-archive-derive-insights.d.ts.map +1 -1
  27. package/payload/platform/plugins/memory/mcp/dist/tools/conversation-archive-derive-insights.js +38 -0
  28. package/payload/platform/plugins/memory/mcp/dist/tools/conversation-archive-derive-insights.js.map +1 -1
  29. package/payload/platform/plugins/memory/mcp/vitest.config.ts +2 -0
  30. package/payload/platform/plugins/memory/skills/conversation-archive-enrich/SKILL.md +10 -4
  31. package/payload/platform/plugins/outlook/.claude-plugin/plugin.json +1 -1
  32. package/payload/platform/plugins/outlook/PLUGIN.md +6 -2
  33. package/payload/platform/plugins/outlook/mcp/dist/__tests__/dispatch-grouping.test.d.ts +2 -0
  34. package/payload/platform/plugins/outlook/mcp/dist/__tests__/dispatch-grouping.test.d.ts.map +1 -0
  35. package/payload/platform/plugins/outlook/mcp/dist/__tests__/dispatch-grouping.test.js +54 -0
  36. package/payload/platform/plugins/outlook/mcp/dist/__tests__/dispatch-grouping.test.js.map +1 -0
  37. package/payload/platform/plugins/outlook/mcp/dist/__tests__/fetch-body-fromname.test.d.ts +2 -0
  38. package/payload/platform/plugins/outlook/mcp/dist/__tests__/fetch-body-fromname.test.d.ts.map +1 -0
  39. package/payload/platform/plugins/outlook/mcp/dist/__tests__/fetch-body-fromname.test.js +19 -0
  40. package/payload/platform/plugins/outlook/mcp/dist/__tests__/fetch-body-fromname.test.js.map +1 -0
  41. package/payload/platform/plugins/outlook/mcp/dist/__tests__/mail-ingest-decisions.test.d.ts +2 -0
  42. package/payload/platform/plugins/outlook/mcp/dist/__tests__/mail-ingest-decisions.test.d.ts.map +1 -0
  43. package/payload/platform/plugins/outlook/mcp/dist/__tests__/mail-ingest-decisions.test.js +20 -0
  44. package/payload/platform/plugins/outlook/mcp/dist/__tests__/mail-ingest-decisions.test.js.map +1 -0
  45. package/payload/platform/plugins/outlook/mcp/dist/index.js +21 -0
  46. package/payload/platform/plugins/outlook/mcp/dist/index.js.map +1 -1
  47. package/payload/platform/plugins/outlook/mcp/dist/lib/conversation-archive-dispatch.d.ts +40 -0
  48. package/payload/platform/plugins/outlook/mcp/dist/lib/conversation-archive-dispatch.d.ts.map +1 -0
  49. package/payload/platform/plugins/outlook/mcp/dist/lib/conversation-archive-dispatch.js +143 -0
  50. package/payload/platform/plugins/outlook/mcp/dist/lib/conversation-archive-dispatch.js.map +1 -0
  51. package/payload/platform/plugins/outlook/mcp/dist/lib/neo4j.d.ts +5 -0
  52. package/payload/platform/plugins/outlook/mcp/dist/lib/neo4j.d.ts.map +1 -0
  53. package/payload/platform/plugins/outlook/mcp/dist/lib/neo4j.js +44 -0
  54. package/payload/platform/plugins/outlook/mcp/dist/lib/neo4j.js.map +1 -0
  55. package/payload/platform/plugins/outlook/mcp/dist/tools/mail-fetch-body.d.ts +14 -0
  56. package/payload/platform/plugins/outlook/mcp/dist/tools/mail-fetch-body.d.ts.map +1 -1
  57. package/payload/platform/plugins/outlook/mcp/dist/tools/mail-fetch-body.js +13 -1
  58. package/payload/platform/plugins/outlook/mcp/dist/tools/mail-fetch-body.js.map +1 -1
  59. package/payload/platform/plugins/outlook/mcp/dist/tools/mail-ingest.d.ts +27 -0
  60. package/payload/platform/plugins/outlook/mcp/dist/tools/mail-ingest.d.ts.map +1 -0
  61. package/payload/platform/plugins/outlook/mcp/dist/tools/mail-ingest.js +69 -0
  62. package/payload/platform/plugins/outlook/mcp/dist/tools/mail-ingest.js.map +1 -0
  63. package/payload/platform/plugins/outlook/mcp/package.json +1 -0
  64. package/payload/platform/plugins/outlook/references/graph-surfaces.md +10 -1
  65. package/payload/platform/plugins/outlook/skills/outlook/SKILL.md +4 -0
  66. package/payload/platform/plugins/outlook/skills/outlook-mail-ingest/SKILL.md +85 -0
  67. package/payload/platform/plugins/sweep/PLUGIN.md +5 -1
  68. package/payload/platform/plugins/sweep/skills/email-graph-sweep/SKILL.md +165 -0
  69. package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.d.ts.map +1 -1
  70. package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.js +1 -0
  71. package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.js.map +1 -1
  72. package/payload/platform/templates/specialists/agents/personal-assistant.md +1 -1
  73. package/payload/server/package.json +2 -1
  74. package/payload/server/public/activity.html +6 -6
  75. package/payload/server/public/assets/{AdminLoginScreens-CFF28MGy.js → AdminLoginScreens-Ce5aBBWF.js} +1 -1
  76. package/payload/server/public/assets/AdminShell-BFVVkWFC.js +2 -0
  77. package/payload/server/public/assets/{activity-CElZcdjR.js → activity-CKUYOLd2.js} +1 -1
  78. package/payload/server/public/assets/admin-BWb8me-E.js +1 -0
  79. package/payload/server/public/assets/{arc-CFMJyMm-.js → arc-CpWWSum8.js} +1 -1
  80. package/payload/server/public/assets/architecture-YZFGNWBL-D-AX2VuA.js +1 -0
  81. package/payload/server/public/assets/{architectureDiagram-Q4EWVU46-CiSSgdL8.js → architectureDiagram-Q4EWVU46-D2EzaII0.js} +1 -1
  82. package/payload/server/public/assets/{blockDiagram-DXYQGD6D-_sXtIW5c.js → blockDiagram-DXYQGD6D-8kDpaNSZ.js} +1 -1
  83. package/payload/server/public/assets/{bot-Q-JmeVT3.js → bot-DESMpxSQ.js} +1 -1
  84. package/payload/server/public/assets/{browser-BrfPJMYF.js → browser-CpLq_DIo.js} +1 -1
  85. package/payload/server/public/assets/{c4Diagram-AHTNJAMY-Bh7OAMXs.js → c4Diagram-AHTNJAMY-CbwmZpK3.js} +1 -1
  86. package/payload/server/public/assets/calendar-ClOwyuz-.js +1 -0
  87. package/payload/server/public/assets/channel-DZ5sh6YQ.js +1 -0
  88. package/payload/server/public/assets/chat-qtOiJX-Y.js +1 -0
  89. package/payload/server/public/assets/chevron-left-BzIg4in6.js +1 -0
  90. package/payload/server/public/assets/chevron-right-BcFSa9C3.js +1 -0
  91. package/payload/server/public/assets/{chunk-2KRD3SAO-D4fktAwW.js → chunk-2KRD3SAO-PFheZ9mw.js} +1 -1
  92. package/payload/server/public/assets/{chunk-336JU56O-CcQoKH2G.js → chunk-336JU56O-CCFOp5VK.js} +2 -2
  93. package/payload/server/public/assets/chunk-426QAEUC-CcjBLp4a.js +1 -0
  94. package/payload/server/public/assets/{chunk-4BX2VUAB-C13Wz3zS.js → chunk-4BX2VUAB-Hz4JWOf2.js} +1 -1
  95. package/payload/server/public/assets/{chunk-4TB4RGXK-BL48D7gN.js → chunk-4TB4RGXK-4xeV0s85.js} +1 -1
  96. package/payload/server/public/assets/{chunk-55IACEB6-TmOKdy8a.js → chunk-55IACEB6-4QKgBpoh.js} +1 -1
  97. package/payload/server/public/assets/{chunk-5FUZZQ4R-DZ_jSF6N.js → chunk-5FUZZQ4R-ms3K6Z5z.js} +1 -1
  98. package/payload/server/public/assets/{chunk-5PVQY5BW-De4G1vfV.js → chunk-5PVQY5BW-CIC4GIGi.js} +1 -1
  99. package/payload/server/public/assets/{chunk-67CJDMHE-Cif9Uu5C.js → chunk-67CJDMHE-B-XrWVmV.js} +1 -1
  100. package/payload/server/public/assets/{chunk-7N4EOEYR-WjTHCXnd.js → chunk-7N4EOEYR-C7ECOUYQ.js} +1 -1
  101. package/payload/server/public/assets/{chunk-AA7GKIK3-CwCfdQmb.js → chunk-AA7GKIK3-DOZ6Fxwk.js} +1 -1
  102. package/payload/server/public/assets/{chunk-BSJP7CBP-9A67yXwT.js → chunk-BSJP7CBP-4cJ_b0c6.js} +1 -1
  103. package/payload/server/public/assets/{chunk-CIAEETIT-DPMiWSBi.js → chunk-CIAEETIT--mhZipWM.js} +1 -1
  104. package/payload/server/public/assets/{chunk-EDXVE4YY-C2f_Qvx-.js → chunk-EDXVE4YY-jZpVwob_.js} +1 -1
  105. package/payload/server/public/assets/{chunk-ENJZ2VHE-B-Q9EbSQ.js → chunk-ENJZ2VHE-Nn-p-xIA.js} +1 -1
  106. package/payload/server/public/assets/{chunk-FMBD7UC4-Bmt_ZRlV.js → chunk-FMBD7UC4-DyNpcKOS.js} +1 -1
  107. package/payload/server/public/assets/{chunk-FOC6F5B3-DfGJGxpX.js → chunk-FOC6F5B3-C0P8q1uz.js} +1 -1
  108. package/payload/server/public/assets/{chunk-ICPOFSXX-Wyym1Q8K.js → chunk-ICPOFSXX-CdXQ5SfI.js} +2 -2
  109. package/payload/server/public/assets/{chunk-K5T4RW27-DMpoaqw2.js → chunk-K5T4RW27-BVZJKKsT.js} +1 -1
  110. package/payload/server/public/assets/{chunk-KGLVRYIC-DYUFgri2.js → chunk-KGLVRYIC-QlVWTe0V.js} +1 -1
  111. package/payload/server/public/assets/{chunk-LIHQZDEY-x3LmeKmx.js → chunk-LIHQZDEY-CpGVZutP.js} +1 -1
  112. package/payload/server/public/assets/{chunk-ORNJ4GCN-BeuNAWkW.js → chunk-ORNJ4GCN-WVcS6fUC.js} +1 -1
  113. package/payload/server/public/assets/{chunk-OYMX7WX6-BUWVAfQA.js → chunk-OYMX7WX6-B7hiSTed.js} +1 -1
  114. package/payload/server/public/assets/chunk-QZHKN3VN-B2WjDYBE.js +1 -0
  115. package/payload/server/public/assets/{chunk-U2HBQHQK-DKS5adQo.js → chunk-U2HBQHQK-DJPnZxGy.js} +1 -1
  116. package/payload/server/public/assets/{chunk-X2U36JSP-CT_UM4IN.js → chunk-X2U36JSP-DilBs1Yc.js} +1 -1
  117. package/payload/server/public/assets/{chunk-XPW4576I-ByFnN4JO.js → chunk-XPW4576I-B5-uyrJ0.js} +1 -1
  118. package/payload/server/public/assets/{chunk-YZCP3GAM-DCetC20J.js → chunk-YZCP3GAM-BNO4z0Mv.js} +1 -1
  119. package/payload/server/public/assets/{chunk-ZZ45TVLE-Bh1QIv8N.js → chunk-ZZ45TVLE-BzHMQpip.js} +1 -1
  120. package/payload/server/public/assets/classDiagram-6PBFFD2Q-CT3jNrze.js +1 -0
  121. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-DJRsjAkC.js +1 -0
  122. package/payload/server/public/assets/clock-Dr3NGtjR.js +1 -0
  123. package/payload/server/public/assets/clone-FcEDnoMT.js +1 -0
  124. package/payload/server/public/assets/{cose-bilkent-S5V4N54A-DgLEaApT.js → cose-bilkent-S5V4N54A-3DWYmn1o.js} +1 -1
  125. package/payload/server/public/assets/{dagre-unhMIyVo.js → dagre-Cpy31xJW.js} +1 -1
  126. package/payload/server/public/assets/{dagre-KV5264BT-BfkUPrEV.js → dagre-KV5264BT-C8fyxHFd.js} +1 -1
  127. package/payload/server/public/assets/data-BjqC4hyM.js +1 -0
  128. package/payload/server/public/assets/{diagram-5BDNPKRD-BjjwcTD9.js → diagram-5BDNPKRD-ycyhnLvr.js} +1 -1
  129. package/payload/server/public/assets/{diagram-G4DWMVQ6-BbgWtVSS.js → diagram-G4DWMVQ6-BkeYicIt.js} +1 -1
  130. package/payload/server/public/assets/{diagram-MMDJMWI5-DyAnkWGy.js → diagram-MMDJMWI5-BcGZU-Q3.js} +1 -1
  131. package/payload/server/public/assets/{diagram-TYMM5635-SAMMoLxq.js → diagram-TYMM5635-DuBDCFb_.js} +1 -1
  132. package/payload/server/public/assets/{dist-C9D_xz81.js → dist-BYc_arNy.js} +1 -1
  133. package/payload/server/public/assets/{erDiagram-SMLLAGMA-Cvo-5-fD.js → erDiagram-SMLLAGMA-DmkeOzvp.js} +1 -1
  134. package/payload/server/public/assets/{flatten-BXzaHgtL.js → flatten-QjnJ1Gcl.js} +1 -1
  135. package/payload/server/public/assets/{flowDiagram-DWJPFMVM-y3o2Ycld.js → flowDiagram-DWJPFMVM-CkE-pjuB.js} +1 -1
  136. package/payload/server/public/assets/{ganttDiagram-T4ZO3ILL-BEm_CQaK.js → ganttDiagram-T4ZO3ILL-Cjiy3kvE.js} +1 -1
  137. package/payload/server/public/assets/gitGraph-7Q5UKJZL-D1uhnP9U.js +1 -0
  138. package/payload/server/public/assets/{gitGraphDiagram-UUTBAWPF-CqmOxS7F.js → gitGraphDiagram-UUTBAWPF-CsI4lKZm.js} +1 -1
  139. package/payload/server/public/assets/{graph-BLO4nVi3.js → graph-B7niLM97.js} +3 -3
  140. package/payload/server/public/assets/{graph-labels-ibEi7ggo.js → graph-labels-DykmXYHA.js} +1 -1
  141. package/payload/server/public/assets/{graphlib-_HfbQcBf.js → graphlib-BkXxC6D5.js} +1 -1
  142. package/payload/server/public/assets/info-OMHHGYJF-oNm27GAV.js +1 -0
  143. package/payload/server/public/assets/infoDiagram-42DDH7IO-LxTftqyS.js +2 -0
  144. package/payload/server/public/assets/{isEmpty-uB1dEu_Z.js → isEmpty-BavJI9Cn.js} +1 -1
  145. package/payload/server/public/assets/{ishikawaDiagram-UXIWVN3A-C_d0vcZC.js → ishikawaDiagram-UXIWVN3A-D8lZtjRc.js} +1 -1
  146. package/payload/server/public/assets/{journeyDiagram-VCZTEJTY-DsjRBqlW.js → journeyDiagram-VCZTEJTY-kLE7SiR_.js} +1 -1
  147. package/payload/server/public/assets/{kanban-definition-6JOO6SKY-BwtK6LS-.js → kanban-definition-6JOO6SKY-ove6JuD3.js} +1 -1
  148. package/payload/server/public/assets/{line-szBCFOLJ.js → line-CZMSoxM6.js} +1 -1
  149. package/payload/server/public/assets/{linear-X3O7lwK3.js → linear-Be8IK9hK.js} +1 -1
  150. package/payload/server/public/assets/{maximize-2-CezchDEF.js → maximize-2-BbzPm7o8.js} +1 -1
  151. package/payload/server/public/assets/{mermaid-parser.core-BavvMAhU.js → mermaid-parser.core-BBADqbnp.js} +2 -2
  152. package/payload/server/public/assets/{mermaid.core-Br2F9Hdm.js → mermaid.core-mH3N7K0I.js} +3 -3
  153. package/payload/server/public/assets/{mindmap-definition-QFDTVHPH-4qlwXoJ-.js → mindmap-definition-QFDTVHPH-BjwwwWil.js} +1 -1
  154. package/payload/server/public/assets/{operator-B-3vkwO8.js → operator-icJwMkZF.js} +1 -1
  155. package/payload/server/public/assets/{ordinal-CZY9laxg.js → ordinal-BHeIKG-K.js} +1 -1
  156. package/payload/server/public/assets/packet-4T2RLAQJ-eQNVGiK3.js +1 -0
  157. package/payload/server/public/assets/page-DUgrGrJp.js +1 -0
  158. package/payload/server/public/assets/{page-BL1ko2_-.js → page-iG57nKOg.js} +4 -4
  159. package/payload/server/public/assets/{pdf-render-H884L3EI.js → pdf-render-fJz4vym9.js} +1 -1
  160. package/payload/server/public/assets/pie-ZZUOXDRM-E1u-48rt.js +1 -0
  161. package/payload/server/public/assets/{pieDiagram-DEJITSTG-BbXryIg0.js → pieDiagram-DEJITSTG-D-lXWWta.js} +1 -1
  162. package/payload/server/public/assets/{public-DxfSLhNp.js → public-CkOumzpf.js} +1 -1
  163. package/payload/server/public/assets/{quadrantDiagram-34T5L4WZ-BHLjcvh3.js → quadrantDiagram-34T5L4WZ-13QyG_AO.js} +1 -1
  164. package/payload/server/public/assets/radar-PYXPWWZC-Cn2cGN90.js +1 -0
  165. package/payload/server/public/assets/{reduce-BGQzAenn.js → reduce-Fm685to3.js} +1 -1
  166. package/payload/server/public/assets/{requirementDiagram-MS252O5E-BXaVO0lk.js → requirementDiagram-MS252O5E-Bx45Bgn4.js} +1 -1
  167. package/payload/server/public/assets/{rotate-ccw-CWvGAut4.js → rotate-ccw-L42fL8ey.js} +1 -1
  168. package/payload/server/public/assets/routines-JOV6xdYh.js +1 -0
  169. package/payload/server/public/assets/{sankeyDiagram-XADWPNL6-CmN1s17Q.js → sankeyDiagram-XADWPNL6-Cj-Gq25v.js} +1 -1
  170. package/payload/server/public/assets/{sequenceDiagram-FGHM5R23-DC08e5NY.js → sequenceDiagram-FGHM5R23-B8RDRq93.js} +1 -1
  171. package/payload/server/public/assets/{src-BTKk8KAG.js → src-D3VYuW_Z.js} +1 -1
  172. package/payload/server/public/assets/{stateDiagram-FHFEXIEX-DnoQMuOW.js → stateDiagram-FHFEXIEX-DoyFF1Kl.js} +1 -1
  173. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-Bml-X4-H.js +1 -0
  174. package/payload/server/public/assets/{tasks-DlXIN3v3.js → tasks-GNtvZL8F.js} +1 -1
  175. package/payload/server/public/assets/{time-entry-format-VzHwljTv.js → time-entry-format-BreNpFLJ.js} +1 -1
  176. package/payload/server/public/assets/{timeline-definition-GMOUNBTQ-eTn3uRaH.js → timeline-definition-GMOUNBTQ-Df4RQXm6.js} +1 -1
  177. package/payload/server/public/assets/treeView-SZITEDCU-CimabhXy.js +1 -0
  178. package/payload/server/public/assets/treemap-W4RFUUIX-Cg264rpM.js +1 -0
  179. package/payload/server/public/assets/{triangle-alert-C5BpoPlq.js → triangle-alert-DumCWC08.js} +1 -1
  180. package/payload/server/public/assets/{useCopyFeedback-h1qT8mpZ.js → useCopyFeedback-DHCtz8qX.js} +1 -1
  181. package/payload/server/public/assets/{useSubAccountSwitcher-DDStL7Nt.js → useSubAccountSwitcher-Bc7XHr0L.js} +2 -2
  182. package/payload/server/public/assets/useSubAccountSwitcher-DPHQJO7E.css +1 -0
  183. package/payload/server/public/assets/{useVoiceRecorder-kqMitFlk.js → useVoiceRecorder-Cu6zvuFx.js} +2 -2
  184. package/payload/server/public/assets/{vennDiagram-DHZGUBPP-DNx6o_ZQ.js → vennDiagram-DHZGUBPP-D2o5og9l.js} +1 -1
  185. package/payload/server/public/assets/wardley-RL74JXVD-tbgfCg0E.js +1 -0
  186. package/payload/server/public/assets/{wardleyDiagram-NUSXRM2D-BZOchqF3.js → wardleyDiagram-NUSXRM2D-BDueObbS.js} +1 -1
  187. package/payload/server/public/assets/wrench-iWkROE1V.js +1 -0
  188. package/payload/server/public/assets/{xychartDiagram-5P7HB3ND-ZBEGH6ZI.js → xychartDiagram-5P7HB3ND-BTYs4Fgh.js} +1 -1
  189. package/payload/server/public/browser.html +5 -5
  190. package/payload/server/public/calendar.html +8 -7
  191. package/payload/server/public/chat.html +15 -15
  192. package/payload/server/public/data.html +12 -12
  193. package/payload/server/public/graph.html +10 -11
  194. package/payload/server/public/index.html +16 -17
  195. package/payload/server/public/operator.html +16 -16
  196. package/payload/server/public/public.html +15 -15
  197. package/payload/server/public/routines.html +20 -0
  198. package/payload/server/public/tasks.html +7 -7
  199. package/payload/server/server.js +417 -203
  200. package/payload/server/public/assets/AdminShell-ClIT8c0K.js +0 -2
  201. package/payload/server/public/assets/admin-BHiA9_Ks.js +0 -1
  202. package/payload/server/public/assets/architecture-YZFGNWBL-Cypt5qHL.js +0 -1
  203. package/payload/server/public/assets/calendar-D45S_aal.js +0 -1
  204. package/payload/server/public/assets/channel-BMyXE4zc.js +0 -1
  205. package/payload/server/public/assets/chat-gy8scQov.js +0 -1
  206. package/payload/server/public/assets/chevron-down-CdxvexgY.js +0 -1
  207. package/payload/server/public/assets/chevron-left-D5LLz6ke.js +0 -1
  208. package/payload/server/public/assets/chevron-right-DzPmwDew.js +0 -1
  209. package/payload/server/public/assets/chunk-426QAEUC-Xu6JKP4d.js +0 -1
  210. package/payload/server/public/assets/chunk-QZHKN3VN-7_kS3RBy.js +0 -1
  211. package/payload/server/public/assets/classDiagram-6PBFFD2Q-DJqbNcuC.js +0 -1
  212. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-CGglqfQA.js +0 -1
  213. package/payload/server/public/assets/clone-BiTMTzp_.js +0 -1
  214. package/payload/server/public/assets/data-CUsNHUpu.js +0 -1
  215. package/payload/server/public/assets/gitGraph-7Q5UKJZL-C_-XjxLd.js +0 -1
  216. package/payload/server/public/assets/info-OMHHGYJF-BH8yDCfL.js +0 -1
  217. package/payload/server/public/assets/infoDiagram-42DDH7IO-DyDXyJ6U.js +0 -2
  218. package/payload/server/public/assets/packet-4T2RLAQJ-Bajcns4r.js +0 -1
  219. package/payload/server/public/assets/page-BbxoY4QI.js +0 -1
  220. package/payload/server/public/assets/pie-ZZUOXDRM-D7hjM5w1.js +0 -1
  221. package/payload/server/public/assets/radar-PYXPWWZC-B46d5x7a.js +0 -1
  222. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-CrstH34p.js +0 -1
  223. package/payload/server/public/assets/treeView-SZITEDCU-3XQh5xQ1.js +0 -1
  224. package/payload/server/public/assets/treemap-W4RFUUIX-DwR-_l5z.js +0 -1
  225. package/payload/server/public/assets/useSubAccountSwitcher-DnfX9Uxe.css +0 -1
  226. package/payload/server/public/assets/wardley-RL74JXVD-DZp9oCGv.js +0 -1
  227. /package/payload/server/public/assets/{_baseFor-CMWvz0uA.js → _baseFor-Bvwvhrz4.js} +0 -0
  228. /package/payload/server/public/assets/{array-Cny_NT6T.js → array-D3d-WgFW.js} +0 -0
  229. /package/payload/server/public/assets/{chunk-TPjIAO9U.js → chunk-fQC6bEKA.js} +0 -0
  230. /package/payload/server/public/assets/{cytoscape.esm-De0CCmB2.js → cytoscape.esm-Cun-OM6a.js} +0 -0
  231. /package/payload/server/public/assets/{defaultLocale-BahRht8U.js → defaultLocale-CisKV5Ew.js} +0 -0
  232. /package/payload/server/public/assets/{init-DoIvjoJ_.js → init-D9ZOVaZ3.js} +0 -0
  233. /package/payload/server/public/assets/{katex-Bfn1OZEl.js → katex-C-3ZDK8o.js} +0 -0
  234. /package/payload/server/public/assets/{path-CTezU8L5.js → path-BMOgQSLM.js} +0 -0
  235. /package/payload/server/public/assets/{preload-helper-D_sPnjeL.js → preload-helper-DL2DwvxV.js} +0 -0
  236. /package/payload/server/public/assets/{rough.esm-BJo4pvXu.js → rough.esm-BrTFrov0.js} +0 -0
@@ -0,0 +1,84 @@
1
+ // @vitest-environment node
2
+ import { describe, it, expect } from "vitest";
3
+ import { isWithinWindow, decideSweepAction, } from "../dream-cycle-sweep-decision.js";
4
+ const WINDOW_MS = 24 * 60 * 60 * 1000;
5
+ const NOW = Date.parse("2026-07-24T12:00:00.000Z");
6
+ describe("isWithinWindow", () => {
7
+ it("is true for a report inside the window", () => {
8
+ const iso = new Date(NOW - 1 * 60 * 60 * 1000).toISOString(); // 1h ago
9
+ expect(isWithinWindow(iso, NOW, WINDOW_MS)).toBe(true);
10
+ });
11
+ it("is false for a report older than the window", () => {
12
+ const iso = new Date(NOW - 25 * 60 * 60 * 1000).toISOString(); // 25h ago
13
+ expect(isWithinWindow(iso, NOW, WINDOW_MS)).toBe(false);
14
+ });
15
+ it("is false when there is no prior report", () => {
16
+ expect(isWithinWindow(null, NOW, WINDOW_MS)).toBe(false);
17
+ });
18
+ it("is false for an unparseable timestamp", () => {
19
+ expect(isWithinWindow("not-a-date", NOW, WINDOW_MS)).toBe(false);
20
+ });
21
+ it("treats a report exactly at the window edge as outside", () => {
22
+ const iso = new Date(NOW - WINDOW_MS).toISOString();
23
+ expect(isWithinWindow(iso, NOW, WINDOW_MS)).toBe(false);
24
+ });
25
+ });
26
+ describe("decideSweepAction", () => {
27
+ const STALE = new Date(NOW - 25 * 60 * 60 * 1000).toISOString();
28
+ it("skips within-window when the latest report is fresh (graph/parent state ignored)", () => {
29
+ const iso = new Date(NOW - 60_000).toISOString();
30
+ expect(decideSweepAction({
31
+ latestReportIso: iso,
32
+ nowMs: NOW,
33
+ windowMs: WINDOW_MS,
34
+ hasGraph: false,
35
+ canPersistReport: false,
36
+ })).toEqual({ action: "skip", reason: "within-window" });
37
+ });
38
+ it("runs when stale, graph non-empty, and a report parent exists", () => {
39
+ expect(decideSweepAction({
40
+ latestReportIso: STALE,
41
+ nowMs: NOW,
42
+ windowMs: WINDOW_MS,
43
+ hasGraph: true,
44
+ canPersistReport: true,
45
+ })).toEqual({ action: "run" });
46
+ });
47
+ it("runs when there is no prior report, graph non-empty, parent present", () => {
48
+ expect(decideSweepAction({
49
+ latestReportIso: null,
50
+ nowMs: NOW,
51
+ windowMs: WINDOW_MS,
52
+ hasGraph: true,
53
+ canPersistReport: true,
54
+ })).toEqual({ action: "run" });
55
+ });
56
+ it("skips no-graph when the account graph is empty (regardless of parent)", () => {
57
+ expect(decideSweepAction({
58
+ latestReportIso: STALE,
59
+ nowMs: NOW,
60
+ windowMs: WINDOW_MS,
61
+ hasGraph: false,
62
+ canPersistReport: true,
63
+ })).toEqual({ action: "skip", reason: "no-graph" });
64
+ });
65
+ it("skips no-report-parent when the graph is non-empty but no :AdminUser can parent a :Report", () => {
66
+ expect(decideSweepAction({
67
+ latestReportIso: STALE,
68
+ nowMs: NOW,
69
+ windowMs: WINDOW_MS,
70
+ hasGraph: true,
71
+ canPersistReport: false,
72
+ })).toEqual({ action: "skip", reason: "no-report-parent" });
73
+ });
74
+ it("no-graph takes precedence over no-report-parent when both are absent", () => {
75
+ expect(decideSweepAction({
76
+ latestReportIso: null,
77
+ nowMs: NOW,
78
+ windowMs: WINDOW_MS,
79
+ hasGraph: false,
80
+ canPersistReport: false,
81
+ })).toEqual({ action: "skip", reason: "no-graph" });
82
+ });
83
+ });
84
+ //# sourceMappingURL=dream-cycle-sweep-decision.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dream-cycle-sweep-decision.test.js","sourceRoot":"","sources":["../../../src/scripts/__tests__/dream-cycle-sweep-decision.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Dream-cycle sweep throttle policy (Task 1944) — pure, so it is tested
3
+ * without a Neo4j session.
4
+ *
5
+ * The sweep runs the seven dream-cycle phases per account at most once per
6
+ * cadence window. The window is evaluated from graph state, not from a
7
+ * bookkeeping file: the most-recent dream-cycle `:Report` for the account is
8
+ * the only cursor, so a frequent server tick is idempotent (a tick that finds
9
+ * every account fresh does no phase work).
10
+ *
11
+ * Four outcomes, matching the sweep's observability vocabulary:
12
+ * - run stale (or never swept), graph non-empty, report parent present
13
+ * - skip within-window a dream-cycle report exists inside the window
14
+ * - skip no-graph the account graph holds no nodes to sweep
15
+ * - skip no-report-parent the account has no :AdminUser to parent a :Report, so a
16
+ * run could not persist its throttle cursor and would repeat
17
+ * every tick (a provisioned-but-pre-PIN account). Skipping it
18
+ * keeps the tick idempotent.
19
+ */
20
+ export type SweepDecision = {
21
+ action: "run";
22
+ } | {
23
+ action: "skip";
24
+ reason: "within-window" | "no-graph" | "no-report-parent";
25
+ };
26
+ /**
27
+ * True iff `latestReportIso` is a parseable timestamp strictly newer than
28
+ * `nowMs - windowMs`. A null (never swept) or unparseable value is not within
29
+ * the window. The window edge is exclusive: a report exactly `windowMs` old is
30
+ * outside, so the sweep runs again at the cadence boundary rather than one tick
31
+ * late.
32
+ */
33
+ export declare function isWithinWindow(latestReportIso: string | null, nowMs: number, windowMs: number): boolean;
34
+ /**
35
+ * The whole per-account throttle policy. Window freshness wins first, so
36
+ * `hasGraph` and `canPersistReport` are only consulted for a stale (or
37
+ * never-swept) account — which is why the caller may skip the graph-existence
38
+ * and admin-parent queries on the common in-window path and still get a correct
39
+ * decision here.
40
+ *
41
+ * `canPersistReport` is whether the account has an `:AdminUser` for
42
+ * `memory-report-write` to parent the run's `:Report` onto. Without it the run
43
+ * would execute the phases but fail to write the `:Report`, so the next tick
44
+ * would see no cursor and run again — the sweep would repeat every tick. A
45
+ * parent-less account is therefore skipped, not run.
46
+ */
47
+ export declare function decideSweepAction(input: {
48
+ latestReportIso: string | null;
49
+ nowMs: number;
50
+ windowMs: number;
51
+ hasGraph: boolean;
52
+ canPersistReport: boolean;
53
+ }): SweepDecision;
54
+ //# sourceMappingURL=dream-cycle-sweep-decision.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dream-cycle-sweep-decision.d.ts","sourceRoot":"","sources":["../../src/scripts/dream-cycle-sweep-decision.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,MAAM,aAAa,GACrB;IAAE,MAAM,EAAE,KAAK,CAAA;CAAE,GACjB;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,eAAe,GAAG,UAAU,GAAG,kBAAkB,CAAA;CAAE,CAAC;AAElF;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,eAAe,EAAE,MAAM,GAAG,IAAI,EAC9B,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,GACf,OAAO,CAKT;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE;IACvC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,gBAAgB,EAAE,OAAO,CAAC;CAC3B,GAAG,aAAa,CAOhB"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Dream-cycle sweep throttle policy (Task 1944) — pure, so it is tested
3
+ * without a Neo4j session.
4
+ *
5
+ * The sweep runs the seven dream-cycle phases per account at most once per
6
+ * cadence window. The window is evaluated from graph state, not from a
7
+ * bookkeeping file: the most-recent dream-cycle `:Report` for the account is
8
+ * the only cursor, so a frequent server tick is idempotent (a tick that finds
9
+ * every account fresh does no phase work).
10
+ *
11
+ * Four outcomes, matching the sweep's observability vocabulary:
12
+ * - run stale (or never swept), graph non-empty, report parent present
13
+ * - skip within-window a dream-cycle report exists inside the window
14
+ * - skip no-graph the account graph holds no nodes to sweep
15
+ * - skip no-report-parent the account has no :AdminUser to parent a :Report, so a
16
+ * run could not persist its throttle cursor and would repeat
17
+ * every tick (a provisioned-but-pre-PIN account). Skipping it
18
+ * keeps the tick idempotent.
19
+ */
20
+ /**
21
+ * True iff `latestReportIso` is a parseable timestamp strictly newer than
22
+ * `nowMs - windowMs`. A null (never swept) or unparseable value is not within
23
+ * the window. The window edge is exclusive: a report exactly `windowMs` old is
24
+ * outside, so the sweep runs again at the cadence boundary rather than one tick
25
+ * late.
26
+ */
27
+ export function isWithinWindow(latestReportIso, nowMs, windowMs) {
28
+ if (latestReportIso === null)
29
+ return false;
30
+ const t = Date.parse(latestReportIso);
31
+ if (!Number.isFinite(t))
32
+ return false;
33
+ return nowMs - t < windowMs;
34
+ }
35
+ /**
36
+ * The whole per-account throttle policy. Window freshness wins first, so
37
+ * `hasGraph` and `canPersistReport` are only consulted for a stale (or
38
+ * never-swept) account — which is why the caller may skip the graph-existence
39
+ * and admin-parent queries on the common in-window path and still get a correct
40
+ * decision here.
41
+ *
42
+ * `canPersistReport` is whether the account has an `:AdminUser` for
43
+ * `memory-report-write` to parent the run's `:Report` onto. Without it the run
44
+ * would execute the phases but fail to write the `:Report`, so the next tick
45
+ * would see no cursor and run again — the sweep would repeat every tick. A
46
+ * parent-less account is therefore skipped, not run.
47
+ */
48
+ export function decideSweepAction(input) {
49
+ if (isWithinWindow(input.latestReportIso, input.nowMs, input.windowMs)) {
50
+ return { action: "skip", reason: "within-window" };
51
+ }
52
+ if (!input.hasGraph)
53
+ return { action: "skip", reason: "no-graph" };
54
+ if (!input.canPersistReport)
55
+ return { action: "skip", reason: "no-report-parent" };
56
+ return { action: "run" };
57
+ }
58
+ //# sourceMappingURL=dream-cycle-sweep-decision.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dream-cycle-sweep-decision.js","sourceRoot":"","sources":["../../src/scripts/dream-cycle-sweep-decision.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAMH;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAC5B,eAA8B,EAC9B,KAAa,EACb,QAAgB;IAEhB,IAAI,eAAe,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC3C,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IACtC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACtC,OAAO,KAAK,GAAG,CAAC,GAAG,QAAQ,CAAC;AAC9B,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAMjC;IACC,IAAI,cAAc,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;IACrD,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,QAAQ;QAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IACnE,IAAI,CAAC,KAAK,CAAC,gBAAgB;QAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;IACnF,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AAC3B,CAAC"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Scheduled dream-cycle sweep (Task 1944).
3
+ *
4
+ * Runs the existing seven deterministic dream-cycle phases against every
5
+ * account on the install, once per account per cadence window (~24h), with no
6
+ * operator action. Task 327 shipped the sweep operator-initiated only and named
7
+ * this scheduling layer as its follow-up; this binary is that layer.
8
+ *
9
+ * It is self-contained like plugins/email/mcp/scripts/sent-copy-sweep.js and
10
+ * plugins/scheduling/mcp/scripts/reconcile-bookings.js: the Pi has no other
11
+ * periodic surface, so the always-running platform/ui server spawns it on an
12
+ * interval (see platform/ui/server/index.ts, the dream-cycle-sweep loop next to
13
+ * calendar-reconcile). A PID lock prevents overlapping runs. stdio is inherited
14
+ * so its [dream-cycle-sweep] and the phase runner's [dream-cycle] lines land in
15
+ * the brand journal.
16
+ *
17
+ * The per-account 24h throttle is read from graph state, not a bookkeeping
18
+ * file: an account whose most-recent dream-cycle :Report is inside the window is
19
+ * skipped. This makes the frequent server tick idempotent without a scheduler
20
+ * entry (decideSweepAction, dream-cycle-sweep-decision.ts). The seven phases and
21
+ * the :Report write are the existing memoryDreamRun orchestrator; this script
22
+ * only enumerates, throttles, and calls it.
23
+ *
24
+ * Deterministic end to end: no LLM, no API, no channel, no agent turn, no Claude
25
+ * credential. The noisy, opt-in, mailbox-dependent half is Task 1945.
26
+ *
27
+ * PLATFORM_ROOT=... NEO4J_URI=... node dist/scripts/dream-cycle-sweep.js
28
+ */
29
+ export {};
30
+ //# sourceMappingURL=dream-cycle-sweep.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dream-cycle-sweep.d.ts","sourceRoot":"","sources":["../../src/scripts/dream-cycle-sweep.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG"}
@@ -0,0 +1,204 @@
1
+ /**
2
+ * Scheduled dream-cycle sweep (Task 1944).
3
+ *
4
+ * Runs the existing seven deterministic dream-cycle phases against every
5
+ * account on the install, once per account per cadence window (~24h), with no
6
+ * operator action. Task 327 shipped the sweep operator-initiated only and named
7
+ * this scheduling layer as its follow-up; this binary is that layer.
8
+ *
9
+ * It is self-contained like plugins/email/mcp/scripts/sent-copy-sweep.js and
10
+ * plugins/scheduling/mcp/scripts/reconcile-bookings.js: the Pi has no other
11
+ * periodic surface, so the always-running platform/ui server spawns it on an
12
+ * interval (see platform/ui/server/index.ts, the dream-cycle-sweep loop next to
13
+ * calendar-reconcile). A PID lock prevents overlapping runs. stdio is inherited
14
+ * so its [dream-cycle-sweep] and the phase runner's [dream-cycle] lines land in
15
+ * the brand journal.
16
+ *
17
+ * The per-account 24h throttle is read from graph state, not a bookkeeping
18
+ * file: an account whose most-recent dream-cycle :Report is inside the window is
19
+ * skipped. This makes the frequent server tick idempotent without a scheduler
20
+ * entry (decideSweepAction, dream-cycle-sweep-decision.ts). The seven phases and
21
+ * the :Report write are the existing memoryDreamRun orchestrator; this script
22
+ * only enumerates, throttles, and calls it.
23
+ *
24
+ * Deterministic end to end: no LLM, no API, no channel, no agent turn, no Claude
25
+ * credential. The noisy, opt-in, mailbox-dependent half is Task 1945.
26
+ *
27
+ * PLATFORM_ROOT=... NEO4J_URI=... node dist/scripts/dream-cycle-sweep.js
28
+ */
29
+ import { readFileSync, writeFileSync, existsSync, unlinkSync, mkdirSync } from "node:fs";
30
+ import { resolve } from "node:path";
31
+ import { homedir } from "node:os";
32
+ import { enumerateValidAccountIds } from "../../../../../lib/account-enumeration/dist/index.js";
33
+ import { getSession, closeDriver } from "../lib/neo4j.js";
34
+ import { memoryDreamRun } from "../tools/memory-dream-run.js";
35
+ import { decideSweepAction, isWithinWindow } from "./dream-cycle-sweep-decision.js";
36
+ /** Cadence: run each account's sweep at most once per 24h. The server ticks
37
+ * more often (hourly); this window, evaluated from the latest :Report, is what
38
+ * enforces the real spacing, so a tick that finds every account fresh does no
39
+ * phase work. */
40
+ const WINDOW_MS = 24 * 60 * 60 * 1000;
41
+ /** All seven phases, explicit rather than relying on memoryDreamRun's default,
42
+ * so the scheduled sweep's scope is unambiguous at the call site. */
43
+ const ALL_PHASES = [1, 2, 3, 4, 5, 6, 7];
44
+ function resolveConfigDir() {
45
+ const platformRoot = process.env.PLATFORM_ROOT;
46
+ if (!platformRoot)
47
+ throw new Error("PLATFORM_ROOT environment variable is required");
48
+ const brandPath = resolve(platformRoot, "config", "brand.json");
49
+ if (!existsSync(brandPath))
50
+ throw new Error(`brand.json not found at ${brandPath}`);
51
+ const brand = JSON.parse(readFileSync(brandPath, "utf-8"));
52
+ if (!brand.configDir)
53
+ throw new Error(`brand.json at ${brandPath} is missing configDir`);
54
+ return resolve(homedir(), brand.configDir);
55
+ }
56
+ const CONFIG_DIR = resolveConfigDir();
57
+ const LOCK_FILE = resolve(CONFIG_DIR, "dream-cycle-sweep.lock");
58
+ function acquireLock() {
59
+ mkdirSync(CONFIG_DIR, { recursive: true });
60
+ if (existsSync(LOCK_FILE)) {
61
+ const storedPid = readFileSync(LOCK_FILE, "utf-8").trim();
62
+ try {
63
+ process.kill(Number(storedPid), 0);
64
+ return false; // a run is in progress
65
+ }
66
+ catch {
67
+ unlinkSync(LOCK_FILE); // stale
68
+ }
69
+ }
70
+ writeFileSync(LOCK_FILE, String(process.pid));
71
+ return true;
72
+ }
73
+ function releaseLock() {
74
+ try {
75
+ if (existsSync(LOCK_FILE) && readFileSync(LOCK_FILE, "utf-8").trim() === String(process.pid)) {
76
+ unlinkSync(LOCK_FILE);
77
+ }
78
+ }
79
+ catch {
80
+ /* best effort */
81
+ }
82
+ }
83
+ /** Most-recent dream-cycle :Report timestamp for the account, ISO or null.
84
+ * The keyword is the same one memory-dream-run stamps (["dream-cycle"]). */
85
+ async function latestDreamReportIso(accountId) {
86
+ const session = getSession();
87
+ try {
88
+ const res = await session.run(`MATCH (r:Report)
89
+ WHERE r.accountId = $accountId AND 'dream-cycle' IN r.keywords
90
+ RETURN toString(r.occurredAt) AS occurredAt
91
+ ORDER BY r.occurredAt DESC LIMIT 1`, { accountId });
92
+ const val = res.records[0]?.get("occurredAt");
93
+ return typeof val === "string" && val.length > 0 ? val : null;
94
+ }
95
+ finally {
96
+ await session.close();
97
+ }
98
+ }
99
+ /** True iff any node carries this accountId. A brand-new account with an empty
100
+ * graph has nothing to sweep and is skipped (op=skip reason=no-graph) rather
101
+ * than run through seven no-op phases. */
102
+ async function accountHasGraph(accountId) {
103
+ const session = getSession();
104
+ try {
105
+ const res = await session.run(`MATCH (n {accountId: $accountId}) RETURN n LIMIT 1`, { accountId });
106
+ return res.records.length > 0;
107
+ }
108
+ finally {
109
+ await session.close();
110
+ }
111
+ }
112
+ /** True iff the account has an `:AdminUser` for `memory-report-write` to parent
113
+ * the run's `:Report` onto. Without it a run executes the phases but throws on
114
+ * the report write (memory-report-write.ts "no parent resolved"), leaving no
115
+ * throttle cursor so the next tick runs again — the sweep would repeat every
116
+ * tick and log op=error each time. A provisioned-but-pre-PIN account is in this
117
+ * state (seeded :LocalBusiness makes accountHasGraph true, but no :AdminUser is
118
+ * stamped until the owner identity is set). Such accounts are skipped. */
119
+ async function accountCanPersistReport(accountId) {
120
+ const session = getSession();
121
+ try {
122
+ const res = await session.run(`MATCH (au:AdminUser {accountId: $accountId}) RETURN au LIMIT 1`, { accountId });
123
+ return res.records.length > 0;
124
+ }
125
+ finally {
126
+ await session.close();
127
+ }
128
+ }
129
+ async function sweepAccount(accountId, nowMs) {
130
+ const a8 = accountId.slice(0, 8);
131
+ const latestReportIso = await latestDreamReportIso(accountId);
132
+ // Hot path: an in-window account is skipped without the graph-existence or
133
+ // admin-parent queries. The final decision is still made by decideSweepAction,
134
+ // which also checks the window, so the two can never disagree. On the cold
135
+ // path both preconditions are read before deciding.
136
+ const withinWindow = isWithinWindow(latestReportIso, nowMs, WINDOW_MS);
137
+ const hasGraph = withinWindow ? true : await accountHasGraph(accountId);
138
+ const canPersistReport = withinWindow || !hasGraph ? true : await accountCanPersistReport(accountId);
139
+ const decision = decideSweepAction({
140
+ latestReportIso,
141
+ nowMs,
142
+ windowMs: WINDOW_MS,
143
+ hasGraph,
144
+ canPersistReport,
145
+ });
146
+ if (decision.action === "skip") {
147
+ console.error(`[dream-cycle-sweep] op=skip accountId=${a8} reason=${decision.reason} ` +
148
+ `lastReport=${latestReportIso ?? "none"}`);
149
+ return;
150
+ }
151
+ const result = await memoryDreamRun({
152
+ accountId,
153
+ operatorId: "dream-cycle-sweep",
154
+ phases: ALL_PHASES,
155
+ });
156
+ // ranPhases = phases attempted this run (phasesRun), so the line is stable
157
+ // whether or not an individual phase threw; a phase that errored is recorded
158
+ // by memoryDreamRun's own [dream-cycle:phase-<n>:error] line.
159
+ console.error(`[dream-cycle-sweep] op=run accountId=${a8} ranPhases=${result.phasesRun.length} ` +
160
+ `reportId=${result.reportId.slice(0, 8)}`);
161
+ }
162
+ async function main() {
163
+ if (!acquireLock()) {
164
+ console.error("[dream-cycle-sweep] another run holds the lock — exiting");
165
+ return;
166
+ }
167
+ try {
168
+ const platformRoot = process.env.PLATFORM_ROOT;
169
+ if (!platformRoot)
170
+ throw new Error("PLATFORM_ROOT is not set");
171
+ const accountsDir = resolve(platformRoot, "..", "data/accounts");
172
+ const accountIds = existsSync(accountsDir) ? enumerateValidAccountIds(accountsDir) : [];
173
+ if (accountIds.length === 0) {
174
+ console.error("[dream-cycle-sweep] op=skip reason=no-accounts");
175
+ return;
176
+ }
177
+ const nowMs = Date.now();
178
+ for (const accountId of accountIds) {
179
+ try {
180
+ await sweepAccount(accountId, nowMs);
181
+ }
182
+ catch (err) {
183
+ // One account's driver/session/phase failure does not abort the sweep;
184
+ // the next account still runs. memoryDreamRun already isolates a single
185
+ // phase throw ([dream-cycle:phase-<n>:error]); this catches the coarser
186
+ // per-account failure (e.g. a session that cannot open).
187
+ console.error(`[dream-cycle-sweep] op=error accountId=${accountId.slice(0, 8)} err="${err instanceof Error ? err.message : String(err)}"`);
188
+ }
189
+ }
190
+ console.error(`[dream-cycle-sweep] done: ${accountIds.length} accounts`);
191
+ }
192
+ finally {
193
+ await closeDriver();
194
+ releaseLock();
195
+ }
196
+ }
197
+ main()
198
+ .then(() => process.exit(0))
199
+ .catch((err) => {
200
+ console.error(`[dream-cycle-sweep] fatal err="${err instanceof Error ? err.message : String(err)}"`);
201
+ releaseLock();
202
+ process.exit(1);
203
+ });
204
+ //# sourceMappingURL=dream-cycle-sweep.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dream-cycle-sweep.js","sourceRoot":"","sources":["../../src/scripts/dream-cycle-sweep.ts"],"names":[],"mappings":"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"}
@@ -140,6 +140,36 @@ describe("conversation-archive-derive-insights — runtime", () => {
140
140
  expect(result.proposals[0].kind).toBe("preference");
141
141
  expect(result.invalidClaims).toBe(2);
142
142
  });
143
+ it("returns a proposal for a valid note claim and drops a note with no body", async () => {
144
+ mockSession.run.mockResolvedValueOnce({
145
+ records: [{ get: (k) => (k === "eid" ? "4:CHUNK:1" : null) }],
146
+ });
147
+ const result = await conversationArchiveDeriveInsights({
148
+ accountId: "acct",
149
+ archiveElementId: "4:ARCH:1",
150
+ chunkElementId: "4:CHUNK:1",
151
+ claims: [
152
+ {
153
+ kind: "note",
154
+ evidenceSnippet: "prefers the north car park entrance for viewings",
155
+ subject: null,
156
+ object: null,
157
+ payload: { noteBody: "Client prefers the north car park entrance for viewings." },
158
+ },
159
+ // missing noteBody — invalid note, must drop
160
+ { kind: "note", evidenceSnippet: "abc", subject: null, object: null, payload: {} },
161
+ ],
162
+ });
163
+ expect(result.proposals).toHaveLength(1);
164
+ expect(result.invalidClaims).toBe(1);
165
+ const p = result.proposals[0];
166
+ expect(p.kind).toBe("note");
167
+ expect(p.disambiguation).toBeNull();
168
+ expect(p.mergeCypher).toMatch(/MERGE \(n:Note \{ accountId: \$accountId, contentHash: \$contentHash \}\)/);
169
+ expect(p.mergeCypher).toMatch(/MERGE \(n\)-\[:OBSERVED_IN\]->\(c\)/);
170
+ expect(p.mergeParams.noteBody).toBe("Client prefers the north car park entrance for viewings.");
171
+ expect(p.mergeParams.accountId).toBe("acct");
172
+ });
143
173
  it("filters proposals matching a recorded rejection (chunkElementId, kind, contentHash)", async () => {
144
174
  // Archive membership check passes.
145
175
  mockSession.run.mockResolvedValueOnce({
@@ -1 +1 @@
1
- {"version":3,"file":"conversation-archive-derive-insights.test.js","sourceRoot":"","sources":["../../../src/tools/__tests__/conversation-archive-derive-insights.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conversation-archive-derive-insights.test.js","sourceRoot":"","sources":["../../../src/tools/__tests__/conversation-archive-derive-insights.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AACzE,OAAO,EACL,WAAW,EACX,SAAS,EACT,MAAM,EACN,aAAa,EACb,YAAY,GACb,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,WAAW,GAAG;IAClB,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;IACZ,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC;CAC5C,CAAC;AAEF,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,GAAG,EAAE,CAAC,CAAC;IACnC,UAAU,EAAE,GAAG,EAAE,CAAC,WAAW;CAC9B,CAAC,CAAC,CAAC;AAEJ,EAAE,CAAC,IAAI,CAAC,yBAAyB,EAAE,GAAG,EAAE,CAAC,CAAC;IACxC,cAAc,EAAE,KAAK,EAAK,KAAc,EAAE,IAAsB,EAAc,EAAE,CAAC,IAAI,EAAE;CACxF,CAAC,CAAC,CAAC;AAEJ,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACtC,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAC1D,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;AACzD,MAAM,WAAW,GAAG,OAAO,CAAC,YAAY,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;AAC7D,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,EAAE,mDAAmD,CAAC,CAAC;AAC7F,MAAM,cAAc,GAAG,OAAO,CAAC,YAAY,EAAE,+CAA+C,CAAC,CAAC;AAE9F,QAAQ,CAAC,qDAAqD,EAAE,GAAG,EAAE;IACnE,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,MAAM,GAAG,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC9C,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CACnB,+DAA+D,CAChE,CAAC;QACF,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CACnB,mEAAmE,CACpE,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,MAAM,GAAG,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAClD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,gDAAgD,CAAC,CAAC;QACzE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,oDAAoD,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,GAAG,GAAG,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC7C,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACxC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;QAChD,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iEAAiE,EAAE,GAAG,EAAE;QACzE,MAAM,GAAG,GAAG,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC7C,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;QAChD,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iEAAiE,EAAE,GAAG,EAAE;QACzE,MAAM,GAAG,GAAG,YAAY,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QAClD,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC;QACrD,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;QAClD,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,gDAAgD,EAAE,GAAG,EAAE;IAC9D,IAAI,UAAkB,CAAC;IACvB,IAAI,gBAAoC,CAAC;IACzC,IAAI,iCAAqI,CAAC;IAE1I,UAAU,CAAC,KAAK,IAAI,EAAE;QACpB,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC;QAC5D,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,aAAa,GAAG,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAC5D,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAC5B,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;QAC9B,EAAE,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,4CAA4C,CAAC,CAAC;QACvE,iCAAiC,GAAG,GAAG,CAAC,iCAAiC,CAAC;IAC5E,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,gBAAgB,KAAK,SAAS;YAAE,OAAO,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;;YAChE,OAAO,CAAC,GAAG,CAAC,aAAa,GAAG,gBAAgB,CAAC;QAClD,MAAM,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;QACrF,WAAW,CAAC,GAAG,CAAC,qBAAqB,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QACvD,MAAM,MAAM,CACV,iCAAiC,CAAC;YAChC,SAAS,EAAE,MAAM;YACjB,gBAAgB,EAAE,UAAU;YAC5B,cAAc,EAAE,YAAY;YAC5B,MAAM,EAAE,EAAE;SACX,CAAC,CACH,CAAC,OAAO,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;QAC3D,WAAW,CAAC,GAAG,CAAC,qBAAqB,CAAC;YACpC,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;SACtE,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,iCAAiC,CAAC;YACrD,SAAS,EAAE,MAAM;YACjB,gBAAgB,EAAE,UAAU;YAC5B,cAAc,EAAE,WAAW;YAC3B,MAAM,EAAE;gBACN;oBACE,IAAI,EAAE,SAAS;oBACf,eAAe,EAAE,yBAAyB;oBAC1C,OAAO,EAAE,aAAa;oBACtB,MAAM,EAAE,IAAI;oBACZ,OAAO,EAAE,EAAE;iBACZ;aACF;SACF,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACzC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAClD,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC9D,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,IAAI,CAC/E,aAAa,CACd,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;QAC7E,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QAC/D,WAAW,CAAC,GAAG,CAAC,qBAAqB,CAAC;YACpC,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;SACtE,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,iCAAiC,CAAC;YACrD,SAAS,EAAE,MAAM;YACjB,gBAAgB,EAAE,UAAU;YAC5B,cAAc,EAAE,WAAW;YAC3B,MAAM,EAAE;gBACN,oCAAoC;gBACpC,EAAE,IAAI,EAAE,SAAS,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE;gBACnF,mCAAmC;gBACnC,EAAE,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE;gBAClF,mBAAmB;gBACnB;oBACE,IAAI,EAAE,YAAY;oBAClB,eAAe,EAAE,wBAAwB;oBACzC,OAAO,EAAE,IAAI;oBACb,MAAM,EAAE,IAAI;oBACZ,OAAO,EAAE;wBACP,kBAAkB,EAAE,SAAS;wBAC7B,aAAa,EAAE,aAAa;wBAC5B,eAAe,EAAE,SAAS;qBAC3B;iBACF;aACF;SACF,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACzC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACrD,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yEAAyE,EAAE,KAAK,IAAI,EAAE;QACvF,WAAW,CAAC,GAAG,CAAC,qBAAqB,CAAC;YACpC,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;SACtE,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,iCAAiC,CAAC;YACrD,SAAS,EAAE,MAAM;YACjB,gBAAgB,EAAE,UAAU;YAC5B,cAAc,EAAE,WAAW;YAC3B,MAAM,EAAE;gBACN;oBACE,IAAI,EAAE,MAAM;oBACZ,eAAe,EAAE,kDAAkD;oBACnE,OAAO,EAAE,IAAI;oBACb,MAAM,EAAE,IAAI;oBACZ,OAAO,EAAE,EAAE,QAAQ,EAAE,0DAA0D,EAAE;iBAClF;gBACD,6CAA6C;gBAC7C,EAAE,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE;aACnF;SACF,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACzC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrC,MAAM,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC;QAC/B,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5B,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE,CAAC;QACpC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,2EAA2E,CAAC,CAAC;QAC3G,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAC;QACrE,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,IAAI,CACjC,0DAA0D,CAC3D,CAAC;QACF,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qFAAqF,EAAE,KAAK,IAAI,EAAE;QACnG,mCAAmC;QACnC,WAAW,CAAC,GAAG,CAAC,qBAAqB,CAAC;YACpC,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;SACtE,CAAC,CAAC;QAEH,mFAAmF;QACnF,wEAAwE;QACxE,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,4CAA4C,CAAC,CAAC;QAC3F,MAAM,SAAS,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAC9C,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,kDAAkD;QAClD,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;QACnD,MAAM,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACpB,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACd,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACxB,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACd,CAAC,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC;QACpC,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACpC,aAAa,CACX,SAAS,EACT,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,cAAc,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,IAAI,CACrF,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,iCAAiC,CAAC;YACrD,SAAS,EAAE,MAAM;YACjB,gBAAgB,EAAE,UAAU;YAC5B,cAAc,EAAE,WAAW;YAC3B,MAAM,EAAE;gBACN;oBACE,IAAI,EAAE,SAAS;oBACf,eAAe,EAAE,yBAAyB;oBAC1C,OAAO,EAAE,aAAa;oBACtB,MAAM,EAAE,IAAI;oBACZ,OAAO,EAAE,EAAE;iBACZ;aACF;SACF,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACzC,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,oCAAoC;AACpC,8EAA8E;AAE9E,QAAQ,CAAC,0EAA0E,EAAE,GAAG,EAAE;IACxF,EAAE,CAAC,wEAAwE,EAAE,GAAG,EAAE;QAChF,MAAM,GAAG,GAAG,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC7C,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;QACjD,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,iCAAiC,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qGAAqG,EAAE,GAAG,EAAE;QAC7G,MAAM,GAAG,GAAG,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC7C,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC;QACpD,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;QAC7C,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sEAAsE,EAAE,KAAK,IAAI,EAAE;QACpF,WAAW,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;QAC7E,MAAM,EAAE,iCAAiC,EAAE,GAAG,MAAM,MAAM,CACxD,qDAAqD,CACtD,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,iCAAiC,CAAC;YACrD,SAAS,EAAE,MAAM;YACjB,gBAAgB,EAAE,MAAM;YACxB,cAAc,EAAE,QAAQ;YACxB,MAAM,EAAE;gBACN,EAAE,IAAI,EAAE,SAAS,EAAE,eAAe,EAAE,cAAc,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,EAAE;gBACxF,EAAE,IAAI,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,EAAE;aACxF;SACF,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,aAAa,EAAE,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kFAAkF,EAAE,KAAK,IAAI,EAAE;QAChG,WAAW,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;QAC7E,MAAM,EAAE,iCAAiC,EAAE,GAAG,MAAM,MAAM,CACxD,qDAAqD,CACtD,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,iCAAiC,CAAC;YACrD,SAAS,EAAE,MAAM;YACjB,gBAAgB,EAAE,MAAM;YACxB,cAAc,EAAE,QAAQ;YACxB,MAAM,EAAE;gBACN,EAAE,IAAI,EAAE,SAAS,EAAE,eAAe,EAAE,cAAc,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,EAAE;gBACxF,EAAE,IAAI,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,EAAE;aACxF;YACD,aAAa,EAAE,IAAI;YACnB,sBAAsB,EAAE,CAAC;SAC1B,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,WAAW,EAAE,CAAC;QAClD,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACpD,MAAM,CAAC,MAAM,CAAC,oBAAqB,CAAC,CAAC,CAAE,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACxE,MAAM,CAAC,MAAM,CAAC,oBAAqB,CAAC,CAAC,CAAE,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;QAC9E,WAAW,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;QAC7E,MAAM,EAAE,iCAAiC,EAAE,GAAG,MAAM,MAAM,CACxD,qDAAqD,CACtD,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,iCAAiC,CAAC;YACrD,SAAS,EAAE,MAAM;YACjB,gBAAgB,EAAE,MAAM;YACxB,cAAc,EAAE,QAAQ;YACxB,MAAM,EAAE;gBACN,EAAE,IAAI,EAAE,SAAS,EAAE,eAAe,EAAE,cAAc,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,EAAE;aACzF;YACD,aAAa,EAAE,IAAI;YACnB,sBAAsB,EAAE,CAAC;SAC1B,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;QAClF,WAAW,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;QAC7E,MAAM,EAAE,iCAAiC,EAAE,GAAG,MAAM,MAAM,CACxD,qDAAqD,CACtD,CAAC;QACF,2EAA2E;QAC3E,MAAM,MAAM,GAAG,MAAM,iCAAiC,CAAC;YACrD,SAAS,EAAE,MAAM;YACjB,gBAAgB,EAAE,MAAM;YACxB,cAAc,EAAE,QAAQ;YACxB,MAAM,EAAE;gBACN,EAAE,IAAI,EAAE,SAAS,EAAE,eAAe,EAAE,cAAc,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,EAAE;gBACxF,EAAE,IAAI,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,EAAE;aACxF;YACD,aAAa,EAAE,IAAI;YACnB,wEAAwE;SACzE,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACpD,MAAM,CAAC,MAAM,CAAC,oBAAqB,CAAC,CAAC,CAAE,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACxE,MAAM,CAAC,MAAM,CAAC,oBAAqB,CAAC,CAAC,CAAE,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8EAA8E,EAAE,KAAK,IAAI,EAAE;QAC5F,WAAW,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;QAC7E,MAAM,EAAE,iCAAiC,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAC7E,qDAAqD,CACtD,CAAC;QACF,gFAAgF;QAChF,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;QACnD,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;QAC7D,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;QAC9C,MAAM,KAAK,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAC1C,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/C,MAAM,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QACpG,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACpC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;QAExG,MAAM,MAAM,GAAG,MAAM,iCAAiC,CAAC;YACrD,SAAS,EAAE,MAAM;YACjB,gBAAgB,EAAE,MAAM;YACxB,cAAc,EAAE,QAAQ;YACxB,MAAM,EAAE;gBACN,EAAE,IAAI,EAAE,SAAS,EAAE,eAAe,EAAE,cAAc,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,EAAE;gBACxF,EAAE,IAAI,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,EAAE;aACxF;YACD,aAAa,EAAE,IAAI;YACnB,sBAAsB,EAAE,CAAC;SAC1B,CAAC,CAAC;QACH,mFAAmF;QACnF,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACzC,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1C,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACpD,MAAM,CAAC,MAAM,CAAC,oBAAqB,CAAC,CAAC,CAAE,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ;IACzE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -18,12 +18,14 @@
18
18
  * then this REFERENCES edge via raw cypher.)
19
19
  * preference → MERGE (p:Preference {accountId, contentHash})
20
20
  * then (p)-[:OBSERVED_IN]->(chunk)
21
+ * note → MERGE (n:Note {accountId, contentHash})
22
+ * then (n)-[:OBSERVED_IN]->(chunk)
21
23
  * observed-relationship → (:Person|:Organization)-[:RELATED_TO {contentHash, operatorConfirmed:true}]->(:Person|:Organization)
22
24
  */
23
25
  export declare function rejectionsJsonlPath(accountId: string): string;
24
26
  export declare function rejectionKey(chunkElementId: string, kind: string, contentHash: string): string;
25
27
  export declare function loadRejections(accountId: string): Set<string>;
26
- export declare const PROPOSAL_KINDS: readonly ["mention", "task", "preference", "observed-relationship"];
28
+ export declare const PROPOSAL_KINDS: readonly ["mention", "task", "preference", "note", "observed-relationship"];
27
29
  export type ProposalKind = (typeof PROPOSAL_KINDS)[number];
28
30
  export interface AgentClaim {
29
31
  kind: ProposalKind;
@@ -63,7 +65,7 @@ export interface DeriveInsightsParams {
63
65
  export interface Proposal {
64
66
  /** elementId of the source conversation-document :Section chunk. */
65
67
  chunkElementId: string;
66
- /** One of the four supported kinds. */
68
+ /** One of the five supported kinds. */
67
69
  kind: ProposalKind;
68
70
  /** Deterministic sha256 over kind + payload — idempotency key on re-runs. */
69
71
  contentHash: string;
@@ -1 +1 @@
1
- {"version":3,"file":"conversation-archive-derive-insights.d.ts","sourceRoot":"","sources":["../../src/tools/conversation-archive-derive-insights.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AA2BH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAS7D;AAID,wBAAgB,YAAY,CAC1B,cAAc,EAAE,MAAM,EACtB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,GAClB,MAAM,CAER;AAID,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAwC7D;AAQD,eAAO,MAAM,cAAc,qEAKjB,CAAC;AACX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAM3D,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,YAAY,CAAC;IACnB,yFAAyF;IACzF,eAAe,EAAE,MAAM,CAAC;IACxB,wFAAwF;IACxF,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,mFAAmF;IACnF,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,6EAA6E;IAC7E,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,uEAAuE;IACvE,gBAAgB,EAAE,MAAM,CAAC;IACzB,kEAAkE;IAClE,cAAc,EAAE,MAAM,CAAC;IACvB,4EAA4E;IAC5E,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,+EAA+E;IAC/E,SAAS,CAAC,EAAE,MAAM,CAAC;IAKnB;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,QAAQ;IACvB,oEAAoE;IACpE,cAAc,EAAE,MAAM,CAAC;IACvB,uCAAuC;IACvC,IAAI,EAAE,YAAY,CAAC;IACnB,6EAA6E;IAC7E,WAAW,EAAE,MAAM,CAAC;IACpB,gEAAgE;IAChE,eAAe,EAAE,MAAM,CAAC;IACxB,qEAAqE;IACrE,cAAc,EAAE,MAAM,CAAC;IACvB,0FAA0F;IAC1F,WAAW,EAAE,MAAM,CAAC;IACpB,0FAA0F;IAC1F,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC;;;;OAIG;IACH,cAAc,EAAE;QACd,eAAe,EAAE,KAAK,CAAC;YACrB,IAAI,EAAE,SAAS,GAAG,QAAQ,CAAC;YAC3B,WAAW,EAAE,MAAM,CAAC;YACpB,cAAc,EAAE,KAAK,CAAC,QAAQ,GAAG,cAAc,CAAC,CAAC;SAClD,CAAC,CAAC;KACJ,GAAG,IAAI,CAAC;CACV;AAED,MAAM,WAAW,oBAAoB;IACnC,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,uDAAuD;IACvD,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,oFAAoF;IACpF,kBAAkB,EAAE,MAAM,CAAC;IAC3B,6FAA6F;IAC7F,aAAa,EAAE,MAAM,CAAC;IACtB;;;;;;;OAOG;IACH,oBAAoB,CAAC,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACxE;AA8RD,wBAAsB,iCAAiC,CACrD,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,oBAAoB,CAAC,CAU/B"}
1
+ {"version":3,"file":"conversation-archive-derive-insights.d.ts","sourceRoot":"","sources":["../../src/tools/conversation-archive-derive-insights.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AA2BH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAS7D;AAID,wBAAgB,YAAY,CAC1B,cAAc,EAAE,MAAM,EACtB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,GAClB,MAAM,CAER;AAID,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAwC7D;AAQD,eAAO,MAAM,cAAc,6EAMjB,CAAC;AACX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAM3D,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,YAAY,CAAC;IACnB,yFAAyF;IACzF,eAAe,EAAE,MAAM,CAAC;IACxB,wFAAwF;IACxF,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,mFAAmF;IACnF,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,6EAA6E;IAC7E,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,uEAAuE;IACvE,gBAAgB,EAAE,MAAM,CAAC;IACzB,kEAAkE;IAClE,cAAc,EAAE,MAAM,CAAC;IACvB,4EAA4E;IAC5E,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,+EAA+E;IAC/E,SAAS,CAAC,EAAE,MAAM,CAAC;IAKnB;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,QAAQ;IACvB,oEAAoE;IACpE,cAAc,EAAE,MAAM,CAAC;IACvB,uCAAuC;IACvC,IAAI,EAAE,YAAY,CAAC;IACnB,6EAA6E;IAC7E,WAAW,EAAE,MAAM,CAAC;IACpB,gEAAgE;IAChE,eAAe,EAAE,MAAM,CAAC;IACxB,qEAAqE;IACrE,cAAc,EAAE,MAAM,CAAC;IACvB,0FAA0F;IAC1F,WAAW,EAAE,MAAM,CAAC;IACpB,0FAA0F;IAC1F,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC;;;;OAIG;IACH,cAAc,EAAE;QACd,eAAe,EAAE,KAAK,CAAC;YACrB,IAAI,EAAE,SAAS,GAAG,QAAQ,CAAC;YAC3B,WAAW,EAAE,MAAM,CAAC;YACpB,cAAc,EAAE,KAAK,CAAC,QAAQ,GAAG,cAAc,CAAC,CAAC;SAClD,CAAC,CAAC;KACJ,GAAG,IAAI,CAAC;CACV;AAED,MAAM,WAAW,oBAAoB;IACnC,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,uDAAuD;IACvD,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,oFAAoF;IACpF,kBAAkB,EAAE,MAAM,CAAC;IAC3B,6FAA6F;IAC7F,aAAa,EAAE,MAAM,CAAC;IACtB;;;;;;;OAOG;IACH,oBAAoB,CAAC,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACxE;AAuUD,wBAAsB,iCAAiC,CACrD,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,oBAAoB,CAAC,CAU/B"}