@rubytech/create-maxy-code 0.1.28 → 0.1.30

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 (530) hide show
  1. package/dist/__tests__/init-logging.test.js +85 -0
  2. package/dist/index.js +23 -12
  3. package/dist/init-logging.js +28 -0
  4. package/package.json +1 -1
  5. package/payload/platform/plugins/admin/.claude-plugin/plugin.json +1 -1
  6. package/payload/platform/plugins/admin/PLUGIN.md +1 -1
  7. package/payload/platform/plugins/admin/hooks/onboarding-skill-drift.sh +56 -54
  8. package/payload/platform/plugins/admin/mcp/dist/index.js +1 -1
  9. package/payload/platform/plugins/admin/mcp/dist/index.js.map +1 -1
  10. package/payload/platform/plugins/admin/references/contextual-ui.md +4 -2
  11. package/payload/platform/plugins/admin/skills/file-presentation/SKILL.md +16 -33
  12. package/payload/platform/plugins/admin/skills/plugin-management/SKILL.md +2 -2
  13. package/payload/platform/plugins/admin/skills/public-agent-manager/SKILL.md +1 -1
  14. package/payload/platform/plugins/brochures/PLUGIN.md +1 -1
  15. package/payload/platform/plugins/buyers/.claude-plugin/plugin.json +1 -1
  16. package/payload/platform/plugins/buyers/PLUGIN.md +2 -3
  17. package/payload/platform/plugins/deep-research/skills/book-mirror/SKILL.md +1 -1
  18. package/payload/platform/plugins/deep-research/skills/strategic-reading/SKILL.md +1 -1
  19. package/payload/platform/plugins/docs/references/deployment.md +2 -2
  20. package/payload/platform/plugins/docs/references/plugins-guide.md +3 -3
  21. package/payload/platform/plugins/estate-business/.claude-plugin/plugin.json +1 -1
  22. package/payload/platform/plugins/estate-business/PLUGIN.md +2 -3
  23. package/payload/platform/plugins/estate-coaching/.claude-plugin/plugin.json +1 -1
  24. package/payload/platform/plugins/estate-coaching/PLUGIN.md +2 -3
  25. package/payload/platform/plugins/estate-onboarding/.claude-plugin/plugin.json +1 -1
  26. package/payload/platform/plugins/estate-onboarding/PLUGIN.md +2 -3
  27. package/payload/platform/plugins/estate-sales/.claude-plugin/plugin.json +1 -1
  28. package/payload/platform/plugins/estate-sales/PLUGIN.md +2 -3
  29. package/payload/platform/plugins/estate-teaching/.claude-plugin/plugin.json +1 -1
  30. package/payload/platform/plugins/estate-teaching/PLUGIN.md +2 -3
  31. package/payload/platform/plugins/leads/.claude-plugin/plugin.json +1 -1
  32. package/payload/platform/plugins/leads/PLUGIN.md +2 -3
  33. package/payload/platform/plugins/listings/.claude-plugin/plugin.json +1 -1
  34. package/payload/platform/plugins/listings/PLUGIN.md +2 -3
  35. package/payload/platform/plugins/loop/.claude-plugin/plugin.json +2 -2
  36. package/payload/platform/plugins/loop/PLUGIN.md +48 -25
  37. package/payload/platform/plugins/real-agency/plugins/.claude-plugin/marketplace.json +13 -0
  38. package/payload/platform/plugins/real-agency/plugins/loop/.claude-plugin/plugin.json +17 -0
  39. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/index.d.ts +2 -0
  40. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/index.d.ts.map +1 -0
  41. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/index.js +293 -0
  42. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/index.js.map +1 -0
  43. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/lib/crypto.d.ts +10 -0
  44. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/lib/crypto.d.ts.map +1 -0
  45. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/lib/crypto.js +88 -0
  46. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/lib/crypto.js.map +1 -0
  47. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/lib/loop-api.d.ts +82 -0
  48. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/lib/loop-api.d.ts.map +1 -0
  49. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/lib/loop-api.js +427 -0
  50. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/lib/loop-api.js.map +1 -0
  51. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/lib/neo4j.d.ts +5 -0
  52. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/lib/neo4j.d.ts.map +1 -0
  53. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/lib/neo4j.js +40 -0
  54. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/lib/neo4j.js.map +1 -0
  55. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/customer-preferences.d.ts +10 -0
  56. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/customer-preferences.d.ts.map +1 -0
  57. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/customer-preferences.js +24 -0
  58. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/customer-preferences.js.map +1 -0
  59. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/feedback.d.ts +16 -0
  60. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/feedback.d.ts.map +1 -0
  61. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/feedback.js +35 -0
  62. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/feedback.js.map +1 -0
  63. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/key-deregister.d.ts +5 -0
  64. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/key-deregister.d.ts.map +1 -0
  65. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/key-deregister.js +19 -0
  66. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/key-deregister.js.map +1 -0
  67. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/key-list.d.ts +4 -0
  68. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/key-list.d.ts.map +1 -0
  69. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/key-list.js +14 -0
  70. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/key-list.js.map +1 -0
  71. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/key-register.d.ts +9 -0
  72. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/key-register.d.ts.map +1 -0
  73. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/key-register.js +60 -0
  74. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/key-register.js.map +1 -0
  75. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-enquiry.d.ts +13 -0
  76. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-enquiry.d.ts.map +1 -0
  77. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-enquiry.js +41 -0
  78. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-enquiry.js.map +1 -0
  79. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-match-batch.d.ts +9 -0
  80. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-match-batch.d.ts.map +1 -0
  81. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-match-batch.js +16 -0
  82. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-match-batch.js.map +1 -0
  83. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-match-request.d.ts +15 -0
  84. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-match-request.d.ts.map +1 -0
  85. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-match-request.js +11 -0
  86. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-match-request.js.map +1 -0
  87. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-match.d.ts +10 -0
  88. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-match.d.ts.map +1 -0
  89. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-match.js +39 -0
  90. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-match.js.map +1 -0
  91. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/people-detail.d.ts +9 -0
  92. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/people-detail.d.ts.map +1 -0
  93. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/people-detail.js +125 -0
  94. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/people-detail.js.map +1 -0
  95. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/people-search.d.ts +18 -0
  96. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/people-search.d.ts.map +1 -0
  97. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/people-search.js +87 -0
  98. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/people-search.js.map +1 -0
  99. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/property-detail.d.ts +10 -0
  100. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/property-detail.d.ts.map +1 -0
  101. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/property-detail.js +82 -0
  102. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/property-detail.js.map +1 -0
  103. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/property-listed.d.ts +12 -0
  104. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/property-listed.d.ts.map +1 -0
  105. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/property-listed.js +32 -0
  106. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/property-listed.js.map +1 -0
  107. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/property-request.d.ts +15 -0
  108. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/property-request.d.ts.map +1 -0
  109. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/property-request.js +11 -0
  110. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/property-request.js.map +1 -0
  111. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/property-search.d.ts +16 -0
  112. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/property-search.d.ts.map +1 -0
  113. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/property-search.js +41 -0
  114. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/property-search.js.map +1 -0
  115. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/supplier.d.ts +13 -0
  116. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/supplier.d.ts.map +1 -0
  117. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/supplier.js +49 -0
  118. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/supplier.js.map +1 -0
  119. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/team-availability.d.ts +7 -0
  120. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/team-availability.d.ts.map +1 -0
  121. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/team-availability.js +19 -0
  122. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/team-availability.js.map +1 -0
  123. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/team-info.d.ts +5 -0
  124. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/team-info.d.ts.map +1 -0
  125. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/team-info.js +32 -0
  126. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/team-info.js.map +1 -0
  127. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-create.d.ts +14 -0
  128. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-create.d.ts.map +1 -0
  129. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-create.js +11 -0
  130. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-create.js.map +1 -0
  131. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-detail.d.ts +9 -0
  132. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-detail.d.ts.map +1 -0
  133. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-detail.js +85 -0
  134. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-detail.js.map +1 -0
  135. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-search.d.ts +13 -0
  136. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-search.d.ts.map +1 -0
  137. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-search.js +44 -0
  138. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-search.js.map +1 -0
  139. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-update.d.ts +14 -0
  140. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-update.d.ts.map +1 -0
  141. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-update.js +18 -0
  142. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-update.js.map +1 -0
  143. package/payload/platform/plugins/scheduling/PLUGIN.md +1 -1
  144. package/payload/platform/plugins/vendors/.claude-plugin/plugin.json +1 -1
  145. package/payload/platform/plugins/vendors/PLUGIN.md +2 -3
  146. package/payload/premium-plugins/real-agency/plugins/.claude-plugin/marketplace.json +0 -50
  147. package/payload/premium-plugins/real-agency/plugins/loop/.claude-plugin/plugin.json +3 -3
  148. package/payload/premium-plugins/{real-agency → real-agent}/BUNDLE.md +7 -7
  149. package/payload/premium-plugins/{real-agency → real-agent}/agents/buyer-enquiry/template.json +1 -1
  150. package/payload/premium-plugins/{real-agency → real-agent}/agents/compliance.md +1 -1
  151. package/payload/premium-plugins/{real-agency → real-agent}/agents/negotiator.md +1 -1
  152. package/payload/premium-plugins/{real-agency → real-agent}/agents/valuer.md +1 -1
  153. package/payload/premium-plugins/real-agent/plugins/.claude-plugin/marketplace.json +63 -0
  154. package/payload/premium-plugins/{real-agency → real-agent}/plugins/brochures/PLUGIN.md +1 -1
  155. package/payload/premium-plugins/{real-agency → real-agent}/plugins/buyers/.claude-plugin/plugin.json +1 -1
  156. package/payload/premium-plugins/{real-agency → real-agent}/plugins/buyers/PLUGIN.md +2 -3
  157. package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/.claude-plugin/plugin.json +1 -1
  158. package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/PLUGIN.md +2 -3
  159. package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-coaching/.claude-plugin/plugin.json +1 -1
  160. package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-coaching/PLUGIN.md +2 -3
  161. package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-onboarding/.claude-plugin/plugin.json +1 -1
  162. package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-onboarding/PLUGIN.md +2 -3
  163. package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/.claude-plugin/plugin.json +1 -1
  164. package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/PLUGIN.md +2 -3
  165. package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-teaching/.claude-plugin/plugin.json +1 -1
  166. package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-teaching/PLUGIN.md +2 -3
  167. package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/.claude-plugin/plugin.json +1 -1
  168. package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/PLUGIN.md +2 -3
  169. package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/.claude-plugin/plugin.json +1 -1
  170. package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/PLUGIN.md +2 -3
  171. package/payload/premium-plugins/real-agent/plugins/loop/.claude-plugin/plugin.json +17 -0
  172. package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/PLUGIN.md +48 -25
  173. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/index.d.ts +2 -0
  174. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/index.d.ts.map +1 -0
  175. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/index.js +293 -0
  176. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/index.js.map +1 -0
  177. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/crypto.d.ts +10 -0
  178. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/crypto.d.ts.map +1 -0
  179. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/crypto.js +88 -0
  180. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/crypto.js.map +1 -0
  181. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/loop-api.d.ts +82 -0
  182. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/loop-api.d.ts.map +1 -0
  183. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/loop-api.js +427 -0
  184. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/loop-api.js.map +1 -0
  185. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/neo4j.d.ts +5 -0
  186. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/neo4j.d.ts.map +1 -0
  187. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/neo4j.js +40 -0
  188. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/neo4j.js.map +1 -0
  189. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/customer-preferences.d.ts +10 -0
  190. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/customer-preferences.d.ts.map +1 -0
  191. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/customer-preferences.js +24 -0
  192. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/customer-preferences.js.map +1 -0
  193. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/feedback.d.ts +16 -0
  194. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/feedback.d.ts.map +1 -0
  195. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/feedback.js +35 -0
  196. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/feedback.js.map +1 -0
  197. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/key-deregister.d.ts +5 -0
  198. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/key-deregister.d.ts.map +1 -0
  199. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/key-deregister.js +19 -0
  200. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/key-deregister.js.map +1 -0
  201. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/key-list.d.ts +4 -0
  202. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/key-list.d.ts.map +1 -0
  203. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/key-list.js +14 -0
  204. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/key-list.js.map +1 -0
  205. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/key-register.d.ts +9 -0
  206. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/key-register.d.ts.map +1 -0
  207. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/key-register.js +60 -0
  208. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/key-register.js.map +1 -0
  209. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-enquiry.d.ts +13 -0
  210. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-enquiry.d.ts.map +1 -0
  211. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-enquiry.js +41 -0
  212. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-enquiry.js.map +1 -0
  213. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-match-batch.d.ts +9 -0
  214. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-match-batch.d.ts.map +1 -0
  215. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-match-batch.js +16 -0
  216. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-match-batch.js.map +1 -0
  217. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-match-request.d.ts +15 -0
  218. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-match-request.d.ts.map +1 -0
  219. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-match-request.js +11 -0
  220. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-match-request.js.map +1 -0
  221. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-match.d.ts +10 -0
  222. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-match.d.ts.map +1 -0
  223. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-match.js +39 -0
  224. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-match.js.map +1 -0
  225. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/people-detail.d.ts +9 -0
  226. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/people-detail.d.ts.map +1 -0
  227. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/people-detail.js +125 -0
  228. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/people-detail.js.map +1 -0
  229. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/people-search.d.ts +18 -0
  230. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/people-search.d.ts.map +1 -0
  231. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/people-search.js +87 -0
  232. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/people-search.js.map +1 -0
  233. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-detail.d.ts +10 -0
  234. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-detail.d.ts.map +1 -0
  235. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-detail.js +82 -0
  236. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-detail.js.map +1 -0
  237. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-listed.d.ts +12 -0
  238. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-listed.d.ts.map +1 -0
  239. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-listed.js +32 -0
  240. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-listed.js.map +1 -0
  241. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-request.d.ts +15 -0
  242. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-request.d.ts.map +1 -0
  243. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-request.js +11 -0
  244. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-request.js.map +1 -0
  245. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-search.d.ts +16 -0
  246. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-search.d.ts.map +1 -0
  247. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-search.js +41 -0
  248. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-search.js.map +1 -0
  249. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/supplier.d.ts +13 -0
  250. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/supplier.d.ts.map +1 -0
  251. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/supplier.js +49 -0
  252. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/supplier.js.map +1 -0
  253. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/team-availability.d.ts +7 -0
  254. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/team-availability.d.ts.map +1 -0
  255. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/team-availability.js +19 -0
  256. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/team-availability.js.map +1 -0
  257. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/team-info.d.ts +5 -0
  258. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/team-info.d.ts.map +1 -0
  259. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/team-info.js +32 -0
  260. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/team-info.js.map +1 -0
  261. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-create.d.ts +14 -0
  262. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-create.d.ts.map +1 -0
  263. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-create.js +11 -0
  264. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-create.js.map +1 -0
  265. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-detail.d.ts +9 -0
  266. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-detail.d.ts.map +1 -0
  267. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-detail.js +85 -0
  268. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-detail.js.map +1 -0
  269. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-search.d.ts +13 -0
  270. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-search.d.ts.map +1 -0
  271. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-search.js +44 -0
  272. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-search.js.map +1 -0
  273. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-update.d.ts +14 -0
  274. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-update.d.ts.map +1 -0
  275. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-update.js +18 -0
  276. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-update.js.map +1 -0
  277. package/payload/premium-plugins/{real-agency → real-agent}/plugins/vendors/.claude-plugin/plugin.json +1 -1
  278. package/payload/premium-plugins/{real-agency → real-agent}/plugins/vendors/PLUGIN.md +2 -3
  279. package/payload/server/public/assets/{admin-DW8IJcLc.js → admin-CDvF5de6.js} +5 -5
  280. package/payload/server/public/index.html +1 -1
  281. /package/payload/premium-plugins/{real-agency → real-agent}/agents/buyer-enquiry/IDENTITY.md +0 -0
  282. /package/payload/premium-plugins/{real-agency → real-agent}/agents/buyer-enquiry/SOUL.md +0 -0
  283. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/brochures/.claude-plugin/plugin.json +0 -0
  284. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/brochures/commands/make-brochure.md +0 -0
  285. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/brochures/skills/a4-print-documents/SKILL.md +0 -0
  286. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/brochures/skills/brand-design/SKILL.md +0 -0
  287. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/brochures/skills/make-brochure/SKILL.md +0 -0
  288. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/brochures/skills/make-brochure/references/seller-brief-template.md +0 -0
  289. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/brochures/skills/property-brochure/SKILL.md +0 -0
  290. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/brochures/skills/property-brochure/references/build.md +0 -0
  291. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/brochures/skills/property-brochure/references/copy.md +0 -0
  292. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/brochures/skills/property-brochure/references/images.md +0 -0
  293. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/brochures/skills/property-brochure/references/index-landing.md +0 -0
  294. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/brochures/skills/property-brochure/references/index.html +0 -0
  295. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/brochures/skills/property-brochure/references/placeholders.md +0 -0
  296. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/brochures/skills/property-brochure/references/registers.md +0 -0
  297. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/brochures/skills/property-brochure/references/seller-brief.md +0 -0
  298. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/brochures/skills/property-brochure/references/structure.md +0 -0
  299. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/brochures/skills/property-brochure/references/template.html +0 -0
  300. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/brochures/skills/property-extract/SKILL.md +0 -0
  301. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/buyers/skills/buyer-feedback/SKILL.md +0 -0
  302. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/buyers/skills/buyer-management/SKILL.md +0 -0
  303. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/buyers/skills/buyer-management/references/buyer-qualification-questions.md +0 -0
  304. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/buyers/skills/buyer-management/references/buyer-qualification.md +0 -0
  305. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/buyers/skills/buyer-management/references/buyer-scripts.md +0 -0
  306. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/buyers/skills/buyer-management/references/buyer-working-scripts.md +0 -0
  307. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/buyers/skills/buyer-management/references/feedback-collection.md +0 -0
  308. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/buyers/skills/buyer-management/references/offer-capture.md +0 -0
  309. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/buyers/skills/buyer-management/references/viewing-booking.md +0 -0
  310. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/buyers/skills/buyer-management/references/viewing-management.md +0 -0
  311. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/buyers/skills/buyer-seller-guides/SKILL.md +0 -0
  312. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/buyers/skills/buyer-seller-guides/references/care-fees-guide.md +0 -0
  313. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/buyers/skills/buyer-seller-guides/references/divorce-sales-guide.md +0 -0
  314. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/buyers/skills/buyer-seller-guides/references/downsizing-guide.md +0 -0
  315. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/buyers/skills/buyer-seller-guides/references/first-time-buyers.md +0 -0
  316. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/buyers/skills/buyer-seller-guides/references/first-time-sellers.md +0 -0
  317. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/buyers/skills/buyer-seller-guides/references/probate-guide.md +0 -0
  318. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/buyers/skills/buyer-seller-guides/references/upsizing-guide.md +0 -0
  319. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/buyers/skills/property-enquiry/SKILL.md +0 -0
  320. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/buyers/skills/viewing-management/SKILL.md +0 -0
  321. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/business-growth/SKILL.md +0 -0
  322. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/business-growth/references/buy-back-your-time.md +0 -0
  323. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/business-growth/references/firewave-gost-scorecards.md +0 -0
  324. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/business-growth/references/keller-org-model.md +0 -0
  325. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/business-growth/references/lencioni-team-models.md +0 -0
  326. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/business-growth/references/listing-management-system.md +0 -0
  327. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/business-growth/references/net-figure-form.md +0 -0
  328. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/business-growth/references/serhant-bizinbox-notes.md +0 -0
  329. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/business-growth/references/team-roles-commission.md +0 -0
  330. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/business-growth/references/va-2026-ops.md +0 -0
  331. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/business-growth/references/wingman-structure.md +0 -0
  332. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/business-operations/SKILL.md +0 -0
  333. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/business-operations/references/crm-systems.md +0 -0
  334. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/business-operations/references/hiring-guide.md +0 -0
  335. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/business-operations/references/impact-framework.md +0 -0
  336. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/business-operations/references/minutes-equal-money.md +0 -0
  337. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/business-operations/references/team-management.md +0 -0
  338. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/commission-calculator/SKILL.md +0 -0
  339. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/exp-partnership/SKILL.md +0 -0
  340. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/exp-partnership/references/12-reasons.md +0 -0
  341. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/exp-partnership/references/95-5-system.md +0 -0
  342. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/exp-partnership/references/agent-attraction-scripts.md +0 -0
  343. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/exp-partnership/references/business-partnership.md +0 -0
  344. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/exp-partnership/references/exp-model-overview.md +0 -0
  345. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/exp-partnership/references/model-comparison.md +0 -0
  346. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/exp-partnership/references/revenue-share-explained.md +0 -0
  347. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/month-end-close/SKILL.md +0 -0
  348. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/payment-batch-stager/SKILL.md +0 -0
  349. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/period-reconciler/SKILL.md +0 -0
  350. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/personal-branding/SKILL.md +0 -0
  351. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/personal-branding/references/attraction-agent-notes.md +0 -0
  352. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/personal-branding/references/attraction-agent.md +0 -0
  353. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/personal-branding/references/authenticity-boundaries.md +0 -0
  354. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/personal-branding/references/become-a-brand-leader-notes.md +0 -0
  355. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/personal-branding/references/blast-formula.md +0 -0
  356. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/personal-branding/references/brand-leader.md +0 -0
  357. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/personal-branding/references/brand-strategy-system.md +0 -0
  358. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/personal-branding/references/content-engine.md +0 -0
  359. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/personal-branding/references/firewave-blast-and-blogging.md +0 -0
  360. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/personal-branding/references/gary-v-content.md +0 -0
  361. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/personal-branding/references/gary-v-principles.md +0 -0
  362. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/personal-branding/references/oversubscribed-positioning.md +0 -0
  363. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/personal-branding/references/platforms.md +0 -0
  364. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/personal-branding/references/priestley-oversubscribed.md +0 -0
  365. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/personal-branding/references/storeys-style-examples.md +0 -0
  366. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/personal-branding/references/visual-identity.md +0 -0
  367. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-coaching/skills/agent-performance/SKILL.md +0 -0
  368. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-coaching/skills/agent-performance/references/atomic-habits.md +0 -0
  369. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-coaching/skills/agent-performance/references/daily-routine-scorecard.md +0 -0
  370. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-coaching/skills/agent-performance/references/hp6-model.md +0 -0
  371. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-coaching/skills/agent-performance/references/twelve-week-year.md +0 -0
  372. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-coaching/skills/bespoke-coaching/SKILL.md +0 -0
  373. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-coaching/skills/bespoke-coaching/references/coaching-boundaries.md +0 -0
  374. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-coaching/skills/bespoke-coaching/references/feedback-framework.md +0 -0
  375. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-coaching/skills/bespoke-coaching/references/performance-framework.md +0 -0
  376. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-coaching/skills/coaching-toolkit/SKILL.md +0 -0
  377. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-coaching/skills/coaching-toolkit/references/coaching-exercises.md +0 -0
  378. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-coaching/skills/coaching-toolkit/references/goal-setting.md +0 -0
  379. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-coaching/skills/coaching-toolkit/references/one-to-one-framework.md +0 -0
  380. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-coaching/skills/coaching-toolkit/references/soi-workbook.md +0 -0
  381. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-coaching/skills/serhant-training/SKILL.md +0 -0
  382. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-coaching/skills/serhant-training/references/agent-training-guide.md +0 -0
  383. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-coaching/skills/serhant-training/references/business-in-a-box.md +0 -0
  384. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-coaching/skills/serhant-training/references/buyers-guide.md +0 -0
  385. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-coaching/skills/serhant-training/references/codo-method.md +0 -0
  386. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-coaching/skills/serhant-training/references/website-planning-guide.md +0 -0
  387. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-onboarding/skills/bootstrap/SKILL.md +0 -0
  388. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-onboarding/skills/bootstrap/references/onboarding-flow.md +0 -0
  389. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/chase-progression/SKILL.md +0 -0
  390. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/negotiation/SKILL.md +0 -0
  391. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/negotiation/references/deal-saving.md +0 -0
  392. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/negotiation/references/negotiation-deep-guide.md +0 -0
  393. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/negotiation/references/negotiation-prep-principles.md +0 -0
  394. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/negotiation/references/negotiation-techniques.md +0 -0
  395. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/negotiation/references/offer-presentation.md +0 -0
  396. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/risk-scorer/SKILL.md +0 -0
  397. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/sales-closer/SKILL.md +0 -0
  398. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/sales-closer/references/serhant-emotion-stages.md +0 -0
  399. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/sales-discovery/SKILL.md +0 -0
  400. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/sales-discovery/references/chris-voss-discovery.md +0 -0
  401. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/sales-discovery/references/firewave-gost-journey.md +0 -0
  402. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/sales-discovery/references/phil-jones-openers.md +0 -0
  403. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/sales-discovery/references/pre-listing-checklist.md +0 -0
  404. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/sales-discovery/references/serhant-improv.md +0 -0
  405. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/sales-discovery/references/tom-ferry-discovery.md +0 -0
  406. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/sales-discovery/references/vendor-motivation-competitor.md +0 -0
  407. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/sales-negotiation/SKILL.md +0 -0
  408. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/sales-negotiation/references/chris-voss-negotiation.md +0 -0
  409. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/sales-negotiation/references/phil-jones-price-words.md +0 -0
  410. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/sales-negotiation/references/serhant-negotiation-plus.md +0 -0
  411. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/sales-negotiation/references/tom-panos-commission-pricing.md +0 -0
  412. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/sales-negotiation/references/tony-morris-questioning.md +0 -0
  413. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/sales-progression/SKILL.md +0 -0
  414. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/sales-progression/references/conveyancing-guide.md +0 -0
  415. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/sales-progression/references/transaction-tracking.md +0 -0
  416. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-teaching/skills/content-directory/SKILL.md +0 -0
  417. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-teaching/skills/content-directory/references/module-delivery.md +0 -0
  418. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-teaching/skills/content-directory/references/progress-tracking.md +0 -0
  419. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/chain-progression-tracker/SKILL.md +0 -0
  420. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/diary-builder/SKILL.md +0 -0
  421. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/enquiry-triage/SKILL.md +0 -0
  422. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/lead-nurturing/SKILL.md +0 -0
  423. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/lead-nurturing/references/buyer-search-letter.md +0 -0
  424. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/lead-nurturing/references/buyer-search-letters.md +0 -0
  425. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/lead-nurturing/references/database-reactivation.md +0 -0
  426. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/lead-nurturing/references/email-nurture-sequences.md +0 -0
  427. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/lead-nurturing/references/facebook-referrals.md +0 -0
  428. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/lead-nurturing/references/firewave-email-nurture-sequences.md +0 -0
  429. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/lead-nurturing/references/keller-33-touch.md +0 -0
  430. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/lead-nurturing/references/neighbour-letters.md +0 -0
  431. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/lead-nurturing/references/neighbour-notification-letter.md +0 -0
  432. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/lead-nurturing/references/ofi-follow-up-dialogue.md +0 -0
  433. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/lead-nurturing/references/ofi-follow-up.md +0 -0
  434. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/lead-nurturing/references/serhant-three-fs-plus.md +0 -0
  435. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/lead-nurturing/references/sharran-10x10x10.md +0 -0
  436. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/lead-nurturing/references/sms-templates.md +0 -0
  437. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/lead-nurturing/references/sphere-of-influence-notes.md +0 -0
  438. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/lead-nurturing/references/sphere-of-influence.md +0 -0
  439. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/lead-nurturing/references/tom-panos-sms-templates.md +0 -0
  440. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/morning-round/SKILL.md +0 -0
  441. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/prospecting/SKILL.md +0 -0
  442. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/prospecting/references/database-matching.md +0 -0
  443. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/prospecting/references/database-value.md +0 -0
  444. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/prospecting/references/prospecting-dialogues.md +0 -0
  445. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/prospecting/references/reactivation.md +0 -0
  446. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/comparable-finder/SKILL.md +0 -0
  447. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/epc-checker/SKILL.md +0 -0
  448. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/home-preparation/SKILL.md +0 -0
  449. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/home-preparation/references/kerb-appeal.md +0 -0
  450. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/home-preparation/references/photo-day.md +0 -0
  451. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/home-preparation/references/situational-tips.md +0 -0
  452. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/home-preparation/references/staging-guide.md +0 -0
  453. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/listing-copy-writer/SKILL.md +0 -0
  454. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/listing-presentation/SKILL.md +0 -0
  455. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/listing-presentation/references/booking-script.md +0 -0
  456. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/listing-presentation/references/objection-scripts.md +0 -0
  457. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/listing-presentation/references/penhaul-presentation.md +0 -0
  458. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/listing-presentation/references/pre-listing-kit.md +0 -0
  459. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/listing-presentation/references/set-to-sell.md +0 -0
  460. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/listing-presentation/references/sharran-frameworks.md +0 -0
  461. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/local-market-stats/SKILL.md +0 -0
  462. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/new-instruction/SKILL.md +0 -0
  463. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/particulars-builder/SKILL.md +0 -0
  464. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/portal-launch-scheduler/SKILL.md +0 -0
  465. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/pricing-scenario-builder/SKILL.md +0 -0
  466. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/property-marketing/SKILL.md +0 -0
  467. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/property-marketing/references/auction-report-template.md +0 -0
  468. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/property-marketing/references/coming-soon-campaign.md +0 -0
  469. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/property-marketing/references/direct-mail-templates.md +0 -0
  470. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/property-marketing/references/eoi-form-template.md +0 -0
  471. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/property-marketing/references/monthly-scorecard.md +0 -0
  472. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/supplier-booker/SKILL.md +0 -0
  473. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/talk-track-composer/SKILL.md +0 -0
  474. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/terms-of-business-drafter/SKILL.md +0 -0
  475. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/valuation-prep/SKILL.md +0 -0
  476. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/package-lock.json +0 -0
  477. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/package.json +0 -0
  478. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/__tests__/loop-swagger.snapshot.json +0 -0
  479. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/__tests__/swagger-write-coverage.test.ts +0 -0
  480. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/index.ts +0 -0
  481. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/lib/crypto.ts +0 -0
  482. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/lib/loop-api.ts +0 -0
  483. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/lib/neo4j.ts +0 -0
  484. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/tools/customer-preferences.ts +0 -0
  485. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/tools/feedback.ts +0 -0
  486. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/tools/key-deregister.ts +0 -0
  487. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/tools/key-list.ts +0 -0
  488. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/tools/key-register.ts +0 -0
  489. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/tools/marketing-enquiry.ts +0 -0
  490. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/tools/marketing-match-batch.ts +0 -0
  491. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/tools/marketing-match-request.ts +0 -0
  492. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/tools/marketing-match.ts +0 -0
  493. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/tools/people-detail.ts +0 -0
  494. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/tools/people-search.ts +0 -0
  495. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/tools/property-detail.ts +0 -0
  496. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/tools/property-listed.ts +0 -0
  497. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/tools/property-request.ts +0 -0
  498. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/tools/property-search.ts +0 -0
  499. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/tools/supplier.ts +0 -0
  500. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/tools/team-availability.ts +0 -0
  501. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/tools/team-info.ts +0 -0
  502. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/tools/viewing-create.ts +0 -0
  503. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/tools/viewing-detail.ts +0 -0
  504. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/tools/viewing-search.ts +0 -0
  505. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/tools/viewing-update.ts +0 -0
  506. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/tsconfig.json +0 -0
  507. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/vitest.config.ts +0 -0
  508. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/skills/compliance-flag-checker/SKILL.md +0 -0
  509. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/skills/priority-ranker/SKILL.md +0 -0
  510. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/skills/tone-matched-drafter/SKILL.md +0 -0
  511. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/skills/variance-narrator/SKILL.md +0 -0
  512. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/skills/vendor-research/SKILL.md +0 -0
  513. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/vendors/skills/vendor-communication/SKILL.md +0 -0
  514. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/vendors/skills/vendor-communication/references/fee-protection-and-agenda.md +0 -0
  515. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/vendors/skills/vendor-communication/references/listing-scripts.md +0 -0
  516. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/vendors/skills/vendor-communication/references/negotiation-deep-guide.md +0 -0
  517. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/vendors/skills/vendor-communication/references/price-alignment-scripts.md +0 -0
  518. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/vendors/skills/vendor-communication/references/price-alignment.md +0 -0
  519. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/vendors/skills/vendor-communication/references/scenario-scripts.md +0 -0
  520. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/vendors/skills/vendor-communication/references/seller-engagement.md +0 -0
  521. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/vendors/skills/vendor-communication/references/valuation-booking.md +0 -0
  522. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/vendors/skills/vendor-communication/references/vendor-scripts.md +0 -0
  523. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/vendors/skills/vendor-communication/references/vendor-updates.md +0 -0
  524. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/vendors/skills/vendor-updates/SKILL.md +0 -0
  525. /package/payload/premium-plugins/{real-agency → real-agent}/specs/00-architecture-and-customization.md +0 -0
  526. /package/payload/premium-plugins/{real-agency → real-agent}/specs/01-morning-round.md +0 -0
  527. /package/payload/premium-plugins/{real-agency → real-agent}/specs/02-valuation-prep.md +0 -0
  528. /package/payload/premium-plugins/{real-agency → real-agent}/specs/03-new-instruction.md +0 -0
  529. /package/payload/premium-plugins/{real-agency → real-agent}/specs/04-chase-progression.md +0 -0
  530. /package/payload/premium-plugins/{real-agency → real-agent}/specs/05-month-end-close.md +0 -0
@@ -0,0 +1,85 @@
1
+ // Coverage for runInitLogging's success and failure branches via injected
2
+ // fs / stderr / exit impls. Task 062 (maxy-code).
3
+ //
4
+ // Brief asked for vitest. Codebase convention is node:test (matches
5
+ // apt-resolve.test.ts, peer-brand-detect.test.ts, etc); the package has no
6
+ // vitest dep and the test runner stanza in package.json invokes
7
+ // `node --test 'dist/__tests__/*.test.js'`.
8
+ import test from "node:test";
9
+ import assert from "node:assert/strict";
10
+ import { runInitLogging } from "../init-logging.js";
11
+ const LOG_DIR = "/tmp/test-task-062-logs";
12
+ const LOG_FILE = "/tmp/test-task-062-logs/install-2026-01-01T00-00-00-000Z.log";
13
+ const PERSIST_DIR = "/tmp/test-task-062-persist";
14
+ test("success path: header written via injected impls, no stderr, no exit", () => {
15
+ const appendCalls = [];
16
+ let stderrOut = "";
17
+ let exitCode = null;
18
+ runInitLogging({
19
+ logDir: LOG_DIR,
20
+ logFile: LOG_FILE,
21
+ persistDir: PERSIST_DIR,
22
+ headerLines: ["", "===", " Maxy Code Install Log", "==="],
23
+ mkdirSyncImpl: () => { },
24
+ appendFileSyncImpl: (p, d) => { appendCalls.push([p, d]); },
25
+ stderrWriteImpl: (c) => { stderrOut += c; },
26
+ exitImpl: (c) => { exitCode = c; },
27
+ });
28
+ assert.equal(appendCalls.length, 1);
29
+ assert.equal(appendCalls[0][0], LOG_FILE);
30
+ assert.equal(appendCalls[0][1], "\n===\n Maxy Code Install Log\n===\n");
31
+ assert.equal(stderrOut, "");
32
+ assert.equal(exitCode, null);
33
+ });
34
+ test("failure path: appendFileSync throws → stderr emits FAILED line, exit(1) called", () => {
35
+ let stderrOut = "";
36
+ let exitCode = null;
37
+ runInitLogging({
38
+ logDir: LOG_DIR,
39
+ logFile: LOG_FILE,
40
+ persistDir: PERSIST_DIR,
41
+ headerLines: ["a"],
42
+ mkdirSyncImpl: () => { },
43
+ appendFileSyncImpl: () => { throw new Error("EACCES: permission denied"); },
44
+ stderrWriteImpl: (c) => { stderrOut += c; },
45
+ exitImpl: (c) => { exitCode = c; },
46
+ });
47
+ assert.ok(stderrOut.includes("[create-maxy] init-logging FAILED reason=EACCES"), `stderr should contain init-logging FAILED line; got: ${JSON.stringify(stderrOut)}`);
48
+ assert.ok(stderrOut.includes(`log=${LOG_FILE}`));
49
+ assert.ok(stderrOut.includes(`persist=${PERSIST_DIR}`));
50
+ assert.equal(exitCode, 1);
51
+ });
52
+ test("failure path: mkdirSync throws → stderr emits FAILED line, exit(1) called", () => {
53
+ let stderrOut = "";
54
+ let exitCode = null;
55
+ let appendCalled = false;
56
+ runInitLogging({
57
+ logDir: LOG_DIR,
58
+ logFile: LOG_FILE,
59
+ persistDir: PERSIST_DIR,
60
+ headerLines: ["a"],
61
+ mkdirSyncImpl: () => { throw new Error("EROFS: read-only file system"); },
62
+ appendFileSyncImpl: () => { appendCalled = true; },
63
+ stderrWriteImpl: (c) => { stderrOut += c; },
64
+ exitImpl: (c) => { exitCode = c; },
65
+ });
66
+ assert.equal(appendCalled, false, "appendFileSync must not be invoked when mkdirSync throws");
67
+ assert.ok(stderrOut.includes("[create-maxy] init-logging FAILED reason=EROFS"));
68
+ assert.equal(exitCode, 1);
69
+ });
70
+ test("failure path: non-Error thrown value still surfaces as reason", () => {
71
+ let stderrOut = "";
72
+ let exitCode = null;
73
+ runInitLogging({
74
+ logDir: LOG_DIR,
75
+ logFile: LOG_FILE,
76
+ persistDir: PERSIST_DIR,
77
+ headerLines: ["a"],
78
+ mkdirSyncImpl: () => { },
79
+ appendFileSyncImpl: () => { throw "raw-string"; },
80
+ stderrWriteImpl: (c) => { stderrOut += c; },
81
+ exitImpl: (c) => { exitCode = c; },
82
+ });
83
+ assert.ok(stderrOut.includes("reason=raw-string"));
84
+ assert.equal(exitCode, 1);
85
+ });
package/dist/index.js CHANGED
@@ -7,6 +7,7 @@ import { resolveInstallPortFromFs, buildMaxyUnitFile, buildClaudeSessionManagerU
7
7
  import { classifyOnboardingReadBack } from "./onboarding-readback.js";
8
8
  import { parseOsRelease, isUbuntuLike as isUbuntuLikePure, parseAptCacheCandidate, decideAptResolution, } from "./apt-resolve.js";
9
9
  import { findPeerBrandOnDefaultNeo4jPort } from "./peer-brand-detect.js";
10
+ import { runInitLogging } from "./init-logging.js";
10
11
  import { requireSupportedPlatform } from "./platform-detect.js";
11
12
  import { renderPlist } from "./launchd-plist.js";
12
13
  import { installAllBrewPackages } from "./brew-install.js";
@@ -82,15 +83,19 @@ const NPM_NET_FLAGS = [
82
83
  // Logging — timestamped to console AND persistent log file
83
84
  // ---------------------------------------------------------------------------
84
85
  function initLogging() {
85
- mkdirSync(LOG_DIR, { recursive: true });
86
- appendFileSync(LOG_FILE, [
87
- "",
88
- "=".repeat(64),
89
- ` ${BRAND.productName} Install Log — ${new Date().toISOString()}`,
90
- ` Node ${process.version} | ${process.platform} ${process.arch}`,
91
- "=".repeat(64),
92
- "",
93
- ].join("\n") + "\n");
86
+ runInitLogging({
87
+ logDir: LOG_DIR,
88
+ logFile: LOG_FILE,
89
+ persistDir: PERSIST_DIR,
90
+ headerLines: [
91
+ "",
92
+ "=".repeat(64),
93
+ ` ${BRAND.productName} Install Log — ${new Date().toISOString()}`,
94
+ ` Node ${process.version} | ${process.platform} ${process.arch}`,
95
+ "=".repeat(64),
96
+ "",
97
+ ],
98
+ });
94
99
  }
95
100
  function logFile(msg) {
96
101
  try {
@@ -1896,7 +1901,7 @@ function deployPayload() {
1896
1901
  }
1897
1902
  // Task 030 — register the local + external Claude Code plugins after the
1898
1903
  // payload is on disk. The bundler stamps `.claude-plugin/marketplace.json`
1899
- // at each plugin-tree root (platform/plugins/, premium-plugins/real-agency/
1904
+ // at each plugin-tree root (platform/plugins/, premium-plugins/real-agent/
1900
1905
  // plugins/, premium-plugins/) so this function discovers them generically
1901
1906
  // from the install directory rather than hardcoding names.
1902
1907
  //
@@ -1915,7 +1920,7 @@ function registerLocalAndExternalPlugins() {
1915
1920
  // ones are silently skipped (e.g. a brand that ships no premium plugins).
1916
1921
  const candidates = [
1917
1922
  join(INSTALL_DIR, "platform", "plugins"),
1918
- join(INSTALL_DIR, "premium-plugins", "real-agency", "plugins"),
1923
+ join(INSTALL_DIR, "premium-plugins", "real-agent", "plugins"),
1919
1924
  join(INSTALL_DIR, "premium-plugins"),
1920
1925
  ];
1921
1926
  for (const dir of candidates) {
@@ -3596,8 +3601,14 @@ if (PLATFORM === "darwin") {
3596
3601
  const PLATFORM_HEADER = `[create-maxy] platform=${PLATFORM} arch=${process.arch}` +
3597
3602
  (MACOS_VERSION ? ` macos=${MACOS_VERSION}` : ``) +
3598
3603
  ` version=${PKG_VERSION}`;
3599
- initLogging();
3604
+ // Task 062 — emit platform header and the resolved log/persist paths to
3605
+ // stdout BEFORE the log file is opened. If initLogging's mkdir or first
3606
+ // appendFileSync throws, the operator still sees brand/version/arch and the
3607
+ // exact path the log file SHOULD live at, instead of a silent exit between
3608
+ // the LOG_DIR mkdir and the first log write.
3600
3609
  console.log(PLATFORM_HEADER);
3610
+ console.log(`[create-maxy] log=${LOG_FILE} persist=${PERSIST_DIR}`);
3611
+ initLogging();
3601
3612
  console.log("================================================================");
3602
3613
  console.log(` ${BRAND.productName} — ${BRAND.tagline}. (${BRAND.hostname} v${PKG_VERSION})`);
3603
3614
  console.log("================================================================");
@@ -0,0 +1,28 @@
1
+ // Installer log-file initialization with diagnostic stderr emission on
2
+ // failure. Extracted from index.ts so the failure path can be covered by
3
+ // node:test without bringing in the rest of the installer's import-time side
4
+ // effects.
5
+ //
6
+ // Task 062 (maxy-code) — operator-observed silent exit between
7
+ // `mkdirSync(LOG_DIR)` and the first `appendFileSync(LOG_FILE, header)`.
8
+ // Both writes are guarded inside the same try/catch; a failure emits a
9
+ // literal `[create-maxy] init-logging FAILED reason=<msg> log=<path>
10
+ // persist=<path>` line to stderr and exits 1 so the operator always has a
11
+ // forensic surface regardless of whether the log file ever opened.
12
+ import { mkdirSync as realMkdirSync, appendFileSync as realAppendFileSync, } from "node:fs";
13
+ export function runInitLogging(opts) {
14
+ const mkdir = opts.mkdirSyncImpl ?? ((p, o) => { realMkdirSync(p, o); });
15
+ const append = opts.appendFileSyncImpl ?? ((p, d) => { realAppendFileSync(p, d); });
16
+ const stderr = opts.stderrWriteImpl ?? ((c) => { process.stderr.write(c); });
17
+ const exit = opts.exitImpl ?? ((c) => { process.exit(c); });
18
+ try {
19
+ mkdir(opts.logDir, { recursive: true });
20
+ append(opts.logFile, opts.headerLines.join("\n") + "\n");
21
+ }
22
+ catch (err) {
23
+ const msg = err instanceof Error ? err.message : String(err);
24
+ stderr(`[create-maxy] init-logging FAILED reason=${msg} log=${opts.logFile} persist=${opts.persistDir}\n`);
25
+ exit(1);
26
+ return;
27
+ }
28
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rubytech/create-maxy-code",
3
- "version": "0.1.28",
3
+ "version": "0.1.30",
4
4
  "description": "Install Maxy — AI for Productive People",
5
5
  "bin": {
6
6
  "create-maxy-code": "./dist/index.js"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "admin",
3
- "description": "Platform administration plugin. Provides system-status, public-hostname (deterministic Cloudflare public-URL resolver single call returning the operator's canonical hostname so agents never guess property names on :CloudflareHostname nodes), brand-settings, account-manage, account-update, admin-add, admin-remove, admin-list, admin-update-pin, agent-list, agent-config-read, logs-read, plugin-read, skill-load (one-call resolve+read for SKILL.md by skill name the canonical primitive for loading a named skill; plugin-read remains the reader for references/* and PLUGIN.md), store-skill (deterministic write counterpart to plugin-read; persists operator-authored skills as plugin files under the active account), render-component, session-reset, session-resume, file-attach, wifi, and action-approval tools (action-pending, action-approve, action-reject, action-edit) for managing the Maxy platform.",
3
+ "description": "Platform administration plugin. Provides system-status, public-hostname (deterministic Cloudflare public-URL resolver, single call returning the operator's canonical hostname so agents never guess property names on :CloudflareHostname nodes), brand-settings, account-manage, account-update, admin-add, admin-remove, admin-list, admin-update-pin, agent-list, agent-config-read, logs-read, plugin-read, skill-load (one-call resolve+read for SKILL.md by skill name, the canonical primitive for loading a named skill; plugin-read remains the reader for references/* and PLUGIN.md), store-skill (deterministic write counterpart to plugin-read; persists operator-authored skills as plugin files under the active account), session-reset, session-resume, file-attach, wifi, and action-approval tools (action-pending, action-approve, action-reject, action-edit) for managing the Maxy platform. The `render-component` MCP tool is also registered but is exposed to the public agent surface only (Anthropic API runtime); the admin agent on native Claude Code does not call it.",
4
4
  "version": "0.1.0",
5
5
  "author": {
6
6
  "name": "Rubytech LLC"
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: admin
3
- description: "Platform administration plugin. Provides system-status, public-hostname (deterministic Cloudflare public-URL resolver single call returning the operator's canonical hostname so agents never guess property names on :CloudflareHostname nodes), brand-settings, account-manage, account-update, admin-add, admin-remove, admin-list, admin-update-pin, agent-list, agent-config-read, logs-read, plugin-read, skill-load (one-call resolve+read for SKILL.md by skill name the canonical primitive for loading a named skill; plugin-read remains the reader for references/* and PLUGIN.md), store-skill (deterministic write counterpart to plugin-read; persists operator-authored skills as plugin files under the active account), render-component, session-reset, session-resume, file-attach, wifi, and action-approval tools (action-pending, action-approve, action-reject, action-edit) for managing the Maxy platform."
3
+ description: "Platform administration plugin. Provides system-status, public-hostname (deterministic Cloudflare public-URL resolver, single call returning the operator's canonical hostname so agents never guess property names on :CloudflareHostname nodes), brand-settings, account-manage, account-update, admin-add, admin-remove, admin-list, admin-update-pin, agent-list, agent-config-read, logs-read, plugin-read, skill-load (one-call resolve+read for SKILL.md by skill name, the canonical primitive for loading a named skill; plugin-read remains the reader for references/* and PLUGIN.md), store-skill (deterministic write counterpart to plugin-read; persists operator-authored skills as plugin files under the active account), session-reset, session-resume, file-attach, wifi, and action-approval tools (action-pending, action-approve, action-reject, action-edit) for managing the Maxy platform. The `render-component` MCP tool is also registered but is exposed to the public agent surface only (Anthropic API runtime); the admin agent on native Claude Code does not call it."
4
4
  tools:
5
5
  - name: system-status
6
6
  publicAllowlist: false
@@ -1,100 +1,102 @@
1
1
  #!/usr/bin/env bash
2
- # Task 038 Outcome E1 Stop-event hook that flags the admin agent's
3
- # onboarding-skill drift pattern: the prior /input carried an
4
- # `<onboarding-state>` block, but the latest assistant turn did not call
5
- # `render-component` AND did not end with a `?`-terminated sentence.
2
+ # Task 063 / Task 049. Stop-event hook that flags admin agent onboarding
3
+ # drift on the native Claude Code (PTY) surface. Post-Task-049 there is no
4
+ # `render-component` tool, so the contract is no longer "called render-component";
5
+ # it is "the assistant ends its turn on a prompt the operator can answer".
6
6
  #
7
7
  # Behaviour:
8
- # 1. Read the transcript_path from the Stop event JSON on stdin.
8
+ # 1. Read transcript_path from the Stop event JSON on stdin.
9
9
  # 2. Walk the JSONL backwards. Find the most recent user event whose
10
- # `message.content` (string or text-block array) contains the literal
11
- # `<onboarding-state ` marker — that is the injection signature.
10
+ # `message.content` contains the literal `<onboarding-state ` marker.
12
11
  # 3. If no such user event exists in this transcript, fail-open (exit 0).
13
- # 4. Otherwise, find the most recent assistant event after that injection
14
- # event. Extract its tool-use names and the trailing text characters.
15
- # 5. If the tool-use list does NOT contain `render-component` AND the
16
- # trailing prose does NOT end with `?`, the agent has drifted — log
17
- # one `[precision-check] rule=onboarding-skill-drift` line to the
18
- # admin-side log directory and exit 0.
12
+ # 4. Otherwise, find the most recent assistant event after that injection.
13
+ # Count assistant turns since the injection so the log line carries a turn number.
14
+ # 5. Evaluate the ends-with-prompt contract on the assistant text:
15
+ # - PASS when the last non-whitespace character is `?`, OR
16
+ # - PASS when the trailing block (last ~8 lines) contains a numbered
17
+ # or bulleted list item (`1. `, `2) `, `- `, `* `).
18
+ # - FAIL otherwise.
19
+ # 6. Emit `[onboarding-skill-drift] turn=<N> contract=ends-with-prompt
20
+ # result=<pass|fail> reason=<reason>` on stderr.
19
21
  #
20
- # Exit 0 always this hook is observation, not enforcement. The
21
- # precision-check ledger increments via the log line; no retry is forced.
22
- # Infrastructure failures (jq missing, transcript unreadable) also exit 0
23
- # so a hook bug never blocks the agent's response.
22
+ # Exit 0 always: this hook is observation, not enforcement. Infrastructure
23
+ # failures (jq missing, transcript unreadable) also exit 0 so a hook bug
24
+ # never blocks the agent's response.
24
25
 
25
26
  set -uo pipefail
26
- LOG_TAG="[precision-check]"
27
+ LOG_TAG="[onboarding-skill-drift]"
27
28
 
28
- # fail-open if jq is unavailable — the transcript shape demands JSON parse
29
29
  if ! command -v jq >/dev/null 2>&1; then
30
- echo "$LOG_TAG rule=onboarding-skill-drift result=skip reason=jq-missing" >&2
30
+ echo "$LOG_TAG turn=0 contract=ends-with-prompt result=skip reason=jq-missing" >&2
31
31
  exit 0
32
32
  fi
33
33
 
34
34
  INPUT=$(cat 2>/dev/null || echo '{}')
35
35
  TRANSCRIPT=$(echo "$INPUT" | jq -r '.transcript_path // empty' 2>/dev/null)
36
36
  if [ -z "$TRANSCRIPT" ] || [ ! -f "$TRANSCRIPT" ]; then
37
- echo "$LOG_TAG rule=onboarding-skill-drift result=skip reason=no-transcript" >&2
37
+ echo "$LOG_TAG turn=0 contract=ends-with-prompt result=skip reason=no-transcript" >&2
38
38
  exit 0
39
39
  fi
40
40
 
41
- # Locate the most recent injection signature in user events. The injection
42
- # block is prepended verbatim to the operator's input on the first /input
43
- # of an eligible session, so it appears as the leading bytes of a user
44
- # event's message text. Search backwards to find the last one in this
45
- # transcript window.
41
+ # Locate the most recent <onboarding-state ...> injection in a user event.
42
+ # The injection block is prepended verbatim to the operator's input on the
43
+ # first /input of an eligible session, so it appears as the leading bytes of
44
+ # the user event's message text. Search backwards for the last one.
46
45
  INJECTION_LINE=$(grep -n '<onboarding-state ' "$TRANSCRIPT" 2>/dev/null \
47
46
  | grep '"type":"user"' \
48
47
  | tail -n 1 \
49
48
  | cut -d: -f1)
50
49
 
51
50
  if [ -z "$INJECTION_LINE" ]; then
52
- # No injection in this transcript window nothing to enforce.
51
+ # No injection in this transcript window. Nothing to evaluate.
53
52
  exit 0
54
53
  fi
55
54
 
56
- # Slice the file from just after the injection line to the end; the
57
- # assistant's response sits in that suffix.
55
+ # Slice the file from just after the injection line.
58
56
  TAIL=$(tail -n "+$((INJECTION_LINE + 1))" "$TRANSCRIPT" 2>/dev/null)
59
57
 
60
- # Last assistant message in the suffix.
61
- ASSISTANT=$(echo "$TAIL" \
62
- | grep '"type":"assistant"' \
63
- | tail -n 1)
58
+ # Count assistant turns since the injection and pick the most recent.
59
+ ASSISTANT_TURNS=$(echo "$TAIL" | grep -c '"type":"assistant"')
60
+ ASSISTANT=$(echo "$TAIL" | grep '"type":"assistant"' | tail -n 1)
64
61
 
65
62
  if [ -z "$ASSISTANT" ]; then
66
- echo "$LOG_TAG rule=onboarding-skill-drift result=skip reason=no-assistant-turn" >&2
63
+ echo "$LOG_TAG turn=0 contract=ends-with-prompt result=skip reason=no-assistant-turn" >&2
67
64
  exit 0
68
65
  fi
69
66
 
70
- # Tool-use names from the assistant event.
71
- TOOL_USES=$(echo "$ASSISTANT" | jq -r '
72
- .message.content // []
73
- | map(select(.type == "tool_use") | .name)
74
- | join(",")
75
- ' 2>/dev/null)
76
-
77
- # Concatenated text content (final character matters for the `?` check).
67
+ # Concatenated text content (final character matters for the `?` check; final
68
+ # block matters for the enumerated-list check).
78
69
  ASSISTANT_TEXT=$(echo "$ASSISTANT" | jq -r '
79
70
  .message.content // []
80
71
  | map(select(.type == "text") | .text)
81
- | join(" ")
72
+ | join("\n")
82
73
  ' 2>/dev/null)
83
74
 
84
- HAS_RENDER_COMPONENT=0
85
- case "$TOOL_USES" in
86
- *render-component*) HAS_RENDER_COMPONENT=1 ;;
87
- esac
88
-
89
- # Trim trailing whitespace and check the last non-whitespace character.
75
+ # Trim trailing whitespace and find the last non-whitespace character.
90
76
  TRIMMED=$(echo "$ASSISTANT_TEXT" | sed -E 's/[[:space:]]+$//')
91
77
  LAST_CHAR=$(echo -n "$TRIMMED" | tail -c 1)
92
78
 
93
- if [ "$HAS_RENDER_COMPONENT" = "0" ] && [ "$LAST_CHAR" != "?" ]; then
94
- # Drift detected. Sample is the first 80 chars of the assistant text so
95
- # the log line tells the operator what shape of drift fired.
96
- SAMPLE=$(echo "$TRIMMED" | head -c 80 | tr '\n' ' ')
97
- echo "$LOG_TAG rule=onboarding-skill-drift result=block class=PRECISION sample='${SAMPLE}'" >&2
79
+ # Evaluate the ends-with-prompt contract.
80
+ ENDS_WITH_PROMPT=0
81
+ ENDS_WITH_PROMPT_REASON="neither-question-nor-list"
82
+
83
+ if [ "$LAST_CHAR" = "?" ]; then
84
+ ENDS_WITH_PROMPT=1
85
+ ENDS_WITH_PROMPT_REASON="trailing-question-mark"
86
+ else
87
+ # Take the last 8 lines and look for a numbered/bulleted list item.
88
+ TRAIL_LINES=$(echo "$TRIMMED" | tail -n 8)
89
+ if echo "$TRAIL_LINES" | grep -qE '^[[:space:]]*([0-9]+[.)]|[-*])[[:space:]]+'; then
90
+ ENDS_WITH_PROMPT=1
91
+ ENDS_WITH_PROMPT_REASON="trailing-enumerated-list"
92
+ fi
93
+ fi
94
+
95
+ if [ "$ENDS_WITH_PROMPT" = "1" ]; then
96
+ echo "$LOG_TAG turn=$ASSISTANT_TURNS contract=ends-with-prompt result=pass reason=$ENDS_WITH_PROMPT_REASON" >&2
97
+ else
98
+ SAMPLE=$(echo "$TRIMMED" | tail -c 120 | tr '\n' ' ' | sed 's/[[:space:]]\+/ /g')
99
+ echo "$LOG_TAG turn=$ASSISTANT_TURNS contract=ends-with-prompt result=fail reason=$ENDS_WITH_PROMPT_REASON sample='${SAMPLE}'" >&2
98
100
  fi
99
101
 
100
102
  exit 0
@@ -2743,7 +2743,7 @@ server.tool("premium-deliver", "Deliver a purchased premium plugin. Copies plugi
2743
2743
  "agent templates. Handles both standalone plugins and bundles (auto-detected). Idempotent — " +
2744
2744
  "already-delivered sub-plugins are skipped. Returns a structured result with per-sub-plugin " +
2745
2745
  "status and available templates.", {
2746
- pluginName: z.string().describe("Name of the premium plugin to deliver (e.g. 'real-agency', 'teaching')"),
2746
+ pluginName: z.string().describe("Name of the premium plugin to deliver (e.g. 'real-agent', 'teaching')"),
2747
2747
  }, async ({ pluginName }) => {
2748
2748
  const TAG = "[premium-deliver]";
2749
2749
  // --- Validate plugin name ---