@rubytech/create-maxy-code 0.1.545 → 0.1.547

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 (260) hide show
  1. package/package.json +1 -1
  2. package/payload/platform/lib/mcp-spawn-tee/dist/index.js +11 -0
  3. package/payload/platform/lib/mcp-spawn-tee/dist/index.js.map +1 -1
  4. package/payload/platform/lib/mcp-spawn-tee/src/__tests__/spawn-tee.test.ts +39 -0
  5. package/payload/platform/lib/mcp-spawn-tee/src/index.ts +12 -0
  6. package/payload/platform/plugins/admin/lib/mcp-spawn-tee/index.js +11 -0
  7. package/payload/platform/plugins/admin/mcp/dist/index.js +32 -16
  8. package/payload/platform/plugins/admin/mcp/dist/index.js.map +1 -1
  9. package/payload/platform/plugins/admin/mcp/dist/tools/account-default-agent.d.ts +16 -0
  10. package/payload/platform/plugins/admin/mcp/dist/tools/account-default-agent.d.ts.map +1 -0
  11. package/payload/platform/plugins/admin/mcp/dist/tools/account-default-agent.js +21 -0
  12. package/payload/platform/plugins/admin/mcp/dist/tools/account-default-agent.js.map +1 -0
  13. package/payload/platform/plugins/admin/skills/platform-architecture/SKILL.md +38 -25
  14. package/payload/platform/plugins/admin/skills/whats-new/SKILL.md +9 -0
  15. package/payload/platform/plugins/aeo/lib/mcp-spawn-tee/index.js +11 -0
  16. package/payload/platform/plugins/browser/lib/mcp-spawn-tee/index.js +11 -0
  17. package/payload/platform/plugins/connector/lib/mcp-spawn-tee/index.js +11 -0
  18. package/payload/platform/plugins/contacts/lib/mcp-spawn-tee/index.js +11 -0
  19. package/payload/platform/plugins/docs/references/admin-ui.md +23 -0
  20. package/payload/platform/plugins/docs/references/channel-wake-and-prompt.md +14 -24
  21. package/payload/platform/plugins/email/lib/mcp-spawn-tee/index.js +11 -0
  22. package/payload/platform/plugins/filesystem/lib/mcp-spawn-tee/index.js +11 -0
  23. package/payload/platform/plugins/google/lib/mcp-spawn-tee/index.js +11 -0
  24. package/payload/platform/plugins/graph-viewer/lib/mcp-spawn-tee/index.js +11 -0
  25. package/payload/platform/plugins/ledger/lib/mcp-spawn-tee/index.js +11 -0
  26. package/payload/platform/plugins/memory/lib/mcp-spawn-tee/index.js +11 -0
  27. package/payload/platform/plugins/outlook/lib/mcp-spawn-tee/index.js +11 -0
  28. package/payload/platform/plugins/quickbooks/lib/mcp-spawn-tee/index.js +11 -0
  29. package/payload/platform/plugins/replicate/lib/mcp-spawn-tee/index.js +11 -0
  30. package/payload/platform/plugins/scheduling/lib/mcp-spawn-tee/index.js +11 -0
  31. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/routine-run.test.js +109 -1
  32. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/routine-run.test.js.map +1 -1
  33. package/payload/platform/plugins/scheduling/mcp/dist/lib/routine-run.d.ts +31 -0
  34. package/payload/platform/plugins/scheduling/mcp/dist/lib/routine-run.d.ts.map +1 -1
  35. package/payload/platform/plugins/scheduling/mcp/dist/lib/routine-run.js +116 -2
  36. package/payload/platform/plugins/scheduling/mcp/dist/lib/routine-run.js.map +1 -1
  37. package/payload/platform/plugins/scheduling/mcp/dist/scripts/reconcile-bookings.js +3 -2
  38. package/payload/platform/plugins/scheduling/mcp/dist/scripts/reconcile-bookings.js.map +1 -1
  39. package/payload/platform/plugins/storage-broker/lib/mcp-spawn-tee/index.js +11 -0
  40. package/payload/platform/plugins/telegram/lib/mcp-spawn-tee/index.js +11 -0
  41. package/payload/platform/plugins/url-get/lib/mcp-spawn-tee/index.js +11 -0
  42. package/payload/platform/plugins/voice-mirror/lib/mcp-spawn-tee/index.js +11 -0
  43. package/payload/platform/plugins/whatsapp/PLUGIN.md +0 -6
  44. package/payload/platform/plugins/whatsapp/lib/mcp-spawn-tee/index.js +11 -0
  45. package/payload/platform/plugins/whatsapp/mcp/dist/index.js +2 -34
  46. package/payload/platform/plugins/whatsapp/mcp/dist/index.js.map +1 -1
  47. package/payload/platform/plugins/work/lib/mcp-spawn-tee/index.js +11 -0
  48. package/payload/platform/plugins/workflows/lib/mcp-spawn-tee/index.js +11 -0
  49. package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.d.ts.map +1 -1
  50. package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.js +0 -1
  51. package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.js.map +1 -1
  52. package/payload/platform/services/claude-session-manager/dist/channel-mcp.d.ts +5 -0
  53. package/payload/platform/services/claude-session-manager/dist/channel-mcp.d.ts.map +1 -1
  54. package/payload/platform/services/claude-session-manager/dist/channel-mcp.js +16 -2
  55. package/payload/platform/services/claude-session-manager/dist/channel-mcp.js.map +1 -1
  56. package/payload/platform/services/claude-session-manager/dist/channel-spawn-tee.d.ts +34 -0
  57. package/payload/platform/services/claude-session-manager/dist/channel-spawn-tee.d.ts.map +1 -0
  58. package/payload/platform/services/claude-session-manager/dist/channel-spawn-tee.js +41 -0
  59. package/payload/platform/services/claude-session-manager/dist/channel-spawn-tee.js.map +1 -0
  60. package/payload/platform/services/claude-session-manager/dist/http-server.d.ts.map +1 -1
  61. package/payload/platform/services/claude-session-manager/dist/http-server.js +26 -1
  62. package/payload/platform/services/claude-session-manager/dist/http-server.js.map +1 -1
  63. package/payload/platform/services/claude-session-manager/dist/pty-spawner.d.ts.map +1 -1
  64. package/payload/platform/services/claude-session-manager/dist/pty-spawner.js +11 -0
  65. package/payload/platform/services/claude-session-manager/dist/pty-spawner.js.map +1 -1
  66. package/payload/platform/services/claude-session-manager/dist/telegram-channel-mcp.d.ts +5 -0
  67. package/payload/platform/services/claude-session-manager/dist/telegram-channel-mcp.d.ts.map +1 -1
  68. package/payload/platform/services/claude-session-manager/dist/telegram-channel-mcp.js +16 -2
  69. package/payload/platform/services/claude-session-manager/dist/telegram-channel-mcp.js.map +1 -1
  70. package/payload/platform/services/claude-session-manager/dist/wa-channel-mcp.d.ts +6 -0
  71. package/payload/platform/services/claude-session-manager/dist/wa-channel-mcp.d.ts.map +1 -1
  72. package/payload/platform/services/claude-session-manager/dist/wa-channel-mcp.js +17 -2
  73. package/payload/platform/services/claude-session-manager/dist/wa-channel-mcp.js.map +1 -1
  74. package/payload/platform/services/claude-session-manager/dist/webchat-channel-mcp.d.ts +5 -0
  75. package/payload/platform/services/claude-session-manager/dist/webchat-channel-mcp.d.ts.map +1 -1
  76. package/payload/platform/services/claude-session-manager/dist/webchat-channel-mcp.js +16 -2
  77. package/payload/platform/services/claude-session-manager/dist/webchat-channel-mcp.js.map +1 -1
  78. package/payload/platform/services/whatsapp-channel/dist/notification.d.ts +45 -18
  79. package/payload/platform/services/whatsapp-channel/dist/notification.d.ts.map +1 -1
  80. package/payload/platform/services/whatsapp-channel/dist/notification.js +25 -20
  81. package/payload/platform/services/whatsapp-channel/dist/notification.js.map +1 -1
  82. package/payload/platform/services/whatsapp-channel/dist/server.d.ts.map +1 -1
  83. package/payload/platform/services/whatsapp-channel/dist/server.js +69 -13
  84. package/payload/platform/services/whatsapp-channel/dist/server.js.map +1 -1
  85. package/payload/platform/services/whatsapp-channel/dist/targets.d.ts +15 -5
  86. package/payload/platform/services/whatsapp-channel/dist/targets.d.ts.map +1 -1
  87. package/payload/platform/services/whatsapp-channel/dist/targets.js +9 -5
  88. package/payload/platform/services/whatsapp-channel/dist/targets.js.map +1 -1
  89. package/payload/server/{chunk-CVUSUNXM.js → chunk-MHNHG3GL.js} +2 -4
  90. package/payload/server/{chunk-X2RRMHVV.js → chunk-Q33KT7YJ.js} +1 -1
  91. package/payload/server/{chunk-DU7GPDJJ.js → chunk-WGMIUXXG.js} +4 -0
  92. package/payload/server/{manager-TI2YJQVZ.js → manager-W32LVPCT.js} +2 -2
  93. package/payload/server/maxy-edge.js +2 -2
  94. package/payload/server/public/activity.html +5 -5
  95. package/payload/server/public/agents.html +4 -4
  96. package/payload/server/public/assets/{AdminLoginScreens-BGKtDqAk.js → AdminLoginScreens-Bjcs9ta9.js} +1 -1
  97. package/payload/server/public/assets/AdminLoginScreens-Bjcs9ta9.js.br +0 -0
  98. package/payload/server/public/assets/AdminLoginScreens-Bjcs9ta9.js.gz +0 -0
  99. package/payload/server/public/assets/{AdminShell-DnfgsAQl.js → AdminShell-DVBAMUCy.js} +1 -1
  100. package/payload/server/public/assets/AdminShell-DVBAMUCy.js.br +0 -0
  101. package/payload/server/public/assets/{AdminShell-DnfgsAQl.js.gz → AdminShell-DVBAMUCy.js.gz} +0 -0
  102. package/payload/server/public/assets/{activity-ByJSut0Q.js → activity-C8E8-EwQ.js} +1 -1
  103. package/payload/server/public/assets/activity-C8E8-EwQ.js.br +0 -0
  104. package/payload/server/public/assets/activity-C8E8-EwQ.js.gz +0 -0
  105. package/payload/server/public/assets/{admin-CkeJO6kA.js → admin-CeWAlpRS.js} +1 -1
  106. package/payload/server/public/assets/admin-CeWAlpRS.js.br +0 -0
  107. package/payload/server/public/assets/admin-CeWAlpRS.js.gz +0 -0
  108. package/payload/server/public/assets/{agents-D8phtRX5.js → agents-DuN92iFb.js} +1 -1
  109. package/payload/server/public/assets/agents-DuN92iFb.js.br +0 -0
  110. package/payload/server/public/assets/agents-DuN92iFb.js.gz +0 -0
  111. package/payload/server/public/assets/{browser-DQSTjdom.js → browser-BxebdKbh.js} +1 -1
  112. package/payload/server/public/assets/browser-BxebdKbh.js.br +0 -0
  113. package/payload/server/public/assets/browser-BxebdKbh.js.gz +0 -0
  114. package/payload/server/public/assets/{calendar-DFJu1XjP.js → calendar-BtFZQ5Np.js} +1 -1
  115. package/payload/server/public/assets/calendar-BtFZQ5Np.js.br +0 -0
  116. package/payload/server/public/assets/calendar-BtFZQ5Np.js.gz +0 -0
  117. package/payload/server/public/assets/chat-CGIwynaH.js +1 -0
  118. package/payload/server/public/assets/chat-CGIwynaH.js.br +3 -0
  119. package/payload/server/public/assets/chat-CGIwynaH.js.gz +0 -0
  120. package/payload/server/public/assets/chevron-left-DaNP1zDb.js +1 -0
  121. package/payload/server/public/assets/chevron-left-DaNP1zDb.js.br +0 -0
  122. package/payload/server/public/assets/chevron-right-BbbuTUnt.js +1 -0
  123. package/payload/server/public/assets/chevron-right-BbbuTUnt.js.br +0 -0
  124. package/payload/server/public/assets/clock-CfDdatjp.js +1 -0
  125. package/payload/server/public/assets/clock-CfDdatjp.js.br +0 -0
  126. package/payload/server/public/assets/clock-CfDdatjp.js.gz +0 -0
  127. package/payload/server/public/assets/{copy-lFFhXRGk.js → copy-DCDHXq3O.js} +1 -1
  128. package/payload/server/public/assets/copy-DCDHXq3O.js.br +0 -0
  129. package/payload/server/public/assets/copy-DCDHXq3O.js.gz +0 -0
  130. package/payload/server/public/assets/data-BchSWOju.js +1 -0
  131. package/payload/server/public/assets/data-BchSWOju.js.br +1 -0
  132. package/payload/server/public/assets/data-BchSWOju.js.gz +0 -0
  133. package/payload/server/public/assets/{file-text-D2Y-bkNy.js → file-text-zQgEQWCF.js} +1 -1
  134. package/payload/server/public/assets/file-text-zQgEQWCF.js.br +0 -0
  135. package/payload/server/public/assets/file-text-zQgEQWCF.js.gz +0 -0
  136. package/payload/server/public/assets/{graph-C-3yN6JD.js → graph-CFCEh_YI.js} +1 -1
  137. package/payload/server/public/assets/graph-CFCEh_YI.js.br +0 -0
  138. package/payload/server/public/assets/graph-CFCEh_YI.js.gz +0 -0
  139. package/payload/server/public/assets/{graph-labels-DiaPLP27.js → graph-labels-CA1UcDuS.js} +1 -1
  140. package/payload/server/public/assets/graph-labels-CA1UcDuS.js.br +0 -0
  141. package/payload/server/public/assets/graph-labels-CA1UcDuS.js.gz +0 -0
  142. package/payload/server/public/assets/{operator-KuGPvSa9.js → operator-hFXPDc2X.js} +1 -1
  143. package/payload/server/public/assets/operator-hFXPDc2X.js.br +0 -0
  144. package/payload/server/public/assets/operator-hFXPDc2X.js.gz +0 -0
  145. package/payload/server/public/assets/{page-BhGeFXWA.js → page-C8jyPH_3.js} +1 -1
  146. package/payload/server/public/assets/page-C8jyPH_3.js.br +0 -0
  147. package/payload/server/public/assets/page-C8jyPH_3.js.gz +0 -0
  148. package/payload/server/public/assets/{page-EnbVC-yM.js → page-ne7I_r9L.js} +1 -1
  149. package/payload/server/public/assets/page-ne7I_r9L.js.br +0 -0
  150. package/payload/server/public/assets/page-ne7I_r9L.js.gz +0 -0
  151. package/payload/server/public/assets/play-Ep0SZTbr.js +1 -0
  152. package/payload/server/public/assets/play-Ep0SZTbr.js.br +0 -0
  153. package/payload/server/public/assets/play-Ep0SZTbr.js.gz +0 -0
  154. package/payload/server/public/assets/{public-CdSgMNC7.js → public-BgnqjAal.js} +1 -1
  155. package/payload/server/public/assets/public-BgnqjAal.js.br +0 -0
  156. package/payload/server/public/assets/public-BgnqjAal.js.gz +0 -0
  157. package/payload/server/public/assets/{rotate-ccw-rTRuTqei.js → rotate-ccw-DfJWjXAg.js} +1 -1
  158. package/payload/server/public/assets/rotate-ccw-DfJWjXAg.js.br +0 -0
  159. package/payload/server/public/assets/rotate-ccw-DfJWjXAg.js.gz +0 -0
  160. package/payload/server/public/assets/routines-Ds0yz7_C.js +2 -0
  161. package/payload/server/public/assets/routines-Ds0yz7_C.js.br +0 -0
  162. package/payload/server/public/assets/routines-Ds0yz7_C.js.gz +0 -0
  163. package/payload/server/public/assets/{skills-DFWtZNkW.js → skills-D-6EbgfP.js} +1 -1
  164. package/payload/server/public/assets/skills-D-6EbgfP.js.br +0 -0
  165. package/payload/server/public/assets/skills-D-6EbgfP.js.gz +0 -0
  166. package/payload/server/public/assets/{tasks-B94AuKSy.js → tasks-DnN5Fyds.js} +1 -1
  167. package/payload/server/public/assets/tasks-DnN5Fyds.js.br +0 -0
  168. package/payload/server/public/assets/tasks-DnN5Fyds.js.gz +0 -0
  169. package/payload/server/public/assets/{triangle-alert-DtWUg6jR.js → triangle-alert-eh9UOKDT.js} +1 -1
  170. package/payload/server/public/assets/triangle-alert-eh9UOKDT.js.br +0 -0
  171. package/payload/server/public/assets/triangle-alert-eh9UOKDT.js.gz +0 -0
  172. package/payload/server/public/assets/{useCopyFeedback-CjKYO-Qf.js → useCopyFeedback-Bz9OJHBb.js} +1 -1
  173. package/payload/server/public/assets/useCopyFeedback-Bz9OJHBb.js.br +0 -0
  174. package/payload/server/public/assets/useCopyFeedback-Bz9OJHBb.js.gz +0 -0
  175. package/payload/server/public/assets/{useMediaQuery-DlOWP56H.css → useMediaQuery-CNxsjKZp.css} +1 -1
  176. package/payload/server/public/assets/useMediaQuery-CNxsjKZp.css.br +0 -0
  177. package/payload/server/public/assets/{useMediaQuery-DlOWP56H.css.gz → useMediaQuery-CNxsjKZp.css.gz} +0 -0
  178. package/payload/server/public/assets/{useVoiceRecorder-BKFAYuzz.js → useVoiceRecorder-BaDpMYxX.js} +1 -1
  179. package/payload/server/public/assets/useVoiceRecorder-BaDpMYxX.js.br +0 -0
  180. package/payload/server/public/assets/useVoiceRecorder-BaDpMYxX.js.gz +0 -0
  181. package/payload/server/public/assets/{wrench-Ct4kf-uv.js → wrench-BO-l46rF.js} +1 -1
  182. package/payload/server/public/assets/wrench-BO-l46rF.js.br +0 -0
  183. package/payload/server/public/assets/wrench-BO-l46rF.js.gz +0 -0
  184. package/payload/server/public/browser.html +4 -4
  185. package/payload/server/public/calendar.html +8 -8
  186. package/payload/server/public/chat.html +13 -13
  187. package/payload/server/public/data.html +11 -11
  188. package/payload/server/public/graph.html +9 -9
  189. package/payload/server/public/index.html +14 -14
  190. package/payload/server/public/operator.html +14 -14
  191. package/payload/server/public/public.html +13 -13
  192. package/payload/server/public/routines.html +6 -6
  193. package/payload/server/public/skills.html +5 -5
  194. package/payload/server/public/tasks.html +6 -6
  195. package/payload/server/server.js +82 -355
  196. package/payload/server/public/assets/AdminLoginScreens-BGKtDqAk.js.br +0 -0
  197. package/payload/server/public/assets/AdminLoginScreens-BGKtDqAk.js.gz +0 -0
  198. package/payload/server/public/assets/AdminShell-DnfgsAQl.js.br +0 -0
  199. package/payload/server/public/assets/activity-ByJSut0Q.js.br +0 -0
  200. package/payload/server/public/assets/activity-ByJSut0Q.js.gz +0 -0
  201. package/payload/server/public/assets/admin-CkeJO6kA.js.br +0 -0
  202. package/payload/server/public/assets/admin-CkeJO6kA.js.gz +0 -0
  203. package/payload/server/public/assets/agents-D8phtRX5.js.br +0 -0
  204. package/payload/server/public/assets/agents-D8phtRX5.js.gz +0 -0
  205. package/payload/server/public/assets/browser-DQSTjdom.js.br +0 -0
  206. package/payload/server/public/assets/browser-DQSTjdom.js.gz +0 -0
  207. package/payload/server/public/assets/calendar-DFJu1XjP.js.br +0 -0
  208. package/payload/server/public/assets/calendar-DFJu1XjP.js.gz +0 -0
  209. package/payload/server/public/assets/chat-DUqtIsOt.js +0 -1
  210. package/payload/server/public/assets/chat-DUqtIsOt.js.br +0 -0
  211. package/payload/server/public/assets/chat-DUqtIsOt.js.gz +0 -0
  212. package/payload/server/public/assets/chevron-left-DFK18xVX.js +0 -1
  213. package/payload/server/public/assets/chevron-left-DFK18xVX.js.br +0 -0
  214. package/payload/server/public/assets/chevron-right-DJ4oaHoN.js +0 -1
  215. package/payload/server/public/assets/chevron-right-DJ4oaHoN.js.br +0 -0
  216. package/payload/server/public/assets/clock-wHIan2DW.js +0 -1
  217. package/payload/server/public/assets/clock-wHIan2DW.js.br +0 -0
  218. package/payload/server/public/assets/copy-lFFhXRGk.js.br +0 -0
  219. package/payload/server/public/assets/copy-lFFhXRGk.js.gz +0 -0
  220. package/payload/server/public/assets/data-Cxv97ARy.js +0 -1
  221. package/payload/server/public/assets/data-Cxv97ARy.js.br +0 -0
  222. package/payload/server/public/assets/data-Cxv97ARy.js.gz +0 -0
  223. package/payload/server/public/assets/file-text-D2Y-bkNy.js.br +0 -0
  224. package/payload/server/public/assets/file-text-D2Y-bkNy.js.gz +0 -0
  225. package/payload/server/public/assets/graph-C-3yN6JD.js.br +0 -0
  226. package/payload/server/public/assets/graph-C-3yN6JD.js.gz +0 -0
  227. package/payload/server/public/assets/graph-labels-DiaPLP27.js.br +0 -0
  228. package/payload/server/public/assets/graph-labels-DiaPLP27.js.gz +0 -0
  229. package/payload/server/public/assets/operator-KuGPvSa9.js.br +0 -0
  230. package/payload/server/public/assets/operator-KuGPvSa9.js.gz +0 -0
  231. package/payload/server/public/assets/page-BhGeFXWA.js.br +0 -0
  232. package/payload/server/public/assets/page-BhGeFXWA.js.gz +0 -0
  233. package/payload/server/public/assets/page-EnbVC-yM.js.br +0 -0
  234. package/payload/server/public/assets/page-EnbVC-yM.js.gz +0 -0
  235. package/payload/server/public/assets/play-jZFZAG-t.js +0 -1
  236. package/payload/server/public/assets/play-jZFZAG-t.js.br +0 -0
  237. package/payload/server/public/assets/play-jZFZAG-t.js.gz +0 -0
  238. package/payload/server/public/assets/public-CdSgMNC7.js.br +0 -0
  239. package/payload/server/public/assets/public-CdSgMNC7.js.gz +0 -0
  240. package/payload/server/public/assets/rotate-ccw-rTRuTqei.js.br +0 -0
  241. package/payload/server/public/assets/rotate-ccw-rTRuTqei.js.gz +0 -0
  242. package/payload/server/public/assets/routines-DNRxNRSQ.js +0 -2
  243. package/payload/server/public/assets/routines-DNRxNRSQ.js.br +0 -0
  244. package/payload/server/public/assets/routines-DNRxNRSQ.js.gz +0 -0
  245. package/payload/server/public/assets/skills-DFWtZNkW.js.br +0 -0
  246. package/payload/server/public/assets/skills-DFWtZNkW.js.gz +0 -0
  247. package/payload/server/public/assets/tasks-B94AuKSy.js.br +0 -0
  248. package/payload/server/public/assets/tasks-B94AuKSy.js.gz +0 -0
  249. package/payload/server/public/assets/triangle-alert-DtWUg6jR.js.br +0 -0
  250. package/payload/server/public/assets/triangle-alert-DtWUg6jR.js.gz +0 -0
  251. package/payload/server/public/assets/useCopyFeedback-CjKYO-Qf.js.br +0 -0
  252. package/payload/server/public/assets/useCopyFeedback-CjKYO-Qf.js.gz +0 -0
  253. package/payload/server/public/assets/useMediaQuery-DlOWP56H.css.br +0 -0
  254. package/payload/server/public/assets/useVoiceRecorder-BKFAYuzz.js.br +0 -0
  255. package/payload/server/public/assets/useVoiceRecorder-BKFAYuzz.js.gz +0 -0
  256. package/payload/server/public/assets/wrench-Ct4kf-uv.js.br +0 -0
  257. package/payload/server/public/assets/wrench-Ct4kf-uv.js.gz +0 -0
  258. /package/payload/server/public/assets/{useMediaQuery-BYIHo-xL.js → useMediaQuery-_mMln3Fu.js} +0 -0
  259. /package/payload/server/public/assets/{useMediaQuery-BYIHo-xL.js.br → useMediaQuery-_mMln3Fu.js.br} +0 -0
  260. /package/payload/server/public/assets/{useMediaQuery-BYIHo-xL.js.gz → useMediaQuery-_mMln3Fu.js.gz} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rubytech/create-maxy-code",
3
- "version": "0.1.545",
3
+ "version": "0.1.547",
4
4
  "description": "Install Maxy — AI for Productive People",
5
5
  "bin": {
6
6
  "create-maxy-code": "./dist/index.js"
@@ -180,6 +180,17 @@ process.on("exit", (code) => {
180
180
  `code=${codeField} signal=${exitSignal ?? "—"} lifetimeMs=${lifetimeMs} stderr-tail=${JSON.stringify(tail)}`, level);
181
181
  });
182
182
  emitLifecycle(`op=spawn session=${SESSION_ID8} server=${SERVER_NAME} pid=${process.pid} entry=${ENTRY}`, "info");
183
+ // Task 2356 — present argv as a direct `node <entry>` invocation before the
184
+ // entry loads. The shim is meant to be transparent: an entry that asks the
185
+ // standard "am I the entry module?" question
186
+ // (`import.meta.url === pathToFileURL(realpathSync(process.argv[1])).href`)
187
+ // must get the same answer it gets when Claude Code runs it without the shim.
188
+ // With the shim's own path left in argv[1] the answer is no, so such an entry
189
+ // loads, starts nothing, and exits 0 — measured on the three channel servers,
190
+ // which all gate main() that way. Plugin MCPs connect at module top level and
191
+ // never read argv, so this is inert for them. ENTRY was captured above, before
192
+ // the rewrite. Extra CLI args keep their positions after the entry slot.
193
+ process.argv = [process.argv[0], ENTRY, ...process.argv.slice(3)];
183
194
  // Run the real MCP server in THIS process. Dynamic import() (not top-level
184
195
  // await — this file compiles to CommonJS) loads the ESM entry; a load-time
185
196
  // failure mirrors the old child spawn-error path (op=error, exit 127). The
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -143,6 +143,45 @@ describe('mcp-spawn-tee in-process shim', () => {
143
143
  expect(readdirSync(logDir).some((f) => /stderr-\d{4}-\d{2}-\d{2}\.log$/.test(f))).toBe(false)
144
144
  })
145
145
 
146
+ // Task 2356 — the shim must be transparent to the entry's own "am I the
147
+ // entry module?" check. Every channel server (whatsapp, webchat, telegram)
148
+ // gates main() on `import.meta.url === pathToFileURL(realpath(argv[1]))`. With
149
+ // the shim's own path left in argv[1] that guard is false, so the server
150
+ // loads, connects nothing, and exits 0 — a channel that is silently dead.
151
+ it('presents argv as a direct `node <entry>` invocation', () => {
152
+ const { stub, logDir } = makeStub(
153
+ 'process.stdout.write(JSON.stringify(process.argv.slice(1))); process.exit(0)',
154
+ )
155
+ const r = runSync(stub, { LOG_DIR: logDir, SESSION_ID: 'argv1', MCP_SPAWN_TEE_NAME: 'stub' })
156
+ expect(JSON.parse(r.stdout)).toEqual([stub])
157
+ })
158
+
159
+ it('the entry-module guard the channel servers use passes under the shim', () => {
160
+ const { stub, logDir } = makeStub(
161
+ [
162
+ 'const { realpathSync } = require("node:fs")',
163
+ 'const { pathToFileURL } = require("node:url")',
164
+ 'const isEntry = process.argv[1] &&',
165
+ ' pathToFileURL(__filename).href === pathToFileURL(realpathSync(process.argv[1])).href',
166
+ 'process.stdout.write(isEntry ? "MAIN-RAN" : "MAIN-SKIPPED")',
167
+ 'process.exit(0)',
168
+ ].join('\n'),
169
+ )
170
+ const r = runSync(stub, { LOG_DIR: logDir, SESSION_ID: 'argv2', MCP_SPAWN_TEE_NAME: 'stub' })
171
+ expect(r.stdout).toBe('MAIN-RAN')
172
+ })
173
+
174
+ it('forwards extra CLI args to the entry, after the entry slot', () => {
175
+ const { stub, logDir } = makeStub(
176
+ 'process.stdout.write(JSON.stringify(process.argv.slice(1))); process.exit(0)',
177
+ )
178
+ const r = spawnSync(process.execPath, [shim, stub, '--flag', 'value'], {
179
+ env: { ...process.env, SESSION_ID: 'argv3', PLATFORM_PORT: '', LOG_DIR: logDir, MCP_SPAWN_TEE_NAME: 'stub' },
180
+ encoding: 'utf8',
181
+ })
182
+ expect(JSON.parse(r.stdout)).toEqual([stub, '--flag', 'value'])
183
+ })
184
+
146
185
  it('does not crash when PLATFORM_PORT is unreachable', () => {
147
186
  const { stub, logDir } = makeStub('process.stderr.write("x\\n"); process.exit(0)')
148
187
  const r = runSync(stub, { LOG_DIR: logDir, SESSION_ID: 'p1', MCP_SPAWN_TEE_NAME: 'stub', PLATFORM_PORT: '59999' })
@@ -189,6 +189,18 @@ process.on("exit", (code) => {
189
189
 
190
190
  emitLifecycle(`op=spawn session=${SESSION_ID8} server=${SERVER_NAME} pid=${process.pid} entry=${ENTRY}`, "info");
191
191
 
192
+ // Task 2356 — present argv as a direct `node <entry>` invocation before the
193
+ // entry loads. The shim is meant to be transparent: an entry that asks the
194
+ // standard "am I the entry module?" question
195
+ // (`import.meta.url === pathToFileURL(realpathSync(process.argv[1])).href`)
196
+ // must get the same answer it gets when Claude Code runs it without the shim.
197
+ // With the shim's own path left in argv[1] the answer is no, so such an entry
198
+ // loads, starts nothing, and exits 0 — measured on the three channel servers,
199
+ // which all gate main() that way. Plugin MCPs connect at module top level and
200
+ // never read argv, so this is inert for them. ENTRY was captured above, before
201
+ // the rewrite. Extra CLI args keep their positions after the entry slot.
202
+ process.argv = [process.argv[0], ENTRY, ...process.argv.slice(3)];
203
+
192
204
  // Run the real MCP server in THIS process. Dynamic import() (not top-level
193
205
  // await — this file compiles to CommonJS) loads the ESM entry; a load-time
194
206
  // failure mirrors the old child spawn-error path (op=error, exit 127). The
@@ -180,6 +180,17 @@ process.on("exit", (code) => {
180
180
  `code=${codeField} signal=${exitSignal ?? "—"} lifetimeMs=${lifetimeMs} stderr-tail=${JSON.stringify(tail)}`, level);
181
181
  });
182
182
  emitLifecycle(`op=spawn session=${SESSION_ID8} server=${SERVER_NAME} pid=${process.pid} entry=${ENTRY}`, "info");
183
+ // Task 2356 — present argv as a direct `node <entry>` invocation before the
184
+ // entry loads. The shim is meant to be transparent: an entry that asks the
185
+ // standard "am I the entry module?" question
186
+ // (`import.meta.url === pathToFileURL(realpathSync(process.argv[1])).href`)
187
+ // must get the same answer it gets when Claude Code runs it without the shim.
188
+ // With the shim's own path left in argv[1] the answer is no, so such an entry
189
+ // loads, starts nothing, and exits 0 — measured on the three channel servers,
190
+ // which all gate main() that way. Plugin MCPs connect at module top level and
191
+ // never read argv, so this is inert for them. ENTRY was captured above, before
192
+ // the rewrite. Extra CLI args keep their positions after the entry slot.
193
+ process.argv = [process.argv[0], ENTRY, ...process.argv.slice(3)];
183
194
  // Run the real MCP server in THIS process. Dynamic import() (not top-level
184
195
  // await — this file compiles to CommonJS) loads the ESM entry; a load-time
185
196
  // failure mirrors the old child spawn-error path (op=error, exit 127). The
@@ -26,6 +26,7 @@ import { resolvePublicHostname } from "./lib/public-hostname.js";
26
26
  import { resolveAdminHostname } from "./lib/admin-hostname.js";
27
27
  import { publishSite } from "./tools/publish-site.js";
28
28
  import { createAgent, updateAgent, projectAgentViaPlatform } from "./tools/agent-write.js";
29
+ import { checkDefaultAgent } from "./tools/account-default-agent.js";
29
30
  import { resolveCapabilitiesHere } from "./tools/capabilities-here.js";
30
31
  import { resolveIngestToken } from "./tools/linkedin-ingest-token.js";
31
32
  import { startCpuTriage, readCpuTriage } from "./tools/cpu-triage.js";
@@ -787,19 +788,30 @@ eagerTool(server, "account-update", "Update a user-configurable setting in accou
787
788
  thinkingView: ["default", "expanded", "collapsed"],
788
789
  effort: ["low", "medium", "high", "max", "auto"],
789
790
  };
790
- // defaultAgent: non-empty slug must reference an existing agent; empty string clears the field
791
+ // defaultAgent: non-empty slug must be slug-shaped AND reference an existing
792
+ // agent; empty string clears the field.
793
+ //
794
+ // Task 2347 — shape before existence. The stored value is read back by
795
+ // resolveDefaultAgentSlug and handed to readAgentFile, which interpolates
796
+ // it into a path; a traversal value's config.json exists on any
797
+ // multi-account install, so existence alone stored a path that led out of
798
+ // the account directory.
799
+ // `defaultAgentSlug` is the canonical value to store: the verdict's trimmed
800
+ // slug, empty for the clear operation. Storing the raw `value` instead
801
+ // would let `" sales "` be accepted here and then refused by the read
802
+ // door's shape rule, which sees the untrimmed string.
803
+ let defaultAgentSlug = "";
791
804
  if (field === "defaultAgent") {
792
- const slug = value.trim();
793
- if (slug) {
794
- const agentConfigPath = join(getAccountDir(), "agents", slug, "config.json");
795
- if (!existsSync(agentConfigPath)) {
796
- return {
797
- content: [{ type: "text", text: `Agent '${slug}' not found no config.json in agents/${slug}/` }],
798
- isError: true,
799
- };
800
- }
805
+ const verdict = checkDefaultAgent(getAccountDir(), value);
806
+ if (!verdict.ok) {
807
+ const slug = value.trim();
808
+ console.error(`[admin:account-update] rejected field=defaultAgent value="${value}" reason=${verdict.reason}`);
809
+ const text = verdict.reason === "shape"
810
+ ? `Invalid agent slug "${slug}" — must be lowercase, start with a letter, and be 3 to 50 characters with no path separators.`
811
+ : `Agent '${slug}' not found — no config.json in agents/${slug}/`;
812
+ return { content: [{ type: "text", text }], isError: true };
801
813
  }
802
- // empty slug is valid — handled below as a delete operation
814
+ defaultAgentSlug = verdict.slug;
803
815
  }
804
816
  // Model fields accept any non-empty string (model IDs change frequently)
805
817
  const FREE_FORM_FIELDS = ["adminModel", "publicModel"];
@@ -822,22 +834,26 @@ eagerTool(server, "account-update", "Update a user-configurable setting in accou
822
834
  const configPath = join(getAccountDir(), "account.json");
823
835
  const config = await readAccountConfig();
824
836
  const oldDefault = field === "defaultAgent" ? config.defaultAgent ?? "(none)" : undefined;
825
- if (field === "defaultAgent" && !value.trim()) {
826
- delete config.defaultAgent;
837
+ if (field === "defaultAgent") {
838
+ if (defaultAgentSlug)
839
+ config.defaultAgent = defaultAgentSlug;
840
+ else
841
+ delete config.defaultAgent;
827
842
  }
828
843
  else {
829
844
  config[field] = value;
830
845
  }
846
+ const writtenValue = field === "defaultAgent" ? defaultAgentSlug : value;
831
847
  await writeFile(configPath, JSON.stringify(config, null, 2) + "\n", "utf-8");
832
- console.error(`[admin:account-update] wrote field=${field} value="${value}" path=${configPath}`);
848
+ console.error(`[admin:account-update] wrote field=${field} value="${writtenValue}" path=${configPath}`);
833
849
  if (field === "defaultAgent") {
834
- if (!value.trim()) {
850
+ if (!defaultAgentSlug) {
835
851
  return {
836
852
  content: [{ type: "text", text: `Default agent cleared (was "${oldDefault}"). Visitors to the root URL will see the first available agent, or a "no agents" message if none exist. Takes effect on next page load.` }],
837
853
  };
838
854
  }
839
855
  return {
840
- content: [{ type: "text", text: `Default agent changed from "${oldDefault}" to "${value}". Takes effect on next page load.` }],
856
+ content: [{ type: "text", text: `Default agent changed from "${oldDefault}" to "${defaultAgentSlug}". Takes effect on next page load.` }],
841
857
  };
842
858
  }
843
859
  return {