@rubytech/create-maxy-code 0.1.62 → 0.1.64

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 (689) hide show
  1. package/dist/__tests__/installer-specialist-registration.test.js +112 -0
  2. package/dist/index.js +22 -0
  3. package/dist/specialist-registration.js +78 -0
  4. package/package.json +1 -1
  5. package/payload/platform/plugins/admin/PLUGIN.md +22 -0
  6. package/payload/platform/plugins/admin/hooks/__tests__/turn-completed-graph-write.test.sh +50 -13
  7. package/payload/platform/plugins/admin/hooks/turn-completed-graph-write.sh +22 -21
  8. package/payload/platform/plugins/contacts/PLUGIN.md +9 -0
  9. package/payload/platform/plugins/docs/references/admin-session.md +57 -8
  10. package/payload/platform/plugins/docs/references/platform.md +4 -0
  11. package/payload/platform/plugins/email/PLUGIN.md +9 -0
  12. package/payload/platform/plugins/memory/PLUGIN.md +37 -0
  13. package/payload/platform/plugins/memory/mcp/dist/index.js +3 -3
  14. package/payload/platform/plugins/memory/mcp/dist/index.js.map +1 -1
  15. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/live-schema-source.test.js +137 -75
  16. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/live-schema-source.test.js.map +1 -1
  17. package/payload/platform/plugins/memory/mcp/dist/lib/live-schema-source.d.ts +0 -17
  18. package/payload/platform/plugins/memory/mcp/dist/lib/live-schema-source.d.ts.map +1 -1
  19. package/payload/platform/plugins/memory/mcp/dist/lib/live-schema-source.js +32 -4
  20. package/payload/platform/plugins/memory/mcp/dist/lib/live-schema-source.js.map +1 -1
  21. package/payload/platform/plugins/memory/mcp/dist/lib/log-ingest.d.ts +65 -0
  22. package/payload/platform/plugins/memory/mcp/dist/lib/log-ingest.d.ts.map +1 -0
  23. package/payload/platform/plugins/memory/mcp/dist/lib/log-ingest.js +182 -0
  24. package/payload/platform/plugins/memory/mcp/dist/lib/log-ingest.js.map +1 -0
  25. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/conversation-archive-enrich-rejection.test.js +8 -8
  26. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/conversation-archive-enrich-rejection.test.js.map +1 -1
  27. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/log-ingest.test.d.ts +2 -0
  28. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/log-ingest.test.d.ts.map +1 -0
  29. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/log-ingest.test.js +241 -0
  30. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/log-ingest.test.js.map +1 -0
  31. package/payload/platform/plugins/memory/mcp/dist/tools/conversation-archive-derive-insights.d.ts.map +1 -1
  32. package/payload/platform/plugins/memory/mcp/dist/tools/conversation-archive-derive-insights.js +9 -0
  33. package/payload/platform/plugins/memory/mcp/dist/tools/conversation-archive-derive-insights.js.map +1 -1
  34. package/payload/platform/plugins/memory/mcp/dist/tools/conversation-archive-enrich-rejection.d.ts +1 -1
  35. package/payload/platform/plugins/memory/mcp/dist/tools/conversation-archive-enrich-rejection.d.ts.map +1 -1
  36. package/payload/platform/plugins/memory/mcp/dist/tools/conversation-archive-enrich-rejection.js +9 -1
  37. package/payload/platform/plugins/memory/mcp/dist/tools/conversation-archive-enrich-rejection.js.map +1 -1
  38. package/payload/platform/plugins/memory/mcp/dist/tools/conversation-memory-expunge.d.ts.map +1 -1
  39. package/payload/platform/plugins/memory/mcp/dist/tools/conversation-memory-expunge.js +10 -2
  40. package/payload/platform/plugins/memory/mcp/dist/tools/conversation-memory-expunge.js.map +1 -1
  41. package/payload/platform/plugins/memory/mcp/dist/tools/graph-prune-denylist-add.d.ts +1 -1
  42. package/payload/platform/plugins/memory/mcp/dist/tools/graph-prune-denylist-add.d.ts.map +1 -1
  43. package/payload/platform/plugins/memory/mcp/dist/tools/graph-prune-denylist-add.js +5 -1
  44. package/payload/platform/plugins/memory/mcp/dist/tools/graph-prune-denylist-add.js.map +1 -1
  45. package/payload/platform/plugins/memory/mcp/dist/tools/graph-prune-denylist-remove.d.ts +1 -1
  46. package/payload/platform/plugins/memory/mcp/dist/tools/graph-prune-denylist-remove.d.ts.map +1 -1
  47. package/payload/platform/plugins/memory/mcp/dist/tools/graph-prune-denylist-remove.js +5 -1
  48. package/payload/platform/plugins/memory/mcp/dist/tools/graph-prune-denylist-remove.js.map +1 -1
  49. package/payload/platform/plugins/memory/mcp/dist/tools/memory-archive-write.d.ts.map +1 -1
  50. package/payload/platform/plugins/memory/mcp/dist/tools/memory-archive-write.js +4 -0
  51. package/payload/platform/plugins/memory/mcp/dist/tools/memory-archive-write.js.map +1 -1
  52. package/payload/platform/plugins/memory/mcp/dist/tools/memory-classify.d.ts.map +1 -1
  53. package/payload/platform/plugins/memory/mcp/dist/tools/memory-classify.js +4 -0
  54. package/payload/platform/plugins/memory/mcp/dist/tools/memory-classify.js.map +1 -1
  55. package/payload/platform/plugins/memory/mcp/dist/tools/memory-delete.d.ts.map +1 -1
  56. package/payload/platform/plugins/memory/mcp/dist/tools/memory-delete.js +4 -0
  57. package/payload/platform/plugins/memory/mcp/dist/tools/memory-delete.js.map +1 -1
  58. package/payload/platform/plugins/memory/mcp/dist/tools/memory-edit-attachment.d.ts.map +1 -1
  59. package/payload/platform/plugins/memory/mcp/dist/tools/memory-edit-attachment.js +4 -0
  60. package/payload/platform/plugins/memory/mcp/dist/tools/memory-edit-attachment.js.map +1 -1
  61. package/payload/platform/plugins/memory/mcp/dist/tools/memory-empty-trash.d.ts.map +1 -1
  62. package/payload/platform/plugins/memory/mcp/dist/tools/memory-empty-trash.js +4 -0
  63. package/payload/platform/plugins/memory/mcp/dist/tools/memory-empty-trash.js.map +1 -1
  64. package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest-extract.d.ts.map +1 -1
  65. package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest-extract.js +4 -0
  66. package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest-extract.js.map +1 -1
  67. package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest-web.d.ts.map +1 -1
  68. package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest-web.js +4 -0
  69. package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest-web.js.map +1 -1
  70. package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest.d.ts.map +1 -1
  71. package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest.js +5 -0
  72. package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest.js.map +1 -1
  73. package/payload/platform/plugins/memory/mcp/dist/tools/memory-reindex.d.ts.map +1 -1
  74. package/payload/platform/plugins/memory/mcp/dist/tools/memory-reindex.js +4 -0
  75. package/payload/platform/plugins/memory/mcp/dist/tools/memory-reindex.js.map +1 -1
  76. package/payload/platform/plugins/memory/mcp/dist/tools/memory-rename-attachment.d.ts.map +1 -1
  77. package/payload/platform/plugins/memory/mcp/dist/tools/memory-rename-attachment.js +4 -0
  78. package/payload/platform/plugins/memory/mcp/dist/tools/memory-rename-attachment.js.map +1 -1
  79. package/payload/platform/plugins/memory/mcp/dist/tools/memory-restore.d.ts.map +1 -1
  80. package/payload/platform/plugins/memory/mcp/dist/tools/memory-restore.js +4 -0
  81. package/payload/platform/plugins/memory/mcp/dist/tools/memory-restore.js.map +1 -1
  82. package/payload/platform/plugins/memory/mcp/dist/tools/memory-update.d.ts.map +1 -1
  83. package/payload/platform/plugins/memory/mcp/dist/tools/memory-update.js +5 -0
  84. package/payload/platform/plugins/memory/mcp/dist/tools/memory-update.js.map +1 -1
  85. package/payload/platform/plugins/memory/mcp/dist/tools/memory-write.d.ts.map +1 -1
  86. package/payload/platform/plugins/memory/mcp/dist/tools/memory-write.js +6 -0
  87. package/payload/platform/plugins/memory/mcp/dist/tools/memory-write.js.map +1 -1
  88. package/payload/platform/plugins/memory/mcp/dist/tools/profile-delete.d.ts.map +1 -1
  89. package/payload/platform/plugins/memory/mcp/dist/tools/profile-delete.js +4 -0
  90. package/payload/platform/plugins/memory/mcp/dist/tools/profile-delete.js.map +1 -1
  91. package/payload/platform/plugins/memory/mcp/dist/tools/profile-update.d.ts.map +1 -1
  92. package/payload/platform/plugins/memory/mcp/dist/tools/profile-update.js +4 -0
  93. package/payload/platform/plugins/memory/mcp/dist/tools/profile-update.js.map +1 -1
  94. package/payload/platform/plugins/memory/mcp/vitest.config.ts +10 -3
  95. package/payload/platform/plugins/outlook/PLUGIN.md +7 -0
  96. package/payload/platform/plugins/replicate/PLUGIN.md +3 -0
  97. package/payload/platform/plugins/scheduling/PLUGIN.md +8 -0
  98. package/payload/platform/plugins/tasks/PLUGIN.md +14 -0
  99. package/payload/platform/plugins/telegram/PLUGIN.md +3 -0
  100. package/payload/platform/plugins/waitlist/PLUGIN.md +7 -0
  101. package/payload/platform/plugins/whatsapp/PLUGIN.md +12 -0
  102. package/payload/platform/plugins/workflows/PLUGIN.md +8 -0
  103. package/payload/platform/services/claude-session-manager/dist/index.js +43 -1
  104. package/payload/platform/services/claude-session-manager/dist/index.js.map +1 -1
  105. package/payload/platform/services/claude-session-manager/dist/pty-spawner.d.ts +33 -0
  106. package/payload/platform/services/claude-session-manager/dist/pty-spawner.d.ts.map +1 -1
  107. package/payload/platform/services/claude-session-manager/dist/pty-spawner.js +214 -59
  108. package/payload/platform/services/claude-session-manager/dist/pty-spawner.js.map +1 -1
  109. package/payload/platform/services/claude-session-manager/dist/specialist-drift.d.ts +23 -0
  110. package/payload/platform/services/claude-session-manager/dist/specialist-drift.d.ts.map +1 -0
  111. package/payload/platform/services/claude-session-manager/dist/specialist-drift.js +141 -0
  112. package/payload/platform/services/claude-session-manager/dist/specialist-drift.js.map +1 -0
  113. package/payload/platform/services/claude-session-manager/dist/tool-surface.d.ts +13 -2
  114. package/payload/platform/services/claude-session-manager/dist/tool-surface.d.ts.map +1 -1
  115. package/payload/platform/services/claude-session-manager/dist/tool-surface.js +150 -37
  116. package/payload/platform/services/claude-session-manager/dist/tool-surface.js.map +1 -1
  117. package/payload/platform/services/claude-session-manager/dist/types.d.ts +5 -0
  118. package/payload/platform/services/claude-session-manager/dist/types.d.ts.map +1 -1
  119. package/payload/platform/templates/agents/admin/IDENTITY.md +1 -1
  120. package/payload/premium-plugins/real-agent/BUNDLE.md +2 -4
  121. package/payload/premium-plugins/real-agent/agents/compliance.md +1 -1
  122. package/payload/premium-plugins/real-agent/agents/valuer.md +1 -2
  123. package/payload/premium-plugins/real-agent/plugins/epc/.claude-plugin/plugin.json +3 -3
  124. package/payload/premium-plugins/real-agent/plugins/listings/.claude-plugin/plugin.json +1 -1
  125. package/payload/premium-plugins/real-agent/plugins/listings/PLUGIN.md +1 -3
  126. package/payload/premium-plugins/real-agent/plugins/listings/skills/new-instruction/SKILL.md +11 -12
  127. package/payload/premium-plugins/real-agent/plugins/loop/PLUGIN.md +27 -0
  128. package/payload/premium-plugins/real-agent/plugins/preval/.claude-plugin/plugin.json +1 -1
  129. package/payload/premium-plugins/real-agent/plugins/preval/PLUGIN.md +16 -8
  130. package/payload/premium-plugins/real-agent/plugins/preval/hooks/preval-prompt-required.sh +140 -0
  131. package/payload/premium-plugins/real-agent/plugins/preval/skills/property-preval/SKILL.md +92 -40
  132. package/payload/premium-plugins/real-agent/plugins/preval/skills/property-preval/references/__tests__/adherence.test.py +373 -0
  133. package/payload/premium-plugins/real-agent/plugins/preval/skills/property-preval/references/render.py +299 -115
  134. package/payload/premium-plugins/real-agent/plugins/preval/skills/property-preval/references/template-inputs.schema.json +34 -19
  135. package/payload/premium-plugins/real-agent/plugins/preval/skills/property-preval/references/template.html +88 -19
  136. package/payload/premium-plugins/real-agent/plugins/property-data/PLUGIN.md +22 -0
  137. package/payload/premium-plugins/real-agent/specs/03-new-instruction.md +8 -12
  138. package/payload/server/{chunk-2IKQERHN.js → chunk-S6PQA6Q4.js} +43 -34
  139. package/payload/server/maxy-edge.js +1 -1
  140. package/payload/server/public/assets/{admin-DhN3G8W7.js → admin-ymReS1mN.js} +1 -1
  141. package/payload/server/public/assets/{data-B2ZVXOcE.js → data-D6U2e85B.js} +1 -1
  142. package/payload/server/public/assets/{graph-BAMGPHrK.js → graph-C274PN27.js} +1 -1
  143. package/payload/server/public/assets/{graph-labels-D9eBbvxo.js → graph-labels-DQFzd1FY.js} +1 -1
  144. package/payload/server/public/assets/{page-DjdVMWCz.js → page-D-OLjort.js} +1 -1
  145. package/payload/server/public/assets/{page-CV27Al6Z.js → page-DFFt9_Q0.js} +1 -1
  146. package/payload/server/public/data.html +3 -3
  147. package/payload/server/public/graph.html +3 -3
  148. package/payload/server/public/index.html +4 -4
  149. package/payload/server/server.js +2 -2
  150. package/payload/platform/plugins/brochures/.claude-plugin/plugin.json +0 -8
  151. package/payload/platform/plugins/brochures/PLUGIN.md +0 -38
  152. package/payload/platform/plugins/brochures/commands/make-brochure.md +0 -11
  153. package/payload/platform/plugins/brochures/skills/a4-print-documents/SKILL.md +0 -478
  154. package/payload/platform/plugins/brochures/skills/brand-design/SKILL.md +0 -192
  155. package/payload/platform/plugins/brochures/skills/make-brochure/SKILL.md +0 -354
  156. package/payload/platform/plugins/brochures/skills/make-brochure/references/seller-brief-template.md +0 -115
  157. package/payload/platform/plugins/brochures/skills/property-brochure/SKILL.md +0 -142
  158. package/payload/platform/plugins/brochures/skills/property-brochure/references/build.md +0 -270
  159. package/payload/platform/plugins/brochures/skills/property-brochure/references/copy.md +0 -211
  160. package/payload/platform/plugins/brochures/skills/property-brochure/references/images.md +0 -166
  161. package/payload/platform/plugins/brochures/skills/property-brochure/references/index-landing.md +0 -376
  162. package/payload/platform/plugins/brochures/skills/property-brochure/references/index.html +0 -1288
  163. package/payload/platform/plugins/brochures/skills/property-brochure/references/placeholders.md +0 -250
  164. package/payload/platform/plugins/brochures/skills/property-brochure/references/registers.md +0 -47
  165. package/payload/platform/plugins/brochures/skills/property-brochure/references/seller-brief.md +0 -56
  166. package/payload/platform/plugins/brochures/skills/property-brochure/references/structure.md +0 -249
  167. package/payload/platform/plugins/brochures/skills/property-brochure/references/template.html +0 -2370
  168. package/payload/platform/plugins/brochures/skills/property-extract/SKILL.md +0 -372
  169. package/payload/platform/plugins/brochures/skills/property-market-report/SKILL.md +0 -100
  170. package/payload/platform/plugins/brochures/skills/property-market-report/references/render.py +0 -267
  171. package/payload/platform/plugins/brochures/skills/property-market-report/references/template.html +0 -266
  172. package/payload/platform/plugins/brochures/skills/property-socials/SKILL.md +0 -141
  173. package/payload/platform/plugins/buyers/.claude-plugin/plugin.json +0 -8
  174. package/payload/platform/plugins/buyers/PLUGIN.md +0 -34
  175. package/payload/platform/plugins/buyers/skills/buyer-feedback/SKILL.md +0 -109
  176. package/payload/platform/plugins/buyers/skills/buyer-management/SKILL.md +0 -42
  177. package/payload/platform/plugins/buyers/skills/buyer-management/references/buyer-qualification-questions.md +0 -16
  178. package/payload/platform/plugins/buyers/skills/buyer-management/references/buyer-qualification.md +0 -59
  179. package/payload/platform/plugins/buyers/skills/buyer-management/references/buyer-scripts.md +0 -63
  180. package/payload/platform/plugins/buyers/skills/buyer-management/references/buyer-working-scripts.md +0 -54
  181. package/payload/platform/plugins/buyers/skills/buyer-management/references/feedback-collection.md +0 -42
  182. package/payload/platform/plugins/buyers/skills/buyer-management/references/offer-capture.md +0 -38
  183. package/payload/platform/plugins/buyers/skills/buyer-management/references/viewing-booking.md +0 -32
  184. package/payload/platform/plugins/buyers/skills/buyer-management/references/viewing-management.md +0 -52
  185. package/payload/platform/plugins/buyers/skills/buyer-seller-guides/SKILL.md +0 -407
  186. package/payload/platform/plugins/buyers/skills/buyer-seller-guides/references/care-fees-guide.md +0 -68
  187. package/payload/platform/plugins/buyers/skills/buyer-seller-guides/references/divorce-sales-guide.md +0 -61
  188. package/payload/platform/plugins/buyers/skills/buyer-seller-guides/references/downsizing-guide.md +0 -45
  189. package/payload/platform/plugins/buyers/skills/buyer-seller-guides/references/first-time-buyers.md +0 -92
  190. package/payload/platform/plugins/buyers/skills/buyer-seller-guides/references/first-time-sellers.md +0 -78
  191. package/payload/platform/plugins/buyers/skills/buyer-seller-guides/references/probate-guide.md +0 -53
  192. package/payload/platform/plugins/buyers/skills/buyer-seller-guides/references/upsizing-guide.md +0 -41
  193. package/payload/platform/plugins/buyers/skills/property-enquiry/SKILL.md +0 -126
  194. package/payload/platform/plugins/buyers/skills/viewing-management/SKILL.md +0 -111
  195. package/payload/platform/plugins/epc/.claude-plugin/plugin.json +0 -17
  196. package/payload/platform/plugins/epc/PLUGIN.md +0 -85
  197. package/payload/platform/plugins/epc/mcp/dist/index.d.ts +0 -2
  198. package/payload/platform/plugins/epc/mcp/dist/index.d.ts.map +0 -1
  199. package/payload/platform/plugins/epc/mcp/dist/index.js +0 -117
  200. package/payload/platform/plugins/epc/mcp/dist/index.js.map +0 -1
  201. package/payload/platform/plugins/epc/mcp/dist/lib/crypto.d.ts +0 -3
  202. package/payload/platform/plugins/epc/mcp/dist/lib/crypto.d.ts.map +0 -1
  203. package/payload/platform/plugins/epc/mcp/dist/lib/crypto.js +0 -72
  204. package/payload/platform/plugins/epc/mcp/dist/lib/crypto.js.map +0 -1
  205. package/payload/platform/plugins/epc/mcp/dist/lib/epc-api.d.ts +0 -60
  206. package/payload/platform/plugins/epc/mcp/dist/lib/epc-api.d.ts.map +0 -1
  207. package/payload/platform/plugins/epc/mcp/dist/lib/epc-api.js +0 -181
  208. package/payload/platform/plugins/epc/mcp/dist/lib/epc-api.js.map +0 -1
  209. package/payload/platform/plugins/epc/mcp/dist/lib/file-crypto.d.ts +0 -3
  210. package/payload/platform/plugins/epc/mcp/dist/lib/file-crypto.d.ts.map +0 -1
  211. package/payload/platform/plugins/epc/mcp/dist/lib/file-crypto.js +0 -49
  212. package/payload/platform/plugins/epc/mcp/dist/lib/file-crypto.js.map +0 -1
  213. package/payload/platform/plugins/epc/mcp/dist/lib/key-store.d.ts +0 -15
  214. package/payload/platform/plugins/epc/mcp/dist/lib/key-store.d.ts.map +0 -1
  215. package/payload/platform/plugins/epc/mcp/dist/lib/key-store.js +0 -130
  216. package/payload/platform/plugins/epc/mcp/dist/lib/key-store.js.map +0 -1
  217. package/payload/platform/plugins/epc/mcp/dist/lib/neo4j.d.ts +0 -5
  218. package/payload/platform/plugins/epc/mcp/dist/lib/neo4j.d.ts.map +0 -1
  219. package/payload/platform/plugins/epc/mcp/dist/lib/neo4j.js +0 -38
  220. package/payload/platform/plugins/epc/mcp/dist/lib/neo4j.js.map +0 -1
  221. package/payload/platform/plugins/epc/mcp/dist/tools/key-deregister.d.ts +0 -4
  222. package/payload/platform/plugins/epc/mcp/dist/tools/key-deregister.d.ts.map +0 -1
  223. package/payload/platform/plugins/epc/mcp/dist/tools/key-deregister.js +0 -9
  224. package/payload/platform/plugins/epc/mcp/dist/tools/key-deregister.js.map +0 -1
  225. package/payload/platform/plugins/epc/mcp/dist/tools/key-list.d.ts +0 -4
  226. package/payload/platform/plugins/epc/mcp/dist/tools/key-list.d.ts.map +0 -1
  227. package/payload/platform/plugins/epc/mcp/dist/tools/key-list.js +0 -10
  228. package/payload/platform/plugins/epc/mcp/dist/tools/key-list.js.map +0 -1
  229. package/payload/platform/plugins/epc/mcp/dist/tools/key-register.d.ts +0 -5
  230. package/payload/platform/plugins/epc/mcp/dist/tools/key-register.d.ts.map +0 -1
  231. package/payload/platform/plugins/epc/mcp/dist/tools/key-register.js +0 -36
  232. package/payload/platform/plugins/epc/mcp/dist/tools/key-register.js.map +0 -1
  233. package/payload/platform/plugins/epc/mcp/dist/tools/lookup.d.ts +0 -10
  234. package/payload/platform/plugins/epc/mcp/dist/tools/lookup.d.ts.map +0 -1
  235. package/payload/platform/plugins/epc/mcp/dist/tools/lookup.js +0 -30
  236. package/payload/platform/plugins/epc/mcp/dist/tools/lookup.js.map +0 -1
  237. package/payload/platform/plugins/epc/mcp/package-lock.json +0 -2566
  238. package/payload/platform/plugins/epc/mcp/package.json +0 -21
  239. package/payload/platform/plugins/epc/mcp/src/__tests__/epc-api.test.ts +0 -251
  240. package/payload/platform/plugins/epc/mcp/src/__tests__/key-roundtrip.test.ts +0 -113
  241. package/payload/platform/plugins/epc/mcp/src/__tests__/lookup.test.ts +0 -181
  242. package/payload/platform/plugins/epc/mcp/src/__tests__/schema-parity.test.ts +0 -54
  243. package/payload/platform/plugins/epc/mcp/src/index.ts +0 -156
  244. package/payload/platform/plugins/epc/mcp/src/lib/crypto.ts +0 -79
  245. package/payload/platform/plugins/epc/mcp/src/lib/epc-api.ts +0 -241
  246. package/payload/platform/plugins/epc/mcp/src/lib/file-crypto.ts +0 -55
  247. package/payload/platform/plugins/epc/mcp/src/lib/key-store.ts +0 -172
  248. package/payload/platform/plugins/epc/mcp/src/lib/neo4j.ts +0 -47
  249. package/payload/platform/plugins/epc/mcp/src/tools/key-deregister.ts +0 -9
  250. package/payload/platform/plugins/epc/mcp/src/tools/key-list.ts +0 -10
  251. package/payload/platform/plugins/epc/mcp/src/tools/key-register.ts +0 -44
  252. package/payload/platform/plugins/epc/mcp/src/tools/lookup.ts +0 -43
  253. package/payload/platform/plugins/epc/mcp/tsconfig.json +0 -20
  254. package/payload/platform/plugins/epc/mcp/vitest.config.ts +0 -8
  255. package/payload/platform/plugins/estate-business/.claude-plugin/plugin.json +0 -8
  256. package/payload/platform/plugins/estate-business/PLUGIN.md +0 -64
  257. package/payload/platform/plugins/estate-business/skills/business-growth/SKILL.md +0 -133
  258. package/payload/platform/plugins/estate-business/skills/business-growth/references/buy-back-your-time.md +0 -37
  259. package/payload/platform/plugins/estate-business/skills/business-growth/references/firewave-gost-scorecards.md +0 -14
  260. package/payload/platform/plugins/estate-business/skills/business-growth/references/keller-org-model.md +0 -17
  261. package/payload/platform/plugins/estate-business/skills/business-growth/references/lencioni-team-models.md +0 -22
  262. package/payload/platform/plugins/estate-business/skills/business-growth/references/listing-management-system.md +0 -11
  263. package/payload/platform/plugins/estate-business/skills/business-growth/references/net-figure-form.md +0 -11
  264. package/payload/platform/plugins/estate-business/skills/business-growth/references/serhant-bizinbox-notes.md +0 -13
  265. package/payload/platform/plugins/estate-business/skills/business-growth/references/team-roles-commission.md +0 -14
  266. package/payload/platform/plugins/estate-business/skills/business-growth/references/va-2026-ops.md +0 -43
  267. package/payload/platform/plugins/estate-business/skills/business-growth/references/wingman-structure.md +0 -13
  268. package/payload/platform/plugins/estate-business/skills/business-operations/SKILL.md +0 -32
  269. package/payload/platform/plugins/estate-business/skills/business-operations/references/crm-systems.md +0 -57
  270. package/payload/platform/plugins/estate-business/skills/business-operations/references/hiring-guide.md +0 -59
  271. package/payload/platform/plugins/estate-business/skills/business-operations/references/impact-framework.md +0 -47
  272. package/payload/platform/plugins/estate-business/skills/business-operations/references/minutes-equal-money.md +0 -55
  273. package/payload/platform/plugins/estate-business/skills/business-operations/references/team-management.md +0 -48
  274. package/payload/platform/plugins/estate-business/skills/commission-calculator/SKILL.md +0 -40
  275. package/payload/platform/plugins/estate-business/skills/exp-partnership/SKILL.md +0 -52
  276. package/payload/platform/plugins/estate-business/skills/exp-partnership/references/12-reasons.md +0 -39
  277. package/payload/platform/plugins/estate-business/skills/exp-partnership/references/95-5-system.md +0 -66
  278. package/payload/platform/plugins/estate-business/skills/exp-partnership/references/agent-attraction-scripts.md +0 -90
  279. package/payload/platform/plugins/estate-business/skills/exp-partnership/references/business-partnership.md +0 -92
  280. package/payload/platform/plugins/estate-business/skills/exp-partnership/references/exp-model-overview.md +0 -66
  281. package/payload/platform/plugins/estate-business/skills/exp-partnership/references/model-comparison.md +0 -66
  282. package/payload/platform/plugins/estate-business/skills/exp-partnership/references/revenue-share-explained.md +0 -57
  283. package/payload/platform/plugins/estate-business/skills/month-end-close/SKILL.md +0 -69
  284. package/payload/platform/plugins/estate-business/skills/payment-batch-stager/SKILL.md +0 -42
  285. package/payload/platform/plugins/estate-business/skills/period-reconciler/SKILL.md +0 -42
  286. package/payload/platform/plugins/estate-business/skills/personal-branding/SKILL.md +0 -117
  287. package/payload/platform/plugins/estate-business/skills/personal-branding/references/attraction-agent-notes.md +0 -31
  288. package/payload/platform/plugins/estate-business/skills/personal-branding/references/attraction-agent.md +0 -58
  289. package/payload/platform/plugins/estate-business/skills/personal-branding/references/authenticity-boundaries.md +0 -28
  290. package/payload/platform/plugins/estate-business/skills/personal-branding/references/become-a-brand-leader-notes.md +0 -19
  291. package/payload/platform/plugins/estate-business/skills/personal-branding/references/blast-formula.md +0 -42
  292. package/payload/platform/plugins/estate-business/skills/personal-branding/references/brand-leader.md +0 -48
  293. package/payload/platform/plugins/estate-business/skills/personal-branding/references/brand-strategy-system.md +0 -59
  294. package/payload/platform/plugins/estate-business/skills/personal-branding/references/content-engine.md +0 -49
  295. package/payload/platform/plugins/estate-business/skills/personal-branding/references/firewave-blast-and-blogging.md +0 -23
  296. package/payload/platform/plugins/estate-business/skills/personal-branding/references/gary-v-content.md +0 -52
  297. package/payload/platform/plugins/estate-business/skills/personal-branding/references/gary-v-principles.md +0 -20
  298. package/payload/platform/plugins/estate-business/skills/personal-branding/references/oversubscribed-positioning.md +0 -18
  299. package/payload/platform/plugins/estate-business/skills/personal-branding/references/platforms.md +0 -41
  300. package/payload/platform/plugins/estate-business/skills/personal-branding/references/priestley-oversubscribed.md +0 -54
  301. package/payload/platform/plugins/estate-business/skills/personal-branding/references/storeys-style-examples.md +0 -25
  302. package/payload/platform/plugins/estate-business/skills/personal-branding/references/visual-identity.md +0 -27
  303. package/payload/platform/plugins/estate-coaching/.claude-plugin/plugin.json +0 -8
  304. package/payload/platform/plugins/estate-coaching/PLUGIN.md +0 -54
  305. package/payload/platform/plugins/estate-coaching/skills/agent-performance/SKILL.md +0 -371
  306. package/payload/platform/plugins/estate-coaching/skills/agent-performance/references/atomic-habits.md +0 -52
  307. package/payload/platform/plugins/estate-coaching/skills/agent-performance/references/daily-routine-scorecard.md +0 -104
  308. package/payload/platform/plugins/estate-coaching/skills/agent-performance/references/hp6-model.md +0 -63
  309. package/payload/platform/plugins/estate-coaching/skills/agent-performance/references/twelve-week-year.md +0 -71
  310. package/payload/platform/plugins/estate-coaching/skills/bespoke-coaching/SKILL.md +0 -36
  311. package/payload/platform/plugins/estate-coaching/skills/bespoke-coaching/references/coaching-boundaries.md +0 -56
  312. package/payload/platform/plugins/estate-coaching/skills/bespoke-coaching/references/feedback-framework.md +0 -61
  313. package/payload/platform/plugins/estate-coaching/skills/bespoke-coaching/references/performance-framework.md +0 -109
  314. package/payload/platform/plugins/estate-coaching/skills/coaching-toolkit/SKILL.md +0 -421
  315. package/payload/platform/plugins/estate-coaching/skills/coaching-toolkit/references/coaching-exercises.md +0 -86
  316. package/payload/platform/plugins/estate-coaching/skills/coaching-toolkit/references/goal-setting.md +0 -78
  317. package/payload/platform/plugins/estate-coaching/skills/coaching-toolkit/references/one-to-one-framework.md +0 -92
  318. package/payload/platform/plugins/estate-coaching/skills/coaching-toolkit/references/soi-workbook.md +0 -103
  319. package/payload/platform/plugins/estate-coaching/skills/serhant-training/SKILL.md +0 -410
  320. package/payload/platform/plugins/estate-coaching/skills/serhant-training/references/agent-training-guide.md +0 -70
  321. package/payload/platform/plugins/estate-coaching/skills/serhant-training/references/business-in-a-box.md +0 -72
  322. package/payload/platform/plugins/estate-coaching/skills/serhant-training/references/buyers-guide.md +0 -53
  323. package/payload/platform/plugins/estate-coaching/skills/serhant-training/references/codo-method.md +0 -72
  324. package/payload/platform/plugins/estate-coaching/skills/serhant-training/references/website-planning-guide.md +0 -79
  325. package/payload/platform/plugins/estate-sales/.claude-plugin/plugin.json +0 -8
  326. package/payload/platform/plugins/estate-sales/PLUGIN.md +0 -52
  327. package/payload/platform/plugins/estate-sales/skills/chase-progression/SKILL.md +0 -107
  328. package/payload/platform/plugins/estate-sales/skills/negotiation/SKILL.md +0 -35
  329. package/payload/platform/plugins/estate-sales/skills/negotiation/references/deal-saving.md +0 -47
  330. package/payload/platform/plugins/estate-sales/skills/negotiation/references/negotiation-deep-guide.md +0 -64
  331. package/payload/platform/plugins/estate-sales/skills/negotiation/references/negotiation-prep-principles.md +0 -29
  332. package/payload/platform/plugins/estate-sales/skills/negotiation/references/negotiation-techniques.md +0 -42
  333. package/payload/platform/plugins/estate-sales/skills/negotiation/references/offer-presentation.md +0 -43
  334. package/payload/platform/plugins/estate-sales/skills/risk-scorer/SKILL.md +0 -42
  335. package/payload/platform/plugins/estate-sales/skills/sales-closer/SKILL.md +0 -24
  336. package/payload/platform/plugins/estate-sales/skills/sales-closer/references/serhant-emotion-stages.md +0 -36
  337. package/payload/platform/plugins/estate-sales/skills/sales-discovery/SKILL.md +0 -30
  338. package/payload/platform/plugins/estate-sales/skills/sales-discovery/references/chris-voss-discovery.md +0 -88
  339. package/payload/platform/plugins/estate-sales/skills/sales-discovery/references/firewave-gost-journey.md +0 -68
  340. package/payload/platform/plugins/estate-sales/skills/sales-discovery/references/phil-jones-openers.md +0 -78
  341. package/payload/platform/plugins/estate-sales/skills/sales-discovery/references/pre-listing-checklist.md +0 -77
  342. package/payload/platform/plugins/estate-sales/skills/sales-discovery/references/serhant-improv.md +0 -22
  343. package/payload/platform/plugins/estate-sales/skills/sales-discovery/references/tom-ferry-discovery.md +0 -103
  344. package/payload/platform/plugins/estate-sales/skills/sales-discovery/references/vendor-motivation-competitor.md +0 -52
  345. package/payload/platform/plugins/estate-sales/skills/sales-negotiation/SKILL.md +0 -29
  346. package/payload/platform/plugins/estate-sales/skills/sales-negotiation/references/chris-voss-negotiation.md +0 -70
  347. package/payload/platform/plugins/estate-sales/skills/sales-negotiation/references/phil-jones-price-words.md +0 -40
  348. package/payload/platform/plugins/estate-sales/skills/sales-negotiation/references/serhant-negotiation-plus.md +0 -55
  349. package/payload/platform/plugins/estate-sales/skills/sales-negotiation/references/tom-panos-commission-pricing.md +0 -57
  350. package/payload/platform/plugins/estate-sales/skills/sales-negotiation/references/tony-morris-questioning.md +0 -54
  351. package/payload/platform/plugins/estate-sales/skills/sales-progression/SKILL.md +0 -27
  352. package/payload/platform/plugins/estate-sales/skills/sales-progression/references/conveyancing-guide.md +0 -54
  353. package/payload/platform/plugins/estate-sales/skills/sales-progression/references/transaction-tracking.md +0 -66
  354. package/payload/platform/plugins/estate-teaching/.claude-plugin/plugin.json +0 -8
  355. package/payload/platform/plugins/estate-teaching/PLUGIN.md +0 -30
  356. package/payload/platform/plugins/estate-teaching/skills/content-directory/SKILL.md +0 -39
  357. package/payload/platform/plugins/estate-teaching/skills/content-directory/references/module-delivery.md +0 -65
  358. package/payload/platform/plugins/estate-teaching/skills/content-directory/references/progress-tracking.md +0 -47
  359. package/payload/platform/plugins/leads/.claude-plugin/plugin.json +0 -8
  360. package/payload/platform/plugins/leads/PLUGIN.md +0 -61
  361. package/payload/platform/plugins/leads/skills/chain-progression-tracker/SKILL.md +0 -51
  362. package/payload/platform/plugins/leads/skills/diary-builder/SKILL.md +0 -38
  363. package/payload/platform/plugins/leads/skills/enquiry-triage/SKILL.md +0 -36
  364. package/payload/platform/plugins/leads/skills/lead-nurturing/SKILL.md +0 -137
  365. package/payload/platform/plugins/leads/skills/lead-nurturing/references/buyer-search-letter.md +0 -28
  366. package/payload/platform/plugins/leads/skills/lead-nurturing/references/buyer-search-letters.md +0 -37
  367. package/payload/platform/plugins/leads/skills/lead-nurturing/references/database-reactivation.md +0 -30
  368. package/payload/platform/plugins/leads/skills/lead-nurturing/references/email-nurture-sequences.md +0 -45
  369. package/payload/platform/plugins/leads/skills/lead-nurturing/references/facebook-referrals.md +0 -30
  370. package/payload/platform/plugins/leads/skills/lead-nurturing/references/firewave-email-nurture-sequences.md +0 -41
  371. package/payload/platform/plugins/leads/skills/lead-nurturing/references/keller-33-touch.md +0 -34
  372. package/payload/platform/plugins/leads/skills/lead-nurturing/references/neighbour-letters.md +0 -31
  373. package/payload/platform/plugins/leads/skills/lead-nurturing/references/neighbour-notification-letter.md +0 -20
  374. package/payload/platform/plugins/leads/skills/lead-nurturing/references/ofi-follow-up-dialogue.md +0 -22
  375. package/payload/platform/plugins/leads/skills/lead-nurturing/references/ofi-follow-up.md +0 -26
  376. package/payload/platform/plugins/leads/skills/lead-nurturing/references/serhant-three-fs-plus.md +0 -21
  377. package/payload/platform/plugins/leads/skills/lead-nurturing/references/sharran-10x10x10.md +0 -18
  378. package/payload/platform/plugins/leads/skills/lead-nurturing/references/sms-templates.md +0 -40
  379. package/payload/platform/plugins/leads/skills/lead-nurturing/references/sphere-of-influence-notes.md +0 -34
  380. package/payload/platform/plugins/leads/skills/lead-nurturing/references/sphere-of-influence.md +0 -60
  381. package/payload/platform/plugins/leads/skills/lead-nurturing/references/tom-panos-sms-templates.md +0 -59
  382. package/payload/platform/plugins/leads/skills/morning-round/SKILL.md +0 -72
  383. package/payload/platform/plugins/leads/skills/prospecting/SKILL.md +0 -33
  384. package/payload/platform/plugins/leads/skills/prospecting/references/database-matching.md +0 -30
  385. package/payload/platform/plugins/leads/skills/prospecting/references/database-value.md +0 -53
  386. package/payload/platform/plugins/leads/skills/prospecting/references/prospecting-dialogues.md +0 -24
  387. package/payload/platform/plugins/leads/skills/prospecting/references/reactivation.md +0 -34
  388. package/payload/platform/plugins/listings/.claude-plugin/plugin.json +0 -8
  389. package/payload/platform/plugins/listings/PLUGIN.md +0 -102
  390. package/payload/platform/plugins/listings/skills/comparable-finder/SKILL.md +0 -52
  391. package/payload/platform/plugins/listings/skills/epc-checker/SKILL.md +0 -38
  392. package/payload/platform/plugins/listings/skills/home-preparation/SKILL.md +0 -28
  393. package/payload/platform/plugins/listings/skills/home-preparation/references/kerb-appeal.md +0 -38
  394. package/payload/platform/plugins/listings/skills/home-preparation/references/photo-day.md +0 -59
  395. package/payload/platform/plugins/listings/skills/home-preparation/references/situational-tips.md +0 -50
  396. package/payload/platform/plugins/listings/skills/home-preparation/references/staging-guide.md +0 -52
  397. package/payload/platform/plugins/listings/skills/listing-copy-writer/SKILL.md +0 -55
  398. package/payload/platform/plugins/listings/skills/listing-presentation/SKILL.md +0 -286
  399. package/payload/platform/plugins/listings/skills/listing-presentation/references/booking-script.md +0 -51
  400. package/payload/platform/plugins/listings/skills/listing-presentation/references/objection-scripts.md +0 -193
  401. package/payload/platform/plugins/listings/skills/listing-presentation/references/penhaul-presentation.md +0 -123
  402. package/payload/platform/plugins/listings/skills/listing-presentation/references/pre-listing-kit.md +0 -139
  403. package/payload/platform/plugins/listings/skills/listing-presentation/references/set-to-sell.md +0 -55
  404. package/payload/platform/plugins/listings/skills/listing-presentation/references/sharran-frameworks.md +0 -107
  405. package/payload/platform/plugins/listings/skills/local-market-stats/SKILL.md +0 -33
  406. package/payload/platform/plugins/listings/skills/new-instruction/SKILL.md +0 -78
  407. package/payload/platform/plugins/listings/skills/particulars-builder/SKILL.md +0 -48
  408. package/payload/platform/plugins/listings/skills/portal-launch-scheduler/SKILL.md +0 -49
  409. package/payload/platform/plugins/listings/skills/pricing-scenario-builder/SKILL.md +0 -35
  410. package/payload/platform/plugins/listings/skills/property-marketing/SKILL.md +0 -337
  411. package/payload/platform/plugins/listings/skills/property-marketing/references/auction-report-template.md +0 -41
  412. package/payload/platform/plugins/listings/skills/property-marketing/references/coming-soon-campaign.md +0 -43
  413. package/payload/platform/plugins/listings/skills/property-marketing/references/direct-mail-templates.md +0 -121
  414. package/payload/platform/plugins/listings/skills/property-marketing/references/eoi-form-template.md +0 -62
  415. package/payload/platform/plugins/listings/skills/property-marketing/references/monthly-scorecard.md +0 -63
  416. package/payload/platform/plugins/listings/skills/supplier-booker/SKILL.md +0 -39
  417. package/payload/platform/plugins/listings/skills/talk-track-composer/SKILL.md +0 -36
  418. package/payload/platform/plugins/listings/skills/terms-of-business-drafter/SKILL.md +0 -54
  419. package/payload/platform/plugins/listings/skills/valuation-prep/SKILL.md +0 -69
  420. package/payload/platform/plugins/loop/.claude-plugin/plugin.json +0 -17
  421. package/payload/platform/plugins/loop/PLUGIN.md +0 -233
  422. package/payload/platform/plugins/loop/mcp/dist/index.d.ts +0 -2
  423. package/payload/platform/plugins/loop/mcp/dist/index.d.ts.map +0 -1
  424. package/payload/platform/plugins/loop/mcp/dist/index.js +0 -320
  425. package/payload/platform/plugins/loop/mcp/dist/index.js.map +0 -1
  426. package/payload/platform/plugins/loop/mcp/dist/lib/crypto.d.ts +0 -10
  427. package/payload/platform/plugins/loop/mcp/dist/lib/crypto.d.ts.map +0 -1
  428. package/payload/platform/plugins/loop/mcp/dist/lib/crypto.js +0 -88
  429. package/payload/platform/plugins/loop/mcp/dist/lib/crypto.js.map +0 -1
  430. package/payload/platform/plugins/loop/mcp/dist/lib/file-crypto.d.ts +0 -3
  431. package/payload/platform/plugins/loop/mcp/dist/lib/file-crypto.d.ts.map +0 -1
  432. package/payload/platform/plugins/loop/mcp/dist/lib/file-crypto.js +0 -48
  433. package/payload/platform/plugins/loop/mcp/dist/lib/file-crypto.js.map +0 -1
  434. package/payload/platform/plugins/loop/mcp/dist/lib/key-store.d.ts +0 -22
  435. package/payload/platform/plugins/loop/mcp/dist/lib/key-store.d.ts.map +0 -1
  436. package/payload/platform/plugins/loop/mcp/dist/lib/key-store.js +0 -165
  437. package/payload/platform/plugins/loop/mcp/dist/lib/key-store.js.map +0 -1
  438. package/payload/platform/plugins/loop/mcp/dist/lib/loop-api.d.ts +0 -82
  439. package/payload/platform/plugins/loop/mcp/dist/lib/loop-api.d.ts.map +0 -1
  440. package/payload/platform/plugins/loop/mcp/dist/lib/loop-api.js +0 -392
  441. package/payload/platform/plugins/loop/mcp/dist/lib/loop-api.js.map +0 -1
  442. package/payload/platform/plugins/loop/mcp/dist/lib/neo4j.d.ts +0 -5
  443. package/payload/platform/plugins/loop/mcp/dist/lib/neo4j.d.ts.map +0 -1
  444. package/payload/platform/plugins/loop/mcp/dist/lib/neo4j.js +0 -40
  445. package/payload/platform/plugins/loop/mcp/dist/lib/neo4j.js.map +0 -1
  446. package/payload/platform/plugins/loop/mcp/dist/tools/auto-responder.d.ts +0 -12
  447. package/payload/platform/plugins/loop/mcp/dist/tools/auto-responder.d.ts.map +0 -1
  448. package/payload/platform/plugins/loop/mcp/dist/tools/auto-responder.js +0 -22
  449. package/payload/platform/plugins/loop/mcp/dist/tools/auto-responder.js.map +0 -1
  450. package/payload/platform/plugins/loop/mcp/dist/tools/customer-preferences.d.ts +0 -10
  451. package/payload/platform/plugins/loop/mcp/dist/tools/customer-preferences.d.ts.map +0 -1
  452. package/payload/platform/plugins/loop/mcp/dist/tools/customer-preferences.js +0 -24
  453. package/payload/platform/plugins/loop/mcp/dist/tools/customer-preferences.js.map +0 -1
  454. package/payload/platform/plugins/loop/mcp/dist/tools/feedback.d.ts +0 -16
  455. package/payload/platform/plugins/loop/mcp/dist/tools/feedback.d.ts.map +0 -1
  456. package/payload/platform/plugins/loop/mcp/dist/tools/feedback.js +0 -35
  457. package/payload/platform/plugins/loop/mcp/dist/tools/feedback.js.map +0 -1
  458. package/payload/platform/plugins/loop/mcp/dist/tools/key-deregister.d.ts +0 -5
  459. package/payload/platform/plugins/loop/mcp/dist/tools/key-deregister.d.ts.map +0 -1
  460. package/payload/platform/plugins/loop/mcp/dist/tools/key-deregister.js +0 -9
  461. package/payload/platform/plugins/loop/mcp/dist/tools/key-deregister.js.map +0 -1
  462. package/payload/platform/plugins/loop/mcp/dist/tools/key-list.d.ts +0 -4
  463. package/payload/platform/plugins/loop/mcp/dist/tools/key-list.d.ts.map +0 -1
  464. package/payload/platform/plugins/loop/mcp/dist/tools/key-list.js +0 -14
  465. package/payload/platform/plugins/loop/mcp/dist/tools/key-list.js.map +0 -1
  466. package/payload/platform/plugins/loop/mcp/dist/tools/key-register.d.ts +0 -9
  467. package/payload/platform/plugins/loop/mcp/dist/tools/key-register.d.ts.map +0 -1
  468. package/payload/platform/plugins/loop/mcp/dist/tools/key-register.js +0 -43
  469. package/payload/platform/plugins/loop/mcp/dist/tools/key-register.js.map +0 -1
  470. package/payload/platform/plugins/loop/mcp/dist/tools/marketing-enquiry.d.ts +0 -6
  471. package/payload/platform/plugins/loop/mcp/dist/tools/marketing-enquiry.d.ts.map +0 -1
  472. package/payload/platform/plugins/loop/mcp/dist/tools/marketing-enquiry.js +0 -7
  473. package/payload/platform/plugins/loop/mcp/dist/tools/marketing-enquiry.js.map +0 -1
  474. package/payload/platform/plugins/loop/mcp/dist/tools/marketing-match-batch.d.ts +0 -9
  475. package/payload/platform/plugins/loop/mcp/dist/tools/marketing-match-batch.d.ts.map +0 -1
  476. package/payload/platform/plugins/loop/mcp/dist/tools/marketing-match-batch.js +0 -16
  477. package/payload/platform/plugins/loop/mcp/dist/tools/marketing-match-batch.js.map +0 -1
  478. package/payload/platform/plugins/loop/mcp/dist/tools/marketing-match-request.d.ts +0 -15
  479. package/payload/platform/plugins/loop/mcp/dist/tools/marketing-match-request.d.ts.map +0 -1
  480. package/payload/platform/plugins/loop/mcp/dist/tools/marketing-match-request.js +0 -11
  481. package/payload/platform/plugins/loop/mcp/dist/tools/marketing-match-request.js.map +0 -1
  482. package/payload/platform/plugins/loop/mcp/dist/tools/marketing-match.d.ts +0 -10
  483. package/payload/platform/plugins/loop/mcp/dist/tools/marketing-match.d.ts.map +0 -1
  484. package/payload/platform/plugins/loop/mcp/dist/tools/marketing-match.js +0 -39
  485. package/payload/platform/plugins/loop/mcp/dist/tools/marketing-match.js.map +0 -1
  486. package/payload/platform/plugins/loop/mcp/dist/tools/people-detail.d.ts +0 -9
  487. package/payload/platform/plugins/loop/mcp/dist/tools/people-detail.d.ts.map +0 -1
  488. package/payload/platform/plugins/loop/mcp/dist/tools/people-detail.js +0 -125
  489. package/payload/platform/plugins/loop/mcp/dist/tools/people-detail.js.map +0 -1
  490. package/payload/platform/plugins/loop/mcp/dist/tools/people-search.d.ts +0 -18
  491. package/payload/platform/plugins/loop/mcp/dist/tools/people-search.d.ts.map +0 -1
  492. package/payload/platform/plugins/loop/mcp/dist/tools/people-search.js +0 -87
  493. package/payload/platform/plugins/loop/mcp/dist/tools/people-search.js.map +0 -1
  494. package/payload/platform/plugins/loop/mcp/dist/tools/property-detail.d.ts +0 -10
  495. package/payload/platform/plugins/loop/mcp/dist/tools/property-detail.d.ts.map +0 -1
  496. package/payload/platform/plugins/loop/mcp/dist/tools/property-detail.js +0 -82
  497. package/payload/platform/plugins/loop/mcp/dist/tools/property-detail.js.map +0 -1
  498. package/payload/platform/plugins/loop/mcp/dist/tools/property-intent.d.ts +0 -33
  499. package/payload/platform/plugins/loop/mcp/dist/tools/property-intent.d.ts.map +0 -1
  500. package/payload/platform/plugins/loop/mcp/dist/tools/property-intent.js +0 -19
  501. package/payload/platform/plugins/loop/mcp/dist/tools/property-intent.js.map +0 -1
  502. package/payload/platform/plugins/loop/mcp/dist/tools/property-listed.d.ts +0 -11
  503. package/payload/platform/plugins/loop/mcp/dist/tools/property-listed.d.ts.map +0 -1
  504. package/payload/platform/plugins/loop/mcp/dist/tools/property-listed.js +0 -26
  505. package/payload/platform/plugins/loop/mcp/dist/tools/property-listed.js.map +0 -1
  506. package/payload/platform/plugins/loop/mcp/dist/tools/property-request.d.ts +0 -15
  507. package/payload/platform/plugins/loop/mcp/dist/tools/property-request.d.ts.map +0 -1
  508. package/payload/platform/plugins/loop/mcp/dist/tools/property-request.js +0 -11
  509. package/payload/platform/plugins/loop/mcp/dist/tools/property-request.js.map +0 -1
  510. package/payload/platform/plugins/loop/mcp/dist/tools/property-search.d.ts +0 -16
  511. package/payload/platform/plugins/loop/mcp/dist/tools/property-search.d.ts.map +0 -1
  512. package/payload/platform/plugins/loop/mcp/dist/tools/property-search.js +0 -41
  513. package/payload/platform/plugins/loop/mcp/dist/tools/property-search.js.map +0 -1
  514. package/payload/platform/plugins/loop/mcp/dist/tools/property-sold.d.ts +0 -9
  515. package/payload/platform/plugins/loop/mcp/dist/tools/property-sold.d.ts.map +0 -1
  516. package/payload/platform/plugins/loop/mcp/dist/tools/property-sold.js +0 -19
  517. package/payload/platform/plugins/loop/mcp/dist/tools/property-sold.js.map +0 -1
  518. package/payload/platform/plugins/loop/mcp/dist/tools/supplier.d.ts +0 -13
  519. package/payload/platform/plugins/loop/mcp/dist/tools/supplier.d.ts.map +0 -1
  520. package/payload/platform/plugins/loop/mcp/dist/tools/supplier.js +0 -49
  521. package/payload/platform/plugins/loop/mcp/dist/tools/supplier.js.map +0 -1
  522. package/payload/platform/plugins/loop/mcp/dist/tools/team-availability.d.ts +0 -7
  523. package/payload/platform/plugins/loop/mcp/dist/tools/team-availability.d.ts.map +0 -1
  524. package/payload/platform/plugins/loop/mcp/dist/tools/team-availability.js +0 -19
  525. package/payload/platform/plugins/loop/mcp/dist/tools/team-availability.js.map +0 -1
  526. package/payload/platform/plugins/loop/mcp/dist/tools/team-info.d.ts +0 -5
  527. package/payload/platform/plugins/loop/mcp/dist/tools/team-info.d.ts.map +0 -1
  528. package/payload/platform/plugins/loop/mcp/dist/tools/team-info.js +0 -32
  529. package/payload/platform/plugins/loop/mcp/dist/tools/team-info.js.map +0 -1
  530. package/payload/platform/plugins/loop/mcp/dist/tools/viewing-create.d.ts +0 -14
  531. package/payload/platform/plugins/loop/mcp/dist/tools/viewing-create.d.ts.map +0 -1
  532. package/payload/platform/plugins/loop/mcp/dist/tools/viewing-create.js +0 -11
  533. package/payload/platform/plugins/loop/mcp/dist/tools/viewing-create.js.map +0 -1
  534. package/payload/platform/plugins/loop/mcp/dist/tools/viewing-detail.d.ts +0 -9
  535. package/payload/platform/plugins/loop/mcp/dist/tools/viewing-detail.d.ts.map +0 -1
  536. package/payload/platform/plugins/loop/mcp/dist/tools/viewing-detail.js +0 -85
  537. package/payload/platform/plugins/loop/mcp/dist/tools/viewing-detail.js.map +0 -1
  538. package/payload/platform/plugins/loop/mcp/dist/tools/viewing-search.d.ts +0 -13
  539. package/payload/platform/plugins/loop/mcp/dist/tools/viewing-search.d.ts.map +0 -1
  540. package/payload/platform/plugins/loop/mcp/dist/tools/viewing-search.js +0 -44
  541. package/payload/platform/plugins/loop/mcp/dist/tools/viewing-search.js.map +0 -1
  542. package/payload/platform/plugins/loop/mcp/dist/tools/viewing-update.d.ts +0 -14
  543. package/payload/platform/plugins/loop/mcp/dist/tools/viewing-update.d.ts.map +0 -1
  544. package/payload/platform/plugins/loop/mcp/dist/tools/viewing-update.js +0 -18
  545. package/payload/platform/plugins/loop/mcp/dist/tools/viewing-update.js.map +0 -1
  546. package/payload/platform/plugins/loop/mcp/package-lock.json +0 -2549
  547. package/payload/platform/plugins/loop/mcp/package.json +0 -21
  548. package/payload/platform/plugins/loop/mcp/src/__tests__/loop-swagger.snapshot.json +0 -26467
  549. package/payload/platform/plugins/loop/mcp/src/__tests__/new-tool-shape.test.ts +0 -99
  550. package/payload/platform/plugins/loop/mcp/src/__tests__/plugin-md-time-doctrine.test.ts +0 -132
  551. package/payload/platform/plugins/loop/mcp/src/__tests__/swagger-write-coverage.test.ts +0 -154
  552. package/payload/platform/plugins/loop/mcp/src/index.ts +0 -498
  553. package/payload/platform/plugins/loop/mcp/src/lib/crypto.ts +0 -105
  554. package/payload/platform/plugins/loop/mcp/src/lib/file-crypto.ts +0 -54
  555. package/payload/platform/plugins/loop/mcp/src/lib/key-store.ts +0 -221
  556. package/payload/platform/plugins/loop/mcp/src/lib/loop-api.ts +0 -567
  557. package/payload/platform/plugins/loop/mcp/src/lib/neo4j.ts +0 -51
  558. package/payload/platform/plugins/loop/mcp/src/tools/auto-responder.ts +0 -80
  559. package/payload/platform/plugins/loop/mcp/src/tools/customer-preferences.ts +0 -66
  560. package/payload/platform/plugins/loop/mcp/src/tools/feedback.ts +0 -86
  561. package/payload/platform/plugins/loop/mcp/src/tools/key-deregister.ts +0 -12
  562. package/payload/platform/plugins/loop/mcp/src/tools/key-list.ts +0 -19
  563. package/payload/platform/plugins/loop/mcp/src/tools/key-register.ts +0 -70
  564. package/payload/platform/plugins/loop/mcp/src/tools/marketing-enquiry.ts +0 -27
  565. package/payload/platform/plugins/loop/mcp/src/tools/marketing-match-batch.ts +0 -53
  566. package/payload/platform/plugins/loop/mcp/src/tools/marketing-match-request.ts +0 -42
  567. package/payload/platform/plugins/loop/mcp/src/tools/marketing-match.ts +0 -84
  568. package/payload/platform/plugins/loop/mcp/src/tools/people-detail.ts +0 -245
  569. package/payload/platform/plugins/loop/mcp/src/tools/people-search.ts +0 -180
  570. package/payload/platform/plugins/loop/mcp/src/tools/property-detail.ts +0 -145
  571. package/payload/platform/plugins/loop/mcp/src/tools/property-intent.ts +0 -84
  572. package/payload/platform/plugins/loop/mcp/src/tools/property-listed.ts +0 -81
  573. package/payload/platform/plugins/loop/mcp/src/tools/property-search.ts +0 -92
  574. package/payload/platform/plugins/loop/mcp/src/tools/property-sold.ts +0 -67
  575. package/payload/platform/plugins/loop/mcp/src/tools/supplier.ts +0 -129
  576. package/payload/platform/plugins/loop/mcp/src/tools/team-availability.ts +0 -52
  577. package/payload/platform/plugins/loop/mcp/src/tools/team-info.ts +0 -95
  578. package/payload/platform/plugins/loop/mcp/src/tools/viewing-create.ts +0 -41
  579. package/payload/platform/plugins/loop/mcp/src/tools/viewing-detail.ts +0 -171
  580. package/payload/platform/plugins/loop/mcp/src/tools/viewing-search.ts +0 -92
  581. package/payload/platform/plugins/loop/mcp/src/tools/viewing-update.ts +0 -53
  582. package/payload/platform/plugins/loop/mcp/tsconfig.json +0 -20
  583. package/payload/platform/plugins/loop/mcp/vitest.config.ts +0 -9
  584. package/payload/platform/plugins/loop/skills/compliance-flag-checker/SKILL.md +0 -53
  585. package/payload/platform/plugins/loop/skills/priority-ranker/SKILL.md +0 -40
  586. package/payload/platform/plugins/loop/skills/tone-matched-drafter/SKILL.md +0 -53
  587. package/payload/platform/plugins/loop/skills/variance-narrator/SKILL.md +0 -50
  588. package/payload/platform/plugins/loop/skills/vendor-research/SKILL.md +0 -54
  589. package/payload/platform/plugins/preval/.claude-plugin/plugin.json +0 -8
  590. package/payload/platform/plugins/preval/PLUGIN.md +0 -47
  591. package/payload/platform/plugins/preval/skills/property-preval/SKILL.md +0 -146
  592. package/payload/platform/plugins/preval/skills/property-preval/references/render.py +0 -630
  593. package/payload/platform/plugins/preval/skills/property-preval/references/template-inputs.schema.json +0 -189
  594. package/payload/platform/plugins/preval/skills/property-preval/references/template.html +0 -312
  595. package/payload/platform/plugins/property-data/.claude-plugin/plugin.json +0 -17
  596. package/payload/platform/plugins/property-data/PLUGIN.md +0 -158
  597. package/payload/platform/plugins/property-data/mcp/dist/index.d.ts +0 -2
  598. package/payload/platform/plugins/property-data/mcp/dist/index.d.ts.map +0 -1
  599. package/payload/platform/plugins/property-data/mcp/dist/index.js +0 -236
  600. package/payload/platform/plugins/property-data/mcp/dist/index.js.map +0 -1
  601. package/payload/platform/plugins/property-data/mcp/dist/lib/crypto.d.ts +0 -3
  602. package/payload/platform/plugins/property-data/mcp/dist/lib/crypto.d.ts.map +0 -1
  603. package/payload/platform/plugins/property-data/mcp/dist/lib/crypto.js +0 -72
  604. package/payload/platform/plugins/property-data/mcp/dist/lib/crypto.js.map +0 -1
  605. package/payload/platform/plugins/property-data/mcp/dist/lib/file-crypto.d.ts +0 -3
  606. package/payload/platform/plugins/property-data/mcp/dist/lib/file-crypto.d.ts.map +0 -1
  607. package/payload/platform/plugins/property-data/mcp/dist/lib/file-crypto.js +0 -49
  608. package/payload/platform/plugins/property-data/mcp/dist/lib/file-crypto.js.map +0 -1
  609. package/payload/platform/plugins/property-data/mcp/dist/lib/key-store.d.ts +0 -15
  610. package/payload/platform/plugins/property-data/mcp/dist/lib/key-store.d.ts.map +0 -1
  611. package/payload/platform/plugins/property-data/mcp/dist/lib/key-store.js +0 -135
  612. package/payload/platform/plugins/property-data/mcp/dist/lib/key-store.js.map +0 -1
  613. package/payload/platform/plugins/property-data/mcp/dist/lib/neo4j.d.ts +0 -5
  614. package/payload/platform/plugins/property-data/mcp/dist/lib/neo4j.d.ts.map +0 -1
  615. package/payload/platform/plugins/property-data/mcp/dist/lib/neo4j.js +0 -38
  616. package/payload/platform/plugins/property-data/mcp/dist/lib/neo4j.js.map +0 -1
  617. package/payload/platform/plugins/property-data/mcp/dist/lib/propertydata-api.d.ts +0 -28
  618. package/payload/platform/plugins/property-data/mcp/dist/lib/propertydata-api.d.ts.map +0 -1
  619. package/payload/platform/plugins/property-data/mcp/dist/lib/propertydata-api.js +0 -101
  620. package/payload/platform/plugins/property-data/mcp/dist/lib/propertydata-api.js.map +0 -1
  621. package/payload/platform/plugins/property-data/mcp/dist/tools/endpoints.d.ts +0 -24
  622. package/payload/platform/plugins/property-data/mcp/dist/tools/endpoints.d.ts.map +0 -1
  623. package/payload/platform/plugins/property-data/mcp/dist/tools/endpoints.js +0 -33
  624. package/payload/platform/plugins/property-data/mcp/dist/tools/endpoints.js.map +0 -1
  625. package/payload/platform/plugins/property-data/mcp/dist/tools/key-deregister.d.ts +0 -4
  626. package/payload/platform/plugins/property-data/mcp/dist/tools/key-deregister.d.ts.map +0 -1
  627. package/payload/platform/plugins/property-data/mcp/dist/tools/key-deregister.js +0 -9
  628. package/payload/platform/plugins/property-data/mcp/dist/tools/key-deregister.js.map +0 -1
  629. package/payload/platform/plugins/property-data/mcp/dist/tools/key-list.d.ts +0 -4
  630. package/payload/platform/plugins/property-data/mcp/dist/tools/key-list.d.ts.map +0 -1
  631. package/payload/platform/plugins/property-data/mcp/dist/tools/key-list.js +0 -10
  632. package/payload/platform/plugins/property-data/mcp/dist/tools/key-list.js.map +0 -1
  633. package/payload/platform/plugins/property-data/mcp/dist/tools/key-register.d.ts +0 -5
  634. package/payload/platform/plugins/property-data/mcp/dist/tools/key-register.d.ts.map +0 -1
  635. package/payload/platform/plugins/property-data/mcp/dist/tools/key-register.js +0 -50
  636. package/payload/platform/plugins/property-data/mcp/dist/tools/key-register.js.map +0 -1
  637. package/payload/platform/plugins/property-data/mcp/package-lock.json +0 -2566
  638. package/payload/platform/plugins/property-data/mcp/package.json +0 -21
  639. package/payload/platform/plugins/property-data/mcp/src/__tests__/endpoints.test.ts +0 -252
  640. package/payload/platform/plugins/property-data/mcp/src/__tests__/key-roundtrip.test.ts +0 -107
  641. package/payload/platform/plugins/property-data/mcp/src/__tests__/propertydata-api.test.ts +0 -184
  642. package/payload/platform/plugins/property-data/mcp/src/__tests__/schema-parity.test.ts +0 -62
  643. package/payload/platform/plugins/property-data/mcp/src/index.ts +0 -409
  644. package/payload/platform/plugins/property-data/mcp/src/lib/crypto.ts +0 -79
  645. package/payload/platform/plugins/property-data/mcp/src/lib/file-crypto.ts +0 -55
  646. package/payload/platform/plugins/property-data/mcp/src/lib/key-store.ts +0 -181
  647. package/payload/platform/plugins/property-data/mcp/src/lib/neo4j.ts +0 -47
  648. package/payload/platform/plugins/property-data/mcp/src/lib/propertydata-api.ts +0 -120
  649. package/payload/platform/plugins/property-data/mcp/src/tools/endpoints.ts +0 -47
  650. package/payload/platform/plugins/property-data/mcp/src/tools/key-deregister.ts +0 -9
  651. package/payload/platform/plugins/property-data/mcp/src/tools/key-list.ts +0 -10
  652. package/payload/platform/plugins/property-data/mcp/src/tools/key-register.ts +0 -54
  653. package/payload/platform/plugins/property-data/mcp/tsconfig.json +0 -20
  654. package/payload/platform/plugins/property-data/mcp/vitest.config.ts +0 -8
  655. package/payload/platform/plugins/property-data/skills/property-data/SKILL.md +0 -77
  656. package/payload/platform/plugins/vendors/.claude-plugin/plugin.json +0 -8
  657. package/payload/platform/plugins/vendors/PLUGIN.md +0 -33
  658. package/payload/platform/plugins/vendors/skills/vendor-communication/SKILL.md +0 -42
  659. package/payload/platform/plugins/vendors/skills/vendor-communication/references/fee-protection-and-agenda.md +0 -28
  660. package/payload/platform/plugins/vendors/skills/vendor-communication/references/listing-scripts.md +0 -44
  661. package/payload/platform/plugins/vendors/skills/vendor-communication/references/negotiation-deep-guide.md +0 -70
  662. package/payload/platform/plugins/vendors/skills/vendor-communication/references/price-alignment-scripts.md +0 -33
  663. package/payload/platform/plugins/vendors/skills/vendor-communication/references/price-alignment.md +0 -34
  664. package/payload/platform/plugins/vendors/skills/vendor-communication/references/scenario-scripts.md +0 -38
  665. package/payload/platform/plugins/vendors/skills/vendor-communication/references/seller-engagement.md +0 -51
  666. package/payload/platform/plugins/vendors/skills/vendor-communication/references/valuation-booking.md +0 -76
  667. package/payload/platform/plugins/vendors/skills/vendor-communication/references/vendor-scripts.md +0 -63
  668. package/payload/platform/plugins/vendors/skills/vendor-communication/references/vendor-updates.md +0 -41
  669. package/payload/platform/plugins/vendors/skills/vendor-updates/SKILL.md +0 -153
  670. package/payload/premium-plugins/real-agent/plugins/epc/PLUGIN.md +0 -85
  671. package/payload/premium-plugins/real-agent/plugins/epc/mcp/package-lock.json +0 -2566
  672. package/payload/premium-plugins/real-agent/plugins/epc/mcp/package.json +0 -21
  673. package/payload/premium-plugins/real-agent/plugins/epc/mcp/src/__tests__/epc-api.test.ts +0 -251
  674. package/payload/premium-plugins/real-agent/plugins/epc/mcp/src/__tests__/key-roundtrip.test.ts +0 -113
  675. package/payload/premium-plugins/real-agent/plugins/epc/mcp/src/__tests__/lookup.test.ts +0 -181
  676. package/payload/premium-plugins/real-agent/plugins/epc/mcp/src/__tests__/schema-parity.test.ts +0 -54
  677. package/payload/premium-plugins/real-agent/plugins/epc/mcp/src/index.ts +0 -156
  678. package/payload/premium-plugins/real-agent/plugins/epc/mcp/src/lib/crypto.ts +0 -79
  679. package/payload/premium-plugins/real-agent/plugins/epc/mcp/src/lib/epc-api.ts +0 -241
  680. package/payload/premium-plugins/real-agent/plugins/epc/mcp/src/lib/file-crypto.ts +0 -55
  681. package/payload/premium-plugins/real-agent/plugins/epc/mcp/src/lib/key-store.ts +0 -172
  682. package/payload/premium-plugins/real-agent/plugins/epc/mcp/src/lib/neo4j.ts +0 -47
  683. package/payload/premium-plugins/real-agent/plugins/epc/mcp/src/tools/key-deregister.ts +0 -9
  684. package/payload/premium-plugins/real-agent/plugins/epc/mcp/src/tools/key-list.ts +0 -10
  685. package/payload/premium-plugins/real-agent/plugins/epc/mcp/src/tools/key-register.ts +0 -44
  686. package/payload/premium-plugins/real-agent/plugins/epc/mcp/src/tools/lookup.ts +0 -43
  687. package/payload/premium-plugins/real-agent/plugins/epc/mcp/tsconfig.json +0 -20
  688. package/payload/premium-plugins/real-agent/plugins/epc/mcp/vitest.config.ts +0 -8
  689. package/payload/premium-plugins/real-agent/plugins/listings/skills/epc-checker/SKILL.md +0 -38
@@ -1,233 +0,0 @@
1
- ---
2
- name: real-agent-loop
3
- description: "Loop CRM integration — full read/write access to all 8 resource groups: properties, people, viewings, feedback, team, marketing, customer preferences, and supplier operations. Cross-team aggregation with encrypted key storage."
4
- tools:
5
- - name: loop-key-register
6
- publicAllowlist: false
7
- - name: loop-key-deregister
8
- publicAllowlist: false
9
- - name: loop-key-list
10
- publicAllowlist: false
11
- - name: loop-people-search
12
- publicAllowlist: false
13
- - name: loop-people-detail
14
- publicAllowlist: false
15
- - name: loop-property-search
16
- publicAllowlist: false
17
- - name: loop-property-detail
18
- publicAllowlist: false
19
- - name: loop-property-listed
20
- publicAllowlist: false
21
- - name: loop-property-sold
22
- publicAllowlist: false
23
- - name: loop-property-viewing
24
- publicAllowlist: false
25
- - name: loop-property-callback
26
- publicAllowlist: false
27
- - name: loop-property-information
28
- publicAllowlist: false
29
- - name: loop-viewing-search
30
- publicAllowlist: false
31
- - name: loop-viewing-detail
32
- publicAllowlist: false
33
- - name: loop-viewing-create
34
- publicAllowlist: false
35
- - name: loop-viewing-update
36
- publicAllowlist: false
37
- - name: loop-feedback-get
38
- publicAllowlist: false
39
- - name: loop-feedback-submit
40
- publicAllowlist: false
41
- - name: loop-team-info
42
- publicAllowlist: false
43
- - name: loop-team-availability
44
- publicAllowlist: false
45
- - name: loop-marketing-match
46
- publicAllowlist: false
47
- - name: loop-marketing-match-batch
48
- publicAllowlist: false
49
- - name: loop-marketing-match-request
50
- publicAllowlist: false
51
- - name: loop-marketing-enquiry
52
- publicAllowlist: false
53
- - name: loop-auto-responder
54
- publicAllowlist: false
55
- - name: loop-customer-preferences
56
- publicAllowlist: false
57
- - name: loop-supplier
58
- publicAllowlist: false
59
- skills:
60
- - skills/tone-matched-drafter/SKILL.md
61
- - skills/priority-ranker/SKILL.md
62
- - skills/compliance-flag-checker/SKILL.md
63
- - skills/vendor-research/SKILL.md
64
- - skills/variance-narrator/SKILL.md
65
- profileKeys:
66
- - realagent.cause_phrases
67
- - realagent.close.narrative_voice_samples
68
- - realagent.compliance.aml_provider
69
- - realagent.compliance.cmp_scheme_membership
70
- - realagent.compliance.ico_registration
71
- - realagent.compliance.mlro_designation
72
- - realagent.compliance.propertymark_membership
73
- - realagent.compliance.redress_scheme
74
- - realagent.compliance.tpo_membership
75
- - realagent.phrasing_pet_peeves
76
- - realagent.priority_weights.fee_multiplier
77
- - realagent.privacy_line.suppress
78
- - realagent.privacy_line.surface
79
- - realagent.voice_samples
80
- always: false
81
- metadata: {"platform":{"optional":true,"embed":["admin"]}}
82
- mcp:
83
- command: node
84
- args:
85
- - ${PLATFORM_ROOT}/lib/mcp-spawn-tee/dist/index.js
86
- - ${PREMIUM_PLUGINS_ROOT}/real-agent/plugins/loop/mcp/dist/index.js
87
- env:
88
- MCP_SPAWN_TEE_NAME: loop
89
- LOG_DIR: ${LOG_DIR}
90
- PLATFORM_ROOT: ${PLATFORM_ROOT}
91
- ACCOUNT_ID: ${ACCOUNT_ID}
92
- SESSION_ID: ${SESSION_ID}
93
- ---
94
-
95
- # Real Agent — Loop CRM
96
-
97
- Full integration with Loop CRM V2 API (api.loop.software). Covers all 73 endpoints across 8 resource groups — properties, people, viewings, feedback, team, marketing, customer preferences, and supplier operations. Supports both read and write operations.
98
-
99
- ## Capabilities
100
-
101
- - **Key management** — register, deregister, and list Loop API keys per team
102
- - **Cross-team aggregation** — query data across all registered teams in a single request
103
- - **Read and write** — search data, view details, create viewings, record feedback, submit enquiries, manage supplier operations
104
- - **Role-aware people search** — search buyers, sellers, renters, and landlords with role-specific filters (price, beds, areas, mortgage status)
105
- - **Channel listings** — query properties listed on Rightmove, Zoopla, OnTheMarket, or the website
106
- - **Marketing matching** — view matching property details, submit requests, manage auto-responders
107
- - **Vertical scope** — each team key has configurable endpoint-group permissions (8 groups)
108
- - **Encrypted storage** — API keys are AES-256-GCM encrypted in Neo4j, never stored in plaintext
109
-
110
- ## Permissions
111
-
112
- Each registered team key controls access to 8 endpoint groups:
113
- `properties`, `people`, `viewings`, `feedback`, `team`, `marketing`, `customer`, `supplier`
114
-
115
- Keys default to all 8 groups. Restrict at registration time to limit what the agent can query for a given team.
116
-
117
- ## Security
118
-
119
- Never include API key values in responses. Identify teams by name only. When the user asks for a key value, explain that keys are encrypted and cannot be retrieved — they must be re-registered from Loop's dashboard. Keys are encrypted with AES-256-GCM; the encryption-key file lives at `~/<configDir>/.loop-encryption-key` (platform mode) or `~/.claude/.realagent-loop-encryption-key` (standalone mode), both mode `0600`.
120
-
121
- ## Standalone mode (`~/.claude/` spawn)
122
-
123
- The same `mcp/dist/index.js` boots in two environments, selected by env flag:
124
-
125
- | Env var | Platform mode | Standalone mode |
126
- |---|---|---|
127
- | `LOOP_STANDALONE` | unset | `"1"` |
128
- | `ACCOUNT_ID` | platform tenant id | absent (defaults to `"local"`) |
129
- | `NEO4J_URI` etc. | required | unused |
130
-
131
- In standalone mode team keys live at `~/.claude/.realagent-loop-key.enc` as one AES-256-GCM-encrypted JSON blob keyed by accountId then teamName. Multi-team support is preserved. See `.docs/realagent-mcps-standalone-mode.md` for the full contract.
132
-
133
- ## When to use these tools
134
-
135
- Loop covers five value pillars with API surface. Each pillar has both read and write triggers — use reads to surface what's already in Loop unprompted, use writes when the operator's intent is to record a decision. See `.docs/loop-value-extraction.md` for the verbatim Loop value claims and swagger endpoint citations behind each pillar.
136
-
137
- ### Pillar 1 — Auto-respond to portal enquiries (Loop's stated 40% efficiency lever)
138
-
139
- **Read triggers** — operator says "what enquiries came in", "any new enquiries", "did we get anything from Rightmove":
140
- - `loop-auto-responder` (action=get) — fetch enquiry questions + applicant details
141
-
142
- **Write triggers** — operator says "answer the enquiry", "send the auto-responder reply", "refer it to <team>":
143
- - `loop-auto-responder` (action=answers) — submit applicant answers
144
- - `loop-auto-responder` (action=details) — update enquiry record
145
- - `loop-auto-responder` (action=refer) — refer enquiry to another team
146
- - `loop-marketing-enquiry` — submit a seller-side enquiry
147
-
148
- ### Pillar 2 — Viewing lifecycle (book → feedback → notes)
149
-
150
- **Read triggers** — "what viewings are coming up", "any viewings without feedback yet", "did we hear back from <name>":
151
- - `loop-viewing-search`, `loop-viewing-detail`, `loop-feedback-get`
152
-
153
- **Write triggers** — "book a viewing", "the viewer said X", "the seller wants Y", "add a note":
154
- - `loop-viewing-create` — book a viewing
155
- - `loop-viewing-update` — record buyer/renter feedback, seller/landlord feedback, or a note
156
- - `loop-feedback-submit` — explicit feedback submission against a viewing
157
-
158
- ### Pillar 3 — Pipeline mining (unconverted enquiries, stale matches)
159
-
160
- **Read triggers** — "who haven't we followed up", "any matches we haven't actioned", "find people looking in <area>", "show me buyers":
161
- - `loop-people-search`, `loop-people-detail`
162
- - `loop-marketing-match`, `loop-marketing-match-batch`
163
-
164
- **Write triggers** — "request a viewing for the match", "ask them to call", "send them more info":
165
- - `loop-marketing-match-request`
166
-
167
- ### Pillar 4 — Listings prospecting (canvassing + competitive sweep)
168
-
169
- **Read triggers** — "what have we sold on <street>", "what's listed on Rightmove", "give me canvassing material for <postcode>":
170
- - `loop-property-sold` — exchanged/completed properties by channel (canvassing source)
171
- - `loop-property-listed` — currently active listings by channel
172
- - `loop-property-search`, `loop-property-detail`
173
-
174
- **Write triggers** — "request a viewing", "ask them to call back", "request a brochure":
175
- - `loop-property-viewing` — viewing request against a specific property
176
- - `loop-property-callback` — callback request
177
- - `loop-property-information` — information/brochure request
178
-
179
- ### Pillar 5 — Maintenance closeout and customer preferences
180
-
181
- **Read triggers** — "what does <person> want", "any open maintenance jobs", "any quotes outstanding":
182
- - `loop-customer-preferences` (action=read)
183
- - `loop-supplier` (action=maintenance-jobs, maintenance-quotes, board-jobs)
184
-
185
- **Write triggers** — "save what they're looking for", "mark the job complete", "submit a quote":
186
- - `loop-customer-preferences` (action=write)
187
- - `loop-supplier` (action=maintenance-complete, board-complete, maintenance-submit-quote)
188
-
189
- ## Time presentation
190
-
191
- **Every datetime field in a Loop response is UTC, returned without a timezone marker.** The Loop V2 API stores and returns instants as bare `YYYY-MM-DDTHH:MM:SS` strings whose true zone is UTC. Presenting them verbatim is silent misrepresentation: a viewing whose `dateOfAppointment` is `12:00:00` is `12:00Z`, which is `13:00 BST` between late March and late October in the UK. Off-by-one-hour viewing times have already misled an operator (Task 126).
192
-
193
- **Convert before any datetime appears in agent output.** The operator's zone comes from the `Person.timezone` property on the operator's `Person` node; Real Agent UK accounts default to `Europe/London` when that property is absent. The conversion is non-negotiable — there is no case where a Loop datetime is presented to the operator in its raw UTC form. State the converted local time, and where ambiguous (cross-DST scheduling, calendar invites), name the zone explicitly (`13:00 BST`, `09:30 GMT`).
194
-
195
- The tools whose responses carry one or more datetime fields — and therefore require this conversion before any field value reaches the operator — are exhaustive:
196
-
197
- - `loop-viewing-search` — `dateOfAppointment`, `dateOfAppointmentEnd`
198
- - `loop-viewing-detail` — `dateCreated`, `dateOfAppointment`, `dateOfAppointmentEnd`, `dateBuyerFeedbackGiven`, `dateSellerFeedbackGiven`, `dateDone`
199
- - `loop-feedback-get` — `viewingDateOfAppointment`
200
- - `loop-people-search` — renters list: `dateRequired`
201
- - `loop-people-detail` — `dateCreated`; nested `viewings[].dateOfAppointment(+End)`, `offers[].dateReceived`, `applications[].dateReceived`, `applications[].proposedStartDate`, `property.dateCreated` (sellers/landlords), `dateRequired` (renters)
202
- - `loop-property-search` — `dateCreated`
203
- - `loop-property-detail` — `dateCreated`, `dateInstructed`, `dateUnderOffer`, `dateLaunched`, `dateExchanged`, `dateCompleted`, `dateWithdrawn`, `dateFirstAvailable`, `leaseExpiryDate`
204
- - `loop-property-listed` — `dateLaunched`, `dateFirstAvailable`, `leaseExpiryDate`
205
- - `loop-property-sold` — `dateLaunched`, `leaseExpiryDate`, `images[].dateUpdated`
206
- - `loop-marketing-match` — `dateCreated`, `dateInstructed`, `dateUnderOffer`, `dateLaunched`, `dateExchanged`, `dateCompleted`, `dateWithdrawn`, `dateFirstAvailable`, `viewings[].dateOfAppointment(+End)`, `applications[].dateReceived`, `applications[].proposedStartDate`, `marketListings[].dateListed`, `images[].dateUpdated`
207
- - `loop-auto-responder` — `enquiry.dateMoving`
208
- - `loop-team-availability` — `start`, `end`
209
- - `loop-supplier` — `dateCreated`, `dateDone`, `dateReported`, `dateQuoteBy`, `dateCompleted`, `dateApproved`
210
-
211
- Tools not listed (`loop-key-*`, `loop-team-info`, `loop-customer-preferences`, `loop-marketing-enquiry`, `loop-marketing-match-batch`, `loop-marketing-match-request`, `loop-viewing-create`, `loop-viewing-update`, `loop-feedback-submit`, `loop-property-viewing`, `loop-property-callback`, `loop-property-information`) either have no datetime in response or are write-only acknowledgements. The enumeration is grounded in the vendored swagger snapshot at `mcp/src/__tests__/loop-swagger.snapshot.json`; the pinning test at `mcp/src/__tests__/plugin-md-time-doctrine.test.ts` blocks silent drift.
212
-
213
- ### Team-key prerequisite
214
-
215
- Every Loop tool routes through one or more team keys. If `loop-key-list` returns nothing for the account, surface the registration prompt before attempting any other Loop call — every downstream tool will fail otherwise. If a call returns `Team "X" does not have <group> permission`, the key was scoped to fewer than 8 endpoint groups; re-register with the full permissions array (`["properties","people","viewings","feedback","team","marketing","customer","supplier"]`).
216
-
217
- ### What Loop markets without an API surface (do not promise these)
218
-
219
- Loop's marketing pages also list Tasks/Reminders, full Diary beyond `team/availability`, Market Data (distressed properties, instructed sellers), Inspections & Certificates, and Client Accounts. Loop's public V2 API does not expose these — Real Agent cannot do them. See `.docs/loop-api-gaps.md` for the full inventory.
220
-
221
- ## Cross-cutting skills hosted here
222
-
223
- This plugin also hosts the five cross-cutting skills that more than one Real Agent workflow composes. They live here rather than in a workflow-specific plugin because every workflow that produces a message, a ranking, a compliance check, a vendor lookup, or a narrative paragraph reuses them.
224
-
225
- | Skill | Owner specialist | Purpose |
226
- |-------|------------------|---------|
227
- | `tone-matched-drafter` | negotiator | Drafts every outgoing message in the operator's voice per recipient type |
228
- | `priority-ranker` | shared | Orders any list using the profile's urgency weights |
229
- | `compliance-flag-checker` | compliance | Flags AML, GDPR, DMCCA material info, ASA standards, Equality Act risks |
230
- | `vendor-research` | negotiator | Public-record and CRM-history lookup with the privacy line enforced |
231
- | `variance-narrator` | compliance | Short prose summaries of numerical changes |
232
-
233
- The cross-cutting skill `profile-writer` named in spec 00 §6 maps to the Maxy platform's existing `profile-update` tool; no new skill is shipped for it.
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
@@ -1,320 +0,0 @@
1
- // Logging-tee was a platform-wrapper concern; the host owns the stderr pipe
2
- // in both platform and standalone (Claude Code native) spawn paths.
3
- import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
4
- import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
5
- import { z } from "zod";
6
- import { keyRegister } from "./tools/key-register.js";
7
- import { keyDeregister } from "./tools/key-deregister.js";
8
- import { keyList } from "./tools/key-list.js";
9
- import { propertySearch } from "./tools/property-search.js";
10
- import { propertyDetail } from "./tools/property-detail.js";
11
- import { propertyListed } from "./tools/property-listed.js";
12
- import { propertySold } from "./tools/property-sold.js";
13
- import { propertyViewing, propertyCallback, propertyInformation } from "./tools/property-intent.js";
14
- import { peopleSearch } from "./tools/people-search.js";
15
- import { peopleDetail } from "./tools/people-detail.js";
16
- import { viewingSearch } from "./tools/viewing-search.js";
17
- import { viewingDetail } from "./tools/viewing-detail.js";
18
- import { viewingCreate } from "./tools/viewing-create.js";
19
- import { viewingUpdate } from "./tools/viewing-update.js";
20
- import { feedbackGet, feedbackSubmit } from "./tools/feedback.js";
21
- import { teamInfo } from "./tools/team-info.js";
22
- import { teamAvailability } from "./tools/team-availability.js";
23
- import { marketingMatchDetail } from "./tools/marketing-match.js";
24
- import { marketingMatchBatch } from "./tools/marketing-match-batch.js";
25
- import { marketingMatchRequest } from "./tools/marketing-match-request.js";
26
- import { marketingEnquiry } from "./tools/marketing-enquiry.js";
27
- import { autoResponder } from "./tools/auto-responder.js";
28
- import { customerPreferences } from "./tools/customer-preferences.js";
29
- import { supplier } from "./tools/supplier.js";
30
- import { closeDriver } from "./lib/neo4j.js";
31
- import { selectLoopKeyStore } from "./lib/key-store.js";
32
- // ACCOUNT_ID is the platform's tenant id; "local" is the single-tenant
33
- // standalone stand-in when spawned natively by Claude Code.
34
- const accountId = process.env.ACCOUNT_ID ?? "local";
35
- const server = new McpServer({
36
- name: "maxy-loop",
37
- version: "0.2.0",
38
- });
39
- const ALL_PERMISSIONS = z.enum([
40
- "properties", "people", "viewings", "feedback", "team",
41
- "marketing", "customer", "supplier",
42
- ]);
43
- const store = selectLoopKeyStore();
44
- console.error(`[loop] server started, account=${accountId} backend=${store.backendName} path=${store.backendPath}`);
45
- // Helper: wrap a tool function in standard error handling
46
- function toolHandler(fn) {
47
- return async (params) => {
48
- try {
49
- const text = await fn({ ...params, accountId });
50
- return { content: [{ type: "text", text }] };
51
- }
52
- catch (err) {
53
- return {
54
- content: [{
55
- type: "text",
56
- text: `Error: ${err instanceof Error ? err.message : String(err)}`,
57
- }],
58
- isError: true,
59
- };
60
- }
61
- };
62
- }
63
- // ─────────────────────────────────────────────────────────────────
64
- // Key Management Tools (3)
65
- // ─────────────────────────────────────────────────────────────────
66
- server.tool("loop-key-register", "Register a Loop CRM API key for a team. Validates the key against Loop's API, encrypts it, and stores it in the graph. Each key maps to one team.", {
67
- teamName: z.string().min(1).describe("Human-readable name for this team (e.g. 'Muvin Main Office')"),
68
- apiKey: z.string().min(10).describe("Loop API key (X-Api-Key header value)"),
69
- permissions: z
70
- .array(ALL_PERMISSIONS)
71
- .optional()
72
- .describe("Endpoint groups this key can access (default: all 8 groups)"),
73
- }, async (params) => {
74
- try {
75
- const result = await keyRegister({ ...params, accountId });
76
- let text = `Team "${params.teamName}" registered successfully.`;
77
- if (result.warning)
78
- text += `\n\nWarning: ${result.warning}`;
79
- return { content: [{ type: "text", text }] };
80
- }
81
- catch (err) {
82
- return {
83
- content: [{
84
- type: "text",
85
- text: `Failed to register key: ${err instanceof Error ? err.message : String(err)}`,
86
- }],
87
- isError: true,
88
- };
89
- }
90
- });
91
- server.tool("loop-key-deregister", "Remove a registered Loop CRM team key. The key is permanently deleted from the graph.", { teamName: z.string().min(1).describe("Name of the team to remove") }, async ({ teamName }) => {
92
- try {
93
- await keyDeregister({ teamName, accountId });
94
- return { content: [{ type: "text", text: `Team "${teamName}" deregistered.` }] };
95
- }
96
- catch (err) {
97
- return {
98
- content: [{
99
- type: "text",
100
- text: `Failed to deregister: ${err instanceof Error ? err.message : String(err)}`,
101
- }],
102
- isError: true,
103
- };
104
- }
105
- });
106
- server.tool("loop-key-list", "List all registered Loop CRM teams for this account. Shows team names, addresses, and permissions. Never reveals API key values.", {}, toolHandler(async (p) => keyList({ accountId: p.accountId })));
107
- // ─────────────────────────────────────────────────────────────────
108
- // People Tools (2) — permission: people
109
- // ─────────────────────────────────────────────────────────────────
110
- server.tool("loop-people-search", "Search people in Loop CRM. Without a role, searches all contacts. With a role (buyers/sellers/renters/landlords), returns role-specific results with rich filters.", {
111
- role: z.enum(["buyers", "sellers", "renters", "landlords"]).optional().describe("Role to search (omit for all people)"),
112
- searchTerm: z.string().optional().describe("Name or contact search"),
113
- maxPrice: z.number().optional().describe("Max price (buyers) or max price filter (sellers)"),
114
- minPrice: z.number().optional().describe("Min price (sellers)"),
115
- minBeds: z.number().optional().describe("Min bedrooms (buyers/renters)"),
116
- maxRent: z.number().optional().describe("Max rent (renters only)"),
117
- searchAreas: z.string().optional().describe("Comma-separated outcodes e.g. 'SN7,OX12' (buyers/renters)"),
118
- propertyTypes: z.string().optional().describe("Comma-separated property types (buyers/renters)"),
119
- startDate: z.string().optional().describe("Start date filter (sellers/landlords)"),
120
- endDate: z.string().optional().describe("End date filter (sellers/landlords)"),
121
- teamName: z.string().optional().describe("Query a specific team only"),
122
- limit: z.number().int().optional().describe("Max results (default 200)"),
123
- }, toolHandler(async (p) => peopleSearch(p)));
124
- server.tool("loop-people-detail", "Get full details for a specific person by ID. Optionally specify a role (buyers/sellers/renters/landlords) for role-specific detail.", {
125
- personId: z.number().int().describe("Person ID"),
126
- role: z.enum(["buyers", "sellers", "renters", "landlords"]).optional().describe("Role for role-specific detail view"),
127
- teamName: z.string().optional().describe("Query a specific team only"),
128
- }, toolHandler(async (p) => peopleDetail(p)));
129
- // ─────────────────────────────────────────────────────────────────
130
- // Property Tools (4) — permission: properties
131
- // ─────────────────────────────────────────────────────────────────
132
- server.tool("loop-property-search", "Search properties in Loop CRM. Queries /property/residential/sales and /property/residential/lettings. Use department to narrow to one type.", {
133
- department: z.enum(["sales", "lettings", "both"]).optional().describe("Department (default: both)"),
134
- searchTerm: z.string().optional().describe("Address or keyword search"),
135
- minPrice: z.number().optional().describe("Minimum price"),
136
- maxPrice: z.number().optional().describe("Maximum price"),
137
- minBedrooms: z.number().int().optional().describe("Minimum bedrooms"),
138
- maxBedrooms: z.number().int().optional().describe("Maximum bedrooms"),
139
- propertyStatuses: z.string().optional().describe("Comma-separated statuses (e.g. 'forSale,underOffer')"),
140
- propertyTypes: z.string().optional().describe("Comma-separated property types"),
141
- teamName: z.string().optional().describe("Query a specific team only"),
142
- limit: z.number().int().optional().describe("Max results (default 200)"),
143
- }, toolHandler(async (p) => propertySearch(p)));
144
- server.tool("loop-property-detail", "Get full details for a specific property by ID and department. Optionally include a preview hash for the public preview.", {
145
- propertyId: z.number().int().describe("Property ID"),
146
- department: z.enum(["sales", "lettings"]).describe("sales or lettings"),
147
- previewHash: z.number().int().optional().describe("Preview hash for public preview URL"),
148
- teamName: z.string().optional().describe("Query a specific team only"),
149
- }, toolHandler(async (p) => propertyDetail(p)));
150
- server.tool("loop-property-listed", "Get properties currently listed on a specific channel (Rightmove, Zoopla, OnTheMarket, website). For exchanged/completed properties use loop-property-sold.", {
151
- channel: z.enum(["rightmove", "onTheMarket", "zoopla", "website"]).describe("Listing channel"),
152
- department: z.enum(["sales", "lettings", "both"]).optional().describe("Department (default: both)"),
153
- teamName: z.string().optional().describe("Query a specific team only"),
154
- limit: z.number().int().optional().describe("Max results (default 200)"),
155
- }, toolHandler(async (p) => propertyListed(p)));
156
- server.tool("loop-property-sold", "Get exchanged or completed properties on a specific channel. Powers canvassing from recent sales and sold-gallery rendering.", {
157
- channel: z.enum(["rightmove", "onTheMarket", "zoopla", "website"]).describe("Listing channel"),
158
- teamName: z.string().optional().describe("Query a specific team only"),
159
- limit: z.number().int().optional().describe("Max results (default 200)"),
160
- }, toolHandler(async (p) => propertySold(p)));
161
- // Property-level intent tools (Task 103 split — replaces loop-property-request).
162
- // Each intent is a distinct operator action so the agent's tool surface
163
- // preserves intent fidelity.
164
- server.tool("loop-property-viewing", "Request a viewing for a property. Use when the operator says 'book a viewing', 'arrange a viewing', or 'ask to see the property'.", {
165
- teamName: z.string().min(1).describe("Team to submit the request through"),
166
- propertyId: z.number().int().describe("Property ID"),
167
- department: z.enum(["sales", "lettings"]).describe("sales or lettings"),
168
- name: z.string().optional().describe("Requester name"),
169
- email: z.string().optional().describe("Requester email"),
170
- phone: z.string().optional().describe("Requester phone"),
171
- message: z.string().optional().describe("Additional message"),
172
- }, toolHandler(async (p) => propertyViewing(p)));
173
- server.tool("loop-property-callback", "Request a callback about a property. Use when the operator says 'ask them to call', 'request a callback', or 'have someone ring back'.", {
174
- teamName: z.string().min(1).describe("Team to submit the request through"),
175
- propertyId: z.number().int().describe("Property ID"),
176
- department: z.enum(["sales", "lettings"]).describe("sales or lettings"),
177
- name: z.string().optional().describe("Requester name"),
178
- email: z.string().optional().describe("Requester email"),
179
- phone: z.string().optional().describe("Requester phone"),
180
- message: z.string().optional().describe("Additional message"),
181
- }, toolHandler(async (p) => propertyCallback(p)));
182
- server.tool("loop-property-information", "Request more information about a property. Use when the operator says 'ask for details', 'request the brochure', or 'find out more'.", {
183
- teamName: z.string().min(1).describe("Team to submit the request through"),
184
- propertyId: z.number().int().describe("Property ID"),
185
- department: z.enum(["sales", "lettings"]).describe("sales or lettings"),
186
- name: z.string().optional().describe("Requester name"),
187
- email: z.string().optional().describe("Requester email"),
188
- phone: z.string().optional().describe("Requester phone"),
189
- message: z.string().optional().describe("Additional message"),
190
- }, toolHandler(async (p) => propertyInformation(p)));
191
- // ─────────────────────────────────────────────────────────────────
192
- // Viewing Tools (4) — permission: viewings
193
- // ─────────────────────────────────────────────────────────────────
194
- server.tool("loop-viewing-search", "Search viewings in Loop CRM. Queries /residential/sales/viewings and /residential/lettings/viewings.", {
195
- department: z.enum(["sales", "lettings", "both"]).optional().describe("Department (default: both)"),
196
- searchTerm: z.string().optional().describe("Search viewings"),
197
- appointmentStartDate: z.string().optional().describe("Filter from date (ISO format)"),
198
- appointmentEndDate: z.string().optional().describe("Filter to date (ISO format)"),
199
- status: z.string().optional().describe("Viewing status filter"),
200
- teamName: z.string().optional().describe("Query a specific team only"),
201
- limit: z.number().int().optional().describe("Max results (default 200)"),
202
- }, toolHandler(async (p) => viewingSearch(p)));
203
- server.tool("loop-viewing-detail", "Get full details for a specific viewing by ID and department.", {
204
- viewingId: z.number().int().describe("Viewing ID"),
205
- department: z.enum(["sales", "lettings"]).describe("sales or lettings"),
206
- teamName: z.string().optional().describe("Query a specific team only"),
207
- }, toolHandler(async (p) => viewingDetail(p)));
208
- server.tool("loop-viewing-create", "Create a new viewing in Loop CRM. Creates the viewing and associated buyer/renter record.", {
209
- teamName: z.string().min(1).describe("Team to create the viewing for"),
210
- department: z.enum(["sales", "lettings"]).describe("sales or lettings"),
211
- propertyId: z.number().int().describe("Property ID"),
212
- date: z.string().describe("Viewing date (YYYY-MM-DD)"),
213
- time: z.string().describe("Viewing time (HH:mm)"),
214
- attendeeName: z.string().describe("Attendee full name"),
215
- attendeeEmail: z.string().optional().describe("Attendee email"),
216
- attendeePhone: z.string().optional().describe("Attendee phone"),
217
- }, toolHandler(async (p) => viewingCreate(p)));
218
- server.tool("loop-viewing-update", "Add a note or record feedback for a viewing. For feedback, specify the party: buyer/seller (sales) or renter/landlord (lettings).", {
219
- teamName: z.string().min(1).describe("Team that owns the viewing"),
220
- viewingId: z.number().int().describe("Viewing ID"),
221
- department: z.enum(["sales", "lettings"]).describe("sales or lettings"),
222
- action: z.enum(["note", "feedback"]).describe("note or feedback"),
223
- text: z.string().describe("Note text or feedback content"),
224
- feedbackParty: z.enum(["buyer", "seller", "renter", "landlord"]).optional().describe("Required for feedback: whose feedback"),
225
- }, toolHandler(async (p) => viewingUpdate(p)));
226
- // ─────────────────────────────────────────────────────────────────
227
- // Feedback Tools (2) — permission: feedback
228
- // ─────────────────────────────────────────────────────────────────
229
- server.tool("loop-feedback-get", "Get feedback for a specific viewing. Reads from /feedback/residential/{department}/viewings/{id}.", {
230
- teamName: z.string().min(1).describe("Team that owns the viewing"),
231
- viewingId: z.number().int().describe("Viewing ID"),
232
- department: z.enum(["sales", "lettings"]).describe("sales or lettings"),
233
- }, toolHandler(async (p) => feedbackGet(p)));
234
- server.tool("loop-feedback-submit", "Submit feedback for a viewing. Writes to /feedback/residential/{department}/viewings/{id}/feedback.", {
235
- teamName: z.string().min(1).describe("Team that owns the viewing"),
236
- viewingId: z.number().int().describe("Viewing ID"),
237
- department: z.enum(["sales", "lettings"]).describe("sales or lettings"),
238
- feedback: z.string().describe("Feedback text"),
239
- }, toolHandler(async (p) => feedbackSubmit(p)));
240
- // ─────────────────────────────────────────────────────────────────
241
- // Team Tools (2) — permission: team
242
- // ─────────────────────────────────────────────────────────────────
243
- server.tool("loop-team-info", "Get team details from Loop CRM. Returns team name, address, phone, and email.", {
244
- teamName: z.string().optional().describe("Query a specific team only (omit for all teams)"),
245
- }, toolHandler(async (p) => teamInfo(p)));
246
- server.tool("loop-team-availability", "Get available time slots for a specific agent on a given date.", {
247
- agentId: z.string().describe("Agent GUID identifier"),
248
- searchDate: z.string().describe("Date to check availability (YYYY-MM-DD)"),
249
- teamName: z.string().optional().describe("Query a specific team only"),
250
- }, toolHandler(async (p) => teamAvailability(p)));
251
- // ─────────────────────────────────────────────────────────────────
252
- // Marketing Tools (4) — permission: marketing
253
- // ─────────────────────────────────────────────────────────────────
254
- server.tool("loop-marketing-match", "Get matching property detail and optionally the team profile for that match.", {
255
- propertyId: z.number().int().describe("Property ID"),
256
- department: z.enum(["sales", "lettings"]).describe("sales or lettings"),
257
- includeTeamProfile: z.boolean().optional().describe("Include the team profile for this match (default: false)"),
258
- teamName: z.string().optional().describe("Query a specific team only"),
259
- }, toolHandler(async (p) => marketingMatchDetail(p)));
260
- server.tool("loop-marketing-match-batch", "Get batch matching results for multiple property IDs.", {
261
- propertyIds: z.array(z.number().int()).describe("Array of property IDs to match"),
262
- department: z.enum(["sales", "lettings"]).describe("sales or lettings"),
263
- teamName: z.string().optional().describe("Query a specific team only"),
264
- }, toolHandler(async (p) => marketingMatchBatch(p)));
265
- server.tool("loop-marketing-match-request", "Submit a viewing, information, or callback request for a matching property.", {
266
- teamName: z.string().min(1).describe("Team to submit the request through"),
267
- propertyId: z.number().int().describe("Matching property ID"),
268
- department: z.enum(["sales", "lettings"]).describe("sales or lettings"),
269
- action: z.enum(["viewing", "information", "callback"]).describe("Request type"),
270
- name: z.string().optional().describe("Requester name"),
271
- email: z.string().optional().describe("Requester email"),
272
- phone: z.string().optional().describe("Requester phone"),
273
- message: z.string().optional().describe("Additional message"),
274
- }, toolHandler(async (p) => marketingMatchRequest(p)));
275
- server.tool("loop-marketing-enquiry", "Submit a seller-side marketing enquiry to Loop. For inbound applicant auto-responder workflows use loop-auto-responder.", {
276
- teamName: z.string().min(1).describe("Team to submit through"),
277
- sellerEnquiryData: z.record(z.string(), z.unknown()).optional().describe("Seller enquiry request body"),
278
- }, toolHandler(async (p) => marketingEnquiry(p)));
279
- server.tool("loop-auto-responder", "Read or progress an inbound enquiry through Loop's auto-responder (the surface behind Loop's 40% enquiry-efficiency claim). action=get reads questions+details; answers submits applicant replies; details updates the enquiry record; refer hands it to another team.", {
280
- teamName: z.string().min(1).describe("Team for this operation"),
281
- action: z.enum(["get", "answers", "details", "refer"]).describe("Auto-responder action"),
282
- autoResponderId: z.number().int().describe("Auto-responder enquiry ID"),
283
- autoResponderKey: z.string().describe("Auto-responder key (UUID issued at enquiry creation)"),
284
- answers: z.array(z.unknown()).optional().describe("Applicant answers (required for action=answers)"),
285
- details: z.record(z.string(), z.unknown()).optional().describe("Enquiry details (for action=details)"),
286
- }, toolHandler(async (p) => autoResponder(p)));
287
- // ─────────────────────────────────────────────────────────────────
288
- // Customer Tools (1) — permission: customer
289
- // ─────────────────────────────────────────────────────────────────
290
- server.tool("loop-customer-preferences", "Read or write customer preferences for a person. Action 'read' returns current preferences, 'write' updates them.", {
291
- teamName: z.string().min(1).describe("Team for this operation"),
292
- personCode: z.number().int().describe("Person code (ID)"),
293
- action: z.enum(["read", "write"]).describe("read or write"),
294
- preferences: z.record(z.string(), z.unknown()).optional().describe("Preferences object (required for write)"),
295
- }, toolHandler(async (p) => customerPreferences(p)));
296
- // ─────────────────────────────────────────────────────────────────
297
- // Supplier Tools (1) — permission: supplier
298
- // ─────────────────────────────────────────────────────────────────
299
- server.tool("loop-supplier", "Supplier operations: maintenance jobs, quotes, board contractor jobs. Supports listing, completing, and quoting.", {
300
- teamName: z.string().min(1).describe("Team for this operation"),
301
- action: z.enum([
302
- "maintenance-jobs", "maintenance-complete", "maintenance-quotes",
303
- "maintenance-submit-quote", "board-jobs", "board-complete",
304
- ]).describe("Supplier action"),
305
- code: z.string().describe("Unique code assigned to the contractor"),
306
- jobId: z.number().int().optional().describe("Job ID (required for all actions except maintenance-submit-quote)"),
307
- quoteId: z.number().int().optional().describe("Quote ID (for maintenance-submit-quote)"),
308
- quoteData: z.record(z.string(), z.unknown()).optional().describe("Quote data (for maintenance-submit-quote)"),
309
- completionData: z.record(z.string(), z.unknown()).optional().describe("Completion data (for board-complete)"),
310
- }, toolHandler(async (p) => supplier(p)));
311
- // ─────────────────────────────────────────────────────────────────
312
- // Lifecycle
313
- // ─────────────────────────────────────────────────────────────────
314
- process.on("SIGINT", async () => {
315
- await closeDriver();
316
- process.exit(0);
317
- });
318
- const transport = new StdioServerTransport();
319
- await server.connect(transport);
320
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- /**
2
- * Encrypt a plaintext string. Returns "iv:ciphertext:authTag" (hex-encoded).
3
- */
4
- export declare function encrypt(plaintext: string): string;
5
- /**
6
- * Decrypt a value produced by encrypt(). Expects "iv:ciphertext:authTag" (hex-encoded).
7
- * Throws on tampered/corrupt data or wrong key.
8
- */
9
- export declare function decrypt(encryptedValue: string): string;
10
- //# sourceMappingURL=crypto.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../src/lib/crypto.ts"],"names":[],"mappings":"AA0DA;;GAEG;AACH,wBAAgB,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAUjD;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CA2BtD"}