@rubytech/create-sitedesk-code 0.1.521 → 0.1.523

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 (416) hide show
  1. package/dist/index.js +17 -3
  2. package/package.json +1 -1
  3. package/payload/platform/lib/account-schema-regions/package-lock.json +12 -0
  4. package/payload/platform/lib/active-rules/package-lock.json +12 -0
  5. package/payload/platform/lib/graph-style/dist/index.d.ts.map +1 -1
  6. package/payload/platform/lib/graph-style/dist/index.js +28 -0
  7. package/payload/platform/lib/graph-style/dist/index.js.map +1 -1
  8. package/payload/platform/lib/graph-style/src/__tests__/caption-coverage.test.ts +7 -0
  9. package/payload/platform/lib/graph-style/src/index.ts +24 -0
  10. package/payload/platform/lib/graph-write/dist/__tests__/merge-on.test.d.ts.map +1 -0
  11. package/payload/platform/lib/graph-write/dist/__tests__/merge-on.test.js.map +1 -0
  12. package/payload/platform/lib/graph-write/dist/index.d.ts +16 -0
  13. package/payload/platform/lib/graph-write/dist/index.d.ts.map +1 -1
  14. package/payload/platform/lib/graph-write/dist/index.js +83 -6
  15. package/payload/platform/lib/graph-write/dist/index.js.map +1 -1
  16. package/payload/platform/lib/graph-write/src/index.ts +117 -10
  17. package/payload/platform/lib/mcp-lifeline/package-lock.json +12 -0
  18. package/payload/platform/lib/routine-templates/dist/index.d.ts +151 -0
  19. package/payload/platform/lib/routine-templates/dist/index.d.ts.map +1 -0
  20. package/payload/platform/lib/routine-templates/dist/index.js +207 -0
  21. package/payload/platform/lib/routine-templates/dist/index.js.map +1 -0
  22. package/payload/platform/lib/routine-templates/dist/roster.d.ts +57 -0
  23. package/payload/platform/lib/routine-templates/dist/roster.d.ts.map +1 -0
  24. package/payload/platform/lib/routine-templates/dist/roster.js +182 -0
  25. package/payload/platform/lib/routine-templates/dist/roster.js.map +1 -0
  26. package/payload/platform/lib/routine-templates/dist/seed-cli.d.ts +2 -0
  27. package/payload/platform/lib/routine-templates/dist/seed-cli.d.ts.map +1 -0
  28. package/payload/platform/lib/routine-templates/dist/seed-cli.js +64 -0
  29. package/payload/platform/lib/routine-templates/dist/seed-cli.js.map +1 -0
  30. package/payload/platform/lib/routine-templates/package.json +6 -0
  31. package/payload/platform/lib/routine-templates/src/__tests__/roster.test.ts +170 -0
  32. package/payload/platform/lib/routine-templates/src/__tests__/seed.test.ts +298 -0
  33. package/payload/platform/lib/routine-templates/src/index.ts +299 -0
  34. package/payload/platform/lib/routine-templates/src/roster.ts +206 -0
  35. package/payload/platform/lib/routine-templates/src/seed-cli.ts +65 -0
  36. package/payload/platform/lib/routine-templates/tsconfig.json +9 -0
  37. package/payload/platform/lib/routine-templates/vitest.config.ts +9 -0
  38. package/payload/platform/neo4j/edge-annotations.json +2 -2
  39. package/payload/platform/neo4j/schema.cypher +25 -1
  40. package/payload/platform/package.json +3 -2
  41. package/payload/platform/plugins/admin/PLUGIN.md +2 -2
  42. package/payload/platform/plugins/admin/mcp/dist/index.js +39 -1
  43. package/payload/platform/plugins/admin/mcp/dist/index.js.map +1 -1
  44. package/payload/platform/plugins/admin/skills/platform-architecture/SKILL.md +319 -66
  45. package/payload/platform/plugins/admin/skills/whats-new/SKILL.md +12 -0
  46. package/payload/platform/plugins/docs/references/admin-ui.md +275 -59
  47. package/payload/platform/plugins/docs/references/internals.md +4 -0
  48. package/payload/platform/plugins/docs/references/memory-guide.md +11 -1
  49. package/payload/platform/plugins/docs/references/outlook-guide.md +27 -4
  50. package/payload/platform/plugins/graph/.claude-plugin/plugin.json +1 -1
  51. package/payload/platform/plugins/graph/PLUGIN.md +1 -1
  52. package/payload/platform/plugins/memory/PLUGIN.md +1 -1
  53. package/payload/platform/plugins/memory/mcp/dist/index.js +12 -5
  54. package/payload/platform/plugins/memory/mcp/dist/index.js.map +1 -1
  55. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/phase-estate-census.test.d.ts +2 -0
  56. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/phase-estate-census.test.d.ts.map +1 -0
  57. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/phase-estate-census.test.js +197 -0
  58. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/phase-estate-census.test.js.map +1 -0
  59. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/schema-loader.test.js +55 -9
  60. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/schema-loader.test.js.map +1 -1
  61. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/schema-validator.test.js +96 -0
  62. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/schema-validator.test.js.map +1 -1
  63. package/payload/platform/plugins/memory/mcp/dist/lib/dream-cycle/index.d.ts +7 -0
  64. package/payload/platform/plugins/memory/mcp/dist/lib/dream-cycle/index.d.ts.map +1 -1
  65. package/payload/platform/plugins/memory/mcp/dist/lib/dream-cycle/phase-estate-census.d.ts +29 -0
  66. package/payload/platform/plugins/memory/mcp/dist/lib/dream-cycle/phase-estate-census.d.ts.map +1 -0
  67. package/payload/platform/plugins/memory/mcp/dist/lib/dream-cycle/phase-estate-census.js +126 -0
  68. package/payload/platform/plugins/memory/mcp/dist/lib/dream-cycle/phase-estate-census.js.map +1 -0
  69. package/payload/platform/plugins/memory/mcp/dist/scripts/dream-cycle-sweep.js +7 -4
  70. package/payload/platform/plugins/memory/mcp/dist/scripts/dream-cycle-sweep.js.map +1 -1
  71. package/payload/platform/plugins/memory/mcp/dist/tools/memory-dream-run.d.ts +1 -0
  72. package/payload/platform/plugins/memory/mcp/dist/tools/memory-dream-run.d.ts.map +1 -1
  73. package/payload/platform/plugins/memory/mcp/dist/tools/memory-dream-run.js +18 -1
  74. package/payload/platform/plugins/memory/mcp/dist/tools/memory-dream-run.js.map +1 -1
  75. package/payload/platform/plugins/memory/mcp/dist/tools/memory-write.d.ts +7 -0
  76. package/payload/platform/plugins/memory/mcp/dist/tools/memory-write.d.ts.map +1 -1
  77. package/payload/platform/plugins/memory/mcp/dist/tools/memory-write.js +4 -3
  78. package/payload/platform/plugins/memory/mcp/dist/tools/memory-write.js.map +1 -1
  79. package/payload/platform/plugins/memory/mcp/vitest.config.ts +2 -0
  80. package/payload/platform/plugins/memory/references/schema-estate-agent.md +2 -2
  81. package/payload/platform/plugins/memory/skills/conversation-archive-enrich/SKILL.md +4 -4
  82. package/payload/platform/plugins/outlook/.claude-plugin/plugin.json +1 -1
  83. package/payload/platform/plugins/outlook/PLUGIN.md +9 -1
  84. package/payload/platform/plugins/outlook/mcp/dist/__tests__/delegated-resolve.test.d.ts +2 -0
  85. package/payload/platform/plugins/outlook/mcp/dist/__tests__/delegated-resolve.test.d.ts.map +1 -0
  86. package/payload/platform/plugins/outlook/mcp/dist/__tests__/delegated-resolve.test.js +151 -0
  87. package/payload/platform/plugins/outlook/mcp/dist/__tests__/delegated-resolve.test.js.map +1 -0
  88. package/payload/platform/plugins/outlook/mcp/dist/__tests__/delegated-store.test.d.ts +2 -0
  89. package/payload/platform/plugins/outlook/mcp/dist/__tests__/delegated-store.test.d.ts.map +1 -0
  90. package/payload/platform/plugins/outlook/mcp/dist/__tests__/delegated-store.test.js +151 -0
  91. package/payload/platform/plugins/outlook/mcp/dist/__tests__/delegated-store.test.js.map +1 -0
  92. package/payload/platform/plugins/outlook/mcp/dist/__tests__/device-flow.test.js +38 -4
  93. package/payload/platform/plugins/outlook/mcp/dist/__tests__/device-flow.test.js.map +1 -1
  94. package/payload/platform/plugins/outlook/mcp/dist/__tests__/graph-client-prefix-wiring.test.d.ts +2 -0
  95. package/payload/platform/plugins/outlook/mcp/dist/__tests__/graph-client-prefix-wiring.test.d.ts.map +1 -0
  96. package/payload/platform/plugins/outlook/mcp/dist/__tests__/graph-client-prefix-wiring.test.js +146 -0
  97. package/payload/platform/plugins/outlook/mcp/dist/__tests__/graph-client-prefix-wiring.test.js.map +1 -0
  98. package/payload/platform/plugins/outlook/mcp/dist/__tests__/mailbox-list-delegated.test.d.ts +2 -0
  99. package/payload/platform/plugins/outlook/mcp/dist/__tests__/mailbox-list-delegated.test.d.ts.map +1 -0
  100. package/payload/platform/plugins/outlook/mcp/dist/__tests__/mailbox-list-delegated.test.js +120 -0
  101. package/payload/platform/plugins/outlook/mcp/dist/__tests__/mailbox-list-delegated.test.js.map +1 -0
  102. package/payload/platform/plugins/outlook/mcp/dist/__tests__/mailbox-list.test.js +8 -8
  103. package/payload/platform/plugins/outlook/mcp/dist/__tests__/mailbox-list.test.js.map +1 -1
  104. package/payload/platform/plugins/outlook/mcp/dist/__tests__/mailbox-path-prefix.test.d.ts +2 -0
  105. package/payload/platform/plugins/outlook/mcp/dist/__tests__/mailbox-path-prefix.test.d.ts.map +1 -0
  106. package/payload/platform/plugins/outlook/mcp/dist/__tests__/mailbox-path-prefix.test.js +27 -0
  107. package/payload/platform/plugins/outlook/mcp/dist/__tests__/mailbox-path-prefix.test.js.map +1 -0
  108. package/payload/platform/plugins/outlook/mcp/dist/__tests__/shared-mail-only-guard.test.d.ts +2 -0
  109. package/payload/platform/plugins/outlook/mcp/dist/__tests__/shared-mail-only-guard.test.d.ts.map +1 -0
  110. package/payload/platform/plugins/outlook/mcp/dist/__tests__/shared-mail-only-guard.test.js +70 -0
  111. package/payload/platform/plugins/outlook/mcp/dist/__tests__/shared-mail-only-guard.test.js.map +1 -0
  112. package/payload/platform/plugins/outlook/mcp/dist/__tests__/shared-mailbox-add.test.d.ts +2 -0
  113. package/payload/platform/plugins/outlook/mcp/dist/__tests__/shared-mailbox-add.test.d.ts.map +1 -0
  114. package/payload/platform/plugins/outlook/mcp/dist/__tests__/shared-mailbox-add.test.js +152 -0
  115. package/payload/platform/plugins/outlook/mcp/dist/__tests__/shared-mailbox-add.test.js.map +1 -0
  116. package/payload/platform/plugins/outlook/mcp/dist/auth/delegated-store.d.ts +57 -0
  117. package/payload/platform/plugins/outlook/mcp/dist/auth/delegated-store.d.ts.map +1 -0
  118. package/payload/platform/plugins/outlook/mcp/dist/auth/delegated-store.js +163 -0
  119. package/payload/platform/plugins/outlook/mcp/dist/auth/delegated-store.js.map +1 -0
  120. package/payload/platform/plugins/outlook/mcp/dist/auth/device-flow.d.ts +12 -0
  121. package/payload/platform/plugins/outlook/mcp/dist/auth/device-flow.d.ts.map +1 -1
  122. package/payload/platform/plugins/outlook/mcp/dist/auth/device-flow.js +21 -1
  123. package/payload/platform/plugins/outlook/mcp/dist/auth/device-flow.js.map +1 -1
  124. package/payload/platform/plugins/outlook/mcp/dist/auth/mailbox-registry.d.ts +35 -4
  125. package/payload/platform/plugins/outlook/mcp/dist/auth/mailbox-registry.d.ts.map +1 -1
  126. package/payload/platform/plugins/outlook/mcp/dist/auth/mailbox-registry.js +92 -10
  127. package/payload/platform/plugins/outlook/mcp/dist/auth/mailbox-registry.js.map +1 -1
  128. package/payload/platform/plugins/outlook/mcp/dist/index.js +106 -3
  129. package/payload/platform/plugins/outlook/mcp/dist/index.js.map +1 -1
  130. package/payload/platform/plugins/outlook/mcp/dist/lib/graph-client.d.ts +49 -0
  131. package/payload/platform/plugins/outlook/mcp/dist/lib/graph-client.d.ts.map +1 -1
  132. package/payload/platform/plugins/outlook/mcp/dist/lib/graph-client.js +126 -8
  133. package/payload/platform/plugins/outlook/mcp/dist/lib/graph-client.js.map +1 -1
  134. package/payload/platform/plugins/outlook/mcp/dist/tools/mailbox-info.d.ts +13 -0
  135. package/payload/platform/plugins/outlook/mcp/dist/tools/mailbox-info.d.ts.map +1 -1
  136. package/payload/platform/plugins/outlook/mcp/dist/tools/mailbox-info.js +9 -0
  137. package/payload/platform/plugins/outlook/mcp/dist/tools/mailbox-info.js.map +1 -1
  138. package/payload/platform/plugins/outlook/mcp/dist/tools/mailbox-list.d.ts +42 -8
  139. package/payload/platform/plugins/outlook/mcp/dist/tools/mailbox-list.d.ts.map +1 -1
  140. package/payload/platform/plugins/outlook/mcp/dist/tools/mailbox-list.js +59 -19
  141. package/payload/platform/plugins/outlook/mcp/dist/tools/mailbox-list.js.map +1 -1
  142. package/payload/platform/plugins/outlook/mcp/dist/tools/shared-mailbox-add.d.ts +47 -0
  143. package/payload/platform/plugins/outlook/mcp/dist/tools/shared-mailbox-add.d.ts.map +1 -0
  144. package/payload/platform/plugins/outlook/mcp/dist/tools/shared-mailbox-add.js +67 -0
  145. package/payload/platform/plugins/outlook/mcp/dist/tools/shared-mailbox-add.js.map +1 -0
  146. package/payload/platform/plugins/outlook/mcp/dist/tools/shared-mailbox-remove.d.ts +12 -0
  147. package/payload/platform/plugins/outlook/mcp/dist/tools/shared-mailbox-remove.d.ts.map +1 -0
  148. package/payload/platform/plugins/outlook/mcp/dist/tools/shared-mailbox-remove.js +18 -0
  149. package/payload/platform/plugins/outlook/mcp/dist/tools/shared-mailbox-remove.js.map +1 -0
  150. package/payload/platform/plugins/outlook/references/auth.md +15 -2
  151. package/payload/platform/plugins/outlook/references/graph-surfaces.md +8 -0
  152. package/payload/platform/plugins/outlook/skills/outlook/SKILL.md +21 -1
  153. package/payload/platform/plugins/quickbooks/PLUGIN.md +10 -10
  154. package/payload/platform/plugins/scheduling/PLUGIN.md +49 -1
  155. package/payload/platform/plugins/scheduling/mcp/dist/index.js +48 -0
  156. package/payload/platform/plugins/scheduling/mcp/dist/index.js.map +1 -1
  157. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/notes-cap.test.d.ts +2 -0
  158. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/notes-cap.test.d.ts.map +1 -0
  159. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/notes-cap.test.js +78 -0
  160. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/notes-cap.test.js.map +1 -0
  161. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/routine-run.test.d.ts +2 -0
  162. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/routine-run.test.d.ts.map +1 -0
  163. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/routine-run.test.js +457 -0
  164. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/routine-run.test.js.map +1 -0
  165. package/payload/platform/plugins/scheduling/mcp/dist/lib/notes-cap.d.ts +35 -0
  166. package/payload/platform/plugins/scheduling/mcp/dist/lib/notes-cap.d.ts.map +1 -0
  167. package/payload/platform/plugins/scheduling/mcp/dist/lib/notes-cap.js +39 -0
  168. package/payload/platform/plugins/scheduling/mcp/dist/lib/notes-cap.js.map +1 -0
  169. package/payload/platform/plugins/scheduling/mcp/dist/lib/routine-run.d.ts +175 -0
  170. package/payload/platform/plugins/scheduling/mcp/dist/lib/routine-run.d.ts.map +1 -0
  171. package/payload/platform/plugins/scheduling/mcp/dist/lib/routine-run.js +533 -0
  172. package/payload/platform/plugins/scheduling/mcp/dist/lib/routine-run.js.map +1 -0
  173. package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/agent-turn-dispatch.test.js +123 -9
  174. package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/agent-turn-dispatch.test.js.map +1 -1
  175. package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/routine-roster-audit.test.d.ts +2 -0
  176. package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/routine-roster-audit.test.d.ts.map +1 -0
  177. package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/routine-roster-audit.test.js +189 -0
  178. package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/routine-roster-audit.test.js.map +1 -0
  179. package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/suspension-census.test.d.ts +2 -0
  180. package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/suspension-census.test.d.ts.map +1 -0
  181. package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/suspension-census.test.js +95 -0
  182. package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/suspension-census.test.js.map +1 -0
  183. package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/sweep-excludes-suspended.test.d.ts +2 -0
  184. package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/sweep-excludes-suspended.test.d.ts.map +1 -0
  185. package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/sweep-excludes-suspended.test.js +114 -0
  186. package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/sweep-excludes-suspended.test.js.map +1 -0
  187. package/payload/platform/plugins/scheduling/mcp/dist/scripts/agent-turn-dispatch.d.ts +109 -2
  188. package/payload/platform/plugins/scheduling/mcp/dist/scripts/agent-turn-dispatch.d.ts.map +1 -1
  189. package/payload/platform/plugins/scheduling/mcp/dist/scripts/agent-turn-dispatch.js +340 -9
  190. package/payload/platform/plugins/scheduling/mcp/dist/scripts/agent-turn-dispatch.js.map +1 -1
  191. package/payload/platform/plugins/scheduling/mcp/dist/scripts/check-due-events.d.ts +9 -1
  192. package/payload/platform/plugins/scheduling/mcp/dist/scripts/check-due-events.d.ts.map +1 -1
  193. package/payload/platform/plugins/scheduling/mcp/dist/scripts/check-due-events.js +210 -45
  194. package/payload/platform/plugins/scheduling/mcp/dist/scripts/check-due-events.js.map +1 -1
  195. package/payload/platform/plugins/scheduling/mcp/dist/scripts/reconcile-bookings.js +43 -1
  196. package/payload/platform/plugins/scheduling/mcp/dist/scripts/reconcile-bookings.js.map +1 -1
  197. package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-get-agent.test.js +55 -7
  198. package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-get-agent.test.js.map +1 -1
  199. package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-list.test.js +45 -1
  200. package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-list.test.js.map +1 -1
  201. package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-runs.test.d.ts +2 -0
  202. package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-runs.test.d.ts.map +1 -0
  203. package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-runs.test.js +96 -0
  204. package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-runs.test.js.map +1 -0
  205. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-cancel.d.ts.map +1 -1
  206. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-cancel.js +2 -1
  207. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-cancel.js.map +1 -1
  208. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-get.d.ts +5 -0
  209. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-get.d.ts.map +1 -1
  210. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-get.js +13 -0
  211. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-get.js.map +1 -1
  212. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-list.d.ts +4 -0
  213. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-list.d.ts.map +1 -1
  214. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-list.js +24 -3
  215. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-list.js.map +1 -1
  216. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-runs.d.ts +33 -0
  217. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-runs.d.ts.map +1 -0
  218. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-runs.js +51 -0
  219. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-runs.js.map +1 -0
  220. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-update.d.ts.map +1 -1
  221. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-update.js +12 -2
  222. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-update.js.map +1 -1
  223. package/payload/platform/plugins/whatsapp/references/channels-whatsapp.md +30 -2
  224. package/payload/platform/plugins/whatsapp/skills/connect-whatsapp/SKILL.md +1 -1
  225. package/payload/platform/scripts/check-specialist-tool-surface.mjs +92 -16
  226. package/payload/platform/scripts/seed-neo4j.sh +41 -0
  227. package/payload/platform/scripts/verify-skill-tool-surface.sh +91 -2
  228. package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.d.ts.map +1 -1
  229. package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.js +3 -0
  230. package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.js.map +1 -1
  231. package/payload/platform/templates/specialists/agents/librarian.md +1 -1
  232. package/payload/platform/templates/specialists/agents/personal-assistant.md +1 -1
  233. package/payload/server/{chunk-AZLT4LVO.js → chunk-VUXKXOJU.js} +755 -335
  234. package/payload/server/{chunk-UX2FRNO7.js → chunk-WT2PFGY4.js} +37 -265
  235. package/payload/server/{chunk-PXNY2TAP.js → chunk-XCR5D2G3.js} +239 -10
  236. package/payload/server/{manager-CQBSUJXR.js → manager-4TJK3YOY.js} +4 -2
  237. package/payload/server/maxy-edge.js +2 -2
  238. package/payload/server/public/activity.html +5 -5
  239. package/payload/server/public/agents.html +4 -4
  240. package/payload/server/public/assets/{AdminLoginScreens-Dar_MMJm.js → AdminLoginScreens-uknqh2Pm.js} +1 -1
  241. package/payload/server/public/assets/AdminLoginScreens-uknqh2Pm.js.br +0 -0
  242. package/payload/server/public/assets/AdminLoginScreens-uknqh2Pm.js.gz +0 -0
  243. package/payload/server/public/assets/AdminShell-GqtMImyQ.js +2 -0
  244. package/payload/server/public/assets/AdminShell-GqtMImyQ.js.br +0 -0
  245. package/payload/server/public/assets/AdminShell-GqtMImyQ.js.gz +0 -0
  246. package/payload/server/public/assets/{activity-B1rt4GIy.js → activity-B4KfMJqO.js} +1 -1
  247. package/payload/server/public/assets/activity-B4KfMJqO.js.br +0 -0
  248. package/payload/server/public/assets/activity-B4KfMJqO.js.gz +0 -0
  249. package/payload/server/public/assets/admin-DxCZeVw0.js +1 -0
  250. package/payload/server/public/assets/admin-DxCZeVw0.js.br +0 -0
  251. package/payload/server/public/assets/admin-DxCZeVw0.js.gz +0 -0
  252. package/payload/server/public/assets/agents-BtwBuO4G.js +1 -0
  253. package/payload/server/public/assets/agents-BtwBuO4G.js.br +0 -0
  254. package/payload/server/public/assets/agents-BtwBuO4G.js.gz +0 -0
  255. package/payload/server/public/assets/{browser-1QSCPl3X.js → browser-B3hSzI3O.js} +1 -1
  256. package/payload/server/public/assets/browser-B3hSzI3O.js.br +0 -0
  257. package/payload/server/public/assets/browser-B3hSzI3O.js.gz +0 -0
  258. package/payload/server/public/assets/{calendar-D009qWVV.js → calendar-BggxXxhS.js} +1 -1
  259. package/payload/server/public/assets/calendar-BggxXxhS.js.br +0 -0
  260. package/payload/server/public/assets/calendar-BggxXxhS.js.gz +0 -0
  261. package/payload/server/public/assets/chat-flivHt0t.js +1 -0
  262. package/payload/server/public/assets/chat-flivHt0t.js.br +0 -0
  263. package/payload/server/public/assets/chat-flivHt0t.js.gz +0 -0
  264. package/payload/server/public/assets/chevron-left-nVRThX7f.js +1 -0
  265. package/payload/server/public/assets/chevron-right-CLqfrkRA.js +1 -0
  266. package/payload/server/public/assets/chevron-right-CLqfrkRA.js.br +0 -0
  267. package/payload/server/public/assets/clock-Dj3SRZKo.js +1 -0
  268. package/payload/server/public/assets/clock-Dj3SRZKo.js.br +0 -0
  269. package/payload/server/public/assets/clock-Dj3SRZKo.js.gz +0 -0
  270. package/payload/server/public/assets/data-Ckjkne54.js +1 -0
  271. package/payload/server/public/assets/data-Ckjkne54.js.br +3 -0
  272. package/payload/server/public/assets/data-Ckjkne54.js.gz +0 -0
  273. package/payload/server/public/assets/{file-text-DwGAfCsd.js → file-text-BKs9eyiw.js} +1 -1
  274. package/payload/server/public/assets/file-text-BKs9eyiw.js.br +0 -0
  275. package/payload/server/public/assets/file-text-BKs9eyiw.js.gz +0 -0
  276. package/payload/server/public/assets/{graph-D-DGlfhW.js → graph-DTi71NaZ.js} +3 -3
  277. package/payload/server/public/assets/graph-DTi71NaZ.js.br +0 -0
  278. package/payload/server/public/assets/graph-DTi71NaZ.js.gz +0 -0
  279. package/payload/server/public/assets/graph-labels-BT3S6e9H.js +1 -0
  280. package/payload/server/public/assets/graph-labels-BT3S6e9H.js.br +0 -0
  281. package/payload/server/public/assets/graph-labels-BT3S6e9H.js.gz +0 -0
  282. package/payload/server/public/assets/{maximize-2-C_-KapxH.js → maximize-2-zC94tsxY.js} +1 -1
  283. package/payload/server/public/assets/maximize-2-zC94tsxY.js.br +0 -0
  284. package/payload/server/public/assets/maximize-2-zC94tsxY.js.gz +0 -0
  285. package/payload/server/public/assets/operator-BtWNEMh-.js +1 -0
  286. package/payload/server/public/assets/operator-BtWNEMh-.js.br +0 -0
  287. package/payload/server/public/assets/operator-BtWNEMh-.js.gz +0 -0
  288. package/payload/server/public/assets/page-BFm91p0e.js +1 -0
  289. package/payload/server/public/assets/page-BFm91p0e.js.br +0 -0
  290. package/payload/server/public/assets/page-BFm91p0e.js.gz +0 -0
  291. package/payload/server/public/assets/{page-E74MYB18.js → page-Ccl0FazM.js} +3 -3
  292. package/payload/server/public/assets/page-Ccl0FazM.js.br +0 -0
  293. package/payload/server/public/assets/page-Ccl0FazM.js.gz +0 -0
  294. package/payload/server/public/assets/{public-CI6K1sNW.js → public-BpC6cn9S.js} +1 -1
  295. package/payload/server/public/assets/public-BpC6cn9S.js.br +0 -0
  296. package/payload/server/public/assets/public-BpC6cn9S.js.gz +0 -0
  297. package/payload/server/public/assets/{rotate-ccw-PWu_QGrD.js → rotate-ccw-BNcqbHkZ.js} +1 -1
  298. package/payload/server/public/assets/rotate-ccw-BNcqbHkZ.js.br +0 -0
  299. package/payload/server/public/assets/rotate-ccw-BNcqbHkZ.js.gz +0 -0
  300. package/payload/server/public/assets/routines-D5iia-XG.js +1 -0
  301. package/payload/server/public/assets/routines-D5iia-XG.js.br +0 -0
  302. package/payload/server/public/assets/routines-D5iia-XG.js.gz +0 -0
  303. package/payload/server/public/assets/{skills-g8HvunPA.js → skills-COLAw_jt.js} +1 -1
  304. package/payload/server/public/assets/skills-COLAw_jt.js.br +0 -0
  305. package/payload/server/public/assets/skills-COLAw_jt.js.gz +0 -0
  306. package/payload/server/public/assets/tasks-CZDQI4nB.js +1 -0
  307. package/payload/server/public/assets/tasks-CZDQI4nB.js.br +0 -0
  308. package/payload/server/public/assets/tasks-CZDQI4nB.js.gz +0 -0
  309. package/payload/server/public/assets/{time-entry-format-BXWuQ6Sw.js → time-entry-format-laTFzawg.js} +1 -1
  310. package/payload/server/public/assets/time-entry-format-laTFzawg.js.br +0 -0
  311. package/payload/server/public/assets/time-entry-format-laTFzawg.js.gz +0 -0
  312. package/payload/server/public/assets/{triangle-alert-BNshRC13.js → triangle-alert-DrwqhEog.js} +1 -1
  313. package/payload/server/public/assets/triangle-alert-DrwqhEog.js.br +0 -0
  314. package/payload/server/public/assets/triangle-alert-DrwqhEog.js.gz +0 -0
  315. package/payload/server/public/assets/{useCopyFeedback-CwTZ9DqH.js → useCopyFeedback-Cxme5GK6.js} +1 -1
  316. package/payload/server/public/assets/useCopyFeedback-Cxme5GK6.js.br +0 -0
  317. package/payload/server/public/assets/useCopyFeedback-Cxme5GK6.js.gz +0 -0
  318. package/payload/server/public/assets/useSubAccountSwitcher-B-K8y5a4.css +1 -0
  319. package/payload/server/public/assets/useSubAccountSwitcher-B-K8y5a4.css.br +0 -0
  320. package/payload/server/public/assets/useSubAccountSwitcher-B-K8y5a4.css.gz +0 -0
  321. package/payload/server/public/assets/useSubAccountSwitcher-C_1E11Dv.js +14 -0
  322. package/payload/server/public/assets/useSubAccountSwitcher-C_1E11Dv.js.br +0 -0
  323. package/payload/server/public/assets/useSubAccountSwitcher-C_1E11Dv.js.gz +0 -0
  324. package/payload/server/public/assets/{useVoiceRecorder-BGqV5R6u.js → useVoiceRecorder-DUBpVa2T.js} +1 -1
  325. package/payload/server/public/assets/useVoiceRecorder-DUBpVa2T.js.br +0 -0
  326. package/payload/server/public/assets/useVoiceRecorder-DUBpVa2T.js.gz +0 -0
  327. package/payload/server/public/assets/{wrench-DQ045Pyk.js → wrench-DWuxPnzF.js} +1 -1
  328. package/payload/server/public/assets/wrench-DWuxPnzF.js.br +0 -0
  329. package/payload/server/public/assets/wrench-DWuxPnzF.js.gz +0 -0
  330. package/payload/server/public/browser.html +4 -4
  331. package/payload/server/public/calendar.html +7 -7
  332. package/payload/server/public/chat.html +13 -13
  333. package/payload/server/public/data.html +11 -11
  334. package/payload/server/public/graph.html +9 -9
  335. package/payload/server/public/index.html +14 -14
  336. package/payload/server/public/operator.html +14 -14
  337. package/payload/server/public/public.html +13 -13
  338. package/payload/server/public/routines.html +6 -6
  339. package/payload/server/public/skills.html +5 -5
  340. package/payload/server/public/tasks.html +6 -6
  341. package/payload/server/server.js +6631 -5690
  342. package/payload/server/public/assets/AdminLoginScreens-Dar_MMJm.js.br +0 -0
  343. package/payload/server/public/assets/AdminLoginScreens-Dar_MMJm.js.gz +0 -0
  344. package/payload/server/public/assets/AdminShell-CpaI2F_p.js +0 -2
  345. package/payload/server/public/assets/AdminShell-CpaI2F_p.js.br +0 -0
  346. package/payload/server/public/assets/AdminShell-CpaI2F_p.js.gz +0 -0
  347. package/payload/server/public/assets/activity-B1rt4GIy.js.br +0 -0
  348. package/payload/server/public/assets/activity-B1rt4GIy.js.gz +0 -0
  349. package/payload/server/public/assets/admin-DE3lLNje.js +0 -1
  350. package/payload/server/public/assets/admin-DE3lLNje.js.br +0 -0
  351. package/payload/server/public/assets/admin-DE3lLNje.js.gz +0 -0
  352. package/payload/server/public/assets/agents-BXq8woVf.js +0 -1
  353. package/payload/server/public/assets/agents-BXq8woVf.js.br +0 -0
  354. package/payload/server/public/assets/agents-BXq8woVf.js.gz +0 -0
  355. package/payload/server/public/assets/browser-1QSCPl3X.js.br +0 -0
  356. package/payload/server/public/assets/browser-1QSCPl3X.js.gz +0 -0
  357. package/payload/server/public/assets/calendar-D009qWVV.js.br +0 -0
  358. package/payload/server/public/assets/calendar-D009qWVV.js.gz +0 -0
  359. package/payload/server/public/assets/chat-CUg1fTqJ.js +0 -1
  360. package/payload/server/public/assets/chat-CUg1fTqJ.js.br +0 -1
  361. package/payload/server/public/assets/chat-CUg1fTqJ.js.gz +0 -0
  362. package/payload/server/public/assets/chevron-left-C2JEy7uU.js +0 -1
  363. package/payload/server/public/assets/chevron-left-C2JEy7uU.js.br +0 -0
  364. package/payload/server/public/assets/chevron-right-DWa047Ys.js +0 -1
  365. package/payload/server/public/assets/chevron-right-DWa047Ys.js.br +0 -0
  366. package/payload/server/public/assets/clock-C3OqfCnn.js +0 -1
  367. package/payload/server/public/assets/clock-C3OqfCnn.js.br +0 -0
  368. package/payload/server/public/assets/clock-C3OqfCnn.js.gz +0 -0
  369. package/payload/server/public/assets/data-Bu_yCScC.js +0 -1
  370. package/payload/server/public/assets/data-Bu_yCScC.js.br +0 -0
  371. package/payload/server/public/assets/data-Bu_yCScC.js.gz +0 -0
  372. package/payload/server/public/assets/file-text-DwGAfCsd.js.br +0 -0
  373. package/payload/server/public/assets/file-text-DwGAfCsd.js.gz +0 -0
  374. package/payload/server/public/assets/graph-D-DGlfhW.js.br +0 -0
  375. package/payload/server/public/assets/graph-D-DGlfhW.js.gz +0 -0
  376. package/payload/server/public/assets/graph-labels-BbX3fXzl.js +0 -1
  377. package/payload/server/public/assets/graph-labels-BbX3fXzl.js.br +0 -0
  378. package/payload/server/public/assets/graph-labels-BbX3fXzl.js.gz +0 -0
  379. package/payload/server/public/assets/maximize-2-C_-KapxH.js.br +0 -0
  380. package/payload/server/public/assets/maximize-2-C_-KapxH.js.gz +0 -0
  381. package/payload/server/public/assets/operator-CFrZVcv6.js +0 -1
  382. package/payload/server/public/assets/operator-CFrZVcv6.js.br +0 -0
  383. package/payload/server/public/assets/operator-CFrZVcv6.js.gz +0 -0
  384. package/payload/server/public/assets/page-CHt62f1_.js +0 -1
  385. package/payload/server/public/assets/page-CHt62f1_.js.br +0 -0
  386. package/payload/server/public/assets/page-CHt62f1_.js.gz +0 -0
  387. package/payload/server/public/assets/page-E74MYB18.js.br +0 -0
  388. package/payload/server/public/assets/page-E74MYB18.js.gz +0 -0
  389. package/payload/server/public/assets/public-CI6K1sNW.js.br +0 -0
  390. package/payload/server/public/assets/public-CI6K1sNW.js.gz +0 -0
  391. package/payload/server/public/assets/rotate-ccw-PWu_QGrD.js.br +0 -0
  392. package/payload/server/public/assets/rotate-ccw-PWu_QGrD.js.gz +0 -0
  393. package/payload/server/public/assets/routines-Cp3_XS7S.js +0 -1
  394. package/payload/server/public/assets/routines-Cp3_XS7S.js.br +0 -0
  395. package/payload/server/public/assets/routines-Cp3_XS7S.js.gz +0 -0
  396. package/payload/server/public/assets/skills-g8HvunPA.js.br +0 -0
  397. package/payload/server/public/assets/skills-g8HvunPA.js.gz +0 -0
  398. package/payload/server/public/assets/tasks-CMC_jDVm.js +0 -1
  399. package/payload/server/public/assets/tasks-CMC_jDVm.js.br +0 -0
  400. package/payload/server/public/assets/tasks-CMC_jDVm.js.gz +0 -0
  401. package/payload/server/public/assets/time-entry-format-BXWuQ6Sw.js.br +0 -2
  402. package/payload/server/public/assets/time-entry-format-BXWuQ6Sw.js.gz +0 -0
  403. package/payload/server/public/assets/triangle-alert-BNshRC13.js.br +0 -0
  404. package/payload/server/public/assets/triangle-alert-BNshRC13.js.gz +0 -0
  405. package/payload/server/public/assets/useCopyFeedback-CwTZ9DqH.js.br +0 -0
  406. package/payload/server/public/assets/useCopyFeedback-CwTZ9DqH.js.gz +0 -0
  407. package/payload/server/public/assets/useSubAccountSwitcher-BuUYMDWl.js +0 -14
  408. package/payload/server/public/assets/useSubAccountSwitcher-BuUYMDWl.js.br +0 -0
  409. package/payload/server/public/assets/useSubAccountSwitcher-BuUYMDWl.js.gz +0 -0
  410. package/payload/server/public/assets/useSubAccountSwitcher-dzDnmWq9.css +0 -1
  411. package/payload/server/public/assets/useSubAccountSwitcher-dzDnmWq9.css.br +0 -0
  412. package/payload/server/public/assets/useSubAccountSwitcher-dzDnmWq9.css.gz +0 -0
  413. package/payload/server/public/assets/useVoiceRecorder-BGqV5R6u.js.br +0 -0
  414. package/payload/server/public/assets/useVoiceRecorder-BGqV5R6u.js.gz +0 -0
  415. package/payload/server/public/assets/wrench-DQ045Pyk.js.br +0 -0
  416. package/payload/server/public/assets/wrench-DQ045Pyk.js.gz +0 -0
@@ -0,0 +1,197 @@
1
+ import { describe, it, expect, vi, beforeEach, afterEach } from "vitest";
2
+ import { phaseEstateCensus } from "../dream-cycle/phase-estate-census.js";
3
+ import { ALL_PHASES } from "../../tools/memory-dream-run.js";
4
+ /**
5
+ * Stub session. `businessType` answers `resolveActiveVertical`'s LocalBusiness
6
+ * lookup; the two census rows answer the image-gap and listing-gap queries in
7
+ * call order.
8
+ */
9
+ function fakeSession(opts) {
10
+ const calls = [];
11
+ const queue = [];
12
+ queue.push(opts.businessType === undefined || opts.businessType === null
13
+ ? null
14
+ : { businessType: opts.businessType });
15
+ if (opts.imageRow)
16
+ queue.push(opts.imageRow);
17
+ if (opts.listingRow)
18
+ queue.push(opts.listingRow);
19
+ const session = {
20
+ run: vi.fn(async (query, params) => {
21
+ calls.push({ query, params });
22
+ const row = queue.shift();
23
+ if (row === null || row === undefined)
24
+ return { records: [] };
25
+ return { records: [{ get: (key) => row[key] ?? null }] };
26
+ }),
27
+ };
28
+ return { session, calls };
29
+ }
30
+ let stderr;
31
+ let spy;
32
+ beforeEach(() => {
33
+ stderr = [];
34
+ spy = vi
35
+ .spyOn(process.stderr, "write")
36
+ .mockImplementation(((line) => {
37
+ stderr.push(line);
38
+ return true;
39
+ }));
40
+ });
41
+ afterEach(() => {
42
+ spy.mockRestore();
43
+ });
44
+ describe("phaseEstateCensus — vertical gate", () => {
45
+ it("skips and logs op=skip on a non-estate account", async () => {
46
+ const { session, calls } = fakeSession({ businessType: "construction" });
47
+ const result = await phaseEstateCensus({
48
+ accountId: "acc-1",
49
+ session,
50
+ config: { brandVertical: "schema-construction" },
51
+ });
52
+ expect(result.phase).toBe(8);
53
+ expect(result.name).toBe("estate-census");
54
+ expect(result.proposed).toBe(0);
55
+ expect(result.applied).toBe(0);
56
+ expect(result.deferred).toBe(0);
57
+ expect(result.extra?.skipped).toBe(true);
58
+ // Only the vertical lookup ran — no census query touched the graph.
59
+ expect(calls).toHaveLength(1);
60
+ expect(stderr.join("")).toContain("[estate-census] op=skip");
61
+ expect(stderr.join("")).not.toContain("op=image-gap");
62
+ });
63
+ it("skips when no vertical is declared at all", async () => {
64
+ const { session } = fakeSession({ businessType: null });
65
+ const result = await phaseEstateCensus({
66
+ accountId: "acc-1",
67
+ session,
68
+ config: {},
69
+ });
70
+ expect(result.extra?.skipped).toBe(true);
71
+ expect(stderr.join("")).toContain("op=skip vertical=base");
72
+ });
73
+ it("runs the census when a LocalBusiness override makes the account estate-agent", async () => {
74
+ // Brand declares construction; the account's own LocalBusiness says
75
+ // estate-agent. The override wins, so the census must run.
76
+ const { session } = fakeSession({
77
+ businessType: "estate-agent",
78
+ imageRow: { total: 0, noImage: 0, slugs: [] },
79
+ listingRow: { total: 0, noListing: 0, aged: 0 },
80
+ });
81
+ const result = await phaseEstateCensus({
82
+ accountId: "acc-1",
83
+ session,
84
+ config: { brandVertical: "schema-construction" },
85
+ });
86
+ expect(result.extra?.skipped).toBeUndefined();
87
+ expect(stderr.join("")).toContain("op=image-gap");
88
+ });
89
+ });
90
+ describe("phaseEstateCensus — counts", () => {
91
+ it("emits both census lines with the counts the graph returned", async () => {
92
+ const { session, calls } = fakeSession({
93
+ businessType: "estate-agent",
94
+ imageRow: {
95
+ total: 42,
96
+ noImage: 3,
97
+ slugs: ["griffin-house", "the-old-rectory"],
98
+ },
99
+ listingRow: { total: 51, noListing: 9, aged: 4 },
100
+ });
101
+ const result = await phaseEstateCensus({
102
+ accountId: "acc-7",
103
+ session,
104
+ config: { brandVertical: "schema-estate-agent" },
105
+ });
106
+ const out = stderr.join("");
107
+ expect(out).toContain("[estate-census] op=image-gap public-listings=42 no-image=3 slugs=griffin-house,the-old-rectory");
108
+ expect(out).toContain("[estate-census] op=listing-gap properties=51 no-listing=9 aged-90d=4");
109
+ // The counts also ride in `extra` so the :Report carries them.
110
+ expect(result.extra?.publicListings).toBe(42);
111
+ expect(result.extra?.noImage).toBe(3);
112
+ expect(result.extra?.properties).toBe(51);
113
+ expect(result.extra?.noListing).toBe(9);
114
+ expect(result.extra?.agedNoListing).toBe(4);
115
+ // Read-only: nothing proposed, nothing applied, nothing deferred.
116
+ expect(result.proposed).toBe(0);
117
+ expect(result.applied).toBe(0);
118
+ expect(result.deferred).toBe(0);
119
+ // Every query is account-scoped.
120
+ for (const call of calls) {
121
+ expect(call.params.accountId).toBe("acc-7");
122
+ }
123
+ });
124
+ it("renders an em-dash placeholder when no slugs are named", async () => {
125
+ const { session } = fakeSession({
126
+ businessType: "estate-agent",
127
+ imageRow: { total: 5, noImage: 0, slugs: [] },
128
+ listingRow: { total: 5, noListing: 0, aged: 0 },
129
+ });
130
+ await phaseEstateCensus({
131
+ accountId: "acc-1",
132
+ session,
133
+ config: { brandVertical: "schema-estate-agent" },
134
+ });
135
+ expect(stderr.join("")).toContain("no-image=0 slugs=—");
136
+ });
137
+ it("scopes the image gap to public listings and requires both image sources absent", async () => {
138
+ const { session, calls } = fakeSession({
139
+ businessType: "estate-agent",
140
+ imageRow: { total: 0, noImage: 0, slugs: [] },
141
+ listingRow: { total: 0, noListing: 0, aged: 0 },
142
+ });
143
+ await phaseEstateCensus({
144
+ accountId: "acc-1",
145
+ session,
146
+ config: { brandVertical: "schema-estate-agent" },
147
+ });
148
+ const imageQuery = calls[1].query;
149
+ expect(imageQuery).toContain("l.scope = 'public'");
150
+ expect(imageQuery).toContain("NOT (l)-[:DEPICTS]->(:ImageObject)");
151
+ expect(imageQuery).toContain("NOT l:Trashed");
152
+ const listingQuery = calls[2].query;
153
+ expect(listingQuery).toContain("NOT (p)-[:HAS_LISTING]->()");
154
+ expect(listingQuery).toContain("duration({days: $agedDays})");
155
+ expect(calls[2].params.agedDays).toBe(90);
156
+ });
157
+ // `:Property.createdAt` is a String (memory-write stamps
158
+ // `new Date().toISOString()`), not a DateTime. Cypher compares mismatched
159
+ // types to null rather than raising, so comparing the raw property against
160
+ // `datetime()` makes `aged` permanently 0 and nothing anywhere says so.
161
+ // Assert the parse is present — this is a silent-wrong-answer guard, and a
162
+ // stubbed session cannot catch it any other way.
163
+ it("parses createdAt before comparing it, never comparing a string to a datetime", async () => {
164
+ const { session, calls } = fakeSession({
165
+ businessType: "estate-agent",
166
+ imageRow: { total: 0, noImage: 0, slugs: [] },
167
+ listingRow: { total: 0, noListing: 0, aged: 0 },
168
+ });
169
+ await phaseEstateCensus({
170
+ accountId: "acc-1",
171
+ session,
172
+ config: { brandVertical: "schema-estate-agent" },
173
+ });
174
+ const listingQuery = calls[2].query;
175
+ expect(listingQuery).toContain("toString(p.createdAt)");
176
+ expect(listingQuery).toContain("datetime(createdAt) <");
177
+ expect(listingQuery).not.toMatch(/p\.createdAt\s*</);
178
+ // Malformed operator-supplied values must not reach datetime() and take
179
+ // the census down with them. The pattern is a parameter, so no Cypher
180
+ // string-literal escaping sits between it and the regex engine.
181
+ expect(listingQuery).toContain("createdAt =~ $isoDatePattern");
182
+ expect(calls[2].params.isoDatePattern).toBe("\\d{4}-\\d{2}-\\d{2}T.*");
183
+ expect(new RegExp(calls[2].params.isoDatePattern).test("2026-07-29T06:00:00.000Z")).toBe(true);
184
+ expect(new RegExp(calls[2].params.isoDatePattern).test("not-a-date")).toBe(false);
185
+ });
186
+ });
187
+ describe("phaseEstateCensus — registration", () => {
188
+ // A phase registered in the orchestrator but not reachable by the scheduled
189
+ // sweep never runs unattended, which is the whole point of a standing audit.
190
+ // dream-cycle-sweep.ts now imports this same constant, so this asserts the
191
+ // orchestrator side and the import removes the possibility of drift.
192
+ it("phase 8 is in the orchestrator's phase list", () => {
193
+ expect([...ALL_PHASES]).toContain(8);
194
+ expect([...ALL_PHASES]).toEqual([1, 2, 3, 4, 5, 6, 7, 8]);
195
+ });
196
+ });
197
+ //# sourceMappingURL=phase-estate-census.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"phase-estate-census.test.js","sourceRoot":"","sources":["../../../src/lib/__tests__/phase-estate-census.test.ts"],"names":[],"mappings":"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"}
@@ -225,13 +225,20 @@ test("loadSchema: schema-base.md line-168 PARTY row parses", () => {
225
225
  // throwing; reaching this point is the success signal.
226
226
  assert.ok(schema.markdownLabels.size > 0);
227
227
  });
228
- // Task 370 schema-loader strips trailing footnote markers from
229
- // required-property tokens. schema-estate-agent.md declares
230
- // `` `heroImageUrl`*, `pageUrl`* `` where the trailing `*` points at a
231
- // conditional-requirement footnote. The parser must recover the canonical
232
- // property names; otherwise the validator stores `heroImageUrl*` and every
233
- // Listing write fails with `missing required property 'heroImageUrl*'`.
234
- test("loadSchema: Listing required-props strip footnote asterisks", () => {
228
+ // Task 370 shipped `stripFootnoteMarker` so a `` `heroImageUrl`* `` token in a
229
+ // required column parses to the canonical `heroImageUrl` rather than the
230
+ // literal `heroImageUrl*`. That parser behaviour is still correct and is still
231
+ // asserted below any schema may footnote a required token.
232
+ //
233
+ // Task 2128 removed `heroImageUrl` and `pageUrl` from schema-estate-agent.md's
234
+ // Listing required column outright. The `:32` footnote claimed they were
235
+ // required only for publicly-listable statuses, but no code ever implemented
236
+ // that condition, so every photo-less Listing create failed at every status —
237
+ // including a listing taken before the photographer arrives, which is the
238
+ // normal case. Do not restore the tokens: a Listing carrying neither URL is a
239
+ // legal write, and the gap is reported by the dream-cycle phase-8
240
+ // `[estate-census] op=image-gap` line instead of blocking the write.
241
+ test("loadSchema: Listing required-props carry no footnote markers", () => {
235
242
  const brandPath = writeBrandJson({ vertical: "schema-estate-agent" });
236
243
  const schema = loadSchema({ brandJsonPath: brandPath });
237
244
  const listing = schema.markdownLabels.get("Listing");
@@ -239,7 +246,46 @@ test("loadSchema: Listing required-props strip footnote asterisks", () => {
239
246
  const names = listing.required.flatMap((g) => g.kind === "simple" ? [g.name] : g.names);
240
247
  const withMarker = names.filter((n) => /[*†‡]/.test(n));
241
248
  assert.deepEqual(withMarker, [], `no required-property name may carry a trailing footnote marker; got ${JSON.stringify(withMarker)}`);
242
- assert.ok(names.includes("heroImageUrl"), "heroImageUrl must appear with footnote marker stripped");
243
- assert.ok(names.includes("pageUrl"), "pageUrl must appear with footnote marker stripped");
249
+ });
250
+ // Task 2128 a photo URL and a live page URL are not preconditions of a
251
+ // listing existing. Both are enrichment that lands later (the photographer is
252
+ // booked after the instruction is won; the Pages alias exists only after
253
+ // deploy), so neither may sit in the required set.
254
+ test("loadSchema: Listing does not require heroImageUrl or pageUrl", () => {
255
+ const brandPath = writeBrandJson({ vertical: "schema-estate-agent" });
256
+ const schema = loadSchema({ brandJsonPath: brandPath });
257
+ const listing = schema.markdownLabels.get("Listing");
258
+ assert.ok(listing, "Listing must be documented in schema-estate-agent.md");
259
+ const names = listing.required.flatMap((g) => g.kind === "simple" ? [g.name] : g.names);
260
+ assert.ok(!names.includes("heroImageUrl"), `heroImageUrl must not be a required property of Listing; got ${JSON.stringify(names)}`);
261
+ assert.ok(!names.includes("pageUrl"), `pageUrl must not be a required property of Listing; got ${JSON.stringify(names)}`);
262
+ // The rest of the contract is unchanged — guard against the tokens being
263
+ // removed by deleting the whole row.
264
+ for (const expected of [
265
+ "accountId",
266
+ "slug",
267
+ "displayName",
268
+ "listingType",
269
+ "status",
270
+ "sourceSystem",
271
+ "sourceId",
272
+ "scope",
273
+ "blurb",
274
+ ]) {
275
+ assert.ok(names.includes(expected), `Listing must still require ${expected}; got ${JSON.stringify(names)}`);
276
+ }
277
+ });
278
+ // Task 2128 — `:Property` is created address-only. Its required set is the
279
+ // regression boundary for the Listing relaxation above: relaxing one label must
280
+ // not relax its parent.
281
+ test("loadSchema: Property requires exactly accountId, slug, address", () => {
282
+ const brandPath = writeBrandJson({ vertical: "schema-estate-agent" });
283
+ const schema = loadSchema({ brandJsonPath: brandPath });
284
+ const property = schema.markdownLabels.get("Property");
285
+ assert.ok(property, "Property must be documented in schema-estate-agent.md");
286
+ const names = property.required
287
+ .flatMap((g) => (g.kind === "simple" ? [g.name] : g.names))
288
+ .sort();
289
+ assert.deepEqual(names, ["accountId", "address", "slug"]);
244
290
  });
245
291
  //# sourceMappingURL=schema-loader.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema-loader.test.js","sourceRoot":"","sources":["../../../src/lib/__tests__/schema-loader.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema-loader.test.js","sourceRoot":"","sources":["../../../src/lib/__tests__/schema-loader.test.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,10 @@
1
1
  import test from "node:test";
2
2
  import assert from "node:assert/strict";
3
+ import { mkdtempSync, writeFileSync } from "node:fs";
4
+ import { tmpdir } from "node:os";
5
+ import { join } from "node:path";
3
6
  import { validateWrite } from "../schema-validator.js";
7
+ import { loadSchema } from "../schema-loader.js";
4
8
  // ---------------------------------------------------------------------------
5
9
  // Fixture builders. These avoid hitting the real schema-*.md files so the
6
10
  // validator's behaviour can be asserted independently of the markdown
@@ -639,4 +643,96 @@ test("vertical scoping: resolved-vertical=none logged when no context is passed"
639
643
  assert.equal(verticalLines.length, 1);
640
644
  assert.match(verticalLines[0], /resolved-vertical=none source=brand-default/);
641
645
  });
646
+ // ---------------------------------------------------------------------------
647
+ // Task 2128 — a Listing carrying no photo URL and no page URL is a legal write
648
+ // at every status.
649
+ //
650
+ // These cases load the REAL schema-estate-agent.md rather than a fixture: the
651
+ // defect being guarded was that the required set on disk disagreed with the
652
+ // footnote directly beneath it, which a synthetic fixture cannot catch.
653
+ // ---------------------------------------------------------------------------
654
+ function writeEstateBrandJson() {
655
+ const dir = mkdtempSync(join(tmpdir(), "schema-validator-brand-"));
656
+ const path = join(dir, "brand.json");
657
+ writeFileSync(path, JSON.stringify({ vertical: "schema-estate-agent" }), "utf-8");
658
+ return path;
659
+ }
660
+ /** The post-Task-2128 Listing required set, with no image and no page URL. */
661
+ function minimalListing(status) {
662
+ return {
663
+ slug: "griffin-house-upper-church-street-chepstow",
664
+ displayName: "Griffin House, Upper Church Street, Chepstow NP16 5EX",
665
+ listingType: "sale",
666
+ status,
667
+ sourceSystem: "loop",
668
+ sourceId: "12345",
669
+ scope: status === "for-sale" ? "public" : "shared",
670
+ blurb: "A four-bedroom stone house a short walk from the castle.",
671
+ };
672
+ }
673
+ const LISTING_STATUSES = [
674
+ "for-sale",
675
+ "under-offer",
676
+ "sold",
677
+ "withdrawn",
678
+ "off-market",
679
+ ];
680
+ for (const status of LISTING_STATUSES) {
681
+ test(`Task 2128: Listing create accepted with no heroImageUrl/pageUrl at status=${status}`, () => {
682
+ const schema = loadSchema({ brandJsonPath: writeEstateBrandJson() });
683
+ const liveSource = makeLiveSource({ live: ["Listing"], declared: [] });
684
+ const { lines, emit } = captureEmits();
685
+ validateWrite({
686
+ labels: ["Listing"],
687
+ properties: minimalListing(status),
688
+ accountId: "acct-1",
689
+ }, { schema, liveSource, emit }, {
690
+ verticalContext: {
691
+ resolvedVertical: "schema-estate-agent",
692
+ source: "brand-default",
693
+ },
694
+ });
695
+ assert.ok(lines.some((l) => l.includes("required-props label=Listing outcome=satisfied")), `expected required-props satisfied for status=${status}; got ${JSON.stringify(lines)}`);
696
+ assert.ok(!lines.some((l) => l.includes("outcome=missing-group")), `no required-property group may be missing at status=${status}; got ${JSON.stringify(lines)}`);
697
+ });
698
+ }
699
+ // A Property carrying only its address-only required set is a legal write with
700
+ // no Listing anywhere in the call. The validator never saw adjacency — this
701
+ // asserts the schema side of Defect B; the ≥1-adjacency edge requirement lives
702
+ // in memory-write and is unchanged.
703
+ test("Task 2128: Property create accepted address-only, no Listing", () => {
704
+ const schema = loadSchema({ brandJsonPath: writeEstateBrandJson() });
705
+ const liveSource = makeLiveSource({ live: ["Property"], declared: [] });
706
+ const { lines, emit } = captureEmits();
707
+ validateWrite({
708
+ labels: ["Property"],
709
+ properties: {
710
+ slug: "griffin-house-upper-church-street-chepstow",
711
+ address: "Griffin House, Upper Church Street, Chepstow NP16 5EX",
712
+ },
713
+ accountId: "acct-1",
714
+ }, { schema, liveSource, emit }, {
715
+ verticalContext: {
716
+ resolvedVertical: "schema-estate-agent",
717
+ source: "brand-default",
718
+ },
719
+ });
720
+ assert.ok(lines.some((l) => l.includes("required-props label=Property outcome=satisfied")), `expected required-props satisfied for Property; got ${JSON.stringify(lines)}`);
721
+ });
722
+ // Regression boundary: the Listing relaxation must not have relaxed anything
723
+ // else. A Listing still missing a genuinely required property is still refused.
724
+ test("Task 2128: Listing create still refused when blurb is absent", () => {
725
+ const schema = loadSchema({ brandJsonPath: writeEstateBrandJson() });
726
+ const liveSource = makeLiveSource({ live: ["Listing"], declared: [] });
727
+ const { lines, emit } = captureEmits();
728
+ const properties = minimalListing("for-sale");
729
+ delete properties.blurb;
730
+ assert.throws(() => validateWrite({ labels: ["Listing"], properties, accountId: "acct-1" }, { schema, liveSource, emit }, {
731
+ verticalContext: {
732
+ resolvedVertical: "schema-estate-agent",
733
+ source: "brand-default",
734
+ },
735
+ }), /missing required property 'blurb' for label Listing/);
736
+ assert.ok(lines.some((l) => l.includes("outcome=missing-group group=blurb")), `expected missing-group log for blurb; got ${JSON.stringify(lines)}`);
737
+ });
642
738
  //# sourceMappingURL=schema-validator.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema-validator.test.js","sourceRoot":"","sources":["../../../src/lib/__tests__/schema-validator.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema-validator.test.js","sourceRoot":"","sources":["../../../src/lib/__tests__/schema-validator.test.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,13 @@ export interface PhaseConfig {
22
22
  maxEventsPerRun?: number;
23
23
  /** Phase 4 resume cursor: timelineEventId to start AFTER. */
24
24
  resumeCursor?: string | null;
25
+ /**
26
+ * Phase 8 (estate census) vertical gate: the brand's declared default
27
+ * vertical, resolved once per run by the orchestrator rather than re-read
28
+ * from `brand.json` per phase. `resolveActiveVertical` layers any
29
+ * LocalBusiness override on top of it.
30
+ */
31
+ brandVertical?: string | null;
25
32
  }
26
33
  export interface PhaseResult {
27
34
  phase: number;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/dream-cycle/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5C,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,qEAAqE;IACrE,MAAM,EAAE,WAAW,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,iDAAiD;IACjD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,6DAA6D;IAC7D,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,qEAAqE;IACrE,QAAQ,EAAE,MAAM,CAAC;IACjB,kFAAkF;IAClF,OAAO,EAAE,MAAM,CAAC;IAChB,wCAAwC;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,qEAAqE;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/dream-cycle/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5C,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,qEAAqE;IACrE,MAAM,EAAE,WAAW,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,iDAAiD;IACjD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,6DAA6D;IAC7D,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,qEAAqE;IACrE,QAAQ,EAAE,MAAM,CAAC;IACjB,kFAAkF;IAClF,OAAO,EAAE,MAAM,CAAC;IAChB,wCAAwC;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,qEAAqE;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Phase 8 — estate-agent census (Task 2128).
3
+ *
4
+ * Read-only. Counts the two states Task 2128 legalised, so that legalising
5
+ * them does not make them invisible:
6
+ *
7
+ * - a public `:Listing` with no image at all (no `heroImageUrl`, no
8
+ * `DEPICTS`-linked `:ImageObject`). Nothing else reports this. The public
9
+ * agent renders such a Listing as a text-only card and emits no error, so
10
+ * the failure produces no event and cannot be found by re-running anything.
11
+ * - a `:Property` with no `:Listing`. Legal since Task 2128 (a property at
12
+ * valuation or pre-instruction stage), but an aged one is stale stock that
13
+ * nothing else would surface.
14
+ *
15
+ * Both are no-event failures, which is why they need a standing audit rather
16
+ * than a log hung on an action. The phase mutates nothing and proposes
17
+ * nothing — `proposed`/`applied`/`deferred` are all zero and the counts ride
18
+ * in `extra`, because there is no action to take on a count, only a number for
19
+ * an operator to read.
20
+ *
21
+ * Vertical gating: this census is meaningless on a non-estate account, and
22
+ * three of the four shipped brands are non-estate. Such an account emits
23
+ * `op=skip` and does no graph work. A *wholly absent* `[estate-census]` line
24
+ * from a completed sweep therefore means the phase died, which is the signal
25
+ * a silent skip would have destroyed.
26
+ */
27
+ import type { PhaseContext, PhaseResult } from "./index.js";
28
+ export declare function phaseEstateCensus(ctx: PhaseContext): Promise<PhaseResult>;
29
+ //# sourceMappingURL=phase-estate-census.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"phase-estate-census.d.ts","sourceRoot":"","sources":["../../../src/lib/dream-cycle/phase-estate-census.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AA+B5D,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CA4F/E"}