@rubytech/create-realagent-code 0.1.581 → 0.1.583

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 (345) hide show
  1. package/package.json +1 -1
  2. package/payload/platform/lib/routine-templates/dist/index.d.ts +1 -1
  3. package/payload/platform/lib/routine-templates/dist/index.d.ts.map +1 -1
  4. package/payload/platform/lib/routine-templates/dist/index.js +5 -1
  5. package/payload/platform/lib/routine-templates/dist/index.js.map +1 -1
  6. package/payload/platform/lib/routine-templates/src/index.ts +4 -0
  7. package/payload/platform/lib/telegram-managed-bot/dist/index.d.ts +269 -0
  8. package/payload/platform/lib/telegram-managed-bot/dist/index.d.ts.map +1 -0
  9. package/payload/platform/lib/telegram-managed-bot/dist/index.js +351 -0
  10. package/payload/platform/lib/telegram-managed-bot/dist/index.js.map +1 -0
  11. package/payload/platform/lib/telegram-managed-bot/src/__tests__/managed-bot.test.ts +251 -0
  12. package/payload/platform/lib/telegram-managed-bot/src/index.ts +529 -0
  13. package/payload/platform/lib/telegram-managed-bot/tsconfig.json +9 -0
  14. package/payload/platform/lib/telegram-managed-bot/vitest.config.ts +9 -0
  15. package/payload/platform/lib/telegram-reach/dist/index.d.ts +80 -0
  16. package/payload/platform/lib/telegram-reach/dist/index.d.ts.map +1 -0
  17. package/payload/platform/lib/telegram-reach/dist/index.js +211 -0
  18. package/payload/platform/lib/telegram-reach/dist/index.js.map +1 -0
  19. package/payload/platform/lib/telegram-reach/src/__tests__/telegram-reach.test.ts +216 -0
  20. package/payload/platform/lib/telegram-reach/src/index.ts +262 -0
  21. package/payload/platform/lib/telegram-reach/tsconfig.json +9 -0
  22. package/payload/platform/lib/telegram-reach/vitest.config.ts +9 -0
  23. package/payload/platform/package.json +2 -2
  24. package/payload/platform/plugins/admin/PLUGIN.md +1 -1
  25. package/payload/platform/plugins/admin/hooks/__tests__/fs-schema-guard.test.sh +9 -0
  26. package/payload/platform/plugins/admin/hooks/__tests__/preference-consult-directive.test.sh +26 -0
  27. package/payload/platform/plugins/admin/hooks/fs-schema-guard.sh +20 -3
  28. package/payload/platform/plugins/admin/hooks/preference-consult-directive.sh +50 -5
  29. package/payload/platform/plugins/admin/skills/platform-architecture/SKILL.md +181 -9
  30. package/payload/platform/plugins/admin/skills/whats-new/SKILL.md +17 -0
  31. package/payload/platform/plugins/contacts/mcp/dist/__tests__/telegram-user-id.test.d.ts +2 -0
  32. package/payload/platform/plugins/contacts/mcp/dist/__tests__/telegram-user-id.test.d.ts.map +1 -0
  33. package/payload/platform/plugins/contacts/mcp/dist/__tests__/telegram-user-id.test.js +100 -0
  34. package/payload/platform/plugins/contacts/mcp/dist/__tests__/telegram-user-id.test.js.map +1 -0
  35. package/payload/platform/plugins/contacts/mcp/dist/index.js +11 -5
  36. package/payload/platform/plugins/contacts/mcp/dist/index.js.map +1 -1
  37. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-create.d.ts +5 -0
  38. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-create.d.ts.map +1 -1
  39. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-create.js +21 -4
  40. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-create.js.map +1 -1
  41. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-lookup.d.ts +5 -0
  42. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-lookup.d.ts.map +1 -1
  43. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-lookup.js +29 -1
  44. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-lookup.js.map +1 -1
  45. package/payload/platform/plugins/contacts/mcp/vitest.config.ts +14 -0
  46. package/payload/platform/plugins/docs/references/admin-ui.md +20 -4
  47. package/payload/platform/plugins/docs/references/calendar-booking.md +2 -0
  48. package/payload/platform/plugins/docs/references/channel-wake-and-prompt.md +15 -0
  49. package/payload/platform/plugins/docs/references/telegram-guide.md +143 -4
  50. package/payload/platform/plugins/filesystem/PLUGIN.md +2 -2
  51. package/payload/platform/plugins/filesystem/mcp/dist/lib/__tests__/account-schema.test.d.ts +2 -0
  52. package/payload/platform/plugins/filesystem/mcp/dist/lib/__tests__/account-schema.test.d.ts.map +1 -0
  53. package/payload/platform/plugins/filesystem/mcp/dist/lib/__tests__/account-schema.test.js +108 -0
  54. package/payload/platform/plugins/filesystem/mcp/dist/lib/__tests__/account-schema.test.js.map +1 -0
  55. package/payload/platform/plugins/filesystem/mcp/dist/lib/account-schema.d.ts +17 -0
  56. package/payload/platform/plugins/filesystem/mcp/dist/lib/account-schema.d.ts.map +1 -0
  57. package/payload/platform/plugins/filesystem/mcp/dist/lib/account-schema.js +162 -0
  58. package/payload/platform/plugins/filesystem/mcp/dist/lib/account-schema.js.map +1 -0
  59. package/payload/platform/plugins/filesystem/mcp/dist/tools/__tests__/schema-fence.test.d.ts +2 -0
  60. package/payload/platform/plugins/filesystem/mcp/dist/tools/__tests__/schema-fence.test.d.ts.map +1 -0
  61. package/payload/platform/plugins/filesystem/mcp/dist/tools/__tests__/schema-fence.test.js +116 -0
  62. package/payload/platform/plugins/filesystem/mcp/dist/tools/__tests__/schema-fence.test.js.map +1 -0
  63. package/payload/platform/plugins/filesystem/mcp/dist/tools/file-edit.d.ts.map +1 -1
  64. package/payload/platform/plugins/filesystem/mcp/dist/tools/file-edit.js +9 -0
  65. package/payload/platform/plugins/filesystem/mcp/dist/tools/file-edit.js.map +1 -1
  66. package/payload/platform/plugins/filesystem/mcp/dist/tools/file-write.d.ts.map +1 -1
  67. package/payload/platform/plugins/filesystem/mcp/dist/tools/file-write.js +10 -0
  68. package/payload/platform/plugins/filesystem/mcp/dist/tools/file-write.js.map +1 -1
  69. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/label-origin-gate.test.js +64 -1
  70. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/label-origin-gate.test.js.map +1 -1
  71. package/payload/platform/plugins/memory/mcp/dist/lib/label-origin-gate.d.ts +5 -0
  72. package/payload/platform/plugins/memory/mcp/dist/lib/label-origin-gate.d.ts.map +1 -1
  73. package/payload/platform/plugins/memory/mcp/dist/lib/label-origin-gate.js +28 -6
  74. package/payload/platform/plugins/memory/mcp/dist/lib/label-origin-gate.js.map +1 -1
  75. package/payload/platform/plugins/memory/references/schema-knowledge-work.md +1 -1
  76. package/payload/platform/plugins/scheduling/PLUGIN.md +19 -3
  77. package/payload/platform/plugins/scheduling/mcp/dist/index.js +7 -2
  78. package/payload/platform/plugins/scheduling/mcp/dist/index.js.map +1 -1
  79. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/gate-audits.test.js +53 -6
  80. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/gate-audits.test.js.map +1 -1
  81. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/gate.test.js +38 -0
  82. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/gate.test.js.map +1 -1
  83. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/meeting-uid-stamp.test.d.ts +2 -0
  84. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/meeting-uid-stamp.test.d.ts.map +1 -0
  85. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/meeting-uid-stamp.test.js +102 -0
  86. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/meeting-uid-stamp.test.js.map +1 -0
  87. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/schedule-audit.test.js +43 -9
  88. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/schedule-audit.test.js.map +1 -1
  89. package/payload/platform/plugins/scheduling/mcp/dist/lib/booking-reconcile.d.ts +50 -0
  90. package/payload/platform/plugins/scheduling/mcp/dist/lib/booking-reconcile.d.ts.map +1 -1
  91. package/payload/platform/plugins/scheduling/mcp/dist/lib/booking-reconcile.js +47 -1
  92. package/payload/platform/plugins/scheduling/mcp/dist/lib/booking-reconcile.js.map +1 -1
  93. package/payload/platform/plugins/scheduling/mcp/dist/lib/gate.d.ts +5 -3
  94. package/payload/platform/plugins/scheduling/mcp/dist/lib/gate.d.ts.map +1 -1
  95. package/payload/platform/plugins/scheduling/mcp/dist/lib/gate.js +18 -3
  96. package/payload/platform/plugins/scheduling/mcp/dist/lib/gate.js.map +1 -1
  97. package/payload/platform/plugins/scheduling/mcp/dist/lib/schedule-audit.d.ts +40 -0
  98. package/payload/platform/plugins/scheduling/mcp/dist/lib/schedule-audit.d.ts.map +1 -1
  99. package/payload/platform/plugins/scheduling/mcp/dist/lib/schedule-audit.js +132 -41
  100. package/payload/platform/plugins/scheduling/mcp/dist/lib/schedule-audit.js.map +1 -1
  101. package/payload/platform/plugins/scheduling/mcp/dist/scripts/check-due-events.js +14 -1
  102. package/payload/platform/plugins/scheduling/mcp/dist/scripts/check-due-events.js.map +1 -1
  103. package/payload/platform/plugins/scheduling/mcp/dist/scripts/reconcile-bookings.js +61 -1
  104. package/payload/platform/plugins/scheduling/mcp/dist/scripts/reconcile-bookings.js.map +1 -1
  105. package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-gate-write.test.js +258 -8
  106. package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-gate-write.test.js.map +1 -1
  107. package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-trash-filter.test.d.ts +2 -0
  108. package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-trash-filter.test.d.ts.map +1 -0
  109. package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-trash-filter.test.js +67 -0
  110. package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-trash-filter.test.js.map +1 -0
  111. package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/scheduling-gate.test.js +206 -3
  112. package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/scheduling-gate.test.js.map +1 -1
  113. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-cancel.d.ts.map +1 -1
  114. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-cancel.js +8 -1
  115. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-cancel.js.map +1 -1
  116. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-event.d.ts +29 -21
  117. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-event.d.ts.map +1 -1
  118. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-event.js +94 -14
  119. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-event.js.map +1 -1
  120. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-get.d.ts.map +1 -1
  121. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-get.js +6 -1
  122. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-get.js.map +1 -1
  123. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-list.d.ts.map +1 -1
  124. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-list.js +7 -2
  125. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-list.js.map +1 -1
  126. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-update.d.ts.map +1 -1
  127. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-update.js +46 -3
  128. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-update.js.map +1 -1
  129. package/payload/platform/plugins/scheduling/mcp/dist/tools/scheduling-gate.d.ts +30 -0
  130. package/payload/platform/plugins/scheduling/mcp/dist/tools/scheduling-gate.d.ts.map +1 -1
  131. package/payload/platform/plugins/scheduling/mcp/dist/tools/scheduling-gate.js +69 -6
  132. package/payload/platform/plugins/scheduling/mcp/dist/tools/scheduling-gate.js.map +1 -1
  133. package/payload/platform/plugins/whatsapp/references/channels-whatsapp.md +12 -0
  134. package/payload/platform/services/claude-session-manager/dist/account-dir-schema-reconcile.d.ts +36 -5
  135. package/payload/platform/services/claude-session-manager/dist/account-dir-schema-reconcile.d.ts.map +1 -1
  136. package/payload/platform/services/claude-session-manager/dist/account-dir-schema-reconcile.js +103 -10
  137. package/payload/platform/services/claude-session-manager/dist/account-dir-schema-reconcile.js.map +1 -1
  138. package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.d.ts.map +1 -1
  139. package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.js +2 -0
  140. package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.js.map +1 -1
  141. package/payload/platform/services/claude-session-manager/dist/http-server.d.ts.map +1 -1
  142. package/payload/platform/services/claude-session-manager/dist/http-server.js +42 -4
  143. package/payload/platform/services/claude-session-manager/dist/http-server.js.map +1 -1
  144. package/payload/platform/services/claude-session-manager/dist/pty-spawner.d.ts.map +1 -1
  145. package/payload/platform/services/claude-session-manager/dist/pty-spawner.js +19 -5
  146. package/payload/platform/services/claude-session-manager/dist/pty-spawner.js.map +1 -1
  147. package/payload/platform/services/claude-session-manager/dist/rc-daemon.d.ts +9 -0
  148. package/payload/platform/services/claude-session-manager/dist/rc-daemon.d.ts.map +1 -1
  149. package/payload/platform/services/claude-session-manager/dist/rc-daemon.js +5 -1
  150. package/payload/platform/services/claude-session-manager/dist/rc-daemon.js.map +1 -1
  151. package/payload/platform/services/telegram-channel/dist/instructions.d.ts.map +1 -1
  152. package/payload/platform/services/telegram-channel/dist/instructions.js +13 -0
  153. package/payload/platform/services/telegram-channel/dist/instructions.js.map +1 -1
  154. package/payload/platform/services/telegram-channel/dist/notification.d.ts +40 -0
  155. package/payload/platform/services/telegram-channel/dist/notification.d.ts.map +1 -1
  156. package/payload/platform/services/telegram-channel/dist/notification.js +41 -4
  157. package/payload/platform/services/telegram-channel/dist/notification.js.map +1 -1
  158. package/payload/platform/services/whatsapp-channel/dist/notification.d.ts +52 -0
  159. package/payload/platform/services/whatsapp-channel/dist/notification.d.ts.map +1 -1
  160. package/payload/platform/services/whatsapp-channel/dist/notification.js +64 -1
  161. package/payload/platform/services/whatsapp-channel/dist/notification.js.map +1 -1
  162. package/payload/platform/services/whatsapp-channel/dist/server.d.ts.map +1 -1
  163. package/payload/platform/services/whatsapp-channel/dist/server.js +14 -2
  164. package/payload/platform/services/whatsapp-channel/dist/server.js.map +1 -1
  165. package/payload/platform/templates/account-schema/SCHEMA.md +17 -10
  166. package/payload/platform/templates/agents/admin/IDENTITY.md +5 -0
  167. package/payload/platform/templates/specialists/agents/data-manager.md +2 -2
  168. package/payload/platform/templates/specialists/agents/personal-assistant.md +1 -1
  169. package/payload/server/{chunk-BFRB2U75.js → chunk-CV6AEMKH.js} +1 -0
  170. package/payload/server/{manager-CTVTF4YB.js → manager-FQSQSSJ3.js} +1 -1
  171. package/payload/server/public/activity.html +6 -6
  172. package/payload/server/public/agents.html +5 -5
  173. package/payload/server/public/assets/{AdminLoginScreens-B1lu4-_F.js → AdminLoginScreens-BLsDYWVi.js} +1 -1
  174. package/payload/server/public/assets/AdminLoginScreens-BLsDYWVi.js.br +0 -0
  175. package/payload/server/public/assets/AdminLoginScreens-BLsDYWVi.js.gz +0 -0
  176. package/payload/server/public/assets/{AdminShell-BMslfZxN.js → AdminShell-BZS8jzFA.js} +1 -1
  177. package/payload/server/public/assets/AdminShell-BZS8jzFA.js.br +0 -0
  178. package/payload/server/public/assets/AdminShell-BZS8jzFA.js.gz +0 -0
  179. package/payload/server/public/assets/{activity-kQ3w70LJ.js → activity-DOjvoLdd.js} +1 -1
  180. package/payload/server/public/assets/activity-DOjvoLdd.js.br +0 -0
  181. package/payload/server/public/assets/activity-DOjvoLdd.js.gz +0 -0
  182. package/payload/server/public/assets/{admin-CkASgYA7.js → admin-JrSNg29g.js} +1 -1
  183. package/payload/server/public/assets/admin-JrSNg29g.js.br +0 -0
  184. package/payload/server/public/assets/admin-JrSNg29g.js.gz +0 -0
  185. package/payload/server/public/assets/{agents-Cn_bZgnD.js → agents--9WMJVLC.js} +1 -1
  186. package/payload/server/public/assets/agents--9WMJVLC.js.br +0 -0
  187. package/payload/server/public/assets/agents--9WMJVLC.js.gz +0 -0
  188. package/payload/server/public/assets/{browser-BE-GDk5-.js → browser-DiiMmTrM.js} +1 -1
  189. package/payload/server/public/assets/browser-DiiMmTrM.js.br +0 -0
  190. package/payload/server/public/assets/browser-DiiMmTrM.js.gz +0 -0
  191. package/payload/server/public/assets/{calendar-Di7BEHHN.js → calendar-CazmCzgO.js} +1 -1
  192. package/payload/server/public/assets/calendar-CazmCzgO.js.br +0 -0
  193. package/payload/server/public/assets/calendar-CazmCzgO.js.gz +0 -0
  194. package/payload/server/public/assets/chat-CB0TcyXX.js +1 -0
  195. package/payload/server/public/assets/chat-CB0TcyXX.js.br +0 -0
  196. package/payload/server/public/assets/chat-CB0TcyXX.js.gz +0 -0
  197. package/payload/server/public/assets/chevron-left-0tVo23Dh.js +1 -0
  198. package/payload/server/public/assets/chevron-left-0tVo23Dh.js.br +0 -0
  199. package/payload/server/public/assets/clock-D2cZ0sge.js +1 -0
  200. package/payload/server/public/assets/clock-D2cZ0sge.js.br +0 -0
  201. package/payload/server/public/assets/clock-D2cZ0sge.js.gz +0 -0
  202. package/payload/server/public/assets/{copy-nkxspu2J.js → copy-C87QIN_o.js} +1 -1
  203. package/payload/server/public/assets/copy-C87QIN_o.js.br +0 -0
  204. package/payload/server/public/assets/copy-C87QIN_o.js.gz +0 -0
  205. package/payload/server/public/assets/data-CK7AMxPt.js +1 -0
  206. package/payload/server/public/assets/data-CK7AMxPt.js.br +0 -0
  207. package/payload/server/public/assets/data-CK7AMxPt.js.gz +0 -0
  208. package/payload/server/public/assets/{field-2rIXxGMt.js → field-C3kQgGWE.js} +1 -1
  209. package/payload/server/public/assets/field-C3kQgGWE.js.br +0 -0
  210. package/payload/server/public/assets/field-C3kQgGWE.js.gz +0 -0
  211. package/payload/server/public/assets/{file-text-CdSqrscg.js → file-text-rWowl9RN.js} +1 -1
  212. package/payload/server/public/assets/file-text-rWowl9RN.js.br +0 -0
  213. package/payload/server/public/assets/file-text-rWowl9RN.js.gz +0 -0
  214. package/payload/server/public/assets/{graph-BfBHHXaC.js → graph-CVJKz1Uo.js} +1 -1
  215. package/payload/server/public/assets/graph-CVJKz1Uo.js.br +0 -0
  216. package/payload/server/public/assets/graph-CVJKz1Uo.js.gz +0 -0
  217. package/payload/server/public/assets/{graph-labels-CHW2aBke.js → graph-labels-kneGnsHB.js} +1 -1
  218. package/payload/server/public/assets/graph-labels-kneGnsHB.js.br +0 -0
  219. package/payload/server/public/assets/graph-labels-kneGnsHB.js.gz +0 -0
  220. package/payload/server/public/assets/{jsx-runtime-D43jgaWP.css → jsx-runtime-rMaiYjNu.css} +1 -1
  221. package/payload/server/public/assets/jsx-runtime-rMaiYjNu.css.br +0 -0
  222. package/payload/server/public/assets/{jsx-runtime-D43jgaWP.css.gz → jsx-runtime-rMaiYjNu.css.gz} +0 -0
  223. package/payload/server/public/assets/{operator-DRn9LITC.js → operator-BGvB4hu4.js} +1 -1
  224. package/payload/server/public/assets/operator-BGvB4hu4.js.br +0 -0
  225. package/payload/server/public/assets/operator-BGvB4hu4.js.gz +0 -0
  226. package/payload/server/public/assets/{page-D_9mPS6W.js → page-DBQLOasI.js} +1 -1
  227. package/payload/server/public/assets/page-DBQLOasI.js.br +0 -0
  228. package/payload/server/public/assets/page-DBQLOasI.js.gz +0 -0
  229. package/payload/server/public/assets/{page-BwqQsoU8.js → page-DyVAu7tm.js} +1 -1
  230. package/payload/server/public/assets/page-DyVAu7tm.js.br +0 -0
  231. package/payload/server/public/assets/page-DyVAu7tm.js.gz +0 -0
  232. package/payload/server/public/assets/play-DgP7vl0r.js +1 -0
  233. package/payload/server/public/assets/play-DgP7vl0r.js.br +0 -0
  234. package/payload/server/public/assets/play-DgP7vl0r.js.gz +0 -0
  235. package/payload/server/public/assets/{public-CrjZYpdW.js → public-BvUQR3hd.js} +1 -1
  236. package/payload/server/public/assets/public-BvUQR3hd.js.br +0 -0
  237. package/payload/server/public/assets/public-BvUQR3hd.js.gz +0 -0
  238. package/payload/server/public/assets/{rotate-ccw-J9f-GWjm.js → rotate-ccw-Dnn7gbPh.js} +1 -1
  239. package/payload/server/public/assets/rotate-ccw-Dnn7gbPh.js.br +0 -0
  240. package/payload/server/public/assets/rotate-ccw-Dnn7gbPh.js.gz +0 -0
  241. package/payload/server/public/assets/{routines-C1AB-3FR.js → routines-N8NmxPOZ.js} +1 -1
  242. package/payload/server/public/assets/routines-N8NmxPOZ.js.br +0 -0
  243. package/payload/server/public/assets/routines-N8NmxPOZ.js.gz +0 -0
  244. package/payload/server/public/assets/{skills-C4EfNKEx.js → skills-B2CRgO-U.js} +1 -1
  245. package/payload/server/public/assets/skills-B2CRgO-U.js.br +0 -0
  246. package/payload/server/public/assets/skills-B2CRgO-U.js.gz +0 -0
  247. package/payload/server/public/assets/{tasks-DszD3aZl.js → tasks-8QLGtlSj.js} +1 -1
  248. package/payload/server/public/assets/tasks-8QLGtlSj.js.br +0 -0
  249. package/payload/server/public/assets/tasks-8QLGtlSj.js.gz +0 -0
  250. package/payload/server/public/assets/{triangle-alert-B5WAyAkC.js → triangle-alert-el772yUQ.js} +1 -1
  251. package/payload/server/public/assets/triangle-alert-el772yUQ.js.br +0 -0
  252. package/payload/server/public/assets/triangle-alert-el772yUQ.js.gz +0 -0
  253. package/payload/server/public/assets/{useCopyFeedback-B2nuNNJw.js → useCopyFeedback-DfNAu8hQ.js} +1 -1
  254. package/payload/server/public/assets/useCopyFeedback-DfNAu8hQ.js.br +0 -0
  255. package/payload/server/public/assets/useCopyFeedback-DfNAu8hQ.js.gz +0 -0
  256. package/payload/server/public/assets/{useMediaQuery-DUPJPHQt.js → useMediaQuery-B469O83-.js} +1 -1
  257. package/payload/server/public/assets/useMediaQuery-B469O83-.js.br +0 -0
  258. package/payload/server/public/assets/useMediaQuery-B469O83-.js.gz +0 -0
  259. package/payload/server/public/assets/useVoiceRecorder-Bb-51cJv.js +2 -0
  260. package/payload/server/public/assets/useVoiceRecorder-Bb-51cJv.js.br +0 -0
  261. package/payload/server/public/assets/useVoiceRecorder-Bb-51cJv.js.gz +0 -0
  262. package/payload/server/public/assets/{wrench-DZJZm17j.js → wrench-Ck4phkdB.js} +1 -1
  263. package/payload/server/public/assets/wrench-Ck4phkdB.js.br +0 -0
  264. package/payload/server/public/assets/wrench-Ck4phkdB.js.gz +0 -0
  265. package/payload/server/public/browser.html +5 -5
  266. package/payload/server/public/calendar.html +8 -8
  267. package/payload/server/public/chat.html +14 -14
  268. package/payload/server/public/data.html +12 -12
  269. package/payload/server/public/field.html +3 -3
  270. package/payload/server/public/graph.html +10 -10
  271. package/payload/server/public/index.html +14 -14
  272. package/payload/server/public/operator.html +15 -15
  273. package/payload/server/public/public.html +14 -14
  274. package/payload/server/public/routines.html +8 -8
  275. package/payload/server/public/skills.html +6 -6
  276. package/payload/server/public/tasks.html +7 -7
  277. package/payload/server/server.js +3777 -1258
  278. package/payload/server/public/assets/AdminLoginScreens-B1lu4-_F.js.br +0 -0
  279. package/payload/server/public/assets/AdminLoginScreens-B1lu4-_F.js.gz +0 -0
  280. package/payload/server/public/assets/AdminShell-BMslfZxN.js.br +0 -0
  281. package/payload/server/public/assets/AdminShell-BMslfZxN.js.gz +0 -0
  282. package/payload/server/public/assets/activity-kQ3w70LJ.js.br +0 -0
  283. package/payload/server/public/assets/activity-kQ3w70LJ.js.gz +0 -0
  284. package/payload/server/public/assets/admin-CkASgYA7.js.br +0 -0
  285. package/payload/server/public/assets/admin-CkASgYA7.js.gz +0 -0
  286. package/payload/server/public/assets/agents-Cn_bZgnD.js.br +0 -0
  287. package/payload/server/public/assets/agents-Cn_bZgnD.js.gz +0 -0
  288. package/payload/server/public/assets/browser-BE-GDk5-.js.br +0 -0
  289. package/payload/server/public/assets/browser-BE-GDk5-.js.gz +0 -0
  290. package/payload/server/public/assets/calendar-Di7BEHHN.js.br +0 -0
  291. package/payload/server/public/assets/calendar-Di7BEHHN.js.gz +0 -0
  292. package/payload/server/public/assets/chat-CKyMT5Ai.js +0 -1
  293. package/payload/server/public/assets/chat-CKyMT5Ai.js.br +0 -1
  294. package/payload/server/public/assets/chat-CKyMT5Ai.js.gz +0 -0
  295. package/payload/server/public/assets/chevron-left-Id9VAZAz.js +0 -1
  296. package/payload/server/public/assets/chevron-left-Id9VAZAz.js.br +0 -0
  297. package/payload/server/public/assets/clock-DKpWWJbJ.js +0 -1
  298. package/payload/server/public/assets/clock-DKpWWJbJ.js.br +0 -0
  299. package/payload/server/public/assets/copy-nkxspu2J.js.br +0 -0
  300. package/payload/server/public/assets/copy-nkxspu2J.js.gz +0 -0
  301. package/payload/server/public/assets/data-1c33cAHp.js +0 -1
  302. package/payload/server/public/assets/data-1c33cAHp.js.br +0 -2
  303. package/payload/server/public/assets/data-1c33cAHp.js.gz +0 -0
  304. package/payload/server/public/assets/field-2rIXxGMt.js.br +0 -0
  305. package/payload/server/public/assets/field-2rIXxGMt.js.gz +0 -0
  306. package/payload/server/public/assets/file-text-CdSqrscg.js.br +0 -0
  307. package/payload/server/public/assets/file-text-CdSqrscg.js.gz +0 -0
  308. package/payload/server/public/assets/graph-BfBHHXaC.js.br +0 -0
  309. package/payload/server/public/assets/graph-BfBHHXaC.js.gz +0 -0
  310. package/payload/server/public/assets/graph-labels-CHW2aBke.js.br +0 -0
  311. package/payload/server/public/assets/graph-labels-CHW2aBke.js.gz +0 -0
  312. package/payload/server/public/assets/jsx-runtime-D43jgaWP.css.br +0 -0
  313. package/payload/server/public/assets/operator-DRn9LITC.js.br +0 -0
  314. package/payload/server/public/assets/operator-DRn9LITC.js.gz +0 -0
  315. package/payload/server/public/assets/page-BwqQsoU8.js.br +0 -0
  316. package/payload/server/public/assets/page-BwqQsoU8.js.gz +0 -0
  317. package/payload/server/public/assets/page-D_9mPS6W.js.br +0 -0
  318. package/payload/server/public/assets/page-D_9mPS6W.js.gz +0 -0
  319. package/payload/server/public/assets/play-7LTxCuLX.js +0 -1
  320. package/payload/server/public/assets/play-7LTxCuLX.js.br +0 -0
  321. package/payload/server/public/assets/play-7LTxCuLX.js.gz +0 -0
  322. package/payload/server/public/assets/public-CrjZYpdW.js.br +0 -0
  323. package/payload/server/public/assets/public-CrjZYpdW.js.gz +0 -0
  324. package/payload/server/public/assets/rotate-ccw-J9f-GWjm.js.br +0 -0
  325. package/payload/server/public/assets/rotate-ccw-J9f-GWjm.js.gz +0 -0
  326. package/payload/server/public/assets/routines-C1AB-3FR.js.br +0 -0
  327. package/payload/server/public/assets/routines-C1AB-3FR.js.gz +0 -0
  328. package/payload/server/public/assets/skills-C4EfNKEx.js.br +0 -0
  329. package/payload/server/public/assets/skills-C4EfNKEx.js.gz +0 -0
  330. package/payload/server/public/assets/tasks-DszD3aZl.js.br +0 -0
  331. package/payload/server/public/assets/tasks-DszD3aZl.js.gz +0 -0
  332. package/payload/server/public/assets/triangle-alert-B5WAyAkC.js.br +0 -4
  333. package/payload/server/public/assets/triangle-alert-B5WAyAkC.js.gz +0 -0
  334. package/payload/server/public/assets/useCopyFeedback-B2nuNNJw.js.br +0 -0
  335. package/payload/server/public/assets/useCopyFeedback-B2nuNNJw.js.gz +0 -0
  336. package/payload/server/public/assets/useMediaQuery-DUPJPHQt.js.br +0 -0
  337. package/payload/server/public/assets/useMediaQuery-DUPJPHQt.js.gz +0 -0
  338. package/payload/server/public/assets/useVoiceRecorder-CCK60d2i.js +0 -2
  339. package/payload/server/public/assets/useVoiceRecorder-CCK60d2i.js.br +0 -0
  340. package/payload/server/public/assets/useVoiceRecorder-CCK60d2i.js.gz +0 -0
  341. package/payload/server/public/assets/wrench-DZJZm17j.js.br +0 -0
  342. package/payload/server/public/assets/wrench-DZJZm17j.js.gz +0 -0
  343. /package/payload/server/public/assets/{jsx-runtime-Cjug_Cyb.js → jsx-runtime-BmNepPEn.js} +0 -0
  344. /package/payload/server/public/assets/{jsx-runtime-Cjug_Cyb.js.br → jsx-runtime-BmNepPEn.js.br} +0 -0
  345. /package/payload/server/public/assets/{jsx-runtime-Cjug_Cyb.js.gz → jsx-runtime-BmNepPEn.js.gz} +0 -0
@@ -2888,6 +2888,20 @@ export function buildHttpApp(deps) {
2888
2888
  const rcAgentSlug = typeof body.agentSlug === 'string' && /^[A-Za-z0-9_-]{1,64}$/.test(body.agentSlug)
2889
2889
  ? body.agentSlug
2890
2890
  : null;
2891
+ // Task 2619 — the specialist card this spawn runs as, a FILE BASENAME under
2892
+ // the account's `specialists/agents/`. Same grammar /public-spawn applies to
2893
+ // its own `specialist` (:1338), so one shape rule governs both doors. The
2894
+ // value reaches `--agent` and the child env, so a malformed one is dropped
2895
+ // here rather than sanitised downstream.
2896
+ //
2897
+ // The card set is NOT re-checked here. The webhook validates the binding
2898
+ // against the account's cards before it spawns, and the plugin validates it
2899
+ // at registration; a third validator would be a third authority for one
2900
+ // fact. An unresolvable name reaching this point starts a session claude
2901
+ // itself refuses, which is loud.
2902
+ const rcSpecialist = typeof body.specialist === 'string' && /^[A-Za-z0-9_-]{1,64}$/.test(body.specialist)
2903
+ ? body.specialist
2904
+ : null;
2891
2905
  const adminChannel = typeof body.channel === 'string' && CHANNELS.includes(body.channel)
2892
2906
  ? body.channel
2893
2907
  : undefined;
@@ -3204,6 +3218,13 @@ export function buildHttpApp(deps) {
3204
3218
  else if (freshAdminLevers && reseatModel)
3205
3219
  argv.push('--model', reseatModel);
3206
3220
  }
3221
+ // Task 2619 — the card is the persona. Pushed after the session flag and
3222
+ // outside the branch above so a fork carries it too, mirroring
3223
+ // pty-spawner.ts:1907-1919, where `--agent` already rides alongside
3224
+ // `--resume`. A persistent Telegram conversation resumes on every message,
3225
+ // so a card pushed only on the cold spawn would be lost by the second turn.
3226
+ if (rcSpecialist)
3227
+ argv.push('--agent', rcSpecialist);
3207
3228
  // Task 592 — per-spawn bypass-permissions waiver. The brand settings.json
3208
3229
  // carries `defaultMode: bypassPermissions` (Task 583); without this flag
3209
3230
  // the first-time "WARNING: … 1. No, exit 2. Yes, I accept" disclaimer
@@ -3574,8 +3595,14 @@ export function buildHttpApp(deps) {
3574
3595
  // Task 2267 — `channelBound` was declared here; it is now resolved once,
3575
3596
  // beside the role resolution above, because the public lockdown gate needs
3576
3597
  // the same value earlier. Same expression, same meaning.
3598
+ // Task 2619 — never for a specialist spawn, here or at the specialists
3599
+ // manifest below. A specialist bot sends role:'admin', so `adminBinding` is
3600
+ // true and both segments would fire, handing the card the operator's voice
3601
+ // contract and the delegation manifest it exists to bypass.
3602
+ // pty-spawner.ts:1904 already refuses to compose a system prompt for a
3603
+ // specialist spawn, for the same reason: the card is the prompt.
3577
3604
  let voiceBytes = 0;
3578
- if (adminBinding && channelBound) {
3605
+ if (adminBinding && channelBound && rcSpecialist === null) {
3579
3606
  let voice = null;
3580
3607
  try {
3581
3608
  const identityPath = join(deps.accountDir, 'agents', 'admin', 'IDENTITY.md');
@@ -3602,9 +3629,11 @@ export function buildHttpApp(deps) {
3602
3629
  // on the next turn of a live session rather than needing a re-spawn.
3603
3630
  // `count=0` on an account whose specialists/agents holds files is the failure
3604
3631
  // signature, and its absence is what hid this for three days.
3632
+ // Task 2619 — see the voice gate above. A specialist spawn IS one of these
3633
+ // specialists; handing it the roster would tell it to delegate to itself.
3605
3634
  let specialistCount = 0;
3606
3635
  let specialistBytes = 0;
3607
- if (adminBinding && channelBound) {
3636
+ if (adminBinding && channelBound && rcSpecialist === null) {
3608
3637
  // Task 2442 — the SESSION's account, not the manager's boot account. This
3609
3638
  // used to read `deps.perAccountSpecialistsDir`, fixed at boot to the house
3610
3639
  // (index.ts), while dispatch resolves `specialists:{name}` from the spawn
@@ -3711,7 +3740,12 @@ export function buildHttpApp(deps) {
3711
3740
  role: effectiveRcRole,
3712
3741
  accountId: effectiveAccountId,
3713
3742
  isHouse: acctIsHouse,
3714
- isSpecialist: false,
3743
+ // Task 2619 — was hardcoded false, with the comment "rc-spawn sessions are
3744
+ // never specialists". They can be now. A specialist bot sends
3745
+ // role:'admin', so leaving this false would hand a card cross-account
3746
+ // house-admin authority nobody granted it, on the strength of a role it
3747
+ // carries only because there is no third MAXY_SESSION_ROLE value.
3748
+ isSpecialist: rcSpecialist !== null,
3715
3749
  });
3716
3750
  // Per-spawn decision lifeline, matching the pty-spawner `[xacct]` line so a
3717
3751
  // grep on one sessionId shows the delivered decision on BOTH spawn paths.
@@ -3745,6 +3779,10 @@ export function buildHttpApp(deps) {
3745
3779
  accountId: effectiveAccountId,
3746
3780
  userId: childUserId,
3747
3781
  sessionId: sessionId ?? undefined,
3782
+ // Task 2619 — MAXY_SPECIALIST. Paired with the MAXY_SESSION_ROLE=admin
3783
+ // this env already stamps, it is the shape `isAdminSeat` distinguishes
3784
+ // from the bare operator seat.
3785
+ specialist: rcSpecialist ?? undefined,
3748
3786
  uiPort: process.env.MAXY_UI_INTERNAL_PORT ?? '',
3749
3787
  platformRoot: deps.platformRoot,
3750
3788
  claudeConfigDir: deps.claudeConfigDir,
@@ -3893,7 +3931,7 @@ export function buildHttpApp(deps) {
3893
3931
  if (publicModel) {
3894
3932
  deps.logger(`[rc-spawn] op=public-model-assert sessionId=${sessionId ? sessionId.slice(0, 8) : 'new'} resolved=${publicModel.model ?? 'none'} argvHasModel=${argv.includes('--model')}`);
3895
3933
  }
3896
- deps.logger(`[rc-spawn] op=argv unitToken=${unitToken} cwd=${effectiveAccountDir} permissionMode=${effectiveRcPermissionMode} model=${effectiveRcModel ?? 'unset'} effort=${effectiveRcEffort ?? 'unset'} positionalBytes=${positionalBytes} voiceBytes=${voiceBytes} argv=${JSON.stringify([deps.claudeBin, ...argv])}`);
3934
+ deps.logger(`[rc-spawn] op=argv unitToken=${unitToken} cwd=${effectiveAccountDir} permissionMode=${effectiveRcPermissionMode} model=${effectiveRcModel ?? 'unset'} effort=${effectiveRcEffort ?? 'unset'} specialist=${rcSpecialist ?? 'none'} positionalBytes=${positionalBytes} voiceBytes=${voiceBytes} argv=${JSON.stringify([deps.claudeBin, ...argv])}`);
3897
3935
  emitRcLife(deps.logger, 'argv', 'rc-spawn', 'node-pty', rcLifeMode, unitToken, {
3898
3936
  cwd: effectiveAccountDir,
3899
3937
  argv: JSON.stringify([deps.claudeBin, ...argv]),