@rubytech/create-realagent 1.0.406

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 (817) hide show
  1. package/dist/index.js +915 -0
  2. package/dist/uninstall.js +569 -0
  3. package/package.json +31 -0
  4. package/payload/maxy/package.json +9 -0
  5. package/payload/maxy/public/assets/ChatInput-7sHhJaNJ.js +42 -0
  6. package/payload/maxy/public/assets/ChatInput-oLFewltq.css +1 -0
  7. package/payload/maxy/public/assets/admin-k0izNYS1.js +352 -0
  8. package/payload/maxy/public/assets/cormorant-cyrillic-300-normal-CzPHYadL.woff +0 -0
  9. package/payload/maxy/public/assets/cormorant-cyrillic-300-normal-DFUoTmrg.woff2 +0 -0
  10. package/payload/maxy/public/assets/cormorant-cyrillic-400-normal-C8QS47vb.woff2 +0 -0
  11. package/payload/maxy/public/assets/cormorant-cyrillic-400-normal-D3EsxgFc.woff +0 -0
  12. package/payload/maxy/public/assets/cormorant-cyrillic-500-normal-B7dJQtg-.woff +0 -0
  13. package/payload/maxy/public/assets/cormorant-cyrillic-500-normal-BLlg2W5x.woff2 +0 -0
  14. package/payload/maxy/public/assets/cormorant-cyrillic-ext-300-normal-BXl3lXsi.woff2 +0 -0
  15. package/payload/maxy/public/assets/cormorant-cyrillic-ext-300-normal-DmxSOTe3.woff +0 -0
  16. package/payload/maxy/public/assets/cormorant-cyrillic-ext-400-normal-Bgrpe4p1.woff +0 -0
  17. package/payload/maxy/public/assets/cormorant-cyrillic-ext-400-normal-BlcaxZtM.woff2 +0 -0
  18. package/payload/maxy/public/assets/cormorant-cyrillic-ext-500-normal-CdQuyvtc.woff +0 -0
  19. package/payload/maxy/public/assets/cormorant-cyrillic-ext-500-normal-pZw22qtS.woff2 +0 -0
  20. package/payload/maxy/public/assets/cormorant-latin-300-normal-CJ5dfen0.woff2 +0 -0
  21. package/payload/maxy/public/assets/cormorant-latin-300-normal-DQZObO_3.woff +0 -0
  22. package/payload/maxy/public/assets/cormorant-latin-400-normal-BGH8Vunh.woff2 +0 -0
  23. package/payload/maxy/public/assets/cormorant-latin-400-normal-C3_-2Ua-.woff +0 -0
  24. package/payload/maxy/public/assets/cormorant-latin-500-normal-Dj3SQ6fR.woff +0 -0
  25. package/payload/maxy/public/assets/cormorant-latin-500-normal-EBdSCOD3.woff2 +0 -0
  26. package/payload/maxy/public/assets/cormorant-latin-ext-300-normal-CkiUx0UG.woff +0 -0
  27. package/payload/maxy/public/assets/cormorant-latin-ext-300-normal-De3D72RL.woff2 +0 -0
  28. package/payload/maxy/public/assets/cormorant-latin-ext-400-normal-DuQ88yz3.woff2 +0 -0
  29. package/payload/maxy/public/assets/cormorant-latin-ext-400-normal-DuXFa1Dr.woff +0 -0
  30. package/payload/maxy/public/assets/cormorant-latin-ext-500-normal-AH9qog1s.woff2 +0 -0
  31. package/payload/maxy/public/assets/cormorant-latin-ext-500-normal-DAuUCO41.woff +0 -0
  32. package/payload/maxy/public/assets/cormorant-vietnamese-300-normal-BVqIp_mg.woff2 +0 -0
  33. package/payload/maxy/public/assets/cormorant-vietnamese-300-normal-CEMS9Pw-.woff +0 -0
  34. package/payload/maxy/public/assets/cormorant-vietnamese-400-normal-C-RiYxEf.woff2 +0 -0
  35. package/payload/maxy/public/assets/cormorant-vietnamese-400-normal-DmUuA7Y2.woff +0 -0
  36. package/payload/maxy/public/assets/cormorant-vietnamese-500-normal-DsPuwQHi.woff2 +0 -0
  37. package/payload/maxy/public/assets/cormorant-vietnamese-500-normal-tGBW_mI7.woff +0 -0
  38. package/payload/maxy/public/assets/dm-sans-latin-400-normal-BwCSEQnW.woff +0 -0
  39. package/payload/maxy/public/assets/dm-sans-latin-400-normal-CW0RaeGs.woff2 +0 -0
  40. package/payload/maxy/public/assets/dm-sans-latin-500-normal-B9HHJjqV.woff2 +0 -0
  41. package/payload/maxy/public/assets/dm-sans-latin-500-normal-Dr3UlScf.woff +0 -0
  42. package/payload/maxy/public/assets/dm-sans-latin-ext-400-normal-BjWJ59Pq.woff +0 -0
  43. package/payload/maxy/public/assets/dm-sans-latin-ext-400-normal-BtiwyxMk.woff2 +0 -0
  44. package/payload/maxy/public/assets/dm-sans-latin-ext-500-normal-BJfUCQsA.woff2 +0 -0
  45. package/payload/maxy/public/assets/dm-sans-latin-ext-500-normal-DR84L5F-.woff +0 -0
  46. package/payload/maxy/public/assets/public-3Y1Xk7cO.js +5 -0
  47. package/payload/maxy/public/brand/claude.png +0 -0
  48. package/payload/maxy/public/brand/maxy-black.png +0 -0
  49. package/payload/maxy/public/brand/maxy-monochrome.png +0 -0
  50. package/payload/maxy/public/brand/maxy.png +0 -0
  51. package/payload/maxy/public/brand-constants.json +8 -0
  52. package/payload/maxy/public/brand-defaults.css +12 -0
  53. package/payload/maxy/public/favicon.ico +0 -0
  54. package/payload/maxy/public/index.html +16 -0
  55. package/payload/maxy/public/public.html +16 -0
  56. package/payload/maxy/public/robots.txt +5 -0
  57. package/payload/maxy/public/vnc-popout.html +59 -0
  58. package/payload/maxy/server-init.cjs +115 -0
  59. package/payload/maxy/server.js +9876 -0
  60. package/payload/platform/config/brand.json +42 -0
  61. package/payload/platform/config/cloudflared.yml +17 -0
  62. package/payload/platform/knowledge/maxy.md +772 -0
  63. package/payload/platform/neo4j/migrations/001-backfill-scope.cypher +30 -0
  64. package/payload/platform/neo4j/schema.cypher +557 -0
  65. package/payload/platform/package-lock.json +2534 -0
  66. package/payload/platform/package.json +20 -0
  67. package/payload/platform/plugins/admin/PLUGIN.md +47 -0
  68. package/payload/platform/plugins/admin/hooks/agent-creation-approval.sh +153 -0
  69. package/payload/platform/plugins/admin/hooks/agent-creation-gate.sh +309 -0
  70. package/payload/platform/plugins/admin/hooks/agent-creation-post.sh +157 -0
  71. package/payload/platform/plugins/admin/hooks/pre-tool-use.sh +49 -0
  72. package/payload/platform/plugins/admin/hooks/session-start.sh +88 -0
  73. package/payload/platform/plugins/admin/hooks/test-agent-creation-gate.sh +878 -0
  74. package/payload/platform/plugins/admin/mcp/dist/index.d.ts +2 -0
  75. package/payload/platform/plugins/admin/mcp/dist/index.d.ts.map +1 -0
  76. package/payload/platform/plugins/admin/mcp/dist/index.js +616 -0
  77. package/payload/platform/plugins/admin/mcp/dist/index.js.map +1 -0
  78. package/payload/platform/plugins/admin/mcp/dist/lib/neo4j.d.ts +5 -0
  79. package/payload/platform/plugins/admin/mcp/dist/lib/neo4j.d.ts.map +1 -0
  80. package/payload/platform/plugins/admin/mcp/dist/lib/neo4j.js +34 -0
  81. package/payload/platform/plugins/admin/mcp/dist/lib/neo4j.js.map +1 -0
  82. package/payload/platform/plugins/admin/mcp/dist/lib/onboarding.d.ts +23 -0
  83. package/payload/platform/plugins/admin/mcp/dist/lib/onboarding.d.ts.map +1 -0
  84. package/payload/platform/plugins/admin/mcp/dist/lib/onboarding.js +160 -0
  85. package/payload/platform/plugins/admin/mcp/dist/lib/onboarding.js.map +1 -0
  86. package/payload/platform/plugins/admin/mcp/dist/lib/onboarding.test.d.ts +2 -0
  87. package/payload/platform/plugins/admin/mcp/dist/lib/onboarding.test.d.ts.map +1 -0
  88. package/payload/platform/plugins/admin/mcp/dist/lib/onboarding.test.js +224 -0
  89. package/payload/platform/plugins/admin/mcp/dist/lib/onboarding.test.js.map +1 -0
  90. package/payload/platform/plugins/admin/mcp/package.json +21 -0
  91. package/payload/platform/plugins/admin/references/chat-ui-guide.md +31 -0
  92. package/payload/platform/plugins/admin/references/contextual-ui.md +107 -0
  93. package/payload/platform/plugins/admin/skills/access-manager/SKILL.md +28 -0
  94. package/payload/platform/plugins/admin/skills/access-manager/references/operations.md +197 -0
  95. package/payload/platform/plugins/admin/skills/business-profile/SKILL.md +42 -0
  96. package/payload/platform/plugins/admin/skills/datetime/SKILL.md +91 -0
  97. package/payload/platform/plugins/admin/skills/onboarding/skill.md +136 -0
  98. package/payload/platform/plugins/admin/skills/plugin-management/skill.md +76 -0
  99. package/payload/platform/plugins/admin/skills/public-agent-manager/skill.md +212 -0
  100. package/payload/platform/plugins/admin/skills/qr-code/SKILL.md +35 -0
  101. package/payload/platform/plugins/admin/skills/qr-code/references/data-formats.md +113 -0
  102. package/payload/platform/plugins/admin/skills/skill-builder/SKILL.md +112 -0
  103. package/payload/platform/plugins/admin/skills/skill-builder/references/lean-pattern.md +110 -0
  104. package/payload/platform/plugins/admin/skills/specialist-management/skill.md +44 -0
  105. package/payload/platform/plugins/admin/skills/stream-log-review/SKILL.md +40 -0
  106. package/payload/platform/plugins/admin/skills/stream-log-review/references/analysis-patterns.md +161 -0
  107. package/payload/platform/plugins/admin/skills/update-knowledge/skill.md +47 -0
  108. package/payload/platform/plugins/anthropic/PLUGIN.md +38 -0
  109. package/payload/platform/plugins/anthropic/references/setup-guide.md +114 -0
  110. package/payload/platform/plugins/anthropic/skills/get-api-key.md +57 -0
  111. package/payload/platform/plugins/business-assistant/PLUGIN.md +59 -0
  112. package/payload/platform/plugins/business-assistant/references/crm.md +112 -0
  113. package/payload/platform/plugins/business-assistant/references/document-management.md +96 -0
  114. package/payload/platform/plugins/business-assistant/references/escalation.md +126 -0
  115. package/payload/platform/plugins/business-assistant/references/invoicing.md +163 -0
  116. package/payload/platform/plugins/business-assistant/references/profiling.md +50 -0
  117. package/payload/platform/plugins/business-assistant/references/quoting.md +56 -0
  118. package/payload/platform/plugins/business-assistant/references/scheduling.md +127 -0
  119. package/payload/platform/plugins/business-assistant/references/task-management.md +155 -0
  120. package/payload/platform/plugins/cloudflare/PLUGIN.md +48 -0
  121. package/payload/platform/plugins/cloudflare/mcp/dist/index.d.ts +2 -0
  122. package/payload/platform/plugins/cloudflare/mcp/dist/index.d.ts.map +1 -0
  123. package/payload/platform/plugins/cloudflare/mcp/dist/index.js +698 -0
  124. package/payload/platform/plugins/cloudflare/mcp/dist/index.js.map +1 -0
  125. package/payload/platform/plugins/cloudflare/mcp/dist/lib/cloudflared.d.ts +101 -0
  126. package/payload/platform/plugins/cloudflare/mcp/dist/lib/cloudflared.d.ts.map +1 -0
  127. package/payload/platform/plugins/cloudflare/mcp/dist/lib/cloudflared.js +525 -0
  128. package/payload/platform/plugins/cloudflare/mcp/dist/lib/cloudflared.js.map +1 -0
  129. package/payload/platform/plugins/cloudflare/mcp/package.json +19 -0
  130. package/payload/platform/plugins/cloudflare/references/setup-guide.md +126 -0
  131. package/payload/platform/plugins/cloudflare/skills/setup-tunnel.md +217 -0
  132. package/payload/platform/plugins/contacts/PLUGIN.md +20 -0
  133. package/payload/platform/plugins/contacts/mcp/dist/index.d.ts +2 -0
  134. package/payload/platform/plugins/contacts/mcp/dist/index.d.ts.map +1 -0
  135. package/payload/platform/plugins/contacts/mcp/dist/index.js +210 -0
  136. package/payload/platform/plugins/contacts/mcp/dist/index.js.map +1 -0
  137. package/payload/platform/plugins/contacts/mcp/dist/lib/neo4j.d.ts +5 -0
  138. package/payload/platform/plugins/contacts/mcp/dist/lib/neo4j.d.ts.map +1 -0
  139. package/payload/platform/plugins/contacts/mcp/dist/lib/neo4j.js +34 -0
  140. package/payload/platform/plugins/contacts/mcp/dist/lib/neo4j.js.map +1 -0
  141. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-create.d.ts +19 -0
  142. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-create.d.ts.map +1 -0
  143. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-create.js +68 -0
  144. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-create.js.map +1 -0
  145. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-delete.d.ts +12 -0
  146. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-delete.d.ts.map +1 -0
  147. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-delete.js +35 -0
  148. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-delete.js.map +1 -0
  149. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-list.d.ts +22 -0
  150. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-list.d.ts.map +1 -0
  151. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-list.js +47 -0
  152. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-list.js.map +1 -0
  153. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-lookup.d.ts +20 -0
  154. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-lookup.d.ts.map +1 -0
  155. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-lookup.js +57 -0
  156. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-lookup.js.map +1 -0
  157. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-update.d.ts +13 -0
  158. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-update.d.ts.map +1 -0
  159. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-update.js +54 -0
  160. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-update.js.map +1 -0
  161. package/payload/platform/plugins/contacts/mcp/package.json +19 -0
  162. package/payload/platform/plugins/deep-research/PLUGIN.md +14 -0
  163. package/payload/platform/plugins/deep-research/skills/deep-research/SKILL.md +46 -0
  164. package/payload/platform/plugins/deep-research/skills/deep-research/references/citation-styles.md +52 -0
  165. package/payload/platform/plugins/deep-research/skills/deep-research/references/research-modes.md +22 -0
  166. package/payload/platform/plugins/deep-research/skills/deep-research/references/search-strategy.md +24 -0
  167. package/payload/platform/plugins/docs/PLUGIN.md +44 -0
  168. package/payload/platform/plugins/docs/references/access-control.md +51 -0
  169. package/payload/platform/plugins/docs/references/contacts-guide.md +59 -0
  170. package/payload/platform/plugins/docs/references/deployment.md +71 -0
  171. package/payload/platform/plugins/docs/references/getting-started.md +45 -0
  172. package/payload/platform/plugins/docs/references/memory-guide.md +87 -0
  173. package/payload/platform/plugins/docs/references/platform.md +64 -0
  174. package/payload/platform/plugins/docs/references/plugins-guide.md +83 -0
  175. package/payload/platform/plugins/docs/references/settings.md +89 -0
  176. package/payload/platform/plugins/docs/references/telegram-guide.md +58 -0
  177. package/payload/platform/plugins/docs/references/troubleshooting.md +88 -0
  178. package/payload/platform/plugins/documents/mcp/dist/index.d.ts +2 -0
  179. package/payload/platform/plugins/documents/mcp/dist/index.d.ts.map +1 -0
  180. package/payload/platform/plugins/documents/mcp/dist/index.js +98 -0
  181. package/payload/platform/plugins/documents/mcp/dist/index.js.map +1 -0
  182. package/payload/platform/plugins/email/PLUGIN.md +222 -0
  183. package/payload/platform/plugins/email/mcp/dist/index.d.ts +2 -0
  184. package/payload/platform/plugins/email/mcp/dist/index.d.ts.map +1 -0
  185. package/payload/platform/plugins/email/mcp/dist/index.js +288 -0
  186. package/payload/platform/plugins/email/mcp/dist/index.js.map +1 -0
  187. package/payload/platform/plugins/email/mcp/dist/lib/credentials.d.ts +111 -0
  188. package/payload/platform/plugins/email/mcp/dist/lib/credentials.d.ts.map +1 -0
  189. package/payload/platform/plugins/email/mcp/dist/lib/credentials.js +357 -0
  190. package/payload/platform/plugins/email/mcp/dist/lib/credentials.js.map +1 -0
  191. package/payload/platform/plugins/email/mcp/dist/lib/embedding.d.ts +2 -0
  192. package/payload/platform/plugins/email/mcp/dist/lib/embedding.d.ts.map +1 -0
  193. package/payload/platform/plugins/email/mcp/dist/lib/embedding.js +24 -0
  194. package/payload/platform/plugins/email/mcp/dist/lib/embedding.js.map +1 -0
  195. package/payload/platform/plugins/email/mcp/dist/lib/graph.d.ts +87 -0
  196. package/payload/platform/plugins/email/mcp/dist/lib/graph.d.ts.map +1 -0
  197. package/payload/platform/plugins/email/mcp/dist/lib/graph.js +324 -0
  198. package/payload/platform/plugins/email/mcp/dist/lib/graph.js.map +1 -0
  199. package/payload/platform/plugins/email/mcp/dist/lib/imap.d.ts +215 -0
  200. package/payload/platform/plugins/email/mcp/dist/lib/imap.d.ts.map +1 -0
  201. package/payload/platform/plugins/email/mcp/dist/lib/imap.js +735 -0
  202. package/payload/platform/plugins/email/mcp/dist/lib/imap.js.map +1 -0
  203. package/payload/platform/plugins/email/mcp/dist/lib/neo4j.d.ts +5 -0
  204. package/payload/platform/plugins/email/mcp/dist/lib/neo4j.d.ts.map +1 -0
  205. package/payload/platform/plugins/email/mcp/dist/lib/neo4j.js +34 -0
  206. package/payload/platform/plugins/email/mcp/dist/lib/neo4j.js.map +1 -0
  207. package/payload/platform/plugins/email/mcp/dist/lib/providers.d.ts +25 -0
  208. package/payload/platform/plugins/email/mcp/dist/lib/providers.d.ts.map +1 -0
  209. package/payload/platform/plugins/email/mcp/dist/lib/providers.js +116 -0
  210. package/payload/platform/plugins/email/mcp/dist/lib/providers.js.map +1 -0
  211. package/payload/platform/plugins/email/mcp/dist/lib/screening.d.ts +29 -0
  212. package/payload/platform/plugins/email/mcp/dist/lib/screening.d.ts.map +1 -0
  213. package/payload/platform/plugins/email/mcp/dist/lib/screening.js +101 -0
  214. package/payload/platform/plugins/email/mcp/dist/lib/screening.js.map +1 -0
  215. package/payload/platform/plugins/email/mcp/dist/lib/smtp.d.ts +21 -0
  216. package/payload/platform/plugins/email/mcp/dist/lib/smtp.d.ts.map +1 -0
  217. package/payload/platform/plugins/email/mcp/dist/lib/smtp.js +77 -0
  218. package/payload/platform/plugins/email/mcp/dist/lib/smtp.js.map +1 -0
  219. package/payload/platform/plugins/email/mcp/dist/scripts/email-auto-respond.d.ts +38 -0
  220. package/payload/platform/plugins/email/mcp/dist/scripts/email-auto-respond.d.ts.map +1 -0
  221. package/payload/platform/plugins/email/mcp/dist/scripts/email-auto-respond.js +844 -0
  222. package/payload/platform/plugins/email/mcp/dist/scripts/email-auto-respond.js.map +1 -0
  223. package/payload/platform/plugins/email/mcp/dist/scripts/email-fetch.d.ts +25 -0
  224. package/payload/platform/plugins/email/mcp/dist/scripts/email-fetch.d.ts.map +1 -0
  225. package/payload/platform/plugins/email/mcp/dist/scripts/email-fetch.js +214 -0
  226. package/payload/platform/plugins/email/mcp/dist/scripts/email-fetch.js.map +1 -0
  227. package/payload/platform/plugins/email/mcp/dist/tools/email-auto-respond-config.d.ts +19 -0
  228. package/payload/platform/plugins/email/mcp/dist/tools/email-auto-respond-config.d.ts.map +1 -0
  229. package/payload/platform/plugins/email/mcp/dist/tools/email-auto-respond-config.js +151 -0
  230. package/payload/platform/plugins/email/mcp/dist/tools/email-auto-respond-config.js.map +1 -0
  231. package/payload/platform/plugins/email/mcp/dist/tools/email-graph-query.d.ts +22 -0
  232. package/payload/platform/plugins/email/mcp/dist/tools/email-graph-query.d.ts.map +1 -0
  233. package/payload/platform/plugins/email/mcp/dist/tools/email-graph-query.js +188 -0
  234. package/payload/platform/plugins/email/mcp/dist/tools/email-graph-query.js.map +1 -0
  235. package/payload/platform/plugins/email/mcp/dist/tools/email-otp-extract.d.ts +15 -0
  236. package/payload/platform/plugins/email/mcp/dist/tools/email-otp-extract.d.ts.map +1 -0
  237. package/payload/platform/plugins/email/mcp/dist/tools/email-otp-extract.js +142 -0
  238. package/payload/platform/plugins/email/mcp/dist/tools/email-otp-extract.js.map +1 -0
  239. package/payload/platform/plugins/email/mcp/dist/tools/email-read.d.ts +14 -0
  240. package/payload/platform/plugins/email/mcp/dist/tools/email-read.d.ts.map +1 -0
  241. package/payload/platform/plugins/email/mcp/dist/tools/email-read.js +75 -0
  242. package/payload/platform/plugins/email/mcp/dist/tools/email-read.js.map +1 -0
  243. package/payload/platform/plugins/email/mcp/dist/tools/email-reply.d.ts +10 -0
  244. package/payload/platform/plugins/email/mcp/dist/tools/email-reply.d.ts.map +1 -0
  245. package/payload/platform/plugins/email/mcp/dist/tools/email-reply.js +83 -0
  246. package/payload/platform/plugins/email/mcp/dist/tools/email-reply.js.map +1 -0
  247. package/payload/platform/plugins/email/mcp/dist/tools/email-search.d.ts +15 -0
  248. package/payload/platform/plugins/email/mcp/dist/tools/email-search.d.ts.map +1 -0
  249. package/payload/platform/plugins/email/mcp/dist/tools/email-search.js +63 -0
  250. package/payload/platform/plugins/email/mcp/dist/tools/email-search.js.map +1 -0
  251. package/payload/platform/plugins/email/mcp/dist/tools/email-send.d.ts +10 -0
  252. package/payload/platform/plugins/email/mcp/dist/tools/email-send.d.ts.map +1 -0
  253. package/payload/platform/plugins/email/mcp/dist/tools/email-send.js +25 -0
  254. package/payload/platform/plugins/email/mcp/dist/tools/email-send.js.map +1 -0
  255. package/payload/platform/plugins/email/mcp/dist/tools/email-setup.d.ts +22 -0
  256. package/payload/platform/plugins/email/mcp/dist/tools/email-setup.d.ts.map +1 -0
  257. package/payload/platform/plugins/email/mcp/dist/tools/email-setup.js +183 -0
  258. package/payload/platform/plugins/email/mcp/dist/tools/email-setup.js.map +1 -0
  259. package/payload/platform/plugins/email/mcp/dist/tools/email-status.d.ts +6 -0
  260. package/payload/platform/plugins/email/mcp/dist/tools/email-status.d.ts.map +1 -0
  261. package/payload/platform/plugins/email/mcp/dist/tools/email-status.js +43 -0
  262. package/payload/platform/plugins/email/mcp/dist/tools/email-status.js.map +1 -0
  263. package/payload/platform/plugins/email/mcp/package.json +23 -0
  264. package/payload/platform/plugins/memory/PLUGIN.md +52 -0
  265. package/payload/platform/plugins/memory/mcp/dist/index.d.ts +2 -0
  266. package/payload/platform/plugins/memory/mcp/dist/index.d.ts.map +1 -0
  267. package/payload/platform/plugins/memory/mcp/dist/index.js +899 -0
  268. package/payload/platform/plugins/memory/mcp/dist/index.js.map +1 -0
  269. package/payload/platform/plugins/memory/mcp/dist/lib/attachments.d.ts +37 -0
  270. package/payload/platform/plugins/memory/mcp/dist/lib/attachments.d.ts.map +1 -0
  271. package/payload/platform/plugins/memory/mcp/dist/lib/attachments.js +68 -0
  272. package/payload/platform/plugins/memory/mcp/dist/lib/attachments.js.map +1 -0
  273. package/payload/platform/plugins/memory/mcp/dist/lib/document-hierarchy.d.ts +31 -0
  274. package/payload/platform/plugins/memory/mcp/dist/lib/document-hierarchy.d.ts.map +1 -0
  275. package/payload/platform/plugins/memory/mcp/dist/lib/document-hierarchy.js +62 -0
  276. package/payload/platform/plugins/memory/mcp/dist/lib/document-hierarchy.js.map +1 -0
  277. package/payload/platform/plugins/memory/mcp/dist/lib/embeddings.d.ts +3 -0
  278. package/payload/platform/plugins/memory/mcp/dist/lib/embeddings.d.ts.map +1 -0
  279. package/payload/platform/plugins/memory/mcp/dist/lib/embeddings.js +29 -0
  280. package/payload/platform/plugins/memory/mcp/dist/lib/embeddings.js.map +1 -0
  281. package/payload/platform/plugins/memory/mcp/dist/lib/neo4j.d.ts +5 -0
  282. package/payload/platform/plugins/memory/mcp/dist/lib/neo4j.d.ts.map +1 -0
  283. package/payload/platform/plugins/memory/mcp/dist/lib/neo4j.js +34 -0
  284. package/payload/platform/plugins/memory/mcp/dist/lib/neo4j.js.map +1 -0
  285. package/payload/platform/plugins/memory/mcp/dist/lib/semantic-chunker.d.ts +61 -0
  286. package/payload/platform/plugins/memory/mcp/dist/lib/semantic-chunker.d.ts.map +1 -0
  287. package/payload/platform/plugins/memory/mcp/dist/lib/semantic-chunker.js +266 -0
  288. package/payload/platform/plugins/memory/mcp/dist/lib/semantic-chunker.js.map +1 -0
  289. package/payload/platform/plugins/memory/mcp/dist/lib/semantic-chunker.test.d.ts +2 -0
  290. package/payload/platform/plugins/memory/mcp/dist/lib/semantic-chunker.test.d.ts.map +1 -0
  291. package/payload/platform/plugins/memory/mcp/dist/lib/semantic-chunker.test.js +233 -0
  292. package/payload/platform/plugins/memory/mcp/dist/lib/semantic-chunker.test.js.map +1 -0
  293. package/payload/platform/plugins/memory/mcp/dist/tools/memory-delete.d.ts +19 -0
  294. package/payload/platform/plugins/memory/mcp/dist/tools/memory-delete.d.ts.map +1 -0
  295. package/payload/platform/plugins/memory/mcp/dist/tools/memory-delete.js +98 -0
  296. package/payload/platform/plugins/memory/mcp/dist/tools/memory-delete.js.map +1 -0
  297. package/payload/platform/plugins/memory/mcp/dist/tools/memory-edit-attachment.d.ts +17 -0
  298. package/payload/platform/plugins/memory/mcp/dist/tools/memory-edit-attachment.d.ts.map +1 -0
  299. package/payload/platform/plugins/memory/mcp/dist/tools/memory-edit-attachment.js +92 -0
  300. package/payload/platform/plugins/memory/mcp/dist/tools/memory-edit-attachment.js.map +1 -0
  301. package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest-extract.d.ts +40 -0
  302. package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest-extract.d.ts.map +1 -0
  303. package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest-extract.js +116 -0
  304. package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest-extract.js.map +1 -0
  305. package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest-web.d.ts +20 -0
  306. package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest-web.d.ts.map +1 -0
  307. package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest-web.js +108 -0
  308. package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest-web.js.map +1 -0
  309. package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest.d.ts +35 -0
  310. package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest.d.ts.map +1 -0
  311. package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest.js +233 -0
  312. package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest.js.map +1 -0
  313. package/payload/platform/plugins/memory/mcp/dist/tools/memory-list-attachments.d.ts +17 -0
  314. package/payload/platform/plugins/memory/mcp/dist/tools/memory-list-attachments.d.ts.map +1 -0
  315. package/payload/platform/plugins/memory/mcp/dist/tools/memory-list-attachments.js +86 -0
  316. package/payload/platform/plugins/memory/mcp/dist/tools/memory-list-attachments.js.map +1 -0
  317. package/payload/platform/plugins/memory/mcp/dist/tools/memory-read-attachment.d.ts +12 -0
  318. package/payload/platform/plugins/memory/mcp/dist/tools/memory-read-attachment.d.ts.map +1 -0
  319. package/payload/platform/plugins/memory/mcp/dist/tools/memory-read-attachment.js +100 -0
  320. package/payload/platform/plugins/memory/mcp/dist/tools/memory-read-attachment.js.map +1 -0
  321. package/payload/platform/plugins/memory/mcp/dist/tools/memory-reindex.d.ts +8 -0
  322. package/payload/platform/plugins/memory/mcp/dist/tools/memory-reindex.d.ts.map +1 -0
  323. package/payload/platform/plugins/memory/mcp/dist/tools/memory-reindex.js +71 -0
  324. package/payload/platform/plugins/memory/mcp/dist/tools/memory-reindex.js.map +1 -0
  325. package/payload/platform/plugins/memory/mcp/dist/tools/memory-rename-attachment.d.ts +13 -0
  326. package/payload/platform/plugins/memory/mcp/dist/tools/memory-rename-attachment.d.ts.map +1 -0
  327. package/payload/platform/plugins/memory/mcp/dist/tools/memory-rename-attachment.js +63 -0
  328. package/payload/platform/plugins/memory/mcp/dist/tools/memory-rename-attachment.js.map +1 -0
  329. package/payload/platform/plugins/memory/mcp/dist/tools/memory-search.d.ts +34 -0
  330. package/payload/platform/plugins/memory/mcp/dist/tools/memory-search.d.ts.map +1 -0
  331. package/payload/platform/plugins/memory/mcp/dist/tools/memory-search.js +380 -0
  332. package/payload/platform/plugins/memory/mcp/dist/tools/memory-search.js.map +1 -0
  333. package/payload/platform/plugins/memory/mcp/dist/tools/memory-update.d.ts +13 -0
  334. package/payload/platform/plugins/memory/mcp/dist/tools/memory-update.d.ts.map +1 -0
  335. package/payload/platform/plugins/memory/mcp/dist/tools/memory-update.js +62 -0
  336. package/payload/platform/plugins/memory/mcp/dist/tools/memory-update.js.map +1 -0
  337. package/payload/platform/plugins/memory/mcp/dist/tools/memory-write.d.ts +21 -0
  338. package/payload/platform/plugins/memory/mcp/dist/tools/memory-write.d.ts.map +1 -0
  339. package/payload/platform/plugins/memory/mcp/dist/tools/memory-write.js +60 -0
  340. package/payload/platform/plugins/memory/mcp/dist/tools/memory-write.js.map +1 -0
  341. package/payload/platform/plugins/memory/mcp/dist/tools/profile-delete.d.ts +13 -0
  342. package/payload/platform/plugins/memory/mcp/dist/tools/profile-delete.d.ts.map +1 -0
  343. package/payload/platform/plugins/memory/mcp/dist/tools/profile-delete.js +18 -0
  344. package/payload/platform/plugins/memory/mcp/dist/tools/profile-delete.js.map +1 -0
  345. package/payload/platform/plugins/memory/mcp/dist/tools/profile-read.d.ts +41 -0
  346. package/payload/platform/plugins/memory/mcp/dist/tools/profile-read.d.ts.map +1 -0
  347. package/payload/platform/plugins/memory/mcp/dist/tools/profile-read.js +192 -0
  348. package/payload/platform/plugins/memory/mcp/dist/tools/profile-read.js.map +1 -0
  349. package/payload/platform/plugins/memory/mcp/dist/tools/profile-update.d.ts +21 -0
  350. package/payload/platform/plugins/memory/mcp/dist/tools/profile-update.d.ts.map +1 -0
  351. package/payload/platform/plugins/memory/mcp/dist/tools/profile-update.js +235 -0
  352. package/payload/platform/plugins/memory/mcp/dist/tools/profile-update.js.map +1 -0
  353. package/payload/platform/plugins/memory/mcp/package.json +19 -0
  354. package/payload/platform/plugins/memory/references/schema-base.md +102 -0
  355. package/payload/platform/plugins/memory/references/schema-creator.md +35 -0
  356. package/payload/platform/plugins/memory/references/schema-estate-agent.md +35 -0
  357. package/payload/platform/plugins/memory/references/schema-food-beverage.md +32 -0
  358. package/payload/platform/plugins/memory/references/schema-hospitality.md +31 -0
  359. package/payload/platform/plugins/memory/references/schema-logistics.md +30 -0
  360. package/payload/platform/plugins/memory/references/schema-professional-services.md +33 -0
  361. package/payload/platform/plugins/memory/references/schema-retail.md +33 -0
  362. package/payload/platform/plugins/memory/references/schema-trades.md +36 -0
  363. package/payload/platform/plugins/memory/skills/conversational-memory.md +99 -0
  364. package/payload/platform/plugins/projects/PLUGIN.md +87 -0
  365. package/payload/platform/plugins/projects/references/investigation.md +63 -0
  366. package/payload/platform/plugins/projects/references/retrospective.md +71 -0
  367. package/payload/platform/plugins/projects/references/review.md +51 -0
  368. package/payload/platform/plugins/projects/references/sprint.md +168 -0
  369. package/payload/platform/plugins/sales/PLUGIN.md +106 -0
  370. package/payload/platform/plugins/sales/references/close-tracking.md +69 -0
  371. package/payload/platform/plugins/sales/references/comparisons.md +99 -0
  372. package/payload/platform/plugins/sales/references/competitive-positioning.md +51 -0
  373. package/payload/platform/plugins/sales/references/faq.md +62 -0
  374. package/payload/platform/plugins/sales/references/objection-handling.md +157 -0
  375. package/payload/platform/plugins/sales/references/pricing.md +71 -0
  376. package/payload/platform/plugins/scheduling/PLUGIN.md +79 -0
  377. package/payload/platform/plugins/scheduling/mcp/dist/index.d.ts +2 -0
  378. package/payload/platform/plugins/scheduling/mcp/dist/index.d.ts.map +1 -0
  379. package/payload/platform/plugins/scheduling/mcp/dist/index.js +201 -0
  380. package/payload/platform/plugins/scheduling/mcp/dist/index.js.map +1 -0
  381. package/payload/platform/plugins/scheduling/mcp/dist/lib/embedding.d.ts +2 -0
  382. package/payload/platform/plugins/scheduling/mcp/dist/lib/embedding.d.ts.map +1 -0
  383. package/payload/platform/plugins/scheduling/mcp/dist/lib/embedding.js +19 -0
  384. package/payload/platform/plugins/scheduling/mcp/dist/lib/embedding.js.map +1 -0
  385. package/payload/platform/plugins/scheduling/mcp/dist/lib/neo4j.d.ts +5 -0
  386. package/payload/platform/plugins/scheduling/mcp/dist/lib/neo4j.d.ts.map +1 -0
  387. package/payload/platform/plugins/scheduling/mcp/dist/lib/neo4j.js +34 -0
  388. package/payload/platform/plugins/scheduling/mcp/dist/lib/neo4j.js.map +1 -0
  389. package/payload/platform/plugins/scheduling/mcp/dist/scripts/check-due-events.d.ts +20 -0
  390. package/payload/platform/plugins/scheduling/mcp/dist/scripts/check-due-events.d.ts.map +1 -0
  391. package/payload/platform/plugins/scheduling/mcp/dist/scripts/check-due-events.js +475 -0
  392. package/payload/platform/plugins/scheduling/mcp/dist/scripts/check-due-events.js.map +1 -0
  393. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-cancel.d.ts +7 -0
  394. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-cancel.d.ts.map +1 -0
  395. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-cancel.js +23 -0
  396. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-cancel.js.map +1 -0
  397. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-event.d.ts +23 -0
  398. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-event.d.ts.map +1 -0
  399. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-event.js +107 -0
  400. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-event.js.map +1 -0
  401. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-get.d.ts +25 -0
  402. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-get.d.ts.map +1 -0
  403. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-get.js +53 -0
  404. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-get.js.map +1 -0
  405. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-list.d.ts +20 -0
  406. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-list.d.ts.map +1 -0
  407. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-list.js +58 -0
  408. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-list.js.map +1 -0
  409. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-update.d.ts +18 -0
  410. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-update.d.ts.map +1 -0
  411. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-update.js +167 -0
  412. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-update.js.map +1 -0
  413. package/payload/platform/plugins/scheduling/mcp/package.json +21 -0
  414. package/payload/platform/plugins/tasks/.claude-plugin/plugin.json +18 -0
  415. package/payload/platform/plugins/tasks/.mcp.json +13 -0
  416. package/payload/platform/plugins/tasks/PLUGIN.md +56 -0
  417. package/payload/platform/plugins/tasks/mcp/dist/index.d.ts +2 -0
  418. package/payload/platform/plugins/tasks/mcp/dist/index.d.ts.map +1 -0
  419. package/payload/platform/plugins/tasks/mcp/dist/index.js +287 -0
  420. package/payload/platform/plugins/tasks/mcp/dist/index.js.map +1 -0
  421. package/payload/platform/plugins/tasks/mcp/dist/lib/embeddings.d.ts +7 -0
  422. package/payload/platform/plugins/tasks/mcp/dist/lib/embeddings.d.ts.map +1 -0
  423. package/payload/platform/plugins/tasks/mcp/dist/lib/embeddings.js +24 -0
  424. package/payload/platform/plugins/tasks/mcp/dist/lib/embeddings.js.map +1 -0
  425. package/payload/platform/plugins/tasks/mcp/dist/lib/neo4j.d.ts +5 -0
  426. package/payload/platform/plugins/tasks/mcp/dist/lib/neo4j.d.ts.map +1 -0
  427. package/payload/platform/plugins/tasks/mcp/dist/lib/neo4j.js +34 -0
  428. package/payload/platform/plugins/tasks/mcp/dist/lib/neo4j.js.map +1 -0
  429. package/payload/platform/plugins/tasks/mcp/dist/tools/session-list.d.ts +20 -0
  430. package/payload/platform/plugins/tasks/mcp/dist/tools/session-list.d.ts.map +1 -0
  431. package/payload/platform/plugins/tasks/mcp/dist/tools/session-list.js +37 -0
  432. package/payload/platform/plugins/tasks/mcp/dist/tools/session-list.js.map +1 -0
  433. package/payload/platform/plugins/tasks/mcp/dist/tools/session-name.d.ts +6 -0
  434. package/payload/platform/plugins/tasks/mcp/dist/tools/session-name.d.ts.map +1 -0
  435. package/payload/platform/plugins/tasks/mcp/dist/tools/session-name.js +13 -0
  436. package/payload/platform/plugins/tasks/mcp/dist/tools/session-name.js.map +1 -0
  437. package/payload/platform/plugins/tasks/mcp/dist/tools/task-complete.d.ts +16 -0
  438. package/payload/platform/plugins/tasks/mcp/dist/tools/task-complete.d.ts.map +1 -0
  439. package/payload/platform/plugins/tasks/mcp/dist/tools/task-complete.js +33 -0
  440. package/payload/platform/plugins/tasks/mcp/dist/tools/task-complete.js.map +1 -0
  441. package/payload/platform/plugins/tasks/mcp/dist/tools/task-create.d.ts +18 -0
  442. package/payload/platform/plugins/tasks/mcp/dist/tools/task-create.d.ts.map +1 -0
  443. package/payload/platform/plugins/tasks/mcp/dist/tools/task-create.js +55 -0
  444. package/payload/platform/plugins/tasks/mcp/dist/tools/task-create.js.map +1 -0
  445. package/payload/platform/plugins/tasks/mcp/dist/tools/task-get.d.ts +19 -0
  446. package/payload/platform/plugins/tasks/mcp/dist/tools/task-get.d.ts.map +1 -0
  447. package/payload/platform/plugins/tasks/mcp/dist/tools/task-get.js +51 -0
  448. package/payload/platform/plugins/tasks/mcp/dist/tools/task-get.js.map +1 -0
  449. package/payload/platform/plugins/tasks/mcp/dist/tools/task-list.d.ts +18 -0
  450. package/payload/platform/plugins/tasks/mcp/dist/tools/task-list.d.ts.map +1 -0
  451. package/payload/platform/plugins/tasks/mcp/dist/tools/task-list.js +66 -0
  452. package/payload/platform/plugins/tasks/mcp/dist/tools/task-list.js.map +1 -0
  453. package/payload/platform/plugins/tasks/mcp/dist/tools/task-ready.d.ts +21 -0
  454. package/payload/platform/plugins/tasks/mcp/dist/tools/task-ready.d.ts.map +1 -0
  455. package/payload/platform/plugins/tasks/mcp/dist/tools/task-ready.js +54 -0
  456. package/payload/platform/plugins/tasks/mcp/dist/tools/task-ready.js.map +1 -0
  457. package/payload/platform/plugins/tasks/mcp/dist/tools/task-relate.d.ts +12 -0
  458. package/payload/platform/plugins/tasks/mcp/dist/tools/task-relate.d.ts.map +1 -0
  459. package/payload/platform/plugins/tasks/mcp/dist/tools/task-relate.js +31 -0
  460. package/payload/platform/plugins/tasks/mcp/dist/tools/task-relate.js.map +1 -0
  461. package/payload/platform/plugins/tasks/mcp/dist/tools/task-update.d.ts +11 -0
  462. package/payload/platform/plugins/tasks/mcp/dist/tools/task-update.d.ts.map +1 -0
  463. package/payload/platform/plugins/tasks/mcp/dist/tools/task-update.js +62 -0
  464. package/payload/platform/plugins/tasks/mcp/dist/tools/task-update.js.map +1 -0
  465. package/payload/platform/plugins/tasks/mcp/package.json +20 -0
  466. package/payload/platform/plugins/waitlist/PLUGIN.md +63 -0
  467. package/payload/platform/plugins/waitlist/mcp/dist/index.d.ts +2 -0
  468. package/payload/platform/plugins/waitlist/mcp/dist/index.d.ts.map +1 -0
  469. package/payload/platform/plugins/waitlist/mcp/dist/index.js +276 -0
  470. package/payload/platform/plugins/waitlist/mcp/dist/index.js.map +1 -0
  471. package/payload/platform/plugins/waitlist/mcp/dist/lib/anthropic.d.ts +23 -0
  472. package/payload/platform/plugins/waitlist/mcp/dist/lib/anthropic.d.ts.map +1 -0
  473. package/payload/platform/plugins/waitlist/mcp/dist/lib/anthropic.js +115 -0
  474. package/payload/platform/plugins/waitlist/mcp/dist/lib/anthropic.js.map +1 -0
  475. package/payload/platform/plugins/waitlist/mcp/dist/lib/embedding.d.ts +3 -0
  476. package/payload/platform/plugins/waitlist/mcp/dist/lib/embedding.d.ts.map +1 -0
  477. package/payload/platform/plugins/waitlist/mcp/dist/lib/embedding.js +48 -0
  478. package/payload/platform/plugins/waitlist/mcp/dist/lib/embedding.js.map +1 -0
  479. package/payload/platform/plugins/waitlist/mcp/dist/lib/neo4j.d.ts +5 -0
  480. package/payload/platform/plugins/waitlist/mcp/dist/lib/neo4j.d.ts.map +1 -0
  481. package/payload/platform/plugins/waitlist/mcp/dist/lib/neo4j.js +34 -0
  482. package/payload/platform/plugins/waitlist/mcp/dist/lib/neo4j.js.map +1 -0
  483. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-extract.d.ts +12 -0
  484. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-extract.d.ts.map +1 -0
  485. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-extract.js +197 -0
  486. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-extract.js.map +1 -0
  487. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-list.d.ts +22 -0
  488. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-list.d.ts.map +1 -0
  489. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-list.js +57 -0
  490. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-list.js.map +1 -0
  491. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-persist.d.ts +60 -0
  492. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-persist.d.ts.map +1 -0
  493. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-persist.js +342 -0
  494. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-persist.js.map +1 -0
  495. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-review.d.ts +18 -0
  496. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-review.d.ts.map +1 -0
  497. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-review.js +80 -0
  498. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-review.js.map +1 -0
  499. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-scan.d.ts +27 -0
  500. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-scan.d.ts.map +1 -0
  501. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-scan.js +40 -0
  502. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-scan.js.map +1 -0
  503. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-setup.d.ts +31 -0
  504. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-setup.d.ts.map +1 -0
  505. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-setup.js +336 -0
  506. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-setup.js.map +1 -0
  507. package/payload/platform/plugins/waitlist/mcp/package.json +21 -0
  508. package/payload/platform/plugins/workflows/.claude-plugin/plugin.json +17 -0
  509. package/payload/platform/plugins/workflows/.mcp.json +12 -0
  510. package/payload/platform/plugins/workflows/PLUGIN.md +187 -0
  511. package/payload/platform/plugins/workflows/mcp/dist/index.d.ts +2 -0
  512. package/payload/platform/plugins/workflows/mcp/dist/index.d.ts.map +1 -0
  513. package/payload/platform/plugins/workflows/mcp/dist/index.js +408 -0
  514. package/payload/platform/plugins/workflows/mcp/dist/index.js.map +1 -0
  515. package/payload/platform/plugins/workflows/mcp/dist/lib/embeddings.d.ts +2 -0
  516. package/payload/platform/plugins/workflows/mcp/dist/lib/embeddings.d.ts.map +1 -0
  517. package/payload/platform/plugins/workflows/mcp/dist/lib/embeddings.js +19 -0
  518. package/payload/platform/plugins/workflows/mcp/dist/lib/embeddings.js.map +1 -0
  519. package/payload/platform/plugins/workflows/mcp/dist/lib/llm-call.d.ts +48 -0
  520. package/payload/platform/plugins/workflows/mcp/dist/lib/llm-call.d.ts.map +1 -0
  521. package/payload/platform/plugins/workflows/mcp/dist/lib/llm-call.js +281 -0
  522. package/payload/platform/plugins/workflows/mcp/dist/lib/llm-call.js.map +1 -0
  523. package/payload/platform/plugins/workflows/mcp/dist/lib/neo4j.d.ts +5 -0
  524. package/payload/platform/plugins/workflows/mcp/dist/lib/neo4j.d.ts.map +1 -0
  525. package/payload/platform/plugins/workflows/mcp/dist/lib/neo4j.js +34 -0
  526. package/payload/platform/plugins/workflows/mcp/dist/lib/neo4j.js.map +1 -0
  527. package/payload/platform/plugins/workflows/mcp/dist/lib/step-resolver.d.ts +71 -0
  528. package/payload/platform/plugins/workflows/mcp/dist/lib/step-resolver.d.ts.map +1 -0
  529. package/payload/platform/plugins/workflows/mcp/dist/lib/step-resolver.js +183 -0
  530. package/payload/platform/plugins/workflows/mcp/dist/lib/step-resolver.js.map +1 -0
  531. package/payload/platform/plugins/workflows/mcp/dist/lib/validate-capabilities.d.ts +24 -0
  532. package/payload/platform/plugins/workflows/mcp/dist/lib/validate-capabilities.d.ts.map +1 -0
  533. package/payload/platform/plugins/workflows/mcp/dist/lib/validate-capabilities.js +60 -0
  534. package/payload/platform/plugins/workflows/mcp/dist/lib/validate-capabilities.js.map +1 -0
  535. package/payload/platform/plugins/workflows/mcp/dist/tools/workflow-create.d.ts +35 -0
  536. package/payload/platform/plugins/workflows/mcp/dist/tools/workflow-create.d.ts.map +1 -0
  537. package/payload/platform/plugins/workflows/mcp/dist/tools/workflow-create.js +124 -0
  538. package/payload/platform/plugins/workflows/mcp/dist/tools/workflow-create.js.map +1 -0
  539. package/payload/platform/plugins/workflows/mcp/dist/tools/workflow-delete.d.ts +6 -0
  540. package/payload/platform/plugins/workflows/mcp/dist/tools/workflow-delete.d.ts.map +1 -0
  541. package/payload/platform/plugins/workflows/mcp/dist/tools/workflow-delete.js +25 -0
  542. package/payload/platform/plugins/workflows/mcp/dist/tools/workflow-delete.js.map +1 -0
  543. package/payload/platform/plugins/workflows/mcp/dist/tools/workflow-execute.d.ts +50 -0
  544. package/payload/platform/plugins/workflows/mcp/dist/tools/workflow-execute.d.ts.map +1 -0
  545. package/payload/platform/plugins/workflows/mcp/dist/tools/workflow-execute.js +383 -0
  546. package/payload/platform/plugins/workflows/mcp/dist/tools/workflow-execute.js.map +1 -0
  547. package/payload/platform/plugins/workflows/mcp/dist/tools/workflow-get.d.ts +27 -0
  548. package/payload/platform/plugins/workflows/mcp/dist/tools/workflow-get.d.ts.map +1 -0
  549. package/payload/platform/plugins/workflows/mcp/dist/tools/workflow-get.js +49 -0
  550. package/payload/platform/plugins/workflows/mcp/dist/tools/workflow-get.js.map +1 -0
  551. package/payload/platform/plugins/workflows/mcp/dist/tools/workflow-list.d.ts +16 -0
  552. package/payload/platform/plugins/workflows/mcp/dist/tools/workflow-list.d.ts.map +1 -0
  553. package/payload/platform/plugins/workflows/mcp/dist/tools/workflow-list.js +43 -0
  554. package/payload/platform/plugins/workflows/mcp/dist/tools/workflow-list.js.map +1 -0
  555. package/payload/platform/plugins/workflows/mcp/dist/tools/workflow-runs.d.ts +27 -0
  556. package/payload/platform/plugins/workflows/mcp/dist/tools/workflow-runs.d.ts.map +1 -0
  557. package/payload/platform/plugins/workflows/mcp/dist/tools/workflow-runs.js +64 -0
  558. package/payload/platform/plugins/workflows/mcp/dist/tools/workflow-runs.js.map +1 -0
  559. package/payload/platform/plugins/workflows/mcp/dist/tools/workflow-update.d.ts +11 -0
  560. package/payload/platform/plugins/workflows/mcp/dist/tools/workflow-update.d.ts.map +1 -0
  561. package/payload/platform/plugins/workflows/mcp/dist/tools/workflow-update.js +162 -0
  562. package/payload/platform/plugins/workflows/mcp/dist/tools/workflow-update.js.map +1 -0
  563. package/payload/platform/plugins/workflows/mcp/dist/tools/workflow-validate.d.ts +13 -0
  564. package/payload/platform/plugins/workflows/mcp/dist/tools/workflow-validate.d.ts.map +1 -0
  565. package/payload/platform/plugins/workflows/mcp/dist/tools/workflow-validate.js +53 -0
  566. package/payload/platform/plugins/workflows/mcp/dist/tools/workflow-validate.js.map +1 -0
  567. package/payload/platform/plugins/workflows/mcp/package.json +20 -0
  568. package/payload/platform/plugins/workflows/mcp/test-runner.mjs +710 -0
  569. package/payload/platform/plugins/workflows/mcp/test-workflows.sh +73 -0
  570. package/payload/platform/plugins/workflows/skills/workflow-manager/skill.md +88 -0
  571. package/payload/platform/scripts/hooks/pre-commit +111 -0
  572. package/payload/platform/scripts/resume-tunnel.sh +86 -0
  573. package/payload/platform/scripts/seed-neo4j.sh +273 -0
  574. package/payload/platform/scripts/setup.sh +177 -0
  575. package/payload/platform/scripts/vnc.sh +127 -0
  576. package/payload/platform/templates/account.json +13 -0
  577. package/payload/platform/templates/agents/admin/AGENTS.md +10 -0
  578. package/payload/platform/templates/agents/admin/IDENTITY.md +124 -0
  579. package/payload/platform/templates/agents/admin/LEARNINGS.md +21 -0
  580. package/payload/platform/templates/agents/admin/SOUL.md +1 -0
  581. package/payload/platform/templates/agents/public/IDENTITY.md +18 -0
  582. package/payload/platform/templates/agents/public/SOUL.md +7 -0
  583. package/payload/platform/templates/agents/public/config.json +9 -0
  584. package/payload/platform/templates/specialists/.claude-plugin/plugin.json +4 -0
  585. package/payload/platform/templates/specialists/agents/admin-specialist.md +13 -0
  586. package/payload/platform/templates/specialists/agents/browser-specialist.md +35 -0
  587. package/payload/platform/templates/specialists/agents/document-specialist.md +70 -0
  588. package/payload/platform/templates/specialists/agents/memory-specialist.md +13 -0
  589. package/payload/platform/templates/specialists/agents/researcher.md +52 -0
  590. package/payload/platform/templates/specialists/agents/scheduler.md +11 -0
  591. package/payload/platform/tsconfig.base.json +18 -0
  592. package/payload/premium-plugins/real-agency/PLUGIN.md +101 -0
  593. package/payload/premium-plugins/real-agency/references/agent-performance-atomic-habits.md +52 -0
  594. package/payload/premium-plugins/real-agency/references/agent-performance-daily-routine-scorecard.md +104 -0
  595. package/payload/premium-plugins/real-agency/references/agent-performance-hp6-model.md +63 -0
  596. package/payload/premium-plugins/real-agency/references/agent-performance-twelve-week-year.md +71 -0
  597. package/payload/premium-plugins/real-agency/references/bespoke-coaching-coaching-boundaries.md +56 -0
  598. package/payload/premium-plugins/real-agency/references/bespoke-coaching-feedback-framework.md +61 -0
  599. package/payload/premium-plugins/real-agency/references/bespoke-coaching-performance-framework.md +109 -0
  600. package/payload/premium-plugins/real-agency/references/bootstrap-onboarding-flow.md +63 -0
  601. package/payload/premium-plugins/real-agency/references/business-growth-buy-back-your-time.md +37 -0
  602. package/payload/premium-plugins/real-agency/references/business-growth-firewave-gost-scorecards.md +14 -0
  603. package/payload/premium-plugins/real-agency/references/business-growth-keller-org-model.md +17 -0
  604. package/payload/premium-plugins/real-agency/references/business-growth-lencioni-team-models.md +22 -0
  605. package/payload/premium-plugins/real-agency/references/business-growth-listing-management-system.md +11 -0
  606. package/payload/premium-plugins/real-agency/references/business-growth-net-figure-form.md +11 -0
  607. package/payload/premium-plugins/real-agency/references/business-growth-serhant-bizinbox-notes.md +13 -0
  608. package/payload/premium-plugins/real-agency/references/business-growth-team-roles-commission.md +14 -0
  609. package/payload/premium-plugins/real-agency/references/business-growth-va-2026-ops.md +43 -0
  610. package/payload/premium-plugins/real-agency/references/business-growth-wingman-structure.md +13 -0
  611. package/payload/premium-plugins/real-agency/references/business-operations-crm-systems.md +57 -0
  612. package/payload/premium-plugins/real-agency/references/business-operations-hiring-guide.md +59 -0
  613. package/payload/premium-plugins/real-agency/references/business-operations-impact-framework.md +47 -0
  614. package/payload/premium-plugins/real-agency/references/business-operations-minutes-equal-money.md +55 -0
  615. package/payload/premium-plugins/real-agency/references/business-operations-team-management.md +48 -0
  616. package/payload/premium-plugins/real-agency/references/buyer-management-buyer-qualification-questions.md +16 -0
  617. package/payload/premium-plugins/real-agency/references/buyer-management-buyer-qualification.md +59 -0
  618. package/payload/premium-plugins/real-agency/references/buyer-management-buyer-scripts.md +63 -0
  619. package/payload/premium-plugins/real-agency/references/buyer-management-buyer-working-scripts.md +54 -0
  620. package/payload/premium-plugins/real-agency/references/buyer-management-feedback-collection.md +42 -0
  621. package/payload/premium-plugins/real-agency/references/buyer-management-offer-capture.md +38 -0
  622. package/payload/premium-plugins/real-agency/references/buyer-management-viewing-booking.md +32 -0
  623. package/payload/premium-plugins/real-agency/references/buyer-management-viewing-management.md +52 -0
  624. package/payload/premium-plugins/real-agency/references/buyer-seller-guides-care-fees-guide.md +68 -0
  625. package/payload/premium-plugins/real-agency/references/buyer-seller-guides-divorce-sales-guide.md +61 -0
  626. package/payload/premium-plugins/real-agency/references/buyer-seller-guides-downsizing-guide.md +45 -0
  627. package/payload/premium-plugins/real-agency/references/buyer-seller-guides-first-time-buyers.md +92 -0
  628. package/payload/premium-plugins/real-agency/references/buyer-seller-guides-first-time-sellers.md +78 -0
  629. package/payload/premium-plugins/real-agency/references/buyer-seller-guides-probate-guide.md +53 -0
  630. package/payload/premium-plugins/real-agency/references/buyer-seller-guides-upsizing-guide.md +41 -0
  631. package/payload/premium-plugins/real-agency/references/coaching-toolkit-coaching-exercises.md +86 -0
  632. package/payload/premium-plugins/real-agency/references/coaching-toolkit-goal-setting.md +78 -0
  633. package/payload/premium-plugins/real-agency/references/coaching-toolkit-one-to-one-framework.md +92 -0
  634. package/payload/premium-plugins/real-agency/references/coaching-toolkit-soi-workbook.md +103 -0
  635. package/payload/premium-plugins/real-agency/references/content-directory-module-delivery.md +65 -0
  636. package/payload/premium-plugins/real-agency/references/content-directory-progress-tracking.md +47 -0
  637. package/payload/premium-plugins/real-agency/references/exp-partnership-12-reasons.md +39 -0
  638. package/payload/premium-plugins/real-agency/references/exp-partnership-95-5-system.md +66 -0
  639. package/payload/premium-plugins/real-agency/references/exp-partnership-agent-attraction-scripts.md +90 -0
  640. package/payload/premium-plugins/real-agency/references/exp-partnership-business-partnership.md +92 -0
  641. package/payload/premium-plugins/real-agency/references/exp-partnership-exp-model-overview.md +66 -0
  642. package/payload/premium-plugins/real-agency/references/exp-partnership-model-comparison.md +66 -0
  643. package/payload/premium-plugins/real-agency/references/exp-partnership-revenue-share-explained.md +57 -0
  644. package/payload/premium-plugins/real-agency/references/home-preparation-kerb-appeal.md +38 -0
  645. package/payload/premium-plugins/real-agency/references/home-preparation-photo-day.md +59 -0
  646. package/payload/premium-plugins/real-agency/references/home-preparation-situational-tips.md +50 -0
  647. package/payload/premium-plugins/real-agency/references/home-preparation-staging-guide.md +52 -0
  648. package/payload/premium-plugins/real-agency/references/lead-nurturing-buyer-search-letter.md +28 -0
  649. package/payload/premium-plugins/real-agency/references/lead-nurturing-buyer-search-letters.md +37 -0
  650. package/payload/premium-plugins/real-agency/references/lead-nurturing-database-reactivation.md +30 -0
  651. package/payload/premium-plugins/real-agency/references/lead-nurturing-email-nurture-sequences.md +45 -0
  652. package/payload/premium-plugins/real-agency/references/lead-nurturing-facebook-referrals.md +30 -0
  653. package/payload/premium-plugins/real-agency/references/lead-nurturing-firewave-email-nurture-sequences.md +41 -0
  654. package/payload/premium-plugins/real-agency/references/lead-nurturing-keller-33-touch.md +34 -0
  655. package/payload/premium-plugins/real-agency/references/lead-nurturing-neighbour-letters.md +31 -0
  656. package/payload/premium-plugins/real-agency/references/lead-nurturing-neighbour-notification-letter.md +20 -0
  657. package/payload/premium-plugins/real-agency/references/lead-nurturing-ofi-follow-up-dialogue.md +22 -0
  658. package/payload/premium-plugins/real-agency/references/lead-nurturing-ofi-follow-up.md +26 -0
  659. package/payload/premium-plugins/real-agency/references/lead-nurturing-serhant-three-fs-plus.md +21 -0
  660. package/payload/premium-plugins/real-agency/references/lead-nurturing-sharran-10x10x10.md +18 -0
  661. package/payload/premium-plugins/real-agency/references/lead-nurturing-sms-templates.md +40 -0
  662. package/payload/premium-plugins/real-agency/references/lead-nurturing-sphere-of-influence-notes.md +34 -0
  663. package/payload/premium-plugins/real-agency/references/lead-nurturing-sphere-of-influence.md +60 -0
  664. package/payload/premium-plugins/real-agency/references/lead-nurturing-tom-panos-sms-templates.md +59 -0
  665. package/payload/premium-plugins/real-agency/references/listing-presentation-booking-script.md +51 -0
  666. package/payload/premium-plugins/real-agency/references/listing-presentation-objection-scripts.md +193 -0
  667. package/payload/premium-plugins/real-agency/references/listing-presentation-penhaul-presentation.md +123 -0
  668. package/payload/premium-plugins/real-agency/references/listing-presentation-pre-listing-kit.md +139 -0
  669. package/payload/premium-plugins/real-agency/references/listing-presentation-set-to-sell.md +55 -0
  670. package/payload/premium-plugins/real-agency/references/listing-presentation-sharran-frameworks.md +107 -0
  671. package/payload/premium-plugins/real-agency/references/negotiation-deal-saving.md +47 -0
  672. package/payload/premium-plugins/real-agency/references/negotiation-negotiation-deep-guide.md +64 -0
  673. package/payload/premium-plugins/real-agency/references/negotiation-negotiation-prep-principles.md +29 -0
  674. package/payload/premium-plugins/real-agency/references/negotiation-negotiation-techniques.md +42 -0
  675. package/payload/premium-plugins/real-agency/references/negotiation-offer-presentation.md +43 -0
  676. package/payload/premium-plugins/real-agency/references/personal-branding-attraction-agent-notes.md +31 -0
  677. package/payload/premium-plugins/real-agency/references/personal-branding-attraction-agent.md +58 -0
  678. package/payload/premium-plugins/real-agency/references/personal-branding-authenticity-boundaries.md +28 -0
  679. package/payload/premium-plugins/real-agency/references/personal-branding-become-a-brand-leader-notes.md +19 -0
  680. package/payload/premium-plugins/real-agency/references/personal-branding-blast-formula.md +42 -0
  681. package/payload/premium-plugins/real-agency/references/personal-branding-brand-leader.md +48 -0
  682. package/payload/premium-plugins/real-agency/references/personal-branding-brand-strategy-system.md +59 -0
  683. package/payload/premium-plugins/real-agency/references/personal-branding-content-engine.md +49 -0
  684. package/payload/premium-plugins/real-agency/references/personal-branding-firewave-blast-and-blogging.md +23 -0
  685. package/payload/premium-plugins/real-agency/references/personal-branding-gary-v-content.md +52 -0
  686. package/payload/premium-plugins/real-agency/references/personal-branding-gary-v-principles.md +20 -0
  687. package/payload/premium-plugins/real-agency/references/personal-branding-oversubscribed-positioning.md +18 -0
  688. package/payload/premium-plugins/real-agency/references/personal-branding-platforms.md +41 -0
  689. package/payload/premium-plugins/real-agency/references/personal-branding-priestley-oversubscribed.md +54 -0
  690. package/payload/premium-plugins/real-agency/references/personal-branding-storeys-style-examples.md +25 -0
  691. package/payload/premium-plugins/real-agency/references/personal-branding-visual-identity.md +27 -0
  692. package/payload/premium-plugins/real-agency/references/property-marketing-auction-report-template.md +41 -0
  693. package/payload/premium-plugins/real-agency/references/property-marketing-coming-soon-campaign.md +43 -0
  694. package/payload/premium-plugins/real-agency/references/property-marketing-direct-mail-templates.md +121 -0
  695. package/payload/premium-plugins/real-agency/references/property-marketing-eoi-form-template.md +62 -0
  696. package/payload/premium-plugins/real-agency/references/property-marketing-monthly-scorecard.md +63 -0
  697. package/payload/premium-plugins/real-agency/references/prospecting-database-matching.md +30 -0
  698. package/payload/premium-plugins/real-agency/references/prospecting-database-value.md +53 -0
  699. package/payload/premium-plugins/real-agency/references/prospecting-prospecting-dialogues.md +24 -0
  700. package/payload/premium-plugins/real-agency/references/prospecting-reactivation.md +34 -0
  701. package/payload/premium-plugins/real-agency/references/sales-closer-serhant-emotion-stages.md +36 -0
  702. package/payload/premium-plugins/real-agency/references/sales-discovery-chris-voss-discovery.md +88 -0
  703. package/payload/premium-plugins/real-agency/references/sales-discovery-firewave-gost-journey.md +68 -0
  704. package/payload/premium-plugins/real-agency/references/sales-discovery-phil-jones-openers.md +78 -0
  705. package/payload/premium-plugins/real-agency/references/sales-discovery-pre-listing-checklist.md +77 -0
  706. package/payload/premium-plugins/real-agency/references/sales-discovery-serhant-improv.md +22 -0
  707. package/payload/premium-plugins/real-agency/references/sales-discovery-tom-ferry-discovery.md +103 -0
  708. package/payload/premium-plugins/real-agency/references/sales-discovery-vendor-motivation-competitor.md +52 -0
  709. package/payload/premium-plugins/real-agency/references/sales-negotiation-chris-voss-negotiation.md +138 -0
  710. package/payload/premium-plugins/real-agency/references/sales-negotiation-phil-jones-price-words.md +68 -0
  711. package/payload/premium-plugins/real-agency/references/sales-negotiation-serhant-negotiation-plus.md +55 -0
  712. package/payload/premium-plugins/real-agency/references/sales-negotiation-tom-panos-commission-pricing.md +102 -0
  713. package/payload/premium-plugins/real-agency/references/sales-negotiation-tony-morris-questioning.md +71 -0
  714. package/payload/premium-plugins/real-agency/references/sales-progression-conveyancing-guide.md +54 -0
  715. package/payload/premium-plugins/real-agency/references/sales-progression-transaction-tracking.md +66 -0
  716. package/payload/premium-plugins/real-agency/references/serhant-training-agent-training-guide.md +70 -0
  717. package/payload/premium-plugins/real-agency/references/serhant-training-business-in-a-box.md +72 -0
  718. package/payload/premium-plugins/real-agency/references/serhant-training-buyers-guide.md +53 -0
  719. package/payload/premium-plugins/real-agency/references/serhant-training-codo-method.md +72 -0
  720. package/payload/premium-plugins/real-agency/references/serhant-training-website-planning-guide.md +79 -0
  721. package/payload/premium-plugins/real-agency/references/vendor-communication-fee-protection-and-agenda.md +28 -0
  722. package/payload/premium-plugins/real-agency/references/vendor-communication-listing-scripts.md +44 -0
  723. package/payload/premium-plugins/real-agency/references/vendor-communication-negotiation-deep-guide.md +70 -0
  724. package/payload/premium-plugins/real-agency/references/vendor-communication-price-alignment-scripts.md +33 -0
  725. package/payload/premium-plugins/real-agency/references/vendor-communication-price-alignment.md +34 -0
  726. package/payload/premium-plugins/real-agency/references/vendor-communication-scenario-scripts.md +38 -0
  727. package/payload/premium-plugins/real-agency/references/vendor-communication-seller-engagement.md +51 -0
  728. package/payload/premium-plugins/real-agency/references/vendor-communication-valuation-booking.md +76 -0
  729. package/payload/premium-plugins/real-agency/references/vendor-communication-vendor-scripts.md +63 -0
  730. package/payload/premium-plugins/real-agency/references/vendor-communication-vendor-updates.md +41 -0
  731. package/payload/premium-plugins/real-agency/skills/agent-performance.md +367 -0
  732. package/payload/premium-plugins/real-agency/skills/bespoke-coaching.md +28 -0
  733. package/payload/premium-plugins/real-agency/skills/bootstrap.md +26 -0
  734. package/payload/premium-plugins/real-agency/skills/business-growth.md +138 -0
  735. package/payload/premium-plugins/real-agency/skills/business-operations.md +32 -0
  736. package/payload/premium-plugins/real-agency/skills/buyer-feedback.md +109 -0
  737. package/payload/premium-plugins/real-agency/skills/buyer-management.md +41 -0
  738. package/payload/premium-plugins/real-agency/skills/buyer-seller-guides.md +407 -0
  739. package/payload/premium-plugins/real-agency/skills/coaching-toolkit.md +419 -0
  740. package/payload/premium-plugins/real-agency/skills/content-directory.md +39 -0
  741. package/payload/premium-plugins/real-agency/skills/exp-partnership.md +52 -0
  742. package/payload/premium-plugins/real-agency/skills/home-preparation.md +28 -0
  743. package/payload/premium-plugins/real-agency/skills/lead-nurturing.md +143 -0
  744. package/payload/premium-plugins/real-agency/skills/listing-presentation.md +286 -0
  745. package/payload/premium-plugins/real-agency/skills/negotiation.md +34 -0
  746. package/payload/premium-plugins/real-agency/skills/personal-branding.md +117 -0
  747. package/payload/premium-plugins/real-agency/skills/property-enquiry.md +126 -0
  748. package/payload/premium-plugins/real-agency/skills/property-marketing.md +337 -0
  749. package/payload/premium-plugins/real-agency/skills/prospecting.md +33 -0
  750. package/payload/premium-plugins/real-agency/skills/sales-closer.md +27 -0
  751. package/payload/premium-plugins/real-agency/skills/sales-discovery.md +34 -0
  752. package/payload/premium-plugins/real-agency/skills/sales-negotiation.md +31 -0
  753. package/payload/premium-plugins/real-agency/skills/sales-progression.md +27 -0
  754. package/payload/premium-plugins/real-agency/skills/serhant-training.md +410 -0
  755. package/payload/premium-plugins/real-agency/skills/valuation-booking.md +182 -0
  756. package/payload/premium-plugins/real-agency/skills/vendor-communication.md +42 -0
  757. package/payload/premium-plugins/real-agency/skills/vendor-updates.md +153 -0
  758. package/payload/premium-plugins/real-agency/skills/viewing-management.md +111 -0
  759. package/payload/premium-plugins/teaching/PLUGIN.md +58 -0
  760. package/payload/premium-plugins/teaching/references/assessment.md +70 -0
  761. package/payload/premium-plugins/teaching/references/classroom-conduct.md +43 -0
  762. package/payload/premium-plugins/teaching/references/context-gathering.md +41 -0
  763. package/payload/premium-plugins/teaching/references/disaggregation.md +49 -0
  764. package/payload/premium-plugins/teaching/references/materials.md +116 -0
  765. package/payload/premium-plugins/teaching/references/plan-structure.md +94 -0
  766. package/payload/premium-plugins/teaching/references/teaching-modes.md +83 -0
  767. package/payload/premium-plugins/teaching/skills/interactive-tutor.md +59 -0
  768. package/payload/premium-plugins/teaching/skills/lesson-planner.md +48 -0
  769. package/payload/premium-plugins/teaching/skills/study-pack-builder.md +52 -0
  770. package/payload/premium-plugins/writer-craft/PLUGIN.md +88 -0
  771. package/payload/premium-plugins/writer-craft/agents/writer-craft--manuscript-reviewer.md +92 -0
  772. package/payload/premium-plugins/writer-craft/references/audience-analysis.md +73 -0
  773. package/payload/premium-plugins/writer-craft/references/blueprinting-and-scene-cards.md +118 -0
  774. package/payload/premium-plugins/writer-craft/references/blueprinting-exercises.md +118 -0
  775. package/payload/premium-plugins/writer-craft/references/blueprinting-process.md +128 -0
  776. package/payload/premium-plugins/writer-craft/references/book-and-chapter-models.md +77 -0
  777. package/payload/premium-plugins/writer-craft/references/cause-effect-setup-payoff.md +79 -0
  778. package/payload/premium-plugins/writer-craft/references/citation-rules.md +103 -0
  779. package/payload/premium-plugins/writer-craft/references/conflict-escalation.md +81 -0
  780. package/payload/premium-plugins/writer-craft/references/copyediting.md +73 -0
  781. package/payload/premium-plugins/writer-craft/references/crafting-persuasive-story.md +76 -0
  782. package/payload/premium-plugins/writer-craft/references/developmental-editing.md +85 -0
  783. package/payload/premium-plugins/writer-craft/references/genre-specific-editing.md +78 -0
  784. package/payload/premium-plugins/writer-craft/references/hooking-readers.md +67 -0
  785. package/payload/premium-plugins/writer-craft/references/indirect-narration.md +72 -0
  786. package/payload/premium-plugins/writer-craft/references/inner-issue-and-protagonist-goal.md +66 -0
  787. package/payload/premium-plugins/writer-craft/references/journal-article-models.md +74 -0
  788. package/payload/premium-plugins/writer-craft/references/line-editing.md +55 -0
  789. package/payload/premium-plugins/writer-craft/references/misbelief-desire-worldview.md +87 -0
  790. package/payload/premium-plugins/writer-craft/references/neurochemistry-of-engagement.md +94 -0
  791. package/payload/premium-plugins/writer-craft/references/origin-scenes-and-escalation.md +82 -0
  792. package/payload/premium-plugins/writer-craft/references/other-source-models.md +146 -0
  793. package/payload/premium-plugins/writer-craft/references/persuasion-case-studies.md +67 -0
  794. package/payload/premium-plugins/writer-craft/references/pov-types-and-voice.md +91 -0
  795. package/payload/premium-plugins/writer-craft/references/prose-review-checklist.md +112 -0
  796. package/payload/premium-plugins/writer-craft/references/protagonist-filter.md +71 -0
  797. package/payload/premium-plugins/writer-craft/references/punctuation-and-grammar.md +72 -0
  798. package/payload/premium-plugins/writer-craft/references/reference-list-rules.md +70 -0
  799. package/payload/premium-plugins/writer-craft/references/repetition.md +71 -0
  800. package/payload/premium-plugins/writer-craft/references/review-manuscript-checklist.md +119 -0
  801. package/payload/premium-plugins/writer-craft/references/scene-analysis-framework.md +95 -0
  802. package/payload/premium-plugins/writer-craft/references/self-editing.md +89 -0
  803. package/payload/premium-plugins/writer-craft/references/sound-and-rhythm.md +64 -0
  804. package/payload/premium-plugins/writer-craft/references/tense-and-person.md +85 -0
  805. package/payload/premium-plugins/writer-craft/references/transformation-framework.md +86 -0
  806. package/payload/premium-plugins/writer-craft/references/word-economy.md +93 -0
  807. package/payload/premium-plugins/writer-craft/skills/citation-style.md +94 -0
  808. package/payload/premium-plugins/writer-craft/skills/editorial-practice.md +108 -0
  809. package/payload/premium-plugins/writer-craft/skills/persuasive-storytelling.md +114 -0
  810. package/payload/premium-plugins/writer-craft/skills/point-of-view.md +97 -0
  811. package/payload/premium-plugins/writer-craft/skills/prose-craft.md +100 -0
  812. package/payload/premium-plugins/writer-craft/skills/reader-engagement.md +100 -0
  813. package/payload/premium-plugins/writer-craft/skills/review-manuscript.md +111 -0
  814. package/payload/premium-plugins/writer-craft/skills/review-prose.md +99 -0
  815. package/payload/premium-plugins/writer-craft/skills/review-scene.md +99 -0
  816. package/payload/premium-plugins/writer-craft/skills/story-architecture.md +106 -0
  817. package/payload/premium-plugins/writer-craft/skills/story-blueprint.md +133 -0
@@ -0,0 +1,698 @@
1
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
3
+ import { z } from "zod";
4
+ import * as cloudflared from "./lib/cloudflared.js";
5
+ const server = new McpServer({
6
+ name: "cloudflare",
7
+ version: "0.2.0",
8
+ });
9
+ // ===================================================================
10
+ // Token management
11
+ // ===================================================================
12
+ server.tool("cf-set-token", "Set the Cloudflare API token. Validates the token against the Cloudflare API, discovers the account ID, and persists both to ~/.cloudflare/api-token. Required scopes: Zone:DNS:Edit, Account:Cloudflare Tunnel:Edit, Zone:Zone:Read.", {
13
+ token: z
14
+ .string()
15
+ .describe("The Cloudflare API token to store"),
16
+ }, async ({ token }) => {
17
+ const trimmed = token.trim();
18
+ if (!trimmed) {
19
+ return {
20
+ content: [
21
+ {
22
+ type: "text",
23
+ text: "No token provided. Create a scoped API token in the Cloudflare dashboard (My Profile → API Tokens → Create Token) with scopes: Zone:DNS:Edit, Account:Cloudflare Tunnel:Edit, Zone:Zone:Read.",
24
+ },
25
+ ],
26
+ isError: true,
27
+ };
28
+ }
29
+ try {
30
+ const result = await cloudflared.validateToken(trimmed);
31
+ if (!result.valid) {
32
+ return {
33
+ content: [
34
+ {
35
+ type: "text",
36
+ text: `Token validation failed: ${result.error}`,
37
+ },
38
+ ],
39
+ isError: true,
40
+ };
41
+ }
42
+ if (!result.accountId) {
43
+ return {
44
+ content: [
45
+ {
46
+ type: "text",
47
+ text: `${result.error}`,
48
+ },
49
+ ],
50
+ isError: true,
51
+ };
52
+ }
53
+ cloudflared.writeToken(trimmed, result.accountId);
54
+ return {
55
+ content: [
56
+ {
57
+ type: "text",
58
+ text: `API token validated and saved.\n\n Account: ${result.accountName ?? result.accountId}\n Token stored: ~/.cloudflare/api-token (mode 0600)\n\nReady for tunnel operations.`,
59
+ },
60
+ ],
61
+ };
62
+ }
63
+ catch (err) {
64
+ return {
65
+ content: [
66
+ {
67
+ type: "text",
68
+ text: `Token validation failed: ${err instanceof Error ? err.message : String(err)}`,
69
+ },
70
+ ],
71
+ isError: true,
72
+ };
73
+ }
74
+ });
75
+ server.tool("tunnel-login", "Authenticate with Cloudflare via `cloudflared tunnel login`. Two-phase: (1) if no cert.pem exists, spawns the login process and returns an auth URL for the user to open; (2) if cert.pem exists, derives API credentials from it and stores them. Idempotent — safe to call repeatedly.", {}, async () => {
76
+ try {
77
+ // Phase: Already authenticated
78
+ const auth = await cloudflared.validateAuth();
79
+ if (auth.hasToken && auth.tokenValid) {
80
+ return {
81
+ content: [
82
+ {
83
+ type: "text",
84
+ text: `Already authenticated. API token is valid.\n\nTo re-authenticate, delete ~/.cloudflare/api-token and ~/.cloudflared/cert.pem, then call tunnel-login again.`,
85
+ },
86
+ ],
87
+ };
88
+ }
89
+ // Phase: cert.pem exists — derive credentials
90
+ if (cloudflared.hasCert()) {
91
+ const creds = cloudflared.parseCertPem();
92
+ if (!creds) {
93
+ return {
94
+ content: [
95
+ {
96
+ type: "text",
97
+ text: `cert.pem exists at ~/.cloudflared/cert.pem but could not extract API credentials from it. The file format may have changed.\n\nFallback: create a scoped API token manually in the Cloudflare dashboard and use cf-set-token to store it. Required scopes: Zone:DNS:Edit, Account:Cloudflare Tunnel:Edit, Zone:Zone:Read.`,
98
+ },
99
+ ],
100
+ isError: true,
101
+ };
102
+ }
103
+ // Validate the cert-derived token
104
+ const validation = await cloudflared.validateToken(creds.apiToken);
105
+ if (!validation.valid) {
106
+ return {
107
+ content: [
108
+ {
109
+ type: "text",
110
+ text: `cert.pem credentials were extracted but the token was rejected by Cloudflare: ${validation.error}\n\nFallback: create a scoped API token manually in the Cloudflare dashboard and use cf-set-token to store it. Required scopes: Zone:DNS:Edit, Account:Cloudflare Tunnel:Edit, Zone:Zone:Read.`,
111
+ },
112
+ ],
113
+ isError: true,
114
+ };
115
+ }
116
+ // Use the account ID from validation (more reliable) or fall back to cert
117
+ const accountId = validation.accountId ?? creds.accountId;
118
+ cloudflared.writeToken(creds.apiToken, accountId);
119
+ return {
120
+ content: [
121
+ {
122
+ type: "text",
123
+ text: `Credentials derived from cert.pem and validated.\n\n Account: ${validation.accountName ?? accountId}\n Token stored: ~/.cloudflare/api-token (mode 0600)\n\nReady for tunnel operations.`,
124
+ },
125
+ ],
126
+ };
127
+ }
128
+ // Phase: No cert.pem — spawn cloudflared tunnel login
129
+ if (!cloudflared.isInstalled()) {
130
+ return {
131
+ content: [
132
+ {
133
+ type: "text",
134
+ text: "cloudflared is not installed. Run tunnel-install first.",
135
+ },
136
+ ],
137
+ isError: true,
138
+ };
139
+ }
140
+ const result = await cloudflared.tunnelLogin();
141
+ return {
142
+ content: [
143
+ {
144
+ type: "text",
145
+ text: `Cloudflare login started. Open this URL to authorize:\n\n${result.authUrl}\n\nThe user must open this URL and click Authorize. After authorization, cert.pem will be written to ~/.cloudflared/cert.pem.\n\nCall tunnel-login again after the user has authorized — it will detect the cert.pem and derive API credentials automatically.`,
146
+ },
147
+ ],
148
+ };
149
+ }
150
+ catch (err) {
151
+ return {
152
+ content: [
153
+ {
154
+ type: "text",
155
+ text: `Login failed: ${err instanceof Error ? err.message : String(err)}`,
156
+ },
157
+ ],
158
+ isError: true,
159
+ };
160
+ }
161
+ });
162
+ server.tool("cf-zone-status", "List all zones (domains) on the Cloudflare account with their activation status and assigned nameservers.", {}, async () => {
163
+ try {
164
+ const zones = await cloudflared.listZones();
165
+ if (zones.length === 0) {
166
+ return {
167
+ content: [
168
+ {
169
+ type: "text",
170
+ text: "No zones found on this account. Add a domain to Cloudflare first.",
171
+ },
172
+ ],
173
+ };
174
+ }
175
+ const lines = zones.map((z) => ` ${z.name} — ${z.status}${z.nameservers.length > 0 ? `\n Nameservers: ${z.nameservers.join(", ")}` : ""}`);
176
+ return {
177
+ content: [
178
+ {
179
+ type: "text",
180
+ text: `Zones on this account:\n\n${lines.join("\n\n")}`,
181
+ },
182
+ ],
183
+ };
184
+ }
185
+ catch (err) {
186
+ return {
187
+ content: [
188
+ {
189
+ type: "text",
190
+ text: `Failed: ${err instanceof Error ? err.message : String(err)}`,
191
+ },
192
+ ],
193
+ isError: true,
194
+ };
195
+ }
196
+ });
197
+ // ===================================================================
198
+ // Cloudflare Tunnel tools
199
+ // ===================================================================
200
+ server.tool("tunnel-status", "Full Cloudflare Tunnel status: installed, version, token valid, running, domain, URLs.", {
201
+ domain: z
202
+ .string()
203
+ .optional()
204
+ .describe("The bare domain (e.g. 'maxy.bot'). If omitted, domain info is excluded."),
205
+ }, async ({ domain }) => {
206
+ try {
207
+ const status = await cloudflared.getStatus(domain);
208
+ // If a domain is known, check if the subdomains actually resolve
209
+ const effectiveDomain = domain ?? status.domain;
210
+ let dnsWarning = "";
211
+ if (effectiveDomain) {
212
+ const dns = await import("node:dns/promises");
213
+ const resolver = new dns.Resolver();
214
+ resolver.setServers(["8.8.8.8", "1.1.1.1"]);
215
+ const checks = [];
216
+ for (const sub of [
217
+ `admin.${effectiveDomain}`,
218
+ `public.${effectiveDomain}`,
219
+ ]) {
220
+ try {
221
+ await resolver.resolve4(sub);
222
+ }
223
+ catch {
224
+ checks.push(sub);
225
+ }
226
+ }
227
+ if (checks.length > 0) {
228
+ dnsWarning = `\n\nDNS NOT RESOLVING: ${checks.join(", ")} do not resolve (checked via Google DNS 8.8.8.8). Possible causes: (1) CNAME records not created — run tunnel-create to create them; (2) nameservers not pointing to Cloudflare — check cf-zone-status; (3) DNS propagation in progress — wait a few minutes and re-check.`;
229
+ }
230
+ }
231
+ return {
232
+ content: [
233
+ {
234
+ type: "text",
235
+ text: JSON.stringify(status, null, 2) + dnsWarning,
236
+ },
237
+ ],
238
+ };
239
+ }
240
+ catch (err) {
241
+ return {
242
+ content: [
243
+ {
244
+ type: "text",
245
+ text: `Failed: ${err instanceof Error ? err.message : String(err)}`,
246
+ },
247
+ ],
248
+ isError: true,
249
+ };
250
+ }
251
+ });
252
+ server.tool("tunnel-install", "Install the cloudflared binary if not already present.", {}, async () => {
253
+ const { execFileSync } = await import("node:child_process");
254
+ if (cloudflared.isInstalled()) {
255
+ const v = cloudflared.version();
256
+ return {
257
+ content: [
258
+ {
259
+ type: "text",
260
+ text: `cloudflared is already installed (v${v}).`,
261
+ },
262
+ ],
263
+ };
264
+ }
265
+ try {
266
+ const arch = process.arch === "arm64" ? "arm64" : "amd64";
267
+ const debUrl = `https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-${arch}.deb`;
268
+ execFileSync("curl", ["-fsSL", debUrl, "-o", "/tmp/cloudflared.deb"], {
269
+ timeout: 60000,
270
+ });
271
+ execFileSync("sudo", ["dpkg", "-i", "/tmp/cloudflared.deb"], {
272
+ timeout: 30000,
273
+ });
274
+ execFileSync("rm", ["-f", "/tmp/cloudflared.deb"]);
275
+ return {
276
+ content: [
277
+ {
278
+ type: "text",
279
+ text: `cloudflared installed (v${cloudflared.version()}).`,
280
+ },
281
+ ],
282
+ };
283
+ }
284
+ catch (err) {
285
+ return {
286
+ content: [
287
+ {
288
+ type: "text",
289
+ text: `Installation failed: ${err instanceof Error ? err.message : String(err)}`,
290
+ },
291
+ ],
292
+ isError: true,
293
+ };
294
+ }
295
+ });
296
+ server.tool("tunnel-create", "Create a Cloudflare Tunnel and route DNS for admin.{domain} and public.{domain}. Uses the Cloudflare SDK — requires a valid API token (set via cf-set-token).", {
297
+ domain: z
298
+ .string()
299
+ .describe("The bare domain (e.g. 'maxy.bot'). Subdomains admin. and public. are created automatically."),
300
+ tunnelName: z
301
+ .string()
302
+ .optional()
303
+ .describe("Human-readable tunnel name (default: derived from domain)"),
304
+ }, async ({ domain, tunnelName }) => {
305
+ if (!cloudflared.hasToken()) {
306
+ return {
307
+ content: [
308
+ {
309
+ type: "text",
310
+ text: "No API token configured. Run cf-set-token first.",
311
+ },
312
+ ],
313
+ isError: true,
314
+ };
315
+ }
316
+ try {
317
+ const name = tunnelName ?? domain.replace(/\./g, "-");
318
+ // Create or reuse tunnel
319
+ const result = await cloudflared.createTunnel(name);
320
+ // Configure ingress rules on Cloudflare's edge
321
+ await cloudflared.configureTunnel(result.tunnelId, domain, 19200);
322
+ // Create DNS CNAME records
323
+ const zoneId = await cloudflared.getZoneId(domain);
324
+ const adminDns = await cloudflared.createDnsRecord(zoneId, `admin.${domain}`, result.tunnelId);
325
+ const publicDns = await cloudflared.createDnsRecord(zoneId, `public.${domain}`, result.tunnelId);
326
+ // Verify subdomains resolve via Google DNS
327
+ const dns = await import("node:dns/promises");
328
+ const resolver = new dns.Resolver();
329
+ resolver.setServers(["8.8.8.8", "1.1.1.1"]);
330
+ const dnsWarnings = [];
331
+ for (const sub of [`admin.${domain}`, `public.${domain}`]) {
332
+ try {
333
+ await resolver.resolve4(sub);
334
+ }
335
+ catch {
336
+ dnsWarnings.push(sub);
337
+ }
338
+ }
339
+ let dnsNote = "";
340
+ if (dnsWarnings.length > 0) {
341
+ dnsNote = `\n\nDNS WARNING: ${dnsWarnings.join(", ")} did not resolve via Google DNS (8.8.8.8). CNAME records were created via the Cloudflare API. This may be propagation delay (wait a few minutes and re-check) or the domain may not be Active on Cloudflare — run cf-zone-status to check.`;
342
+ }
343
+ const adminNote = adminDns.updated
344
+ ? "updated — was pointing to wrong tunnel"
345
+ : adminDns.existing
346
+ ? "already existed"
347
+ : "created";
348
+ const publicNote = publicDns.updated
349
+ ? "updated — was pointing to wrong tunnel"
350
+ : publicDns.existing
351
+ ? "already existed"
352
+ : "created";
353
+ return {
354
+ content: [
355
+ {
356
+ type: "text",
357
+ text: `Tunnel created.\n\n ID: ${result.tunnelId}\n Name: ${result.tunnelName}\n DNS: admin.${domain} → tunnel (${adminNote})\n DNS: public.${domain} → tunnel (${publicNote})\n Config: remotely managed (Cloudflare edge)\n\nUse tunnel-enable to start the tunnel.${dnsNote}`,
358
+ },
359
+ ],
360
+ };
361
+ }
362
+ catch (err) {
363
+ return {
364
+ content: [
365
+ {
366
+ type: "text",
367
+ text: `Create failed: ${err instanceof Error ? err.message : String(err)}`,
368
+ },
369
+ ],
370
+ isError: true,
371
+ };
372
+ }
373
+ });
374
+ server.tool("tunnel-enable", "Start the Cloudflare Tunnel process. The tunnel must be created first via tunnel-create. Fetches a connector token from the Cloudflare API and starts cloudflared with it. If tunnelId and domain are omitted, reads them from persisted tunnel state.", {
375
+ tunnelId: z.string().optional().describe("Tunnel UUID from tunnel-create. If omitted, reads from persisted tunnel state."),
376
+ domain: z.string().optional().describe("The bare domain (e.g. 'maxy.bot'). If omitted, reads from persisted tunnel state."),
377
+ }, async ({ tunnelId: tunnelIdParam, domain: domainParam }) => {
378
+ try {
379
+ // Resolve tunnelId and domain from params or persisted state
380
+ const tunnelId = tunnelIdParam ?? cloudflared.getPersistedTunnelId();
381
+ const domain = domainParam ?? cloudflared.getPersistedDomain();
382
+ if (!tunnelId) {
383
+ return {
384
+ content: [
385
+ {
386
+ type: "text",
387
+ text: "No tunnel ID provided and none found in persisted state. Run tunnel-create first to create a tunnel.",
388
+ },
389
+ ],
390
+ isError: true,
391
+ };
392
+ }
393
+ if (!domain) {
394
+ return {
395
+ content: [
396
+ {
397
+ type: "text",
398
+ text: "No domain provided and none found in persisted state. Run tunnel-create first to create a tunnel with a domain.",
399
+ },
400
+ ],
401
+ isError: true,
402
+ };
403
+ }
404
+ // GATE 1: Check if subdomains resolve (via Google DNS)
405
+ const dns = await import("node:dns/promises");
406
+ const resolver = new dns.Resolver();
407
+ resolver.setServers(["8.8.8.8", "1.1.1.1"]);
408
+ const unresolvedSubs = [];
409
+ for (const sub of [`admin.${domain}`, `public.${domain}`]) {
410
+ try {
411
+ await resolver.resolve4(sub);
412
+ }
413
+ catch {
414
+ unresolvedSubs.push(sub);
415
+ }
416
+ }
417
+ if (unresolvedSubs.length > 0) {
418
+ return {
419
+ content: [
420
+ {
421
+ type: "text",
422
+ text: `REFUSED: ${unresolvedSubs.join(", ")} do not resolve (checked via Google DNS). The tunnel URLs will not work.\n\nThis usually means the CNAME records for admin.${domain} and public.${domain} have not been created. Run tunnel-create with domain "${domain}" first — it creates the CNAME records in Cloudflare.\n\nIf tunnel-create has already been run, this may be DNS propagation (wait a few minutes) or the domain may not be Active on Cloudflare. Run cf-zone-status to check.\n\nDo not call tunnel-enable until the subdomains resolve.`,
423
+ },
424
+ ],
425
+ isError: true,
426
+ };
427
+ }
428
+ // GATE 2: Remote auth must be configured (verified via live API, not file check)
429
+ try {
430
+ const res = await fetch("http://127.0.0.1:19200/api/remote-auth/status", {
431
+ signal: AbortSignal.timeout(5000),
432
+ });
433
+ const body = await res.json();
434
+ if (!body.configured) {
435
+ return {
436
+ content: [
437
+ {
438
+ type: "text",
439
+ text: `REFUSED: Remote access password is not configured. The admin interface would be exposed to the internet without authentication.\n\nDirect the user to set a remote password in the browser at /__remote-auth/setup. Do NOT collect the password in chat.`,
440
+ },
441
+ ],
442
+ isError: true,
443
+ };
444
+ }
445
+ }
446
+ catch {
447
+ return {
448
+ content: [
449
+ {
450
+ type: "text",
451
+ text: `REFUSED: Cannot verify remote authentication — the web server at http://127.0.0.1:19200 is not reachable. The admin interface cannot be exposed without a running auth gate.\n\nEnsure the Maxy platform is running before enabling the tunnel.`,
452
+ },
453
+ ],
454
+ isError: true,
455
+ };
456
+ }
457
+ // GATE 3: API token must be valid
458
+ if (!cloudflared.hasToken()) {
459
+ return {
460
+ content: [
461
+ {
462
+ type: "text",
463
+ text: `REFUSED: No API token configured. Run cf-set-token first.`,
464
+ },
465
+ ],
466
+ isError: true,
467
+ };
468
+ }
469
+ // Fetch connector token from Cloudflare API
470
+ const connectorToken = await cloudflared.getConnectorToken(tunnelId);
471
+ // Start the tunnel daemon
472
+ cloudflared.startTunnel(connectorToken, tunnelId, domain);
473
+ // Wait up to 5 seconds to verify the process didn't immediately crash
474
+ for (let i = 0; i < 10; i++) {
475
+ await new Promise((r) => setTimeout(r, 500));
476
+ const status = await cloudflared.getStatus(domain);
477
+ if (!status.running) {
478
+ return {
479
+ content: [
480
+ {
481
+ type: "text",
482
+ text: `Tunnel process exited immediately after starting. Check ~/.maxy/logs/cloudflared.log for details.`,
483
+ },
484
+ ],
485
+ isError: true,
486
+ };
487
+ }
488
+ }
489
+ const status = await cloudflared.getStatus(domain);
490
+ // Programmatic verification — HTTP-check the public URL via Cloudflare's edge
491
+ let verified = false;
492
+ const publicUrl = `https://public.${domain}`;
493
+ for (let attempt = 0; attempt < 6; attempt++) {
494
+ if (attempt > 0)
495
+ await new Promise((r) => setTimeout(r, 5000));
496
+ try {
497
+ const res = await fetch(publicUrl, {
498
+ signal: AbortSignal.timeout(10000),
499
+ redirect: "manual",
500
+ });
501
+ if (res.status !== 530) {
502
+ verified = true;
503
+ break;
504
+ }
505
+ }
506
+ catch {
507
+ // network error — retry
508
+ }
509
+ }
510
+ if (!verified) {
511
+ return {
512
+ content: [
513
+ {
514
+ type: "text",
515
+ text: `Tunnel process is running (PID ${status.pid}) but https://public.${domain} returned HTTP 530 after 30s of retries. Cloudflare's edge cannot route traffic to this tunnel.\n\nCommon causes:\n 1. Stale DNS CNAME records pointing to a previous tunnel — run tunnel-create again to fix\n 2. UDP buffer too small for QUIC — check ~/.maxy/logs/cloudflared.log\n 3. Firewall blocking outbound QUIC to Cloudflare edge\n\nThe tunnel is NOT working. Do not report success.`,
516
+ },
517
+ ],
518
+ isError: true,
519
+ };
520
+ }
521
+ return {
522
+ content: [
523
+ {
524
+ type: "text",
525
+ text: `Tunnel started and verified.\n\n PID: ${status.pid}\n Admin: https://admin.${domain}\n Public: https://public.${domain}\n\nBoth URLs are reachable through Cloudflare's edge. The tunnel auto-starts on device reboot.`,
526
+ },
527
+ ],
528
+ };
529
+ }
530
+ catch (err) {
531
+ return {
532
+ content: [
533
+ {
534
+ type: "text",
535
+ text: `Enable failed: ${err instanceof Error ? err.message : String(err)}`,
536
+ },
537
+ ],
538
+ isError: true,
539
+ };
540
+ }
541
+ });
542
+ server.tool("tunnel-disable", "Stop the Cloudflare Tunnel process. Config is preserved for re-enabling.", {}, async () => {
543
+ try {
544
+ cloudflared.stopTunnel();
545
+ return {
546
+ content: [
547
+ {
548
+ type: "text",
549
+ text: "Tunnel stopped. Config preserved — use tunnel-enable to restart.",
550
+ },
551
+ ],
552
+ };
553
+ }
554
+ catch (err) {
555
+ return {
556
+ content: [
557
+ {
558
+ type: "text",
559
+ text: `Disable failed: ${err instanceof Error ? err.message : String(err)}`,
560
+ },
561
+ ],
562
+ isError: true,
563
+ };
564
+ }
565
+ });
566
+ server.tool("tunnel-add-hostname", "Add an alias hostname to an existing Cloudflare Tunnel for direct serving. Reads the current tunnel ingress config, appends the new hostname, creates a CNAME in the alias domain's zone pointing to the tunnel, and registers the alias so the web server treats it as a public hostname. The web server hot-reloads alias domains automatically — the new domain is active within seconds, no restart needed. Idempotent — safe to call again with the same hostname.", {
567
+ hostname: z
568
+ .string()
569
+ .describe("The alias domain to add (e.g. 'maxy.chat'). Must be an Active zone on the Cloudflare account."),
570
+ tunnelId: z
571
+ .string()
572
+ .describe("The tunnel UUID. Get this from tunnel-status."),
573
+ }, async ({ hostname, tunnelId }) => {
574
+ if (!cloudflared.hasToken()) {
575
+ return {
576
+ content: [
577
+ {
578
+ type: "text",
579
+ text: "No API token configured. Run cf-set-token first.",
580
+ },
581
+ ],
582
+ isError: true,
583
+ };
584
+ }
585
+ try {
586
+ // Step 1: Verify the alias domain's zone exists and is accessible
587
+ const zoneId = await cloudflared.getZoneId(hostname);
588
+ // Step 2: Add hostname to tunnel ingress (read-then-append)
589
+ const ingress = await cloudflared.addHostnameToIngress(tunnelId, hostname);
590
+ // Step 3: Create CNAME in the alias domain's zone
591
+ const dns = await cloudflared.createDnsRecord(zoneId, hostname, tunnelId);
592
+ // Step 4: Persist alias domain for web server recognition
593
+ cloudflared.saveAliasDomain(hostname);
594
+ // Build response
595
+ const ingressNote = ingress.alreadyPresent
596
+ ? "already in tunnel ingress"
597
+ : "added to tunnel ingress";
598
+ const dnsNote = dns.updated
599
+ ? "updated — was pointing to wrong tunnel"
600
+ : dns.existing
601
+ ? "already existed"
602
+ : "created";
603
+ return {
604
+ content: [
605
+ {
606
+ type: "text",
607
+ text: `Alias domain configured for direct serving.\n\n Hostname: ${hostname}\n Tunnel ingress: ${ingressNote}\n DNS CNAME: ${dnsNote} (→ ${tunnelId}.cfargotunnel.com)\n Web server: registered in alias-domains.json (hot-reloaded automatically)\n\nhttps://${hostname} is now active — the web server picks up the new alias domain within seconds. It serves the public chat directly — no redirect, URL stays as ${hostname}. Verify the URL to confirm.`,
608
+ },
609
+ ],
610
+ };
611
+ }
612
+ catch (err) {
613
+ return {
614
+ content: [
615
+ {
616
+ type: "text",
617
+ text: `Failed to add alias hostname: ${err instanceof Error ? err.message : String(err)}`,
618
+ },
619
+ ],
620
+ isError: true,
621
+ };
622
+ }
623
+ });
624
+ server.tool("dns-lookup", "Resolve DNS records for a hostname. Replaces dig/nslookup (not installed on Pi). Supports A, AAAA, CNAME, MX, TXT, NS, and SOA record types.", {
625
+ hostname: z
626
+ .string()
627
+ .describe("The hostname to resolve (e.g. 'admin.maxy.bot')"),
628
+ type: z
629
+ .enum(["A", "AAAA", "CNAME", "MX", "TXT", "NS", "SOA"])
630
+ .optional()
631
+ .describe("Record type (default: A)"),
632
+ nameserver: z
633
+ .string()
634
+ .optional()
635
+ .describe("Custom nameserver IP (default: Google 8.8.8.8 + Cloudflare 1.1.1.1)"),
636
+ }, async ({ hostname, type, nameserver }) => {
637
+ try {
638
+ const dns = await import("node:dns/promises");
639
+ const resolver = new dns.Resolver();
640
+ resolver.setServers(nameserver ? [nameserver] : ["8.8.8.8", "1.1.1.1"]);
641
+ const recordType = type ?? "A";
642
+ const results = {
643
+ hostname,
644
+ type: recordType,
645
+ };
646
+ switch (recordType) {
647
+ case "A": {
648
+ results.addresses = await resolver.resolve4(hostname);
649
+ break;
650
+ }
651
+ case "AAAA": {
652
+ results.addresses = await resolver.resolve6(hostname);
653
+ break;
654
+ }
655
+ case "CNAME": {
656
+ results.cnames = await resolver.resolveCname(hostname);
657
+ break;
658
+ }
659
+ case "MX": {
660
+ results.exchanges = await resolver.resolveMx(hostname);
661
+ break;
662
+ }
663
+ case "TXT": {
664
+ results.records = await resolver.resolveTxt(hostname);
665
+ break;
666
+ }
667
+ case "NS": {
668
+ results.nameservers = await resolver.resolveNs(hostname);
669
+ break;
670
+ }
671
+ case "SOA": {
672
+ results.soa = await resolver.resolveSoa(hostname);
673
+ break;
674
+ }
675
+ }
676
+ return {
677
+ content: [
678
+ { type: "text", text: JSON.stringify(results, null, 2) },
679
+ ],
680
+ };
681
+ }
682
+ catch (err) {
683
+ const msg = err instanceof Error ? err.message : String(err);
684
+ const code = err.code;
685
+ return {
686
+ content: [
687
+ {
688
+ type: "text",
689
+ text: `DNS lookup failed: ${msg}${code ? ` (${code})` : ""}\n\nCommon causes:\n- ENOTFOUND: hostname does not exist\n- ENODATA: no records of this type for hostname\n- ETIMEOUT: nameserver unreachable`,
690
+ },
691
+ ],
692
+ isError: true,
693
+ };
694
+ }
695
+ });
696
+ const transport = new StdioServerTransport();
697
+ await server.connect(transport);
698
+ //# sourceMappingURL=index.js.map