@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.
- package/dist/__tests__/init-logging.test.js +85 -0
- package/dist/index.js +23 -12
- package/dist/init-logging.js +28 -0
- package/package.json +1 -1
- package/payload/platform/plugins/admin/.claude-plugin/plugin.json +1 -1
- package/payload/platform/plugins/admin/PLUGIN.md +1 -1
- package/payload/platform/plugins/admin/hooks/onboarding-skill-drift.sh +56 -54
- package/payload/platform/plugins/admin/mcp/dist/index.js +1 -1
- package/payload/platform/plugins/admin/mcp/dist/index.js.map +1 -1
- package/payload/platform/plugins/admin/references/contextual-ui.md +4 -2
- package/payload/platform/plugins/admin/skills/file-presentation/SKILL.md +16 -33
- package/payload/platform/plugins/admin/skills/plugin-management/SKILL.md +2 -2
- package/payload/platform/plugins/admin/skills/public-agent-manager/SKILL.md +1 -1
- package/payload/platform/plugins/brochures/PLUGIN.md +1 -1
- package/payload/platform/plugins/buyers/.claude-plugin/plugin.json +1 -1
- package/payload/platform/plugins/buyers/PLUGIN.md +2 -3
- package/payload/platform/plugins/deep-research/skills/book-mirror/SKILL.md +1 -1
- package/payload/platform/plugins/deep-research/skills/strategic-reading/SKILL.md +1 -1
- package/payload/platform/plugins/docs/references/deployment.md +2 -2
- package/payload/platform/plugins/docs/references/plugins-guide.md +3 -3
- package/payload/platform/plugins/estate-business/.claude-plugin/plugin.json +1 -1
- package/payload/platform/plugins/estate-business/PLUGIN.md +2 -3
- package/payload/platform/plugins/estate-coaching/.claude-plugin/plugin.json +1 -1
- package/payload/platform/plugins/estate-coaching/PLUGIN.md +2 -3
- package/payload/platform/plugins/estate-onboarding/.claude-plugin/plugin.json +1 -1
- package/payload/platform/plugins/estate-onboarding/PLUGIN.md +2 -3
- package/payload/platform/plugins/estate-sales/.claude-plugin/plugin.json +1 -1
- package/payload/platform/plugins/estate-sales/PLUGIN.md +2 -3
- package/payload/platform/plugins/estate-teaching/.claude-plugin/plugin.json +1 -1
- package/payload/platform/plugins/estate-teaching/PLUGIN.md +2 -3
- package/payload/platform/plugins/leads/.claude-plugin/plugin.json +1 -1
- package/payload/platform/plugins/leads/PLUGIN.md +2 -3
- package/payload/platform/plugins/listings/.claude-plugin/plugin.json +1 -1
- package/payload/platform/plugins/listings/PLUGIN.md +2 -3
- package/payload/platform/plugins/loop/.claude-plugin/plugin.json +2 -2
- package/payload/platform/plugins/loop/PLUGIN.md +48 -25
- package/payload/platform/plugins/real-agency/plugins/.claude-plugin/marketplace.json +13 -0
- package/payload/platform/plugins/real-agency/plugins/loop/.claude-plugin/plugin.json +17 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/index.d.ts +2 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/index.d.ts.map +1 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/index.js +293 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/index.js.map +1 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/lib/crypto.d.ts +10 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/lib/crypto.d.ts.map +1 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/lib/crypto.js +88 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/lib/crypto.js.map +1 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/lib/loop-api.d.ts +82 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/lib/loop-api.d.ts.map +1 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/lib/loop-api.js +427 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/lib/loop-api.js.map +1 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/lib/neo4j.d.ts +5 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/lib/neo4j.d.ts.map +1 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/lib/neo4j.js +40 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/lib/neo4j.js.map +1 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/customer-preferences.d.ts +10 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/customer-preferences.d.ts.map +1 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/customer-preferences.js +24 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/customer-preferences.js.map +1 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/feedback.d.ts +16 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/feedback.d.ts.map +1 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/feedback.js +35 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/feedback.js.map +1 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/key-deregister.d.ts +5 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/key-deregister.d.ts.map +1 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/key-deregister.js +19 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/key-deregister.js.map +1 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/key-list.d.ts +4 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/key-list.d.ts.map +1 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/key-list.js +14 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/key-list.js.map +1 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/key-register.d.ts +9 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/key-register.d.ts.map +1 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/key-register.js +60 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/key-register.js.map +1 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-enquiry.d.ts +13 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-enquiry.d.ts.map +1 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-enquiry.js +41 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-enquiry.js.map +1 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-match-batch.d.ts +9 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-match-batch.d.ts.map +1 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-match-batch.js +16 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-match-batch.js.map +1 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-match-request.d.ts +15 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-match-request.d.ts.map +1 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-match-request.js +11 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-match-request.js.map +1 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-match.d.ts +10 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-match.d.ts.map +1 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-match.js +39 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-match.js.map +1 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/people-detail.d.ts +9 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/people-detail.d.ts.map +1 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/people-detail.js +125 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/people-detail.js.map +1 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/people-search.d.ts +18 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/people-search.d.ts.map +1 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/people-search.js +87 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/people-search.js.map +1 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/property-detail.d.ts +10 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/property-detail.d.ts.map +1 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/property-detail.js +82 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/property-detail.js.map +1 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/property-listed.d.ts +12 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/property-listed.d.ts.map +1 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/property-listed.js +32 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/property-listed.js.map +1 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/property-request.d.ts +15 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/property-request.d.ts.map +1 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/property-request.js +11 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/property-request.js.map +1 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/property-search.d.ts +16 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/property-search.d.ts.map +1 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/property-search.js +41 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/property-search.js.map +1 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/supplier.d.ts +13 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/supplier.d.ts.map +1 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/supplier.js +49 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/supplier.js.map +1 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/team-availability.d.ts +7 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/team-availability.d.ts.map +1 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/team-availability.js +19 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/team-availability.js.map +1 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/team-info.d.ts +5 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/team-info.d.ts.map +1 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/team-info.js +32 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/team-info.js.map +1 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-create.d.ts +14 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-create.d.ts.map +1 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-create.js +11 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-create.js.map +1 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-detail.d.ts +9 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-detail.d.ts.map +1 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-detail.js +85 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-detail.js.map +1 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-search.d.ts +13 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-search.d.ts.map +1 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-search.js +44 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-search.js.map +1 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-update.d.ts +14 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-update.d.ts.map +1 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-update.js +18 -0
- package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-update.js.map +1 -0
- package/payload/platform/plugins/scheduling/PLUGIN.md +1 -1
- package/payload/platform/plugins/vendors/.claude-plugin/plugin.json +1 -1
- package/payload/platform/plugins/vendors/PLUGIN.md +2 -3
- package/payload/premium-plugins/real-agency/plugins/.claude-plugin/marketplace.json +0 -50
- package/payload/premium-plugins/real-agency/plugins/loop/.claude-plugin/plugin.json +3 -3
- package/payload/premium-plugins/{real-agency → real-agent}/BUNDLE.md +7 -7
- package/payload/premium-plugins/{real-agency → real-agent}/agents/buyer-enquiry/template.json +1 -1
- package/payload/premium-plugins/{real-agency → real-agent}/agents/compliance.md +1 -1
- package/payload/premium-plugins/{real-agency → real-agent}/agents/negotiator.md +1 -1
- package/payload/premium-plugins/{real-agency → real-agent}/agents/valuer.md +1 -1
- package/payload/premium-plugins/real-agent/plugins/.claude-plugin/marketplace.json +63 -0
- package/payload/premium-plugins/{real-agency → real-agent}/plugins/brochures/PLUGIN.md +1 -1
- package/payload/premium-plugins/{real-agency → real-agent}/plugins/buyers/.claude-plugin/plugin.json +1 -1
- package/payload/premium-plugins/{real-agency → real-agent}/plugins/buyers/PLUGIN.md +2 -3
- package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/.claude-plugin/plugin.json +1 -1
- package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/PLUGIN.md +2 -3
- package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-coaching/.claude-plugin/plugin.json +1 -1
- package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-coaching/PLUGIN.md +2 -3
- package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-onboarding/.claude-plugin/plugin.json +1 -1
- package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-onboarding/PLUGIN.md +2 -3
- package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/.claude-plugin/plugin.json +1 -1
- package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/PLUGIN.md +2 -3
- package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-teaching/.claude-plugin/plugin.json +1 -1
- package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-teaching/PLUGIN.md +2 -3
- package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/.claude-plugin/plugin.json +1 -1
- package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/PLUGIN.md +2 -3
- package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/.claude-plugin/plugin.json +1 -1
- package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/PLUGIN.md +2 -3
- package/payload/premium-plugins/real-agent/plugins/loop/.claude-plugin/plugin.json +17 -0
- package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/PLUGIN.md +48 -25
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/index.d.ts +2 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/index.d.ts.map +1 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/index.js +293 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/index.js.map +1 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/crypto.d.ts +10 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/crypto.d.ts.map +1 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/crypto.js +88 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/crypto.js.map +1 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/loop-api.d.ts +82 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/loop-api.d.ts.map +1 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/loop-api.js +427 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/loop-api.js.map +1 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/neo4j.d.ts +5 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/neo4j.d.ts.map +1 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/neo4j.js +40 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/neo4j.js.map +1 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/customer-preferences.d.ts +10 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/customer-preferences.d.ts.map +1 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/customer-preferences.js +24 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/customer-preferences.js.map +1 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/feedback.d.ts +16 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/feedback.d.ts.map +1 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/feedback.js +35 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/feedback.js.map +1 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/key-deregister.d.ts +5 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/key-deregister.d.ts.map +1 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/key-deregister.js +19 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/key-deregister.js.map +1 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/key-list.d.ts +4 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/key-list.d.ts.map +1 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/key-list.js +14 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/key-list.js.map +1 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/key-register.d.ts +9 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/key-register.d.ts.map +1 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/key-register.js +60 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/key-register.js.map +1 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-enquiry.d.ts +13 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-enquiry.d.ts.map +1 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-enquiry.js +41 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-enquiry.js.map +1 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-match-batch.d.ts +9 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-match-batch.d.ts.map +1 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-match-batch.js +16 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-match-batch.js.map +1 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-match-request.d.ts +15 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-match-request.d.ts.map +1 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-match-request.js +11 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-match-request.js.map +1 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-match.d.ts +10 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-match.d.ts.map +1 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-match.js +39 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-match.js.map +1 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/people-detail.d.ts +9 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/people-detail.d.ts.map +1 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/people-detail.js +125 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/people-detail.js.map +1 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/people-search.d.ts +18 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/people-search.d.ts.map +1 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/people-search.js +87 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/people-search.js.map +1 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-detail.d.ts +10 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-detail.d.ts.map +1 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-detail.js +82 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-detail.js.map +1 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-listed.d.ts +12 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-listed.d.ts.map +1 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-listed.js +32 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-listed.js.map +1 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-request.d.ts +15 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-request.d.ts.map +1 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-request.js +11 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-request.js.map +1 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-search.d.ts +16 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-search.d.ts.map +1 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-search.js +41 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-search.js.map +1 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/supplier.d.ts +13 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/supplier.d.ts.map +1 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/supplier.js +49 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/supplier.js.map +1 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/team-availability.d.ts +7 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/team-availability.d.ts.map +1 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/team-availability.js +19 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/team-availability.js.map +1 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/team-info.d.ts +5 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/team-info.d.ts.map +1 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/team-info.js +32 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/team-info.js.map +1 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-create.d.ts +14 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-create.d.ts.map +1 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-create.js +11 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-create.js.map +1 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-detail.d.ts +9 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-detail.d.ts.map +1 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-detail.js +85 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-detail.js.map +1 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-search.d.ts +13 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-search.d.ts.map +1 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-search.js +44 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-search.js.map +1 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-update.d.ts +14 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-update.d.ts.map +1 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-update.js +18 -0
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-update.js.map +1 -0
- package/payload/premium-plugins/{real-agency → real-agent}/plugins/vendors/.claude-plugin/plugin.json +1 -1
- package/payload/premium-plugins/{real-agency → real-agent}/plugins/vendors/PLUGIN.md +2 -3
- package/payload/server/public/assets/{admin-DW8IJcLc.js → admin-CDvF5de6.js} +5 -5
- package/payload/server/public/index.html +1 -1
- /package/payload/premium-plugins/{real-agency → real-agent}/agents/buyer-enquiry/IDENTITY.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/agents/buyer-enquiry/SOUL.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/brochures/.claude-plugin/plugin.json +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/brochures/commands/make-brochure.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/brochures/skills/a4-print-documents/SKILL.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/brochures/skills/brand-design/SKILL.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/brochures/skills/make-brochure/SKILL.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/brochures/skills/make-brochure/references/seller-brief-template.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/brochures/skills/property-brochure/SKILL.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/brochures/skills/property-brochure/references/build.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/brochures/skills/property-brochure/references/copy.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/brochures/skills/property-brochure/references/images.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/brochures/skills/property-brochure/references/index-landing.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/brochures/skills/property-brochure/references/index.html +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/brochures/skills/property-brochure/references/placeholders.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/brochures/skills/property-brochure/references/registers.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/brochures/skills/property-brochure/references/seller-brief.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/brochures/skills/property-brochure/references/structure.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/brochures/skills/property-brochure/references/template.html +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/brochures/skills/property-extract/SKILL.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/buyers/skills/buyer-feedback/SKILL.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/buyers/skills/buyer-management/SKILL.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/buyers/skills/buyer-management/references/buyer-qualification-questions.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/buyers/skills/buyer-management/references/buyer-qualification.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/buyers/skills/buyer-management/references/buyer-scripts.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/buyers/skills/buyer-management/references/buyer-working-scripts.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/buyers/skills/buyer-management/references/feedback-collection.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/buyers/skills/buyer-management/references/offer-capture.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/buyers/skills/buyer-management/references/viewing-booking.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/buyers/skills/buyer-management/references/viewing-management.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/buyers/skills/buyer-seller-guides/SKILL.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/buyers/skills/buyer-seller-guides/references/care-fees-guide.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/buyers/skills/buyer-seller-guides/references/divorce-sales-guide.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/buyers/skills/buyer-seller-guides/references/downsizing-guide.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/buyers/skills/buyer-seller-guides/references/first-time-buyers.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/buyers/skills/buyer-seller-guides/references/first-time-sellers.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/buyers/skills/buyer-seller-guides/references/probate-guide.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/buyers/skills/buyer-seller-guides/references/upsizing-guide.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/buyers/skills/property-enquiry/SKILL.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/buyers/skills/viewing-management/SKILL.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/business-growth/SKILL.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/business-growth/references/buy-back-your-time.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/business-growth/references/firewave-gost-scorecards.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/business-growth/references/keller-org-model.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/business-growth/references/lencioni-team-models.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/business-growth/references/listing-management-system.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/business-growth/references/net-figure-form.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/business-growth/references/serhant-bizinbox-notes.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/business-growth/references/team-roles-commission.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/business-growth/references/va-2026-ops.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/business-growth/references/wingman-structure.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/business-operations/SKILL.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/business-operations/references/crm-systems.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/business-operations/references/hiring-guide.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/business-operations/references/impact-framework.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/business-operations/references/minutes-equal-money.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/business-operations/references/team-management.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/commission-calculator/SKILL.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/exp-partnership/SKILL.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/exp-partnership/references/12-reasons.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/exp-partnership/references/95-5-system.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/exp-partnership/references/agent-attraction-scripts.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/exp-partnership/references/business-partnership.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/exp-partnership/references/exp-model-overview.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/exp-partnership/references/model-comparison.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/exp-partnership/references/revenue-share-explained.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/month-end-close/SKILL.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/payment-batch-stager/SKILL.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/period-reconciler/SKILL.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/personal-branding/SKILL.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/personal-branding/references/attraction-agent-notes.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/personal-branding/references/attraction-agent.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/personal-branding/references/authenticity-boundaries.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/personal-branding/references/become-a-brand-leader-notes.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/personal-branding/references/blast-formula.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/personal-branding/references/brand-leader.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/personal-branding/references/brand-strategy-system.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/personal-branding/references/content-engine.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/personal-branding/references/firewave-blast-and-blogging.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/personal-branding/references/gary-v-content.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/personal-branding/references/gary-v-principles.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/personal-branding/references/oversubscribed-positioning.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/personal-branding/references/platforms.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/personal-branding/references/priestley-oversubscribed.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/personal-branding/references/storeys-style-examples.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/personal-branding/references/visual-identity.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-coaching/skills/agent-performance/SKILL.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-coaching/skills/agent-performance/references/atomic-habits.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-coaching/skills/agent-performance/references/daily-routine-scorecard.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-coaching/skills/agent-performance/references/hp6-model.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-coaching/skills/agent-performance/references/twelve-week-year.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-coaching/skills/bespoke-coaching/SKILL.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-coaching/skills/bespoke-coaching/references/coaching-boundaries.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-coaching/skills/bespoke-coaching/references/feedback-framework.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-coaching/skills/bespoke-coaching/references/performance-framework.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-coaching/skills/coaching-toolkit/SKILL.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-coaching/skills/coaching-toolkit/references/coaching-exercises.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-coaching/skills/coaching-toolkit/references/goal-setting.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-coaching/skills/coaching-toolkit/references/one-to-one-framework.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-coaching/skills/coaching-toolkit/references/soi-workbook.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-coaching/skills/serhant-training/SKILL.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-coaching/skills/serhant-training/references/agent-training-guide.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-coaching/skills/serhant-training/references/business-in-a-box.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-coaching/skills/serhant-training/references/buyers-guide.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-coaching/skills/serhant-training/references/codo-method.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-coaching/skills/serhant-training/references/website-planning-guide.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-onboarding/skills/bootstrap/SKILL.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-onboarding/skills/bootstrap/references/onboarding-flow.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/chase-progression/SKILL.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/negotiation/SKILL.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/negotiation/references/deal-saving.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/negotiation/references/negotiation-deep-guide.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/negotiation/references/negotiation-prep-principles.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/negotiation/references/negotiation-techniques.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/negotiation/references/offer-presentation.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/risk-scorer/SKILL.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/sales-closer/SKILL.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/sales-closer/references/serhant-emotion-stages.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/sales-discovery/SKILL.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/sales-discovery/references/chris-voss-discovery.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/sales-discovery/references/firewave-gost-journey.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/sales-discovery/references/phil-jones-openers.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/sales-discovery/references/pre-listing-checklist.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/sales-discovery/references/serhant-improv.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/sales-discovery/references/tom-ferry-discovery.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/sales-discovery/references/vendor-motivation-competitor.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/sales-negotiation/SKILL.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/sales-negotiation/references/chris-voss-negotiation.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/sales-negotiation/references/phil-jones-price-words.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/sales-negotiation/references/serhant-negotiation-plus.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/sales-negotiation/references/tom-panos-commission-pricing.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/sales-negotiation/references/tony-morris-questioning.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/sales-progression/SKILL.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/sales-progression/references/conveyancing-guide.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/sales-progression/references/transaction-tracking.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-teaching/skills/content-directory/SKILL.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-teaching/skills/content-directory/references/module-delivery.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-teaching/skills/content-directory/references/progress-tracking.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/chain-progression-tracker/SKILL.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/diary-builder/SKILL.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/enquiry-triage/SKILL.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/lead-nurturing/SKILL.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/lead-nurturing/references/buyer-search-letter.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/lead-nurturing/references/buyer-search-letters.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/lead-nurturing/references/database-reactivation.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/lead-nurturing/references/email-nurture-sequences.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/lead-nurturing/references/facebook-referrals.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/lead-nurturing/references/firewave-email-nurture-sequences.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/lead-nurturing/references/keller-33-touch.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/lead-nurturing/references/neighbour-letters.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/lead-nurturing/references/neighbour-notification-letter.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/lead-nurturing/references/ofi-follow-up-dialogue.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/lead-nurturing/references/ofi-follow-up.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/lead-nurturing/references/serhant-three-fs-plus.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/lead-nurturing/references/sharran-10x10x10.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/lead-nurturing/references/sms-templates.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/lead-nurturing/references/sphere-of-influence-notes.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/lead-nurturing/references/sphere-of-influence.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/lead-nurturing/references/tom-panos-sms-templates.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/morning-round/SKILL.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/prospecting/SKILL.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/prospecting/references/database-matching.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/prospecting/references/database-value.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/prospecting/references/prospecting-dialogues.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/prospecting/references/reactivation.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/comparable-finder/SKILL.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/epc-checker/SKILL.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/home-preparation/SKILL.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/home-preparation/references/kerb-appeal.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/home-preparation/references/photo-day.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/home-preparation/references/situational-tips.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/home-preparation/references/staging-guide.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/listing-copy-writer/SKILL.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/listing-presentation/SKILL.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/listing-presentation/references/booking-script.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/listing-presentation/references/objection-scripts.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/listing-presentation/references/penhaul-presentation.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/listing-presentation/references/pre-listing-kit.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/listing-presentation/references/set-to-sell.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/listing-presentation/references/sharran-frameworks.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/local-market-stats/SKILL.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/new-instruction/SKILL.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/particulars-builder/SKILL.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/portal-launch-scheduler/SKILL.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/pricing-scenario-builder/SKILL.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/property-marketing/SKILL.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/property-marketing/references/auction-report-template.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/property-marketing/references/coming-soon-campaign.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/property-marketing/references/direct-mail-templates.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/property-marketing/references/eoi-form-template.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/property-marketing/references/monthly-scorecard.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/supplier-booker/SKILL.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/talk-track-composer/SKILL.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/terms-of-business-drafter/SKILL.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/valuation-prep/SKILL.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/package-lock.json +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/package.json +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/__tests__/loop-swagger.snapshot.json +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/__tests__/swagger-write-coverage.test.ts +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/index.ts +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/lib/crypto.ts +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/lib/loop-api.ts +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/lib/neo4j.ts +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/tools/customer-preferences.ts +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/tools/feedback.ts +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/tools/key-deregister.ts +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/tools/key-list.ts +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/tools/key-register.ts +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/tools/marketing-enquiry.ts +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/tools/marketing-match-batch.ts +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/tools/marketing-match-request.ts +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/tools/marketing-match.ts +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/tools/people-detail.ts +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/tools/people-search.ts +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/tools/property-detail.ts +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/tools/property-listed.ts +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/tools/property-request.ts +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/tools/property-search.ts +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/tools/supplier.ts +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/tools/team-availability.ts +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/tools/team-info.ts +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/tools/viewing-create.ts +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/tools/viewing-detail.ts +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/tools/viewing-search.ts +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/tools/viewing-update.ts +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/tsconfig.json +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/vitest.config.ts +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/skills/compliance-flag-checker/SKILL.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/skills/priority-ranker/SKILL.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/skills/tone-matched-drafter/SKILL.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/skills/variance-narrator/SKILL.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/skills/vendor-research/SKILL.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/vendors/skills/vendor-communication/SKILL.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/vendors/skills/vendor-communication/references/fee-protection-and-agenda.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/vendors/skills/vendor-communication/references/listing-scripts.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/vendors/skills/vendor-communication/references/negotiation-deep-guide.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/vendors/skills/vendor-communication/references/price-alignment-scripts.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/vendors/skills/vendor-communication/references/price-alignment.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/vendors/skills/vendor-communication/references/scenario-scripts.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/vendors/skills/vendor-communication/references/seller-engagement.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/vendors/skills/vendor-communication/references/valuation-booking.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/vendors/skills/vendor-communication/references/vendor-scripts.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/vendors/skills/vendor-communication/references/vendor-updates.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/plugins/vendors/skills/vendor-updates/SKILL.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/specs/00-architecture-and-customization.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/specs/01-morning-round.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/specs/02-valuation-prep.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/specs/03-new-instruction.md +0 -0
- /package/payload/premium-plugins/{real-agency → real-agent}/specs/04-chase-progression.md +0 -0
- /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
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
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-
|
|
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-
|
|
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
|
-
|
|
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": "admin",
|
|
3
|
-
"description": "Platform administration plugin. Provides system-status, public-hostname (deterministic Cloudflare public-URL resolver
|
|
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
|
|
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
|
|
3
|
-
#
|
|
4
|
-
#
|
|
5
|
-
#
|
|
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
|
|
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`
|
|
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
|
-
#
|
|
15
|
-
# 5.
|
|
16
|
-
#
|
|
17
|
-
#
|
|
18
|
-
#
|
|
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
|
|
21
|
-
#
|
|
22
|
-
#
|
|
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="[
|
|
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
|
|
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
|
|
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
|
|
42
|
-
# block is prepended verbatim to the operator's input on the
|
|
43
|
-
# of an eligible session, so it appears as the leading bytes of
|
|
44
|
-
# event's message text. Search backwards
|
|
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
|
|
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
|
|
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
|
-
#
|
|
61
|
-
|
|
62
|
-
|
|
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
|
|
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
|
-
#
|
|
71
|
-
|
|
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
|
-
|
|
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
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
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-
|
|
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 ---
|