@rubytech/create-maxy-code 0.1.114 → 0.1.115

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 (711) hide show
  1. package/dist/__tests__/installer-specialist-registration.test.js +40 -1
  2. package/dist/__tests__/premium-bundle-gate.test.js +59 -0
  3. package/dist/index.js +24 -1
  4. package/dist/specialist-registration.js +15 -0
  5. package/package.json +1 -1
  6. package/payload/platform/config/brand.json +1 -1
  7. package/payload/platform/neo4j/schema.cypher +1 -1
  8. package/payload/platform/plugins/.claude-plugin/marketplace.json +0 -5
  9. package/payload/platform/plugins/contacts/mcp/dist/index.js +3 -3
  10. package/payload/platform/plugins/contacts/mcp/dist/index.js.map +1 -1
  11. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-create.js +1 -1
  12. package/payload/platform/plugins/docs/references/contacts-guide.md +1 -9
  13. package/payload/platform/plugins/docs/references/getting-started.md +1 -1
  14. package/payload/platform/plugins/docs/references/internals.md +1 -1
  15. package/payload/platform/plugins/docs/references/platform.md +1 -1
  16. package/payload/platform/plugins/docs/references/plugins-guide.md +1 -2
  17. package/payload/platform/plugins/linkedin-import/PLUGIN.md +1 -1
  18. package/payload/platform/plugins/memory/PLUGIN.md +1 -1
  19. package/payload/platform/plugins/sales/.claude-plugin/plugin.json +1 -1
  20. package/payload/platform/plugins/sales/PLUGIN.md +9 -9
  21. package/payload/platform/plugins/sales/references/close-tracking.md +6 -6
  22. package/payload/platform/plugins/sales/references/faq.md +1 -5
  23. package/payload/platform/plugins/sales/references/objection-handling.md +2 -2
  24. package/payload/platform/plugins/scheduling/PLUGIN.md +1 -1
  25. package/payload/platform/plugins/scheduling/mcp/dist/index.js +2 -2
  26. package/payload/platform/plugins/scheduling/mcp/dist/index.js.map +1 -1
  27. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/getUserTimezone.test.js +1 -1
  28. package/payload/platform/plugins/venture-studio/skills/office-hours/SKILL.md +3 -3
  29. package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/landing-page.md +4 -4
  30. package/payload/platform/plugins/workflows/PLUGIN.md +1 -1
  31. package/payload/platform/plugins/workflows/mcp/dist/tools/workflow-execute.d.ts +1 -1
  32. package/payload/platform/plugins/workflows/mcp/dist/tools/workflow-execute.js +2 -2
  33. package/payload/platform/plugins/workflows/mcp/dist/tools/workflow-execute.js.map +1 -1
  34. package/payload/platform/scripts/conversation-id-allowlist.txt +0 -7
  35. package/payload/platform/services/claude-session-manager/dist/http-server.d.ts.map +1 -1
  36. package/payload/platform/services/claude-session-manager/dist/http-server.js +42 -1
  37. package/payload/platform/services/claude-session-manager/dist/http-server.js.map +1 -1
  38. package/payload/platform/services/claude-session-manager/dist/pty-spawner.d.ts +34 -0
  39. package/payload/platform/services/claude-session-manager/dist/pty-spawner.d.ts.map +1 -1
  40. package/payload/platform/services/claude-session-manager/dist/pty-spawner.js +83 -2
  41. package/payload/platform/services/claude-session-manager/dist/pty-spawner.js.map +1 -1
  42. package/payload/platform/templates/specialists/agents/project-manager.md +1 -3
  43. package/payload/premium-plugins/.claude-plugin/marketplace.json +0 -10
  44. package/payload/premium-plugins/venture-studio/skills/office-hours/SKILL.md +3 -3
  45. package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/landing-page.md +4 -4
  46. package/payload/server/{chunk-FSPPVVWM.js → chunk-FJCI6X3H.js} +192 -0
  47. package/payload/server/maxy-edge.js +1 -1
  48. package/payload/server/public/assets/{ChatInput-CsnIedhS.js → ChatInput-CJo_77bp.js} +5 -1
  49. package/payload/server/public/assets/{Checkbox-CWugFyFT.js → Checkbox-YrQovXpN.js} +1 -1
  50. package/payload/server/public/assets/{admin-D3gZuyUn.js → admin-DOxHsV7g.js} +25 -25
  51. package/payload/server/public/assets/{architectureDiagram-Q4EWVU46-CeTRKWDb.js → architectureDiagram-Q4EWVU46-Breg9-99.js} +1 -1
  52. package/payload/server/public/assets/{blockDiagram-DXYQGD6D-DeeIX5U3.js → blockDiagram-DXYQGD6D-DXf1_673.js} +1 -1
  53. package/payload/server/public/assets/{c4Diagram-AHTNJAMY-CFsqZuil.js → c4Diagram-AHTNJAMY-CSZ36W4-.js} +1 -1
  54. package/payload/server/public/assets/channel-BmZnt3PP.js +1 -0
  55. package/payload/server/public/assets/{chunk-336JU56O-DpIXuFM0.js → chunk-336JU56O-DsrLk2eK.js} +2 -2
  56. package/payload/server/public/assets/{chunk-426QAEUC-Qk8qqrvA.js → chunk-426QAEUC-JpNfNf81.js} +1 -1
  57. package/payload/server/public/assets/{chunk-4TB4RGXK-DtM8-CUn.js → chunk-4TB4RGXK-DmClEAD0.js} +1 -1
  58. package/payload/server/public/assets/{chunk-5FUZZQ4R-CrSQ4ySU.js → chunk-5FUZZQ4R-BI9blW3N.js} +1 -1
  59. package/payload/server/public/assets/{chunk-5PVQY5BW-Bn2nQwdj.js → chunk-5PVQY5BW-BbgttEFO.js} +1 -1
  60. package/payload/server/public/assets/{chunk-EDXVE4YY-CzCPnR0P.js → chunk-EDXVE4YY-BX_LCFOx.js} +1 -1
  61. package/payload/server/public/assets/{chunk-ENJZ2VHE-CgZj9RoG.js → chunk-ENJZ2VHE-Bb7EoD0w.js} +1 -1
  62. package/payload/server/public/assets/{chunk-ICPOFSXX-wy-eNjwW.js → chunk-ICPOFSXX-DH8uQk-s.js} +1 -1
  63. package/payload/server/public/assets/{chunk-OYMX7WX6-CMmJtL8S.js → chunk-OYMX7WX6-FH5kgXsw.js} +1 -1
  64. package/payload/server/public/assets/{chunk-U2HBQHQK-CFCW7OaT.js → chunk-U2HBQHQK-D_ljlkHr.js} +1 -1
  65. package/payload/server/public/assets/{chunk-X2U36JSP-Bgh-CJSN.js → chunk-X2U36JSP-BX3EmZvm.js} +1 -1
  66. package/payload/server/public/assets/{chunk-YZCP3GAM-BXKwZ4vN.js → chunk-YZCP3GAM-Vu7-E93h.js} +1 -1
  67. package/payload/server/public/assets/{chunk-ZZ45TVLE-BiOuK5NP.js → chunk-ZZ45TVLE-CwjhNPX5.js} +1 -1
  68. package/payload/server/public/assets/classDiagram-6PBFFD2Q-kmMLFUpV.js +1 -0
  69. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-BV7Ae8ct.js +1 -0
  70. package/payload/server/public/assets/clone-B5eqoN9I.js +1 -0
  71. package/payload/server/public/assets/{dagre-DyCxa9Q2.js → dagre-Ce6gsj0C.js} +1 -1
  72. package/payload/server/public/assets/{dagre-KV5264BT-Cffo_hmf.js → dagre-KV5264BT-BaMGpsoy.js} +1 -1
  73. package/payload/server/public/assets/data-NMvGx6jm.js +1 -0
  74. package/payload/server/public/assets/{diagram-5BDNPKRD-Bt93Du3V.js → diagram-5BDNPKRD-CHEE9rjq.js} +1 -1
  75. package/payload/server/public/assets/{diagram-G4DWMVQ6-v4r-tBsC.js → diagram-G4DWMVQ6-C98sZLW1.js} +1 -1
  76. package/payload/server/public/assets/{diagram-MMDJMWI5-DKrVPOP-.js → diagram-MMDJMWI5-DNvMGsTZ.js} +1 -1
  77. package/payload/server/public/assets/{diagram-TYMM5635-B1PzWQb9.js → diagram-TYMM5635-Cdte4IBa.js} +1 -1
  78. package/payload/server/public/assets/{erDiagram-SMLLAGMA-ClQzsQAs.js → erDiagram-SMLLAGMA-C9VZsWXK.js} +1 -1
  79. package/payload/server/public/assets/{flowDiagram-DWJPFMVM-h3IbpN_7.js → flowDiagram-DWJPFMVM-tuP5fzzR.js} +1 -1
  80. package/payload/server/public/assets/{ganttDiagram-T4ZO3ILL-ClaxOJi8.js → ganttDiagram-T4ZO3ILL-SJgRPUwx.js} +1 -1
  81. package/payload/server/public/assets/{gitGraphDiagram-UUTBAWPF-pM-U4ClD.js → gitGraphDiagram-UUTBAWPF-DU_cI_50.js} +1 -1
  82. package/payload/server/public/assets/graph-BkwTCV2Y.js +1 -0
  83. package/payload/server/public/assets/graph-labels-h39S93Xo.js +1 -0
  84. package/payload/server/public/assets/{graphlib-CwimOv_M.js → graphlib-D_nAsvmx.js} +1 -1
  85. package/payload/server/public/assets/{infoDiagram-42DDH7IO-DcO3Giwe.js → infoDiagram-42DDH7IO-Cj2Y19m6.js} +1 -1
  86. package/payload/server/public/assets/{ishikawaDiagram-UXIWVN3A-BcdSL5VS.js → ishikawaDiagram-UXIWVN3A-DMc1xq1y.js} +1 -1
  87. package/payload/server/public/assets/{journeyDiagram-VCZTEJTY-CYahHYzf.js → journeyDiagram-VCZTEJTY-C4CRAQma.js} +1 -1
  88. package/payload/server/public/assets/{kanban-definition-6JOO6SKY-Cl5KhoS4.js → kanban-definition-6JOO6SKY-CTr4AldU.js} +1 -1
  89. package/payload/server/public/assets/lib-Bnh57com.js +29 -0
  90. package/payload/server/public/assets/{line-d_2oTxLp.js → line-Btlm_IAl.js} +1 -1
  91. package/payload/server/public/assets/{mermaid-parser.core-CMMDGv3x.js → mermaid-parser.core-DXFdj_y1.js} +1 -1
  92. package/payload/server/public/assets/{mermaid.core-DK9ENGbr.js → mermaid.core-DFBhoCr5.js} +3 -3
  93. package/payload/server/public/assets/{mindmap-definition-QFDTVHPH-mA3x3MFG.js → mindmap-definition-QFDTVHPH-r9gVQybo.js} +1 -1
  94. package/payload/server/public/assets/{page-CgDmg_fX.js → page-B0iMmY6t.js} +1 -1
  95. package/payload/server/public/assets/{page-D9lluVl7.js → page-zQ79YCEt.js} +2 -2
  96. package/payload/server/public/assets/{pieDiagram-DEJITSTG-CW1nGFlY.js → pieDiagram-DEJITSTG-CHKZjSaH.js} +1 -1
  97. package/payload/server/public/assets/{public-DdLMkNdS.js → public-DyGWgfaZ.js} +4 -4
  98. package/payload/server/public/assets/{quadrantDiagram-34T5L4WZ-DI5igJhR.js → quadrantDiagram-34T5L4WZ-CSGR1HJr.js} +1 -1
  99. package/payload/server/public/assets/{requirementDiagram-MS252O5E-DyVeI4e_.js → requirementDiagram-MS252O5E-DZ6hX9D6.js} +1 -1
  100. package/payload/server/public/assets/{sankeyDiagram-XADWPNL6-CCTTBYKY.js → sankeyDiagram-XADWPNL6-DbZBKh0m.js} +1 -1
  101. package/payload/server/public/assets/{sequenceDiagram-FGHM5R23-hVVf35ly.js → sequenceDiagram-FGHM5R23-BHHpb8dt.js} +1 -1
  102. package/payload/server/public/assets/{stateDiagram-FHFEXIEX-CSLuQDUX.js → stateDiagram-FHFEXIEX-DQ1jiLB4.js} +1 -1
  103. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-CByT2RzF.js +1 -0
  104. package/payload/server/public/assets/{timeline-definition-GMOUNBTQ-sxC3W8Q4.js → timeline-definition-GMOUNBTQ-BlGiEU7p.js} +1 -1
  105. package/payload/server/public/assets/{vennDiagram-DHZGUBPP-Ro-ton6Z.js → vennDiagram-DHZGUBPP-DmEH-hsB.js} +1 -1
  106. package/payload/server/public/assets/{wardleyDiagram-NUSXRM2D-T-dKD0Zx.js → wardleyDiagram-NUSXRM2D-C7KJJ40d.js} +1 -1
  107. package/payload/server/public/assets/{xychartDiagram-5P7HB3ND-CfProPts.js → xychartDiagram-5P7HB3ND-JDnusCaa.js} +1 -1
  108. package/payload/server/public/data.html +4 -4
  109. package/payload/server/public/graph.html +5 -5
  110. package/payload/server/public/index.html +7 -7
  111. package/payload/server/public/public.html +4 -4
  112. package/payload/server/server.js +52 -8
  113. package/payload/platform/plugins/waitlist/.claude-plugin/plugin.json +0 -17
  114. package/payload/platform/plugins/waitlist/PLUGIN.md +0 -86
  115. package/payload/platform/plugins/waitlist/mcp/dist/index.d.ts +0 -2
  116. package/payload/platform/plugins/waitlist/mcp/dist/index.d.ts.map +0 -1
  117. package/payload/platform/plugins/waitlist/mcp/dist/index.js +0 -388
  118. package/payload/platform/plugins/waitlist/mcp/dist/index.js.map +0 -1
  119. package/payload/platform/plugins/waitlist/mcp/dist/lib/admin-model.d.ts +0 -16
  120. package/payload/platform/plugins/waitlist/mcp/dist/lib/admin-model.d.ts.map +0 -1
  121. package/payload/platform/plugins/waitlist/mcp/dist/lib/admin-model.js +0 -58
  122. package/payload/platform/plugins/waitlist/mcp/dist/lib/admin-model.js.map +0 -1
  123. package/payload/platform/plugins/waitlist/mcp/dist/lib/embedding.d.ts +0 -3
  124. package/payload/platform/plugins/waitlist/mcp/dist/lib/embedding.d.ts.map +0 -1
  125. package/payload/platform/plugins/waitlist/mcp/dist/lib/embedding.js +0 -48
  126. package/payload/platform/plugins/waitlist/mcp/dist/lib/embedding.js.map +0 -1
  127. package/payload/platform/plugins/waitlist/mcp/dist/lib/neo4j.d.ts +0 -5
  128. package/payload/platform/plugins/waitlist/mcp/dist/lib/neo4j.d.ts.map +0 -1
  129. package/payload/platform/plugins/waitlist/mcp/dist/lib/neo4j.js +0 -40
  130. package/payload/platform/plugins/waitlist/mcp/dist/lib/neo4j.js.map +0 -1
  131. package/payload/platform/plugins/waitlist/mcp/dist/tools/__tests__/waitlist-persist.test.d.ts +0 -2
  132. package/payload/platform/plugins/waitlist/mcp/dist/tools/__tests__/waitlist-persist.test.d.ts.map +0 -1
  133. package/payload/platform/plugins/waitlist/mcp/dist/tools/__tests__/waitlist-persist.test.js +0 -70
  134. package/payload/platform/plugins/waitlist/mcp/dist/tools/__tests__/waitlist-persist.test.js.map +0 -1
  135. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-extract.d.ts +0 -34
  136. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-extract.d.ts.map +0 -1
  137. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-extract.js +0 -129
  138. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-extract.js.map +0 -1
  139. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-heal.d.ts +0 -27
  140. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-heal.d.ts.map +0 -1
  141. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-heal.js +0 -127
  142. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-heal.js.map +0 -1
  143. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-list.d.ts +0 -23
  144. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-list.d.ts.map +0 -1
  145. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-list.js +0 -58
  146. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-list.js.map +0 -1
  147. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-persist.d.ts +0 -83
  148. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-persist.d.ts.map +0 -1
  149. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-persist.js +0 -433
  150. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-persist.js.map +0 -1
  151. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-review.d.ts +0 -19
  152. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-review.d.ts.map +0 -1
  153. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-review.js +0 -81
  154. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-review.js.map +0 -1
  155. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-scan.d.ts +0 -28
  156. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-scan.d.ts.map +0 -1
  157. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-scan.js +0 -50
  158. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-scan.js.map +0 -1
  159. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-setup.d.ts +0 -33
  160. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-setup.d.ts.map +0 -1
  161. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-setup.js +0 -297
  162. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-setup.js.map +0 -1
  163. package/payload/platform/plugins/waitlist/mcp/package.json +0 -23
  164. package/payload/platform/plugins/waitlist/mcp/vitest.config.ts +0 -9
  165. package/payload/premium-plugins/real-agent/BUNDLE.md +0 -47
  166. package/payload/premium-plugins/real-agent/agents/buyer-enquiry/IDENTITY.md +0 -13
  167. package/payload/premium-plugins/real-agent/agents/buyer-enquiry/SOUL.md +0 -19
  168. package/payload/premium-plugins/real-agent/agents/buyer-enquiry/template.json +0 -9
  169. package/payload/premium-plugins/real-agent/agents/compliance.md +0 -317
  170. package/payload/premium-plugins/real-agent/agents/listing-curator.md +0 -152
  171. package/payload/premium-plugins/real-agent/agents/negotiator.md +0 -167
  172. package/payload/premium-plugins/real-agent/agents/valuer.md +0 -155
  173. package/payload/premium-plugins/real-agent/plugins/.claude-plugin/marketplace.json +0 -68
  174. package/payload/premium-plugins/real-agent/plugins/brochures/.claude-plugin/plugin.json +0 -8
  175. package/payload/premium-plugins/real-agent/plugins/brochures/PLUGIN.md +0 -38
  176. package/payload/premium-plugins/real-agent/plugins/brochures/commands/make-brochure.md +0 -11
  177. package/payload/premium-plugins/real-agent/plugins/brochures/skills/a4-print-documents/SKILL.md +0 -478
  178. package/payload/premium-plugins/real-agent/plugins/brochures/skills/brand-design/SKILL.md +0 -235
  179. package/payload/premium-plugins/real-agent/plugins/brochures/skills/make-brochure/SKILL.md +0 -355
  180. package/payload/premium-plugins/real-agent/plugins/brochures/skills/make-brochure/references/seller-brief-template.md +0 -115
  181. package/payload/premium-plugins/real-agent/plugins/brochures/skills/property-brochure/SKILL.md +0 -195
  182. package/payload/premium-plugins/real-agent/plugins/brochures/skills/property-brochure/references/build.md +0 -689
  183. package/payload/premium-plugins/real-agent/plugins/brochures/skills/property-brochure/references/copy.md +0 -211
  184. package/payload/premium-plugins/real-agent/plugins/brochures/skills/property-brochure/references/images.md +0 -166
  185. package/payload/premium-plugins/real-agent/plugins/brochures/skills/property-brochure/references/index-landing.md +0 -376
  186. package/payload/premium-plugins/real-agent/plugins/brochures/skills/property-brochure/references/index.html +0 -1290
  187. package/payload/premium-plugins/real-agent/plugins/brochures/skills/property-brochure/references/placeholders.md +0 -250
  188. package/payload/premium-plugins/real-agent/plugins/brochures/skills/property-brochure/references/registers.md +0 -105
  189. package/payload/premium-plugins/real-agent/plugins/brochures/skills/property-brochure/references/seller-brief.md +0 -56
  190. package/payload/premium-plugins/real-agent/plugins/brochures/skills/property-brochure/references/structure.md +0 -249
  191. package/payload/premium-plugins/real-agent/plugins/brochures/skills/property-brochure/references/template.html +0 -2400
  192. package/payload/premium-plugins/real-agent/plugins/brochures/skills/property-extract/SKILL.md +0 -366
  193. package/payload/premium-plugins/real-agent/plugins/brochures/skills/property-market-report/SKILL.md +0 -100
  194. package/payload/premium-plugins/real-agent/plugins/brochures/skills/property-market-report/references/render.py +0 -267
  195. package/payload/premium-plugins/real-agent/plugins/brochures/skills/property-market-report/references/template.html +0 -266
  196. package/payload/premium-plugins/real-agent/plugins/brochures/skills/property-socials/SKILL.md +0 -143
  197. package/payload/premium-plugins/real-agent/plugins/buyers/.claude-plugin/plugin.json +0 -8
  198. package/payload/premium-plugins/real-agent/plugins/buyers/PLUGIN.md +0 -35
  199. package/payload/premium-plugins/real-agent/plugins/buyers/skills/buyer-feedback/SKILL.md +0 -109
  200. package/payload/premium-plugins/real-agent/plugins/buyers/skills/buyer-management/SKILL.md +0 -42
  201. package/payload/premium-plugins/real-agent/plugins/buyers/skills/buyer-management/references/buyer-qualification-questions.md +0 -16
  202. package/payload/premium-plugins/real-agent/plugins/buyers/skills/buyer-management/references/buyer-qualification.md +0 -59
  203. package/payload/premium-plugins/real-agent/plugins/buyers/skills/buyer-management/references/buyer-scripts.md +0 -63
  204. package/payload/premium-plugins/real-agent/plugins/buyers/skills/buyer-management/references/buyer-working-scripts.md +0 -54
  205. package/payload/premium-plugins/real-agent/plugins/buyers/skills/buyer-management/references/feedback-collection.md +0 -42
  206. package/payload/premium-plugins/real-agent/plugins/buyers/skills/buyer-management/references/offer-capture.md +0 -38
  207. package/payload/premium-plugins/real-agent/plugins/buyers/skills/buyer-management/references/viewing-booking.md +0 -32
  208. package/payload/premium-plugins/real-agent/plugins/buyers/skills/buyer-management/references/viewing-management.md +0 -52
  209. package/payload/premium-plugins/real-agent/plugins/buyers/skills/buyer-seller-guides/SKILL.md +0 -407
  210. package/payload/premium-plugins/real-agent/plugins/buyers/skills/buyer-seller-guides/references/care-fees-guide.md +0 -68
  211. package/payload/premium-plugins/real-agent/plugins/buyers/skills/buyer-seller-guides/references/divorce-sales-guide.md +0 -61
  212. package/payload/premium-plugins/real-agent/plugins/buyers/skills/buyer-seller-guides/references/downsizing-guide.md +0 -45
  213. package/payload/premium-plugins/real-agent/plugins/buyers/skills/buyer-seller-guides/references/first-time-buyers.md +0 -92
  214. package/payload/premium-plugins/real-agent/plugins/buyers/skills/buyer-seller-guides/references/first-time-sellers.md +0 -78
  215. package/payload/premium-plugins/real-agent/plugins/buyers/skills/buyer-seller-guides/references/probate-guide.md +0 -53
  216. package/payload/premium-plugins/real-agent/plugins/buyers/skills/buyer-seller-guides/references/upsizing-guide.md +0 -41
  217. package/payload/premium-plugins/real-agent/plugins/buyers/skills/property-enquiry/SKILL.md +0 -126
  218. package/payload/premium-plugins/real-agent/plugins/buyers/skills/property-recommender/SKILL.md +0 -116
  219. package/payload/premium-plugins/real-agent/plugins/buyers/skills/viewing-management/SKILL.md +0 -111
  220. package/payload/premium-plugins/real-agent/plugins/estate-business/.claude-plugin/plugin.json +0 -8
  221. package/payload/premium-plugins/real-agent/plugins/estate-business/PLUGIN.md +0 -64
  222. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/business-growth/SKILL.md +0 -133
  223. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/business-growth/references/buy-back-your-time.md +0 -37
  224. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/business-growth/references/firewave-gost-scorecards.md +0 -14
  225. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/business-growth/references/keller-org-model.md +0 -17
  226. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/business-growth/references/lencioni-team-models.md +0 -22
  227. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/business-growth/references/listing-management-system.md +0 -11
  228. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/business-growth/references/net-figure-form.md +0 -11
  229. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/business-growth/references/serhant-bizinbox-notes.md +0 -13
  230. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/business-growth/references/team-roles-commission.md +0 -14
  231. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/business-growth/references/va-2026-ops.md +0 -43
  232. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/business-growth/references/wingman-structure.md +0 -13
  233. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/business-operations/SKILL.md +0 -32
  234. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/business-operations/references/crm-systems.md +0 -57
  235. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/business-operations/references/hiring-guide.md +0 -59
  236. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/business-operations/references/impact-framework.md +0 -47
  237. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/business-operations/references/minutes-equal-money.md +0 -55
  238. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/business-operations/references/team-management.md +0 -48
  239. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/commission-calculator/SKILL.md +0 -40
  240. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/exp-partnership/SKILL.md +0 -52
  241. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/exp-partnership/references/12-reasons.md +0 -39
  242. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/exp-partnership/references/95-5-system.md +0 -66
  243. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/exp-partnership/references/agent-attraction-scripts.md +0 -90
  244. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/exp-partnership/references/business-partnership.md +0 -92
  245. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/exp-partnership/references/exp-model-overview.md +0 -66
  246. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/exp-partnership/references/model-comparison.md +0 -66
  247. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/exp-partnership/references/revenue-share-explained.md +0 -57
  248. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/month-end-close/SKILL.md +0 -69
  249. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/payment-batch-stager/SKILL.md +0 -42
  250. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/period-reconciler/SKILL.md +0 -42
  251. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/personal-branding/SKILL.md +0 -117
  252. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/personal-branding/references/attraction-agent-notes.md +0 -31
  253. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/personal-branding/references/attraction-agent.md +0 -58
  254. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/personal-branding/references/authenticity-boundaries.md +0 -28
  255. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/personal-branding/references/become-a-brand-leader-notes.md +0 -19
  256. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/personal-branding/references/blast-formula.md +0 -42
  257. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/personal-branding/references/brand-leader.md +0 -48
  258. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/personal-branding/references/brand-strategy-system.md +0 -59
  259. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/personal-branding/references/content-engine.md +0 -49
  260. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/personal-branding/references/firewave-blast-and-blogging.md +0 -23
  261. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/personal-branding/references/gary-v-content.md +0 -52
  262. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/personal-branding/references/gary-v-principles.md +0 -20
  263. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/personal-branding/references/oversubscribed-positioning.md +0 -18
  264. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/personal-branding/references/platforms.md +0 -41
  265. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/personal-branding/references/priestley-oversubscribed.md +0 -54
  266. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/personal-branding/references/storeys-style-examples.md +0 -25
  267. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/personal-branding/references/visual-identity.md +0 -27
  268. package/payload/premium-plugins/real-agent/plugins/estate-coaching/.claude-plugin/plugin.json +0 -8
  269. package/payload/premium-plugins/real-agent/plugins/estate-coaching/PLUGIN.md +0 -54
  270. package/payload/premium-plugins/real-agent/plugins/estate-coaching/skills/agent-performance/SKILL.md +0 -371
  271. package/payload/premium-plugins/real-agent/plugins/estate-coaching/skills/agent-performance/references/atomic-habits.md +0 -52
  272. package/payload/premium-plugins/real-agent/plugins/estate-coaching/skills/agent-performance/references/daily-routine-scorecard.md +0 -104
  273. package/payload/premium-plugins/real-agent/plugins/estate-coaching/skills/agent-performance/references/hp6-model.md +0 -63
  274. package/payload/premium-plugins/real-agent/plugins/estate-coaching/skills/agent-performance/references/twelve-week-year.md +0 -71
  275. package/payload/premium-plugins/real-agent/plugins/estate-coaching/skills/bespoke-coaching/SKILL.md +0 -36
  276. package/payload/premium-plugins/real-agent/plugins/estate-coaching/skills/bespoke-coaching/references/coaching-boundaries.md +0 -56
  277. package/payload/premium-plugins/real-agent/plugins/estate-coaching/skills/bespoke-coaching/references/feedback-framework.md +0 -61
  278. package/payload/premium-plugins/real-agent/plugins/estate-coaching/skills/bespoke-coaching/references/performance-framework.md +0 -109
  279. package/payload/premium-plugins/real-agent/plugins/estate-coaching/skills/coaching-toolkit/SKILL.md +0 -421
  280. package/payload/premium-plugins/real-agent/plugins/estate-coaching/skills/coaching-toolkit/references/coaching-exercises.md +0 -86
  281. package/payload/premium-plugins/real-agent/plugins/estate-coaching/skills/coaching-toolkit/references/goal-setting.md +0 -78
  282. package/payload/premium-plugins/real-agent/plugins/estate-coaching/skills/coaching-toolkit/references/one-to-one-framework.md +0 -92
  283. package/payload/premium-plugins/real-agent/plugins/estate-coaching/skills/coaching-toolkit/references/soi-workbook.md +0 -103
  284. package/payload/premium-plugins/real-agent/plugins/estate-coaching/skills/serhant-training/SKILL.md +0 -410
  285. package/payload/premium-plugins/real-agent/plugins/estate-coaching/skills/serhant-training/references/agent-training-guide.md +0 -70
  286. package/payload/premium-plugins/real-agent/plugins/estate-coaching/skills/serhant-training/references/business-in-a-box.md +0 -72
  287. package/payload/premium-plugins/real-agent/plugins/estate-coaching/skills/serhant-training/references/buyers-guide.md +0 -53
  288. package/payload/premium-plugins/real-agent/plugins/estate-coaching/skills/serhant-training/references/codo-method.md +0 -72
  289. package/payload/premium-plugins/real-agent/plugins/estate-coaching/skills/serhant-training/references/website-planning-guide.md +0 -79
  290. package/payload/premium-plugins/real-agent/plugins/estate-sales/.claude-plugin/plugin.json +0 -8
  291. package/payload/premium-plugins/real-agent/plugins/estate-sales/PLUGIN.md +0 -52
  292. package/payload/premium-plugins/real-agent/plugins/estate-sales/skills/chase-progression/SKILL.md +0 -107
  293. package/payload/premium-plugins/real-agent/plugins/estate-sales/skills/negotiation/SKILL.md +0 -35
  294. package/payload/premium-plugins/real-agent/plugins/estate-sales/skills/negotiation/references/deal-saving.md +0 -47
  295. package/payload/premium-plugins/real-agent/plugins/estate-sales/skills/negotiation/references/negotiation-deep-guide.md +0 -64
  296. package/payload/premium-plugins/real-agent/plugins/estate-sales/skills/negotiation/references/negotiation-prep-principles.md +0 -29
  297. package/payload/premium-plugins/real-agent/plugins/estate-sales/skills/negotiation/references/negotiation-techniques.md +0 -42
  298. package/payload/premium-plugins/real-agent/plugins/estate-sales/skills/negotiation/references/offer-presentation.md +0 -43
  299. package/payload/premium-plugins/real-agent/plugins/estate-sales/skills/risk-scorer/SKILL.md +0 -42
  300. package/payload/premium-plugins/real-agent/plugins/estate-sales/skills/sales-closer/SKILL.md +0 -24
  301. package/payload/premium-plugins/real-agent/plugins/estate-sales/skills/sales-closer/references/serhant-emotion-stages.md +0 -36
  302. package/payload/premium-plugins/real-agent/plugins/estate-sales/skills/sales-discovery/SKILL.md +0 -30
  303. package/payload/premium-plugins/real-agent/plugins/estate-sales/skills/sales-discovery/references/chris-voss-discovery.md +0 -88
  304. package/payload/premium-plugins/real-agent/plugins/estate-sales/skills/sales-discovery/references/firewave-gost-journey.md +0 -68
  305. package/payload/premium-plugins/real-agent/plugins/estate-sales/skills/sales-discovery/references/phil-jones-openers.md +0 -78
  306. package/payload/premium-plugins/real-agent/plugins/estate-sales/skills/sales-discovery/references/pre-listing-checklist.md +0 -77
  307. package/payload/premium-plugins/real-agent/plugins/estate-sales/skills/sales-discovery/references/serhant-improv.md +0 -22
  308. package/payload/premium-plugins/real-agent/plugins/estate-sales/skills/sales-discovery/references/tom-ferry-discovery.md +0 -103
  309. package/payload/premium-plugins/real-agent/plugins/estate-sales/skills/sales-discovery/references/vendor-motivation-competitor.md +0 -52
  310. package/payload/premium-plugins/real-agent/plugins/estate-sales/skills/sales-negotiation/SKILL.md +0 -29
  311. package/payload/premium-plugins/real-agent/plugins/estate-sales/skills/sales-negotiation/references/chris-voss-negotiation.md +0 -70
  312. package/payload/premium-plugins/real-agent/plugins/estate-sales/skills/sales-negotiation/references/phil-jones-price-words.md +0 -40
  313. package/payload/premium-plugins/real-agent/plugins/estate-sales/skills/sales-negotiation/references/serhant-negotiation-plus.md +0 -55
  314. package/payload/premium-plugins/real-agent/plugins/estate-sales/skills/sales-negotiation/references/tom-panos-commission-pricing.md +0 -57
  315. package/payload/premium-plugins/real-agent/plugins/estate-sales/skills/sales-negotiation/references/tony-morris-questioning.md +0 -54
  316. package/payload/premium-plugins/real-agent/plugins/estate-sales/skills/sales-progression/SKILL.md +0 -27
  317. package/payload/premium-plugins/real-agent/plugins/estate-sales/skills/sales-progression/references/conveyancing-guide.md +0 -54
  318. package/payload/premium-plugins/real-agent/plugins/estate-sales/skills/sales-progression/references/transaction-tracking.md +0 -66
  319. package/payload/premium-plugins/real-agent/plugins/estate-teaching/.claude-plugin/plugin.json +0 -8
  320. package/payload/premium-plugins/real-agent/plugins/estate-teaching/PLUGIN.md +0 -30
  321. package/payload/premium-plugins/real-agent/plugins/estate-teaching/skills/content-directory/SKILL.md +0 -39
  322. package/payload/premium-plugins/real-agent/plugins/estate-teaching/skills/content-directory/references/module-delivery.md +0 -65
  323. package/payload/premium-plugins/real-agent/plugins/estate-teaching/skills/content-directory/references/progress-tracking.md +0 -47
  324. package/payload/premium-plugins/real-agent/plugins/leads/.claude-plugin/plugin.json +0 -8
  325. package/payload/premium-plugins/real-agent/plugins/leads/PLUGIN.md +0 -61
  326. package/payload/premium-plugins/real-agent/plugins/leads/skills/chain-progression-tracker/SKILL.md +0 -51
  327. package/payload/premium-plugins/real-agent/plugins/leads/skills/diary-builder/SKILL.md +0 -38
  328. package/payload/premium-plugins/real-agent/plugins/leads/skills/enquiry-triage/SKILL.md +0 -36
  329. package/payload/premium-plugins/real-agent/plugins/leads/skills/lead-nurturing/SKILL.md +0 -137
  330. package/payload/premium-plugins/real-agent/plugins/leads/skills/lead-nurturing/references/buyer-search-letter.md +0 -28
  331. package/payload/premium-plugins/real-agent/plugins/leads/skills/lead-nurturing/references/buyer-search-letters.md +0 -37
  332. package/payload/premium-plugins/real-agent/plugins/leads/skills/lead-nurturing/references/database-reactivation.md +0 -30
  333. package/payload/premium-plugins/real-agent/plugins/leads/skills/lead-nurturing/references/email-nurture-sequences.md +0 -45
  334. package/payload/premium-plugins/real-agent/plugins/leads/skills/lead-nurturing/references/facebook-referrals.md +0 -30
  335. package/payload/premium-plugins/real-agent/plugins/leads/skills/lead-nurturing/references/firewave-email-nurture-sequences.md +0 -41
  336. package/payload/premium-plugins/real-agent/plugins/leads/skills/lead-nurturing/references/keller-33-touch.md +0 -34
  337. package/payload/premium-plugins/real-agent/plugins/leads/skills/lead-nurturing/references/neighbour-letters.md +0 -31
  338. package/payload/premium-plugins/real-agent/plugins/leads/skills/lead-nurturing/references/neighbour-notification-letter.md +0 -20
  339. package/payload/premium-plugins/real-agent/plugins/leads/skills/lead-nurturing/references/ofi-follow-up-dialogue.md +0 -22
  340. package/payload/premium-plugins/real-agent/plugins/leads/skills/lead-nurturing/references/ofi-follow-up.md +0 -26
  341. package/payload/premium-plugins/real-agent/plugins/leads/skills/lead-nurturing/references/serhant-three-fs-plus.md +0 -21
  342. package/payload/premium-plugins/real-agent/plugins/leads/skills/lead-nurturing/references/sharran-10x10x10.md +0 -18
  343. package/payload/premium-plugins/real-agent/plugins/leads/skills/lead-nurturing/references/sms-templates.md +0 -40
  344. package/payload/premium-plugins/real-agent/plugins/leads/skills/lead-nurturing/references/sphere-of-influence-notes.md +0 -34
  345. package/payload/premium-plugins/real-agent/plugins/leads/skills/lead-nurturing/references/sphere-of-influence.md +0 -60
  346. package/payload/premium-plugins/real-agent/plugins/leads/skills/lead-nurturing/references/tom-panos-sms-templates.md +0 -59
  347. package/payload/premium-plugins/real-agent/plugins/leads/skills/morning-round/SKILL.md +0 -72
  348. package/payload/premium-plugins/real-agent/plugins/leads/skills/prospecting/SKILL.md +0 -33
  349. package/payload/premium-plugins/real-agent/plugins/leads/skills/prospecting/references/database-matching.md +0 -30
  350. package/payload/premium-plugins/real-agent/plugins/leads/skills/prospecting/references/database-value.md +0 -53
  351. package/payload/premium-plugins/real-agent/plugins/leads/skills/prospecting/references/prospecting-dialogues.md +0 -24
  352. package/payload/premium-plugins/real-agent/plugins/leads/skills/prospecting/references/reactivation.md +0 -34
  353. package/payload/premium-plugins/real-agent/plugins/listings/.claude-plugin/plugin.json +0 -8
  354. package/payload/premium-plugins/real-agent/plugins/listings/PLUGIN.md +0 -100
  355. package/payload/premium-plugins/real-agent/plugins/listings/skills/comparable-finder/SKILL.md +0 -52
  356. package/payload/premium-plugins/real-agent/plugins/listings/skills/home-preparation/SKILL.md +0 -28
  357. package/payload/premium-plugins/real-agent/plugins/listings/skills/home-preparation/references/kerb-appeal.md +0 -38
  358. package/payload/premium-plugins/real-agent/plugins/listings/skills/home-preparation/references/photo-day.md +0 -59
  359. package/payload/premium-plugins/real-agent/plugins/listings/skills/home-preparation/references/situational-tips.md +0 -50
  360. package/payload/premium-plugins/real-agent/plugins/listings/skills/home-preparation/references/staging-guide.md +0 -52
  361. package/payload/premium-plugins/real-agent/plugins/listings/skills/listing-copy-writer/SKILL.md +0 -55
  362. package/payload/premium-plugins/real-agent/plugins/listings/skills/listing-presentation/SKILL.md +0 -286
  363. package/payload/premium-plugins/real-agent/plugins/listings/skills/listing-presentation/references/booking-script.md +0 -51
  364. package/payload/premium-plugins/real-agent/plugins/listings/skills/listing-presentation/references/objection-scripts.md +0 -193
  365. package/payload/premium-plugins/real-agent/plugins/listings/skills/listing-presentation/references/penhaul-presentation.md +0 -123
  366. package/payload/premium-plugins/real-agent/plugins/listings/skills/listing-presentation/references/pre-listing-kit.md +0 -139
  367. package/payload/premium-plugins/real-agent/plugins/listings/skills/listing-presentation/references/set-to-sell.md +0 -55
  368. package/payload/premium-plugins/real-agent/plugins/listings/skills/listing-presentation/references/sharran-frameworks.md +0 -107
  369. package/payload/premium-plugins/real-agent/plugins/listings/skills/local-market-stats/SKILL.md +0 -33
  370. package/payload/premium-plugins/real-agent/plugins/listings/skills/new-instruction/SKILL.md +0 -77
  371. package/payload/premium-plugins/real-agent/plugins/listings/skills/particulars-builder/SKILL.md +0 -48
  372. package/payload/premium-plugins/real-agent/plugins/listings/skills/portal-launch-scheduler/SKILL.md +0 -49
  373. package/payload/premium-plugins/real-agent/plugins/listings/skills/pricing-scenario-builder/SKILL.md +0 -35
  374. package/payload/premium-plugins/real-agent/plugins/listings/skills/property-marketing/SKILL.md +0 -337
  375. package/payload/premium-plugins/real-agent/plugins/listings/skills/property-marketing/references/auction-report-template.md +0 -41
  376. package/payload/premium-plugins/real-agent/plugins/listings/skills/property-marketing/references/coming-soon-campaign.md +0 -43
  377. package/payload/premium-plugins/real-agent/plugins/listings/skills/property-marketing/references/direct-mail-templates.md +0 -121
  378. package/payload/premium-plugins/real-agent/plugins/listings/skills/property-marketing/references/eoi-form-template.md +0 -62
  379. package/payload/premium-plugins/real-agent/plugins/listings/skills/property-marketing/references/monthly-scorecard.md +0 -63
  380. package/payload/premium-plugins/real-agent/plugins/listings/skills/supplier-booker/SKILL.md +0 -39
  381. package/payload/premium-plugins/real-agent/plugins/listings/skills/talk-track-composer/SKILL.md +0 -36
  382. package/payload/premium-plugins/real-agent/plugins/listings/skills/terms-of-business-drafter/SKILL.md +0 -54
  383. package/payload/premium-plugins/real-agent/plugins/listings/skills/valuation-prep/SKILL.md +0 -69
  384. package/payload/premium-plugins/real-agent/plugins/loop/.claude-plugin/plugin.json +0 -8
  385. package/payload/premium-plugins/real-agent/plugins/loop/PLUGIN.md +0 -261
  386. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/index.d.ts +0 -2
  387. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/index.d.ts.map +0 -1
  388. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/index.js +0 -320
  389. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/index.js.map +0 -1
  390. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/crypto.d.ts +0 -10
  391. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/crypto.d.ts.map +0 -1
  392. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/crypto.js +0 -88
  393. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/crypto.js.map +0 -1
  394. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/file-crypto.d.ts +0 -3
  395. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/file-crypto.d.ts.map +0 -1
  396. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/file-crypto.js +0 -48
  397. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/file-crypto.js.map +0 -1
  398. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/key-store.d.ts +0 -22
  399. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/key-store.d.ts.map +0 -1
  400. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/key-store.js +0 -165
  401. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/key-store.js.map +0 -1
  402. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/loop-api.d.ts +0 -82
  403. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/loop-api.d.ts.map +0 -1
  404. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/loop-api.js +0 -392
  405. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/loop-api.js.map +0 -1
  406. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/neo4j.d.ts +0 -5
  407. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/neo4j.d.ts.map +0 -1
  408. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/neo4j.js +0 -40
  409. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/neo4j.js.map +0 -1
  410. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/auto-responder.d.ts +0 -12
  411. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/auto-responder.d.ts.map +0 -1
  412. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/auto-responder.js +0 -22
  413. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/auto-responder.js.map +0 -1
  414. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/customer-preferences.d.ts +0 -10
  415. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/customer-preferences.d.ts.map +0 -1
  416. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/customer-preferences.js +0 -24
  417. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/customer-preferences.js.map +0 -1
  418. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/feedback.d.ts +0 -16
  419. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/feedback.d.ts.map +0 -1
  420. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/feedback.js +0 -35
  421. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/feedback.js.map +0 -1
  422. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/key-deregister.d.ts +0 -5
  423. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/key-deregister.d.ts.map +0 -1
  424. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/key-deregister.js +0 -9
  425. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/key-deregister.js.map +0 -1
  426. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/key-list.d.ts +0 -4
  427. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/key-list.d.ts.map +0 -1
  428. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/key-list.js +0 -14
  429. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/key-list.js.map +0 -1
  430. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/key-register.d.ts +0 -9
  431. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/key-register.d.ts.map +0 -1
  432. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/key-register.js +0 -43
  433. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/key-register.js.map +0 -1
  434. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-enquiry.d.ts +0 -6
  435. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-enquiry.d.ts.map +0 -1
  436. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-enquiry.js +0 -7
  437. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-enquiry.js.map +0 -1
  438. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-match-batch.d.ts +0 -9
  439. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-match-batch.d.ts.map +0 -1
  440. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-match-batch.js +0 -16
  441. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-match-batch.js.map +0 -1
  442. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-match-request.d.ts +0 -15
  443. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-match-request.d.ts.map +0 -1
  444. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-match-request.js +0 -11
  445. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-match-request.js.map +0 -1
  446. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-match.d.ts +0 -10
  447. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-match.d.ts.map +0 -1
  448. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-match.js +0 -39
  449. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-match.js.map +0 -1
  450. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/people-detail.d.ts +0 -9
  451. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/people-detail.d.ts.map +0 -1
  452. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/people-detail.js +0 -125
  453. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/people-detail.js.map +0 -1
  454. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/people-search.d.ts +0 -18
  455. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/people-search.d.ts.map +0 -1
  456. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/people-search.js +0 -87
  457. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/people-search.js.map +0 -1
  458. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-detail.d.ts +0 -10
  459. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-detail.d.ts.map +0 -1
  460. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-detail.js +0 -82
  461. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-detail.js.map +0 -1
  462. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-intent.d.ts +0 -33
  463. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-intent.d.ts.map +0 -1
  464. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-intent.js +0 -19
  465. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-intent.js.map +0 -1
  466. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-listed.d.ts +0 -11
  467. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-listed.d.ts.map +0 -1
  468. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-listed.js +0 -26
  469. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-listed.js.map +0 -1
  470. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-request.d.ts +0 -15
  471. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-request.d.ts.map +0 -1
  472. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-request.js +0 -11
  473. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-request.js.map +0 -1
  474. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-search.d.ts +0 -16
  475. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-search.d.ts.map +0 -1
  476. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-search.js +0 -41
  477. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-search.js.map +0 -1
  478. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-sold.d.ts +0 -9
  479. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-sold.d.ts.map +0 -1
  480. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-sold.js +0 -19
  481. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-sold.js.map +0 -1
  482. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/supplier.d.ts +0 -13
  483. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/supplier.d.ts.map +0 -1
  484. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/supplier.js +0 -49
  485. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/supplier.js.map +0 -1
  486. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/team-availability.d.ts +0 -7
  487. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/team-availability.d.ts.map +0 -1
  488. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/team-availability.js +0 -19
  489. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/team-availability.js.map +0 -1
  490. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/team-info.d.ts +0 -5
  491. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/team-info.d.ts.map +0 -1
  492. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/team-info.js +0 -32
  493. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/team-info.js.map +0 -1
  494. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-create.d.ts +0 -14
  495. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-create.d.ts.map +0 -1
  496. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-create.js +0 -11
  497. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-create.js.map +0 -1
  498. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-detail.d.ts +0 -9
  499. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-detail.d.ts.map +0 -1
  500. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-detail.js +0 -85
  501. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-detail.js.map +0 -1
  502. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-search.d.ts +0 -13
  503. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-search.d.ts.map +0 -1
  504. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-search.js +0 -44
  505. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-search.js.map +0 -1
  506. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-update.d.ts +0 -14
  507. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-update.d.ts.map +0 -1
  508. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-update.js +0 -18
  509. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-update.js.map +0 -1
  510. package/payload/premium-plugins/real-agent/plugins/loop/mcp/package-lock.json +0 -2549
  511. package/payload/premium-plugins/real-agent/plugins/loop/mcp/package.json +0 -21
  512. package/payload/premium-plugins/real-agent/plugins/loop/mcp/src/__tests__/loop-swagger.snapshot.json +0 -26467
  513. package/payload/premium-plugins/real-agent/plugins/loop/mcp/src/__tests__/new-tool-shape.test.ts +0 -99
  514. package/payload/premium-plugins/real-agent/plugins/loop/mcp/src/__tests__/plugin-md-time-doctrine.test.ts +0 -132
  515. package/payload/premium-plugins/real-agent/plugins/loop/mcp/src/__tests__/swagger-write-coverage.test.ts +0 -154
  516. package/payload/premium-plugins/real-agent/plugins/loop/mcp/src/index.ts +0 -498
  517. package/payload/premium-plugins/real-agent/plugins/loop/mcp/src/lib/crypto.ts +0 -105
  518. package/payload/premium-plugins/real-agent/plugins/loop/mcp/src/lib/file-crypto.ts +0 -54
  519. package/payload/premium-plugins/real-agent/plugins/loop/mcp/src/lib/key-store.ts +0 -221
  520. package/payload/premium-plugins/real-agent/plugins/loop/mcp/src/lib/loop-api.ts +0 -567
  521. package/payload/premium-plugins/real-agent/plugins/loop/mcp/src/lib/neo4j.ts +0 -51
  522. package/payload/premium-plugins/real-agent/plugins/loop/mcp/src/tools/auto-responder.ts +0 -80
  523. package/payload/premium-plugins/real-agent/plugins/loop/mcp/src/tools/customer-preferences.ts +0 -66
  524. package/payload/premium-plugins/real-agent/plugins/loop/mcp/src/tools/feedback.ts +0 -86
  525. package/payload/premium-plugins/real-agent/plugins/loop/mcp/src/tools/key-deregister.ts +0 -12
  526. package/payload/premium-plugins/real-agent/plugins/loop/mcp/src/tools/key-list.ts +0 -19
  527. package/payload/premium-plugins/real-agent/plugins/loop/mcp/src/tools/key-register.ts +0 -70
  528. package/payload/premium-plugins/real-agent/plugins/loop/mcp/src/tools/marketing-enquiry.ts +0 -27
  529. package/payload/premium-plugins/real-agent/plugins/loop/mcp/src/tools/marketing-match-batch.ts +0 -53
  530. package/payload/premium-plugins/real-agent/plugins/loop/mcp/src/tools/marketing-match-request.ts +0 -42
  531. package/payload/premium-plugins/real-agent/plugins/loop/mcp/src/tools/marketing-match.ts +0 -84
  532. package/payload/premium-plugins/real-agent/plugins/loop/mcp/src/tools/people-detail.ts +0 -245
  533. package/payload/premium-plugins/real-agent/plugins/loop/mcp/src/tools/people-search.ts +0 -180
  534. package/payload/premium-plugins/real-agent/plugins/loop/mcp/src/tools/property-detail.ts +0 -145
  535. package/payload/premium-plugins/real-agent/plugins/loop/mcp/src/tools/property-intent.ts +0 -84
  536. package/payload/premium-plugins/real-agent/plugins/loop/mcp/src/tools/property-listed.ts +0 -81
  537. package/payload/premium-plugins/real-agent/plugins/loop/mcp/src/tools/property-search.ts +0 -92
  538. package/payload/premium-plugins/real-agent/plugins/loop/mcp/src/tools/property-sold.ts +0 -67
  539. package/payload/premium-plugins/real-agent/plugins/loop/mcp/src/tools/supplier.ts +0 -129
  540. package/payload/premium-plugins/real-agent/plugins/loop/mcp/src/tools/team-availability.ts +0 -52
  541. package/payload/premium-plugins/real-agent/plugins/loop/mcp/src/tools/team-info.ts +0 -95
  542. package/payload/premium-plugins/real-agent/plugins/loop/mcp/src/tools/viewing-create.ts +0 -41
  543. package/payload/premium-plugins/real-agent/plugins/loop/mcp/src/tools/viewing-detail.ts +0 -171
  544. package/payload/premium-plugins/real-agent/plugins/loop/mcp/src/tools/viewing-search.ts +0 -92
  545. package/payload/premium-plugins/real-agent/plugins/loop/mcp/src/tools/viewing-update.ts +0 -53
  546. package/payload/premium-plugins/real-agent/plugins/loop/mcp/tsconfig.json +0 -20
  547. package/payload/premium-plugins/real-agent/plugins/loop/mcp/vitest.config.ts +0 -9
  548. package/payload/premium-plugins/real-agent/plugins/loop/skills/compliance-flag-checker/SKILL.md +0 -53
  549. package/payload/premium-plugins/real-agent/plugins/loop/skills/priority-ranker/SKILL.md +0 -40
  550. package/payload/premium-plugins/real-agent/plugins/loop/skills/tone-matched-drafter/SKILL.md +0 -53
  551. package/payload/premium-plugins/real-agent/plugins/loop/skills/variance-narrator/SKILL.md +0 -50
  552. package/payload/premium-plugins/real-agent/plugins/loop/skills/vendor-research/SKILL.md +0 -54
  553. package/payload/premium-plugins/real-agent/plugins/preval/.claude-plugin/plugin.json +0 -8
  554. package/payload/premium-plugins/real-agent/plugins/preval/PLUGIN.md +0 -55
  555. package/payload/premium-plugins/real-agent/plugins/preval/hooks/preval-prompt-required.sh +0 -140
  556. package/payload/premium-plugins/real-agent/plugins/preval/skills/property-preval/SKILL.md +0 -198
  557. package/payload/premium-plugins/real-agent/plugins/preval/skills/property-preval/references/__tests__/adherence.test.py +0 -373
  558. package/payload/premium-plugins/real-agent/plugins/preval/skills/property-preval/references/render.py +0 -814
  559. package/payload/premium-plugins/real-agent/plugins/preval/skills/property-preval/references/template-inputs.schema.json +0 -204
  560. package/payload/premium-plugins/real-agent/plugins/preval/skills/property-preval/references/template.html +0 -381
  561. package/payload/premium-plugins/real-agent/plugins/property-data/.claude-plugin/plugin.json +0 -8
  562. package/payload/premium-plugins/real-agent/plugins/property-data/PLUGIN.md +0 -181
  563. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/index.d.ts +0 -2
  564. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/index.d.ts.map +0 -1
  565. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/index.js +0 -236
  566. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/index.js.map +0 -1
  567. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/lib/crypto.d.ts +0 -3
  568. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/lib/crypto.d.ts.map +0 -1
  569. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/lib/crypto.js +0 -72
  570. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/lib/crypto.js.map +0 -1
  571. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/lib/file-crypto.d.ts +0 -3
  572. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/lib/file-crypto.d.ts.map +0 -1
  573. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/lib/file-crypto.js +0 -49
  574. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/lib/file-crypto.js.map +0 -1
  575. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/lib/key-store.d.ts +0 -15
  576. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/lib/key-store.d.ts.map +0 -1
  577. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/lib/key-store.js +0 -135
  578. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/lib/key-store.js.map +0 -1
  579. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/lib/neo4j.d.ts +0 -5
  580. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/lib/neo4j.d.ts.map +0 -1
  581. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/lib/neo4j.js +0 -38
  582. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/lib/neo4j.js.map +0 -1
  583. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/lib/propertydata-api.d.ts +0 -28
  584. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/lib/propertydata-api.d.ts.map +0 -1
  585. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/lib/propertydata-api.js +0 -101
  586. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/lib/propertydata-api.js.map +0 -1
  587. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/tools/endpoints.d.ts +0 -24
  588. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/tools/endpoints.d.ts.map +0 -1
  589. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/tools/endpoints.js +0 -33
  590. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/tools/endpoints.js.map +0 -1
  591. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/tools/key-deregister.d.ts +0 -4
  592. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/tools/key-deregister.d.ts.map +0 -1
  593. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/tools/key-deregister.js +0 -9
  594. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/tools/key-deregister.js.map +0 -1
  595. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/tools/key-list.d.ts +0 -4
  596. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/tools/key-list.d.ts.map +0 -1
  597. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/tools/key-list.js +0 -10
  598. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/tools/key-list.js.map +0 -1
  599. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/tools/key-register.d.ts +0 -5
  600. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/tools/key-register.d.ts.map +0 -1
  601. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/tools/key-register.js +0 -50
  602. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/tools/key-register.js.map +0 -1
  603. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/package-lock.json +0 -2566
  604. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/package.json +0 -21
  605. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/src/__tests__/endpoints.test.ts +0 -252
  606. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/src/__tests__/key-roundtrip.test.ts +0 -107
  607. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/src/__tests__/propertydata-api.test.ts +0 -184
  608. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/src/__tests__/schema-parity.test.ts +0 -62
  609. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/src/index.ts +0 -409
  610. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/src/lib/crypto.ts +0 -79
  611. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/src/lib/file-crypto.ts +0 -55
  612. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/src/lib/key-store.ts +0 -181
  613. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/src/lib/neo4j.ts +0 -47
  614. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/src/lib/propertydata-api.ts +0 -120
  615. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/src/tools/endpoints.ts +0 -47
  616. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/src/tools/key-deregister.ts +0 -9
  617. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/src/tools/key-list.ts +0 -10
  618. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/src/tools/key-register.ts +0 -54
  619. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/tsconfig.json +0 -20
  620. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/vitest.config.ts +0 -8
  621. package/payload/premium-plugins/real-agent/plugins/property-data/skills/property-data/SKILL.md +0 -77
  622. package/payload/premium-plugins/real-agent/plugins/vendors/.claude-plugin/plugin.json +0 -8
  623. package/payload/premium-plugins/real-agent/plugins/vendors/PLUGIN.md +0 -33
  624. package/payload/premium-plugins/real-agent/plugins/vendors/skills/vendor-communication/SKILL.md +0 -42
  625. package/payload/premium-plugins/real-agent/plugins/vendors/skills/vendor-communication/references/fee-protection-and-agenda.md +0 -28
  626. package/payload/premium-plugins/real-agent/plugins/vendors/skills/vendor-communication/references/listing-scripts.md +0 -44
  627. package/payload/premium-plugins/real-agent/plugins/vendors/skills/vendor-communication/references/negotiation-deep-guide.md +0 -70
  628. package/payload/premium-plugins/real-agent/plugins/vendors/skills/vendor-communication/references/price-alignment-scripts.md +0 -33
  629. package/payload/premium-plugins/real-agent/plugins/vendors/skills/vendor-communication/references/price-alignment.md +0 -34
  630. package/payload/premium-plugins/real-agent/plugins/vendors/skills/vendor-communication/references/scenario-scripts.md +0 -38
  631. package/payload/premium-plugins/real-agent/plugins/vendors/skills/vendor-communication/references/seller-engagement.md +0 -51
  632. package/payload/premium-plugins/real-agent/plugins/vendors/skills/vendor-communication/references/valuation-booking.md +0 -76
  633. package/payload/premium-plugins/real-agent/plugins/vendors/skills/vendor-communication/references/vendor-scripts.md +0 -63
  634. package/payload/premium-plugins/real-agent/plugins/vendors/skills/vendor-communication/references/vendor-updates.md +0 -41
  635. package/payload/premium-plugins/real-agent/plugins/vendors/skills/vendor-updates/SKILL.md +0 -153
  636. package/payload/premium-plugins/real-agent/specs/00-architecture-and-customization.md +0 -122
  637. package/payload/premium-plugins/real-agent/specs/01-morning-round.md +0 -76
  638. package/payload/premium-plugins/real-agent/specs/02-valuation-prep.md +0 -81
  639. package/payload/premium-plugins/real-agent/specs/03-new-instruction.md +0 -96
  640. package/payload/premium-plugins/real-agent/specs/04-chase-progression.md +0 -120
  641. package/payload/premium-plugins/real-agent/specs/05-month-end-close.md +0 -79
  642. package/payload/premium-plugins/teaching/.claude-plugin/plugin.json +0 -8
  643. package/payload/premium-plugins/teaching/PLUGIN.md +0 -58
  644. package/payload/premium-plugins/teaching/skills/interactive-tutor/SKILL.md +0 -59
  645. package/payload/premium-plugins/teaching/skills/interactive-tutor/references/assessment.md +0 -70
  646. package/payload/premium-plugins/teaching/skills/interactive-tutor/references/classroom-conduct.md +0 -43
  647. package/payload/premium-plugins/teaching/skills/interactive-tutor/references/teaching-modes.md +0 -83
  648. package/payload/premium-plugins/teaching/skills/lesson-planner/SKILL.md +0 -48
  649. package/payload/premium-plugins/teaching/skills/lesson-planner/references/context-gathering.md +0 -41
  650. package/payload/premium-plugins/teaching/skills/lesson-planner/references/plan-structure.md +0 -94
  651. package/payload/premium-plugins/teaching/skills/study-pack-builder/SKILL.md +0 -52
  652. package/payload/premium-plugins/teaching/skills/study-pack-builder/references/disaggregation.md +0 -49
  653. package/payload/premium-plugins/teaching/skills/study-pack-builder/references/materials.md +0 -116
  654. package/payload/premium-plugins/writer-craft/.claude-plugin/plugin.json +0 -8
  655. package/payload/premium-plugins/writer-craft/PLUGIN.md +0 -88
  656. package/payload/premium-plugins/writer-craft/agents/writer-craft--manuscript-reviewer.md +0 -92
  657. package/payload/premium-plugins/writer-craft/skills/citation-style/SKILL.md +0 -94
  658. package/payload/premium-plugins/writer-craft/skills/citation-style/references/book-and-chapter-models.md +0 -77
  659. package/payload/premium-plugins/writer-craft/skills/citation-style/references/citation-rules.md +0 -103
  660. package/payload/premium-plugins/writer-craft/skills/citation-style/references/journal-article-models.md +0 -74
  661. package/payload/premium-plugins/writer-craft/skills/citation-style/references/other-source-models.md +0 -146
  662. package/payload/premium-plugins/writer-craft/skills/citation-style/references/reference-list-rules.md +0 -70
  663. package/payload/premium-plugins/writer-craft/skills/editorial-practice/SKILL.md +0 -108
  664. package/payload/premium-plugins/writer-craft/skills/editorial-practice/references/copyediting.md +0 -73
  665. package/payload/premium-plugins/writer-craft/skills/editorial-practice/references/developmental-editing.md +0 -85
  666. package/payload/premium-plugins/writer-craft/skills/editorial-practice/references/genre-specific-editing.md +0 -78
  667. package/payload/premium-plugins/writer-craft/skills/editorial-practice/references/line-editing.md +0 -55
  668. package/payload/premium-plugins/writer-craft/skills/editorial-practice/references/self-editing.md +0 -89
  669. package/payload/premium-plugins/writer-craft/skills/persuasive-storytelling/SKILL.md +0 -114
  670. package/payload/premium-plugins/writer-craft/skills/persuasive-storytelling/references/audience-analysis.md +0 -73
  671. package/payload/premium-plugins/writer-craft/skills/persuasive-storytelling/references/crafting-persuasive-story.md +0 -76
  672. package/payload/premium-plugins/writer-craft/skills/persuasive-storytelling/references/persuasion-case-studies.md +0 -67
  673. package/payload/premium-plugins/writer-craft/skills/persuasive-storytelling/references/transformation-framework.md +0 -86
  674. package/payload/premium-plugins/writer-craft/skills/point-of-view/SKILL.md +0 -97
  675. package/payload/premium-plugins/writer-craft/skills/point-of-view/references/indirect-narration.md +0 -72
  676. package/payload/premium-plugins/writer-craft/skills/point-of-view/references/pov-types-and-voice.md +0 -91
  677. package/payload/premium-plugins/writer-craft/skills/point-of-view/references/protagonist-filter.md +0 -71
  678. package/payload/premium-plugins/writer-craft/skills/point-of-view/references/tense-and-person.md +0 -85
  679. package/payload/premium-plugins/writer-craft/skills/prose-craft/SKILL.md +0 -100
  680. package/payload/premium-plugins/writer-craft/skills/prose-craft/references/punctuation-and-grammar.md +0 -72
  681. package/payload/premium-plugins/writer-craft/skills/prose-craft/references/repetition.md +0 -71
  682. package/payload/premium-plugins/writer-craft/skills/prose-craft/references/sound-and-rhythm.md +0 -64
  683. package/payload/premium-plugins/writer-craft/skills/prose-craft/references/word-economy.md +0 -93
  684. package/payload/premium-plugins/writer-craft/skills/reader-engagement/SKILL.md +0 -100
  685. package/payload/premium-plugins/writer-craft/skills/reader-engagement/references/cause-effect-setup-payoff.md +0 -79
  686. package/payload/premium-plugins/writer-craft/skills/reader-engagement/references/conflict-escalation.md +0 -81
  687. package/payload/premium-plugins/writer-craft/skills/reader-engagement/references/hooking-readers.md +0 -67
  688. package/payload/premium-plugins/writer-craft/skills/reader-engagement/references/neurochemistry-of-engagement.md +0 -94
  689. package/payload/premium-plugins/writer-craft/skills/review-manuscript/SKILL.md +0 -111
  690. package/payload/premium-plugins/writer-craft/skills/review-manuscript/references/review-manuscript-checklist.md +0 -119
  691. package/payload/premium-plugins/writer-craft/skills/review-prose/SKILL.md +0 -99
  692. package/payload/premium-plugins/writer-craft/skills/review-prose/references/prose-review-checklist.md +0 -112
  693. package/payload/premium-plugins/writer-craft/skills/review-scene/SKILL.md +0 -99
  694. package/payload/premium-plugins/writer-craft/skills/review-scene/references/scene-analysis-framework.md +0 -95
  695. package/payload/premium-plugins/writer-craft/skills/story-architecture/SKILL.md +0 -106
  696. package/payload/premium-plugins/writer-craft/skills/story-architecture/references/blueprinting-and-scene-cards.md +0 -118
  697. package/payload/premium-plugins/writer-craft/skills/story-architecture/references/inner-issue-and-protagonist-goal.md +0 -66
  698. package/payload/premium-plugins/writer-craft/skills/story-architecture/references/misbelief-desire-worldview.md +0 -87
  699. package/payload/premium-plugins/writer-craft/skills/story-architecture/references/origin-scenes-and-escalation.md +0 -82
  700. package/payload/premium-plugins/writer-craft/skills/story-blueprint/SKILL.md +0 -133
  701. package/payload/premium-plugins/writer-craft/skills/story-blueprint/references/blueprinting-exercises.md +0 -118
  702. package/payload/premium-plugins/writer-craft/skills/story-blueprint/references/blueprinting-process.md +0 -128
  703. package/payload/server/public/assets/channel-CrSx5mnG.js +0 -1
  704. package/payload/server/public/assets/classDiagram-6PBFFD2Q-C3IDJsqN.js +0 -1
  705. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-BOIrJ5Zb.js +0 -1
  706. package/payload/server/public/assets/clone-P8Fkz7JD.js +0 -1
  707. package/payload/server/public/assets/data-DRfwJPja.js +0 -1
  708. package/payload/server/public/assets/graph-B4FFYwus.js +0 -1
  709. package/payload/server/public/assets/graph-labels-Cpk9Ktt0.js +0 -1
  710. package/payload/server/public/assets/lib--yuBd0Xi.js +0 -33
  711. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-C5JejhQU.js +0 -1
@@ -1,373 +0,0 @@
1
- """Adherence-gate tests for property-preval (Tasks 157 + 163).
2
-
3
- Covers:
4
-
5
- Task 157 provenance causes (agent didn't invent the input):
6
- - cover-hero-not-subject (slug heuristic; complements 156's symlink check)
7
- - agent-listings-invented (status set when source property.json had null)
8
- - market-summary-invented (origin missing or "agent-invented")
9
- - brand-invented (brand.name without operator override)
10
- - log-destination-unavailable (observability emit-or-abort)
11
-
12
- Task 163 causes (replaces 156's sqft gates after EPC removal):
13
- - epc-certificate-not-supplied (any of the three operator-paste EPC
14
- fields missing — render.py + hook)
15
- - observability-missing tool=<name> (one of the 12 expected
16
- [property-data] tool=<name> log
17
- lines absent within the budget)
18
-
19
- Plus the PreToolUse hook red-team (blocks the same causes before
20
- inputs.json reaches disk).
21
-
22
- Run with: python3 references/__tests__/adherence.test.py
23
- """
24
- from __future__ import annotations
25
- import json, os, struct, subprocess, sys, tempfile, unittest, zlib
26
- from pathlib import Path
27
-
28
- HERE = Path(__file__).resolve().parent
29
- REFERENCES = HERE.parent
30
- PLUGIN_ROOT = REFERENCES.parent.parent.parent
31
- HOOK = PLUGIN_ROOT / "hooks" / "preval-prompt-required.sh"
32
-
33
- sys.path.insert(0, str(REFERENCES))
34
- from render import ( # noqa: E402
35
- _assert_inputs,
36
- _assert_observability_logs,
37
- EXPECTED_PROPERTY_DATA_TOOLS,
38
- PrevalAbort,
39
- )
40
-
41
-
42
- def _write_png(path: Path, w: int = 1600, h: int = 1200) -> None:
43
- """Minimal valid PNG large enough to clear Task 156's 1200x800 gate."""
44
- def chunk(tag: bytes, data: bytes) -> bytes:
45
- return struct.pack(">I", len(data)) + tag + data + struct.pack(">I", zlib.crc32(tag + data) & 0xffffffff)
46
- sig = b"\x89PNG\r\n\x1a\n"
47
- ihdr = struct.pack(">IIBBBBB", w, h, 8, 2, 0, 0, 0)
48
- raw = b"".join(b"\x00" + b"\x00\x00\x00" * w for _ in range(h))
49
- idat = zlib.compress(raw)
50
- path.write_bytes(sig + chunk(b"IHDR", ihdr) + chunk(b"IDAT", idat) + chunk(b"IEND", b""))
51
-
52
-
53
- def _complete_inputs(tmp: Path) -> dict:
54
- """An inputs.json that PASSES every 156 + 157 gate."""
55
- hero = tmp / "hero.png"
56
- _write_png(hero)
57
- return {
58
- "out_dir": str(tmp),
59
- "filename_stem": "subject",
60
- "address": "9 Phoenix Drive, Bishop's Stortford, CM23 2UJ",
61
- "postcode": "CM23 2UJ",
62
- "generated": "19 May 2026",
63
- "brand": {
64
- "name": "Muvin",
65
- "tagline": "Estate Agents",
66
- "primary": "#000", "primary_dark": "#000", "accent": "#000",
67
- "paper": "#fff", "paper_banded": "#fff", "rule": "#000",
68
- },
69
- "subject": {
70
- "cover_hero": str(hero),
71
- "total_floor_area_m2": 93.2,
72
- "current_energy_rating": "C",
73
- "lodgement_date": "2018-04-21",
74
- },
75
- "valuation": {
76
- "avg_asking": 500000, "asking_psf": 450, "avg_sold": 480000,
77
- "sold_psf": 440, "sold_psf_low": 400, "sold_psf_high": 480,
78
- "sold_comps": [], "asking_comps": [],
79
- },
80
- "area": {
81
- "crime_rating": "Low", "flood_risk": "Low", "council_tax_band_d": 2000,
82
- "population": 1000, "crime_breakdown": [], "council_tax_bands": [],
83
- "headline": "",
84
- },
85
- "demand_trend": {
86
- "demand_rating": "High", "dom": 30, "turnover_pct": 5, "for_sale": 10,
87
- "growth_series": [], "growth_psf_series": [],
88
- "rental": {"demand_rating": "High", "dom": 20, "turnover_pct": 4, "for_rent": 5},
89
- "type_dist": [],
90
- },
91
- "market_summary": {
92
- "headline": "Bishop's Stortford is selling.",
93
- "paragraphs": ["The market is active.", "Prices held flat YoY."],
94
- "demand_gauge_position": "62%",
95
- "price_growth_note": "Up 3% YoY.",
96
- "demand_note": "High demand.",
97
- "origin": "operator",
98
- },
99
- "agent_listings": [
100
- {
101
- "address": "1 Some Road, CM23",
102
- "price": 600000,
103
- "status": "Sold",
104
- "slug": "1-some-road",
105
- "origin": "operator",
106
- }
107
- ],
108
- "agent_overrides": {
109
- "brand_selected_by_operator": True,
110
- "listings_status_curated": False,
111
- },
112
- }
113
-
114
-
115
- class TestAdherenceGate(unittest.TestCase):
116
- def setUp(self):
117
- self._tmp = tempfile.TemporaryDirectory()
118
- self.tmp = Path(self._tmp.name)
119
-
120
- def tearDown(self):
121
- self._tmp.cleanup()
122
-
123
- def _assert_aborts(self, inputs: dict, cause: str):
124
- with self.assertRaises(PrevalAbort) as ctx:
125
- _assert_inputs(inputs)
126
- self.assertEqual(ctx.exception.cause, cause)
127
- self.assertFalse(any(self.tmp.glob("*.pdf")))
128
-
129
- def test_clean_run_passes(self):
130
- _assert_inputs(_complete_inputs(self.tmp))
131
-
132
- def test_cover_hero_not_subject(self):
133
- # Plant the hero PNG in a sister property's folder to trigger the
134
- # 157 slug heuristic. 156's symlink check passes (real file, not
135
- # a symlink); only the 157 cause should fire.
136
- sister = self.tmp / "estate-agents" / "muvin" / "properties" / "07-the-old-orchard-rye-street-cm23"
137
- sister.mkdir(parents=True)
138
- bad_hero = sister / "hero.png"
139
- _write_png(bad_hero)
140
- inputs = _complete_inputs(self.tmp)
141
- inputs["subject"]["cover_hero"] = str(bad_hero)
142
- self._assert_aborts(inputs, "cover-hero-not-subject")
143
-
144
- def test_cover_hero_subject_match_passes(self):
145
- subject_dir = self.tmp / "estate-agents" / "muvin" / "properties" / "9-phoenix-drive-cm23-2uj"
146
- subject_dir.mkdir(parents=True)
147
- good_hero = subject_dir / "hero.png"
148
- _write_png(good_hero)
149
- inputs = _complete_inputs(self.tmp)
150
- inputs["subject"]["cover_hero"] = str(good_hero)
151
- _assert_inputs(inputs)
152
-
153
- def test_agent_listings_invented_status(self):
154
- source = self.tmp / "source.json"
155
- source.write_text(json.dumps({"status": None, "address": "1 Some Road"}))
156
- inputs = _complete_inputs(self.tmp)
157
- inputs["agent_listings"][0]["origin"] = str(source)
158
- inputs["agent_overrides"]["listings_status_curated"] = False
159
- self._assert_aborts(inputs, "agent-listings-invented")
160
-
161
- def test_agent_listings_curated_override_passes(self):
162
- source = self.tmp / "source.json"
163
- source.write_text(json.dumps({"status": None, "address": "1 Some Road"}))
164
- inputs = _complete_inputs(self.tmp)
165
- inputs["agent_listings"][0]["origin"] = str(source)
166
- inputs["agent_overrides"]["listings_status_curated"] = True
167
- _assert_inputs(inputs)
168
-
169
- def test_market_summary_invented_missing_origin(self):
170
- inputs = _complete_inputs(self.tmp)
171
- inputs["market_summary"].pop("origin")
172
- self._assert_aborts(inputs, "market-summary-invented")
173
-
174
- def test_market_summary_invented_explicit(self):
175
- inputs = _complete_inputs(self.tmp)
176
- inputs["market_summary"]["origin"] = "agent-invented"
177
- self._assert_aborts(inputs, "market-summary-invented")
178
-
179
- def test_brand_invented(self):
180
- inputs = _complete_inputs(self.tmp)
181
- inputs["agent_overrides"]["brand_selected_by_operator"] = False
182
- self._assert_aborts(inputs, "brand-invented")
183
-
184
- def test_epc_certificate_not_supplied_missing_m2(self):
185
- inputs = _complete_inputs(self.tmp)
186
- del inputs["subject"]["total_floor_area_m2"]
187
- self._assert_aborts(inputs, "epc-certificate-not-supplied")
188
-
189
- def test_epc_certificate_not_supplied_missing_rating(self):
190
- inputs = _complete_inputs(self.tmp)
191
- inputs["subject"]["current_energy_rating"] = None
192
- self._assert_aborts(inputs, "epc-certificate-not-supplied")
193
-
194
- def test_epc_certificate_not_supplied_missing_lodgement(self):
195
- inputs = _complete_inputs(self.tmp)
196
- inputs["subject"]["lodgement_date"] = ""
197
- self._assert_aborts(inputs, "epc-certificate-not-supplied")
198
-
199
-
200
- class TestPreToolUseHook(unittest.TestCase):
201
- def _run_hook(self, tool_name: str, file_path: str, content_obj: dict) -> tuple[int, str]:
202
- payload = json.dumps({
203
- "tool_name": tool_name,
204
- "tool_input": {"file_path": file_path, "content": json.dumps(content_obj)},
205
- })
206
- result = subprocess.run(
207
- ["bash", str(HOOK)],
208
- input=payload,
209
- capture_output=True,
210
- text=True,
211
- )
212
- return result.returncode, result.stderr
213
-
214
- def test_hook_blocks_market_summary_invented(self):
215
- with tempfile.TemporaryDirectory() as tmp:
216
- inputs = _complete_inputs(Path(tmp))
217
- inputs["market_summary"]["origin"] = "agent-invented"
218
- code, stderr = self._run_hook(
219
- "Write",
220
- f"{tmp}/preval/CM232UJ-2026-05-19/inputs.json",
221
- inputs,
222
- )
223
- self.assertEqual(code, 2, msg=stderr)
224
- self.assertIn("market-summary-invented", stderr)
225
-
226
- def test_hook_blocks_brand_invented(self):
227
- with tempfile.TemporaryDirectory() as tmp:
228
- inputs = _complete_inputs(Path(tmp))
229
- inputs["agent_overrides"]["brand_selected_by_operator"] = False
230
- code, stderr = self._run_hook(
231
- "Write",
232
- f"{tmp}/preval/CM232UJ-2026-05-19/inputs.json",
233
- inputs,
234
- )
235
- self.assertEqual(code, 2, msg=stderr)
236
- self.assertIn("brand-invented", stderr)
237
-
238
- def test_hook_passthrough_unrelated_path(self):
239
- code, _ = self._run_hook(
240
- "Write",
241
- "/tmp/some-other-file.json",
242
- {"hello": "world"},
243
- )
244
- self.assertEqual(code, 0)
245
-
246
- def test_hook_passthrough_unrelated_tool(self):
247
- code, _ = self._run_hook(
248
- "Bash",
249
- "/whatever/preval/inputs.json",
250
- {},
251
- )
252
- self.assertEqual(code, 0)
253
-
254
- def test_hook_blocks_epc_certificate_not_supplied(self):
255
- with tempfile.TemporaryDirectory() as tmp:
256
- inputs = _complete_inputs(Path(tmp))
257
- inputs["subject"]["current_energy_rating"] = None
258
- code, stderr = self._run_hook(
259
- "Write",
260
- f"{tmp}/preval/CM232UJ-2026-05-19/inputs.json",
261
- inputs,
262
- )
263
- self.assertEqual(code, 2, msg=stderr)
264
- self.assertIn("epc-certificate-not-supplied", stderr)
265
- self.assertIn("current_energy_rating", stderr)
266
-
267
-
268
- class TestObservability(unittest.TestCase):
269
- def test_log_destination_unavailable_aborts(self):
270
- from render import _pick_log_path
271
- ro = Path("/dev/null/cannot-write-here")
272
- old_home = os.environ.get("HOME")
273
- with tempfile.TemporaryDirectory() as tmp:
274
- holder = Path(tmp) / "not-a-dir"
275
- holder.write_text("")
276
- os.environ["HOME"] = str(holder)
277
- try:
278
- with self.assertRaises(PrevalAbort) as ctx:
279
- _pick_log_path(ro)
280
- self.assertEqual(ctx.exception.cause, "log-destination-unavailable")
281
- finally:
282
- if old_home is not None:
283
- os.environ["HOME"] = old_home
284
- else:
285
- del os.environ["HOME"]
286
-
287
-
288
- class TestObservabilityWatchdog(unittest.TestCase):
289
- """Task 163 — 12-call PropertyData fan-out watchdog."""
290
-
291
- def setUp(self):
292
- self._tmp = tempfile.TemporaryDirectory()
293
- self.tmp = Path(self._tmp.name)
294
- self.log_path = self.tmp / "preval.log"
295
-
296
- def tearDown(self):
297
- self._tmp.cleanup()
298
-
299
- def _write_log(self, present_tools: list[str]) -> None:
300
- lines = [
301
- f"[property-data] tool={name} account=local postcode=CM232UJ status=ok ms=42"
302
- for name in present_tools
303
- ]
304
- self.log_path.write_text("\n".join(lines) + "\n")
305
-
306
- def test_all_12_present_passes(self):
307
- self._write_log(list(EXPECTED_PROPERTY_DATA_TOOLS))
308
- _assert_observability_logs(self.log_path, deadline_s=0.0)
309
-
310
- def test_missing_growth_psf_aborts(self):
311
- present = [t for t in EXPECTED_PROPERTY_DATA_TOOLS if t != "property-data-growth-psf"]
312
- self._write_log(present)
313
- with self.assertRaises(PrevalAbort) as ctx:
314
- _assert_observability_logs(self.log_path, deadline_s=0.0)
315
- self.assertEqual(
316
- ctx.exception.cause,
317
- "observability-missing tool=property-data-growth-psf",
318
- )
319
- self.assertIn("property-data-growth-psf", ctx.exception.hint)
320
-
321
- def test_missing_flood_risk_aborts(self):
322
- present = [t for t in EXPECTED_PROPERTY_DATA_TOOLS if t != "property-data-flood-risk"]
323
- self._write_log(present)
324
- with self.assertRaises(PrevalAbort) as ctx:
325
- _assert_observability_logs(self.log_path, deadline_s=0.0)
326
- self.assertEqual(
327
- ctx.exception.cause,
328
- "observability-missing tool=property-data-flood-risk",
329
- )
330
-
331
- def test_polls_until_late_arriving_line_lands(self):
332
- """The watchdog must keep polling within the budget; a late arrival
333
- before the deadline is a pass, not an abort. Wall-clock waits are
334
- replaced by injected _now/_sleep so the test stays fast."""
335
- present = [t for t in EXPECTED_PROPERTY_DATA_TOOLS if t != "property-data-prices"]
336
- self._write_log(present)
337
- ticks = iter([0.0, 1.0, 2.0]) # never reaches deadline_s=10
338
- appended = []
339
-
340
- def fake_sleep(s):
341
- appended.append(s)
342
- with self.log_path.open("a") as f:
343
- f.write(
344
- "[property-data] tool=property-data-prices account=local postcode=CM232UJ status=ok ms=99\n"
345
- )
346
-
347
- _assert_observability_logs(
348
- self.log_path,
349
- deadline_s=10.0,
350
- poll_s=2.0,
351
- _now=lambda: next(ticks),
352
- _sleep=fake_sleep,
353
- )
354
- self.assertEqual(appended, [2.0])
355
-
356
- def test_unreadable_log_aborts_at_deadline(self):
357
- """A log path that can't be read is treated as missing tools — abort
358
- once the budget elapses, name a missing tool. No silent skip."""
359
- # Don't write the log file at all.
360
- ticks = iter([0.0, 100.0])
361
- with self.assertRaises(PrevalAbort) as ctx:
362
- _assert_observability_logs(
363
- self.log_path,
364
- deadline_s=60.0,
365
- poll_s=2.0,
366
- _now=lambda: next(ticks),
367
- _sleep=lambda s: None,
368
- )
369
- self.assertTrue(ctx.exception.cause.startswith("observability-missing tool="))
370
-
371
-
372
- if __name__ == "__main__":
373
- unittest.main()