@rubytech/create-maxy-code 0.1.542 → 0.1.544

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 (371) hide show
  1. package/dist/__tests__/public-instruction-seed.test.js +102 -0
  2. package/dist/index.js +47 -0
  3. package/dist/public-instruction-seed.js +70 -0
  4. package/package.json +1 -1
  5. package/payload/platform/lib/shared-folder/dist/index.d.ts +47 -0
  6. package/payload/platform/lib/shared-folder/dist/index.d.ts.map +1 -0
  7. package/payload/platform/lib/shared-folder/dist/index.js +93 -0
  8. package/payload/platform/lib/shared-folder/dist/index.js.map +1 -0
  9. package/payload/platform/lib/shared-folder/src/index.ts +92 -0
  10. package/payload/platform/lib/shared-folder/tsconfig.json +5 -0
  11. package/payload/platform/package.json +2 -2
  12. package/payload/platform/plugins/admin/PLUGIN.md +2 -0
  13. package/payload/platform/plugins/admin/hooks/__tests__/public-tool-surface.test.sh +173 -0
  14. package/payload/platform/plugins/admin/hooks/public-tool-surface.sh +123 -0
  15. package/payload/platform/plugins/admin/mcp/dist/tools/agent-write.d.ts.map +1 -1
  16. package/payload/platform/plugins/admin/mcp/dist/tools/agent-write.js +13 -1
  17. package/payload/platform/plugins/admin/mcp/dist/tools/agent-write.js.map +1 -1
  18. package/payload/platform/plugins/admin/skills/channel-instruction/SKILL.md +46 -0
  19. package/payload/platform/plugins/admin/skills/platform-architecture/SKILL.md +18 -1
  20. package/payload/platform/plugins/admin/skills/whats-new/SKILL.md +15 -0
  21. package/payload/platform/plugins/docs/references/access-control.md +14 -0
  22. package/payload/platform/plugins/docs/references/internals.md +2 -0
  23. package/payload/platform/plugins/docs/references/platform.md +1 -0
  24. package/payload/platform/plugins/filesystem/.claude-plugin/plugin.json +1 -1
  25. package/payload/platform/plugins/filesystem/PLUGIN.md +11 -1
  26. package/payload/platform/plugins/filesystem/mcp/dist/index.js +23 -7
  27. package/payload/platform/plugins/filesystem/mcp/dist/index.js.map +1 -1
  28. package/payload/platform/plugins/filesystem/mcp/dist/lib/__tests__/scope.test.js +104 -4
  29. package/payload/platform/plugins/filesystem/mcp/dist/lib/__tests__/scope.test.js.map +1 -1
  30. package/payload/platform/plugins/filesystem/mcp/dist/lib/__tests__/shared-folder.test.d.ts +2 -0
  31. package/payload/platform/plugins/filesystem/mcp/dist/lib/__tests__/shared-folder.test.d.ts.map +1 -0
  32. package/payload/platform/plugins/filesystem/mcp/dist/lib/__tests__/shared-folder.test.js +67 -0
  33. package/payload/platform/plugins/filesystem/mcp/dist/lib/__tests__/shared-folder.test.js.map +1 -0
  34. package/payload/platform/plugins/filesystem/mcp/dist/lib/scope.d.ts +16 -2
  35. package/payload/platform/plugins/filesystem/mcp/dist/lib/scope.d.ts.map +1 -1
  36. package/payload/platform/plugins/filesystem/mcp/dist/lib/scope.js +54 -1
  37. package/payload/platform/plugins/filesystem/mcp/dist/lib/scope.js.map +1 -1
  38. package/payload/platform/plugins/filesystem/mcp/dist/tools/__tests__/handlers.test.js +76 -2
  39. package/payload/platform/plugins/filesystem/mcp/dist/tools/__tests__/handlers.test.js.map +1 -1
  40. package/payload/platform/plugins/filesystem/mcp/dist/tools/file-edit.d.ts +1 -0
  41. package/payload/platform/plugins/filesystem/mcp/dist/tools/file-edit.d.ts.map +1 -1
  42. package/payload/platform/plugins/filesystem/mcp/dist/tools/file-edit.js +3 -3
  43. package/payload/platform/plugins/filesystem/mcp/dist/tools/file-edit.js.map +1 -1
  44. package/payload/platform/plugins/filesystem/mcp/dist/tools/file-glob.d.ts +1 -0
  45. package/payload/platform/plugins/filesystem/mcp/dist/tools/file-glob.d.ts.map +1 -1
  46. package/payload/platform/plugins/filesystem/mcp/dist/tools/file-glob.js +1 -1
  47. package/payload/platform/plugins/filesystem/mcp/dist/tools/file-glob.js.map +1 -1
  48. package/payload/platform/plugins/filesystem/mcp/dist/tools/file-grep.d.ts +1 -0
  49. package/payload/platform/plugins/filesystem/mcp/dist/tools/file-grep.d.ts.map +1 -1
  50. package/payload/platform/plugins/filesystem/mcp/dist/tools/file-grep.js +3 -3
  51. package/payload/platform/plugins/filesystem/mcp/dist/tools/file-grep.js.map +1 -1
  52. package/payload/platform/plugins/filesystem/mcp/dist/tools/file-list.d.ts +1 -0
  53. package/payload/platform/plugins/filesystem/mcp/dist/tools/file-list.d.ts.map +1 -1
  54. package/payload/platform/plugins/filesystem/mcp/dist/tools/file-list.js +3 -3
  55. package/payload/platform/plugins/filesystem/mcp/dist/tools/file-list.js.map +1 -1
  56. package/payload/platform/plugins/filesystem/mcp/dist/tools/file-read.d.ts +1 -0
  57. package/payload/platform/plugins/filesystem/mcp/dist/tools/file-read.d.ts.map +1 -1
  58. package/payload/platform/plugins/filesystem/mcp/dist/tools/file-read.js +3 -3
  59. package/payload/platform/plugins/filesystem/mcp/dist/tools/file-read.js.map +1 -1
  60. package/payload/platform/plugins/filesystem/mcp/dist/tools/file-write.d.ts +1 -0
  61. package/payload/platform/plugins/filesystem/mcp/dist/tools/file-write.d.ts.map +1 -1
  62. package/payload/platform/plugins/filesystem/mcp/dist/tools/file-write.js +3 -3
  63. package/payload/platform/plugins/filesystem/mcp/dist/tools/file-write.js.map +1 -1
  64. package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/agent-turn-dispatch.test.js +81 -1
  65. package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/agent-turn-dispatch.test.js.map +1 -1
  66. package/payload/platform/plugins/scheduling/mcp/dist/scripts/agent-turn-dispatch.d.ts +22 -0
  67. package/payload/platform/plugins/scheduling/mcp/dist/scripts/agent-turn-dispatch.d.ts.map +1 -1
  68. package/payload/platform/plugins/scheduling/mcp/dist/scripts/agent-turn-dispatch.js +80 -0
  69. package/payload/platform/plugins/scheduling/mcp/dist/scripts/agent-turn-dispatch.js.map +1 -1
  70. package/payload/platform/plugins/scheduling/mcp/dist/scripts/check-due-events.js +13 -1
  71. package/payload/platform/plugins/scheduling/mcp/dist/scripts/check-due-events.js.map +1 -1
  72. package/payload/platform/plugins/whatsapp/PLUGIN.md +2 -2
  73. package/payload/platform/plugins/whatsapp/mcp/dist/index.js +1 -1
  74. package/payload/platform/plugins/whatsapp/mcp/dist/index.js.map +1 -1
  75. package/payload/platform/plugins/whatsapp/references/channels-whatsapp.md +1 -1
  76. package/payload/platform/scripts/__tests__/public-surface-registered.test.sh +102 -0
  77. package/payload/platform/scripts/check-no-esm-require.mjs +5 -0
  78. package/payload/platform/scripts/lib/__tests__/account-settings-public-surface.test.sh +109 -0
  79. package/payload/platform/scripts/lib/account-settings-public-surface.sh +109 -0
  80. package/payload/platform/scripts/lib/provision-account-dir.sh +6 -3
  81. package/payload/platform/scripts/setup-account.sh +14 -0
  82. package/payload/platform/services/claude-session-manager/dist/agent-identity-locator.d.ts +8 -4
  83. package/payload/platform/services/claude-session-manager/dist/agent-identity-locator.d.ts.map +1 -1
  84. package/payload/platform/services/claude-session-manager/dist/agent-identity-locator.js +27 -7
  85. package/payload/platform/services/claude-session-manager/dist/agent-identity-locator.js.map +1 -1
  86. package/payload/platform/services/claude-session-manager/dist/config.d.ts +11 -6
  87. package/payload/platform/services/claude-session-manager/dist/config.d.ts.map +1 -1
  88. package/payload/platform/services/claude-session-manager/dist/config.js +8 -4
  89. package/payload/platform/services/claude-session-manager/dist/config.js.map +1 -1
  90. package/payload/platform/services/claude-session-manager/dist/fs-watcher.d.ts +24 -2
  91. package/payload/platform/services/claude-session-manager/dist/fs-watcher.d.ts.map +1 -1
  92. package/payload/platform/services/claude-session-manager/dist/fs-watcher.js +23 -1
  93. package/payload/platform/services/claude-session-manager/dist/fs-watcher.js.map +1 -1
  94. package/payload/platform/services/claude-session-manager/dist/http-server.d.ts +35 -0
  95. package/payload/platform/services/claude-session-manager/dist/http-server.d.ts.map +1 -1
  96. package/payload/platform/services/claude-session-manager/dist/http-server.js +286 -25
  97. package/payload/platform/services/claude-session-manager/dist/http-server.js.map +1 -1
  98. package/payload/platform/services/claude-session-manager/dist/index.js +169 -51
  99. package/payload/platform/services/claude-session-manager/dist/index.js.map +1 -1
  100. package/payload/platform/services/claude-session-manager/dist/pty-spawner.d.ts +24 -12
  101. package/payload/platform/services/claude-session-manager/dist/pty-spawner.d.ts.map +1 -1
  102. package/payload/platform/services/claude-session-manager/dist/pty-spawner.js +194 -28
  103. package/payload/platform/services/claude-session-manager/dist/pty-spawner.js.map +1 -1
  104. package/payload/platform/services/claude-session-manager/dist/public-agent-reachability.d.ts.map +1 -1
  105. package/payload/platform/services/claude-session-manager/dist/public-agent-reachability.js +4 -0
  106. package/payload/platform/services/claude-session-manager/dist/public-agent-reachability.js.map +1 -1
  107. package/payload/platform/services/claude-session-manager/dist/public-surface-audit.d.ts +24 -3
  108. package/payload/platform/services/claude-session-manager/dist/public-surface-audit.d.ts.map +1 -1
  109. package/payload/platform/services/claude-session-manager/dist/public-surface-audit.js +29 -3
  110. package/payload/platform/services/claude-session-manager/dist/public-surface-audit.js.map +1 -1
  111. package/payload/platform/services/claude-session-manager/dist/rc-public-lockdown.d.ts +27 -0
  112. package/payload/platform/services/claude-session-manager/dist/rc-public-lockdown.d.ts.map +1 -1
  113. package/payload/platform/services/claude-session-manager/dist/rc-public-lockdown.js +32 -0
  114. package/payload/platform/services/claude-session-manager/dist/rc-public-lockdown.js.map +1 -1
  115. package/payload/platform/services/claude-session-manager/dist/role-census.d.ts +24 -0
  116. package/payload/platform/services/claude-session-manager/dist/role-census.d.ts.map +1 -0
  117. package/payload/platform/services/claude-session-manager/dist/role-census.js +50 -0
  118. package/payload/platform/services/claude-session-manager/dist/role-census.js.map +1 -0
  119. package/payload/platform/services/claude-session-manager/dist/session-sidecar.d.ts +24 -2
  120. package/payload/platform/services/claude-session-manager/dist/session-sidecar.d.ts.map +1 -1
  121. package/payload/platform/services/claude-session-manager/dist/session-sidecar.js +21 -0
  122. package/payload/platform/services/claude-session-manager/dist/session-sidecar.js.map +1 -1
  123. package/payload/platform/services/claude-session-manager/dist/stuck-turn-recover.d.ts +76 -0
  124. package/payload/platform/services/claude-session-manager/dist/stuck-turn-recover.d.ts.map +1 -1
  125. package/payload/platform/services/claude-session-manager/dist/stuck-turn-recover.js +110 -19
  126. package/payload/platform/services/claude-session-manager/dist/stuck-turn-recover.js.map +1 -1
  127. package/payload/platform/services/claude-session-manager/dist/stuck-turn-respawn.d.ts +60 -0
  128. package/payload/platform/services/claude-session-manager/dist/stuck-turn-respawn.d.ts.map +1 -0
  129. package/payload/platform/services/claude-session-manager/dist/stuck-turn-respawn.js +93 -0
  130. package/payload/platform/services/claude-session-manager/dist/stuck-turn-respawn.js.map +1 -0
  131. package/payload/platform/services/claude-session-manager/dist/stuck-turn.d.ts +31 -1
  132. package/payload/platform/services/claude-session-manager/dist/stuck-turn.d.ts.map +1 -1
  133. package/payload/platform/services/claude-session-manager/dist/stuck-turn.js +72 -9
  134. package/payload/platform/services/claude-session-manager/dist/stuck-turn.js.map +1 -1
  135. package/payload/platform/services/claude-session-manager/dist/system-prompt.d.ts +1 -1
  136. package/payload/platform/services/claude-session-manager/dist/system-prompt.d.ts.map +1 -1
  137. package/payload/platform/services/claude-session-manager/dist/system-prompt.js +9 -1
  138. package/payload/platform/services/claude-session-manager/dist/system-prompt.js.map +1 -1
  139. package/payload/platform/services/claude-session-manager/dist/types.d.ts +9 -3
  140. package/payload/platform/services/claude-session-manager/dist/types.d.ts.map +1 -1
  141. package/payload/platform/services/telegram-channel/dist/instructions.d.ts +0 -1
  142. package/payload/platform/services/telegram-channel/dist/instructions.d.ts.map +1 -1
  143. package/payload/platform/services/telegram-channel/dist/instructions.js +0 -46
  144. package/payload/platform/services/telegram-channel/dist/instructions.js.map +1 -1
  145. package/payload/platform/services/telegram-channel/dist/notification.d.ts +16 -4
  146. package/payload/platform/services/telegram-channel/dist/notification.d.ts.map +1 -1
  147. package/payload/platform/services/telegram-channel/dist/notification.js +27 -14
  148. package/payload/platform/services/telegram-channel/dist/notification.js.map +1 -1
  149. package/payload/platform/services/telegram-channel/dist/server.d.ts.map +1 -1
  150. package/payload/platform/services/telegram-channel/dist/server.js +10 -0
  151. package/payload/platform/services/telegram-channel/dist/server.js.map +1 -1
  152. package/payload/platform/services/webchat-channel/dist/instructions.d.ts +0 -1
  153. package/payload/platform/services/webchat-channel/dist/instructions.d.ts.map +1 -1
  154. package/payload/platform/services/webchat-channel/dist/instructions.js +0 -60
  155. package/payload/platform/services/webchat-channel/dist/instructions.js.map +1 -1
  156. package/payload/platform/services/webchat-channel/dist/notification.d.ts +14 -2
  157. package/payload/platform/services/webchat-channel/dist/notification.d.ts.map +1 -1
  158. package/payload/platform/services/webchat-channel/dist/notification.js +28 -12
  159. package/payload/platform/services/webchat-channel/dist/notification.js.map +1 -1
  160. package/payload/platform/services/webchat-channel/dist/server.d.ts.map +1 -1
  161. package/payload/platform/services/webchat-channel/dist/server.js +10 -0
  162. package/payload/platform/services/webchat-channel/dist/server.js.map +1 -1
  163. package/payload/platform/services/whatsapp-channel/dist/notification.d.ts +97 -33
  164. package/payload/platform/services/whatsapp-channel/dist/notification.d.ts.map +1 -1
  165. package/payload/platform/services/whatsapp-channel/dist/notification.js +98 -76
  166. package/payload/platform/services/whatsapp-channel/dist/notification.js.map +1 -1
  167. package/payload/platform/services/whatsapp-channel/dist/server.d.ts +18 -0
  168. package/payload/platform/services/whatsapp-channel/dist/server.d.ts.map +1 -1
  169. package/payload/platform/services/whatsapp-channel/dist/server.js +87 -5
  170. package/payload/platform/services/whatsapp-channel/dist/server.js.map +1 -1
  171. package/payload/platform/services/whatsapp-channel/dist/targets.d.ts +41 -9
  172. package/payload/platform/services/whatsapp-channel/dist/targets.d.ts.map +1 -1
  173. package/payload/platform/services/whatsapp-channel/dist/targets.js +42 -7
  174. package/payload/platform/services/whatsapp-channel/dist/targets.js.map +1 -1
  175. package/payload/platform/templates/agents/admin/INSTRUCTION.md +0 -0
  176. package/payload/server/{adminuser-self-heal-LC7HZAC6.js → adminuser-self-heal-ZHFNDKJK.js} +1 -1
  177. package/payload/server/{chunk-HZP7BKBF.js → chunk-CVUSUNXM.js} +128 -4
  178. package/payload/server/{chunk-CKTHAHL4.js → chunk-DU7GPDJJ.js} +4 -2
  179. package/payload/server/{chunk-PFF6I7KP.js → chunk-HYQNUVGO.js} +8 -1
  180. package/payload/server/{chunk-ERIM3EFB.js → chunk-X2RRMHVV.js} +1 -1
  181. package/payload/server/{manager-CM55K4J2.js → manager-TI2YJQVZ.js} +3 -3
  182. package/payload/server/maxy-edge.js +3 -3
  183. package/payload/server/public/activity.html +5 -5
  184. package/payload/server/public/agents.html +4 -4
  185. package/payload/server/public/assets/AdminLoginScreens-BGKtDqAk.js +1 -0
  186. package/payload/server/public/assets/AdminLoginScreens-BGKtDqAk.js.br +0 -0
  187. package/payload/server/public/assets/AdminLoginScreens-BGKtDqAk.js.gz +0 -0
  188. package/payload/server/public/assets/AdminShell-DnfgsAQl.js +2 -0
  189. package/payload/server/public/assets/AdminShell-DnfgsAQl.js.br +0 -0
  190. package/payload/server/public/assets/AdminShell-DnfgsAQl.js.gz +0 -0
  191. package/payload/server/public/assets/activity-ByJSut0Q.js +1 -0
  192. package/payload/server/public/assets/activity-ByJSut0Q.js.br +0 -0
  193. package/payload/server/public/assets/activity-ByJSut0Q.js.gz +0 -0
  194. package/payload/server/public/assets/admin-CkeJO6kA.js +1 -0
  195. package/payload/server/public/assets/admin-CkeJO6kA.js.br +0 -0
  196. package/payload/server/public/assets/admin-CkeJO6kA.js.gz +0 -0
  197. package/payload/server/public/assets/agents-D8phtRX5.js +1 -0
  198. package/payload/server/public/assets/agents-D8phtRX5.js.br +0 -0
  199. package/payload/server/public/assets/agents-D8phtRX5.js.gz +0 -0
  200. package/payload/server/public/assets/browser-DQSTjdom.js +1 -0
  201. package/payload/server/public/assets/browser-DQSTjdom.js.br +0 -0
  202. package/payload/server/public/assets/browser-DQSTjdom.js.gz +0 -0
  203. package/payload/server/public/assets/calendar-DFJu1XjP.js +1 -0
  204. package/payload/server/public/assets/calendar-DFJu1XjP.js.br +0 -0
  205. package/payload/server/public/assets/calendar-DFJu1XjP.js.gz +0 -0
  206. package/payload/server/public/assets/chat-DUqtIsOt.js +1 -0
  207. package/payload/server/public/assets/chat-DUqtIsOt.js.br +0 -0
  208. package/payload/server/public/assets/chat-DUqtIsOt.js.gz +0 -0
  209. package/payload/server/public/assets/chevron-left-DFK18xVX.js +1 -0
  210. package/payload/server/public/assets/chevron-left-DFK18xVX.js.br +0 -0
  211. package/payload/server/public/assets/chevron-right-DJ4oaHoN.js +1 -0
  212. package/payload/server/public/assets/chevron-right-DJ4oaHoN.js.br +0 -0
  213. package/payload/server/public/assets/clock-wHIan2DW.js +1 -0
  214. package/payload/server/public/assets/clock-wHIan2DW.js.br +0 -0
  215. package/payload/server/public/assets/{copy-3kj9Oaoc.js → copy-lFFhXRGk.js} +1 -1
  216. package/payload/server/public/assets/copy-lFFhXRGk.js.br +0 -0
  217. package/payload/server/public/assets/copy-lFFhXRGk.js.gz +0 -0
  218. package/payload/server/public/assets/data-Cxv97ARy.js +1 -0
  219. package/payload/server/public/assets/data-Cxv97ARy.js.br +0 -0
  220. package/payload/server/public/assets/data-Cxv97ARy.js.gz +0 -0
  221. package/payload/server/public/assets/{file-text-CBaewT76.js → file-text-D2Y-bkNy.js} +1 -1
  222. package/payload/server/public/assets/file-text-D2Y-bkNy.js.br +0 -0
  223. package/payload/server/public/assets/file-text-D2Y-bkNy.js.gz +0 -0
  224. package/payload/server/public/assets/{graph-B8-e2_Z-.js → graph-C-3yN6JD.js} +3 -3
  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-Bsc23eZU.js → graph-labels-DiaPLP27.js} +1 -1
  228. package/payload/server/public/assets/graph-labels-DiaPLP27.js.br +0 -0
  229. package/payload/server/public/assets/graph-labels-DiaPLP27.js.gz +0 -0
  230. package/payload/server/public/assets/operator-KuGPvSa9.js +1 -0
  231. package/payload/server/public/assets/operator-KuGPvSa9.js.br +0 -0
  232. package/payload/server/public/assets/operator-KuGPvSa9.js.gz +0 -0
  233. package/payload/server/public/assets/page-BhGeFXWA.js +1 -0
  234. package/payload/server/public/assets/page-BhGeFXWA.js.br +0 -0
  235. package/payload/server/public/assets/page-BhGeFXWA.js.gz +0 -0
  236. package/payload/server/public/assets/page-EnbVC-yM.js +32 -0
  237. package/payload/server/public/assets/page-EnbVC-yM.js.br +0 -0
  238. package/payload/server/public/assets/page-EnbVC-yM.js.gz +0 -0
  239. package/payload/server/public/assets/play-jZFZAG-t.js +1 -0
  240. package/payload/server/public/assets/play-jZFZAG-t.js.br +0 -0
  241. package/payload/server/public/assets/play-jZFZAG-t.js.gz +0 -0
  242. package/payload/server/public/assets/public-CdSgMNC7.js +1 -0
  243. package/payload/server/public/assets/public-CdSgMNC7.js.br +0 -0
  244. package/payload/server/public/assets/public-CdSgMNC7.js.gz +0 -0
  245. package/payload/server/public/assets/{rotate-ccw-FZW7c8p8.js → rotate-ccw-rTRuTqei.js} +1 -1
  246. package/payload/server/public/assets/rotate-ccw-rTRuTqei.js.br +0 -0
  247. package/payload/server/public/assets/rotate-ccw-rTRuTqei.js.gz +0 -0
  248. package/payload/server/public/assets/routines-DNRxNRSQ.js +2 -0
  249. package/payload/server/public/assets/routines-DNRxNRSQ.js.br +0 -0
  250. package/payload/server/public/assets/routines-DNRxNRSQ.js.gz +0 -0
  251. package/payload/server/public/assets/skills-DFWtZNkW.js +1 -0
  252. package/payload/server/public/assets/skills-DFWtZNkW.js.br +0 -0
  253. package/payload/server/public/assets/skills-DFWtZNkW.js.gz +0 -0
  254. package/payload/server/public/assets/tasks-B94AuKSy.js +3 -0
  255. package/payload/server/public/assets/tasks-B94AuKSy.js.br +0 -0
  256. package/payload/server/public/assets/tasks-B94AuKSy.js.gz +0 -0
  257. package/payload/server/public/assets/{triangle-alert-CR-jRJdI.js → triangle-alert-DtWUg6jR.js} +1 -1
  258. package/payload/server/public/assets/triangle-alert-DtWUg6jR.js.br +0 -0
  259. package/payload/server/public/assets/triangle-alert-DtWUg6jR.js.gz +0 -0
  260. package/payload/server/public/assets/useCopyFeedback-CjKYO-Qf.js +1 -0
  261. package/payload/server/public/assets/useCopyFeedback-CjKYO-Qf.js.br +0 -0
  262. package/payload/server/public/assets/useCopyFeedback-CjKYO-Qf.js.gz +0 -0
  263. package/payload/server/public/assets/useMediaQuery-BYIHo-xL.js +14 -0
  264. package/payload/server/public/assets/useMediaQuery-BYIHo-xL.js.br +0 -0
  265. package/payload/server/public/assets/useMediaQuery-BYIHo-xL.js.gz +0 -0
  266. package/payload/server/public/assets/useMediaQuery-DlOWP56H.css +1 -0
  267. package/payload/server/public/assets/useMediaQuery-DlOWP56H.css.br +0 -0
  268. package/payload/server/public/assets/useMediaQuery-DlOWP56H.css.gz +0 -0
  269. package/payload/server/public/assets/useVoiceRecorder-BKFAYuzz.js +2 -0
  270. package/payload/server/public/assets/useVoiceRecorder-BKFAYuzz.js.br +0 -0
  271. package/payload/server/public/assets/useVoiceRecorder-BKFAYuzz.js.gz +0 -0
  272. package/payload/server/public/assets/{wrench-CpCOYUBc.js → wrench-Ct4kf-uv.js} +1 -1
  273. package/payload/server/public/assets/wrench-Ct4kf-uv.js.br +0 -0
  274. package/payload/server/public/assets/wrench-Ct4kf-uv.js.gz +0 -0
  275. package/payload/server/public/browser.html +4 -4
  276. package/payload/server/public/calendar.html +8 -8
  277. package/payload/server/public/chat.html +13 -13
  278. package/payload/server/public/data.html +11 -11
  279. package/payload/server/public/graph.html +9 -9
  280. package/payload/server/public/index.html +14 -14
  281. package/payload/server/public/operator.html +14 -14
  282. package/payload/server/public/public.html +13 -13
  283. package/payload/server/public/routines.html +6 -6
  284. package/payload/server/public/skills.html +5 -5
  285. package/payload/server/public/tasks.html +6 -6
  286. package/payload/server/server.js +537 -263
  287. package/payload/server/{src-JN6PIAJN.js → src-MM64CYYZ.js} +1 -1
  288. package/payload/server/{userprofile-reconcile-QHVLY2AH.js → userprofile-reconcile-TL4JKBPG.js} +1 -1
  289. package/payload/server/public/assets/AdminLoginScreens-DuFCjbz2.js +0 -1
  290. package/payload/server/public/assets/AdminLoginScreens-DuFCjbz2.js.br +0 -0
  291. package/payload/server/public/assets/AdminLoginScreens-DuFCjbz2.js.gz +0 -0
  292. package/payload/server/public/assets/AdminShell-DJL5DzRX.js +0 -2
  293. package/payload/server/public/assets/AdminShell-DJL5DzRX.js.br +0 -0
  294. package/payload/server/public/assets/AdminShell-DJL5DzRX.js.gz +0 -0
  295. package/payload/server/public/assets/activity-CpMnNr5c.js +0 -1
  296. package/payload/server/public/assets/activity-CpMnNr5c.js.br +0 -0
  297. package/payload/server/public/assets/activity-CpMnNr5c.js.gz +0 -0
  298. package/payload/server/public/assets/admin-CBwKIfaI.js +0 -1
  299. package/payload/server/public/assets/admin-CBwKIfaI.js.br +0 -0
  300. package/payload/server/public/assets/admin-CBwKIfaI.js.gz +0 -0
  301. package/payload/server/public/assets/agents-C4LmSKjb.js +0 -1
  302. package/payload/server/public/assets/agents-C4LmSKjb.js.br +0 -0
  303. package/payload/server/public/assets/agents-C4LmSKjb.js.gz +0 -0
  304. package/payload/server/public/assets/browser-Bm9xm_yc.js +0 -1
  305. package/payload/server/public/assets/browser-Bm9xm_yc.js.br +0 -0
  306. package/payload/server/public/assets/browser-Bm9xm_yc.js.gz +0 -0
  307. package/payload/server/public/assets/calendar-CNY9FTWe.js +0 -1
  308. package/payload/server/public/assets/calendar-CNY9FTWe.js.br +0 -0
  309. package/payload/server/public/assets/calendar-CNY9FTWe.js.gz +0 -0
  310. package/payload/server/public/assets/chat-3WoUGCTd.js +0 -1
  311. package/payload/server/public/assets/chat-3WoUGCTd.js.br +0 -0
  312. package/payload/server/public/assets/chat-3WoUGCTd.js.gz +0 -0
  313. package/payload/server/public/assets/chevron-left-BE16BJnw.js +0 -1
  314. package/payload/server/public/assets/chevron-left-BE16BJnw.js.br +0 -0
  315. package/payload/server/public/assets/chevron-right-Bu2VKpeU.js +0 -1
  316. package/payload/server/public/assets/chevron-right-Bu2VKpeU.js.br +0 -0
  317. package/payload/server/public/assets/clock-C4Nu2aRV.js +0 -1
  318. package/payload/server/public/assets/clock-C4Nu2aRV.js.br +0 -0
  319. package/payload/server/public/assets/copy-3kj9Oaoc.js.br +0 -0
  320. package/payload/server/public/assets/copy-3kj9Oaoc.js.gz +0 -0
  321. package/payload/server/public/assets/data-C-x5EHyi.js +0 -1
  322. package/payload/server/public/assets/data-C-x5EHyi.js.br +0 -1
  323. package/payload/server/public/assets/data-C-x5EHyi.js.gz +0 -0
  324. package/payload/server/public/assets/file-text-CBaewT76.js.br +0 -0
  325. package/payload/server/public/assets/file-text-CBaewT76.js.gz +0 -0
  326. package/payload/server/public/assets/graph-B8-e2_Z-.js.br +0 -0
  327. package/payload/server/public/assets/graph-B8-e2_Z-.js.gz +0 -0
  328. package/payload/server/public/assets/graph-labels-Bsc23eZU.js.br +0 -0
  329. package/payload/server/public/assets/graph-labels-Bsc23eZU.js.gz +0 -0
  330. package/payload/server/public/assets/operator-Cve0-qfO.js +0 -1
  331. package/payload/server/public/assets/operator-Cve0-qfO.js.br +0 -0
  332. package/payload/server/public/assets/operator-Cve0-qfO.js.gz +0 -0
  333. package/payload/server/public/assets/page-BgVMs6Vf.js +0 -1
  334. package/payload/server/public/assets/page-BgVMs6Vf.js.br +0 -0
  335. package/payload/server/public/assets/page-BgVMs6Vf.js.gz +0 -0
  336. package/payload/server/public/assets/page-fABub-w8.js +0 -32
  337. package/payload/server/public/assets/page-fABub-w8.js.br +0 -0
  338. package/payload/server/public/assets/page-fABub-w8.js.gz +0 -0
  339. package/payload/server/public/assets/play-B6zXB9K7.js +0 -1
  340. package/payload/server/public/assets/play-B6zXB9K7.js.br +0 -0
  341. package/payload/server/public/assets/play-B6zXB9K7.js.gz +0 -0
  342. package/payload/server/public/assets/public--R2DbdWs.js +0 -1
  343. package/payload/server/public/assets/public--R2DbdWs.js.br +0 -0
  344. package/payload/server/public/assets/public--R2DbdWs.js.gz +0 -0
  345. package/payload/server/public/assets/rotate-ccw-FZW7c8p8.js.br +0 -0
  346. package/payload/server/public/assets/rotate-ccw-FZW7c8p8.js.gz +0 -0
  347. package/payload/server/public/assets/routines-BpZs2SaT.js +0 -2
  348. package/payload/server/public/assets/routines-BpZs2SaT.js.br +0 -0
  349. package/payload/server/public/assets/routines-BpZs2SaT.js.gz +0 -0
  350. package/payload/server/public/assets/skills-DF7uyEEz.js +0 -1
  351. package/payload/server/public/assets/skills-DF7uyEEz.js.br +0 -0
  352. package/payload/server/public/assets/skills-DF7uyEEz.js.gz +0 -0
  353. package/payload/server/public/assets/tasks-BfJJmoWO.js +0 -3
  354. package/payload/server/public/assets/tasks-BfJJmoWO.js.br +0 -0
  355. package/payload/server/public/assets/tasks-BfJJmoWO.js.gz +0 -0
  356. package/payload/server/public/assets/triangle-alert-CR-jRJdI.js.br +0 -0
  357. package/payload/server/public/assets/triangle-alert-CR-jRJdI.js.gz +0 -0
  358. package/payload/server/public/assets/useCopyFeedback-IOuPUAHY.js +0 -1
  359. package/payload/server/public/assets/useCopyFeedback-IOuPUAHY.js.br +0 -0
  360. package/payload/server/public/assets/useCopyFeedback-IOuPUAHY.js.gz +0 -0
  361. package/payload/server/public/assets/useMediaQuery-CA6dR5iz.js +0 -14
  362. package/payload/server/public/assets/useMediaQuery-CA6dR5iz.js.br +0 -0
  363. package/payload/server/public/assets/useMediaQuery-CA6dR5iz.js.gz +0 -0
  364. package/payload/server/public/assets/useMediaQuery-DpwgV1Da.css +0 -1
  365. package/payload/server/public/assets/useMediaQuery-DpwgV1Da.css.br +0 -0
  366. package/payload/server/public/assets/useMediaQuery-DpwgV1Da.css.gz +0 -0
  367. package/payload/server/public/assets/useVoiceRecorder-DGhsN7nV.js +0 -2
  368. package/payload/server/public/assets/useVoiceRecorder-DGhsN7nV.js.br +0 -0
  369. package/payload/server/public/assets/useVoiceRecorder-DGhsN7nV.js.gz +0 -0
  370. package/payload/server/public/assets/wrench-CpCOYUBc.js.br +0 -0
  371. package/payload/server/public/assets/wrench-CpCOYUBc.js.gz +0 -0
@@ -0,0 +1,102 @@
1
+ #!/usr/bin/env bash
2
+ # Task 2339 — the hook must be registered in BOTH writers, on BOTH events, with
3
+ # the SAME resolved command string. The provision-time heredoc is a frequent
4
+ # merge-conflict site and the backfill lib is the only thing that reaches client
5
+ # sub-accounts, so losing either is silent. Drift between them is worse than
6
+ # losing one: the backfill would not recognise what provision wrote and would
7
+ # append a second copy to every house account on every install.
8
+ set -uo pipefail
9
+ DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
10
+ PROV="$DIR/../lib/provision-account-dir.sh"
11
+ BACKFILL="$DIR/../lib/account-settings-public-surface.sh"
12
+ SETUP="$DIR/../setup-account.sh"
13
+ PASS=0; FAIL=0
14
+
15
+ ok() { echo "PASS: $1"; PASS=$((PASS+1)); }
16
+ bad() { echo "FAIL: $1" >&2; FAIL=$((FAIL+1)); }
17
+
18
+ PROV_LINE='{ "type": "command", "command": "bash $HOOKS_PATH/public-tool-surface.sh" }'
19
+ RESOLVED='bash $PLATFORM_ROOT/plugins/admin/hooks/public-tool-surface.sh'
20
+
21
+ if [ "$(/usr/bin/grep -cF "$PROV_LINE" "$PROV")" = "3" ]; then
22
+ ok "provision-account-dir.sh writes the hook exactly three times"
23
+ else
24
+ bad "expected 3 provision command lines in $PROV"
25
+ fi
26
+
27
+ # The matcher-less PreToolUse entry is the one that matches every tool. A
28
+ # matcher key on that entry would silently narrow the hook to one tool.
29
+ if python3 - "$PROV" <<'PY'
30
+ import re, sys
31
+ src = open(sys.argv[1], encoding="utf-8").read()
32
+ m = re.search(r'"PreToolUse"\s*:\s*\[(.*?)\n \]', src, re.S)
33
+ if not m:
34
+ sys.exit(1)
35
+ block = m.group(1)
36
+ entries = re.split(r'\n \},\n', block)
37
+ hit = [e for e in entries if "public-tool-surface.sh" in e]
38
+ sys.exit(0 if len(hit) == 1 and '"matcher"' not in hit[0] else 1)
39
+ PY
40
+ then
41
+ ok "the PreToolUse entry is matcher-less, so it matches every tool"
42
+ else
43
+ bad "public-tool-surface.sh is absent from, or matcher-scoped in, PreToolUse"
44
+ fi
45
+
46
+ if python3 - "$PROV" <<'PY'
47
+ import re, sys
48
+ src = open(sys.argv[1], encoding="utf-8").read()
49
+ m = re.search(r'"Stop"\s*:\s*\[(.*?)\n \]', src, re.S)
50
+ sys.exit(0 if m and "public-tool-surface.sh" in m.group(1) else 1)
51
+ PY
52
+ then
53
+ ok "the census entry sits inside the Stop array"
54
+ else
55
+ bad "public-tool-surface.sh is not inside the Stop array in $PROV"
56
+ fi
57
+
58
+ # The turn-start reset. Without it a killed turn's tally inflates the next
59
+ # turn's census, which is the number the task's verification asserts against.
60
+ if python3 - "$PROV" <<'PY'
61
+ import re, sys
62
+ src = open(sys.argv[1], encoding="utf-8").read()
63
+ m = re.search(r'"UserPromptSubmit"\s*:\s*\[(.*?)\n \]', src, re.S)
64
+ sys.exit(0 if m and "public-tool-surface.sh" in m.group(1) else 1)
65
+ PY
66
+ then
67
+ ok "the turn-start reset sits inside the UserPromptSubmit array"
68
+ else
69
+ bad "public-tool-surface.sh is not inside the UserPromptSubmit array in $PROV"
70
+ fi
71
+
72
+ if /usr/bin/grep -qF "_PUBSURFACE_CMD='$RESOLVED'" "$BACKFILL"; then
73
+ ok "the backfill lib writes the same resolved command string"
74
+ else
75
+ bad "backfill _PUBSURFACE_CMD is not '$RESOLVED' in $BACKFILL"
76
+ fi
77
+
78
+ if /usr/bin/grep -qF 'HOOKS_PATH="\$PLATFORM_ROOT/plugins/admin/hooks"' "$PROV"; then
79
+ ok "HOOKS_PATH resolves to the path the backfill lib assumes"
80
+ else
81
+ bad "HOOKS_PATH in $PROV no longer matches the backfill lib assumption"
82
+ fi
83
+
84
+ if /usr/bin/grep -qF 'account-settings-public-surface.sh' "$SETUP"; then
85
+ ok "backfill lib sourced by setup-account.sh"
86
+ else
87
+ bad "backfill lib not sourced by $SETUP"
88
+ fi
89
+
90
+ if /usr/bin/grep -qE '^reconcile_all_accounts_public_surface "\$ACCOUNTS_DIR"' "$SETUP"; then
91
+ ok "backfill invoked over every account by setup-account.sh"
92
+ else
93
+ bad "reconcile_all_accounts_public_surface not invoked in $SETUP"
94
+ fi
95
+
96
+ echo "----"
97
+ echo "PASS=$PASS FAIL=$FAIL"
98
+ if [ $((PASS+FAIL)) -ne 8 ]; then
99
+ echo "FAIL: expected 8 checks, ran $((PASS+FAIL))" >&2
100
+ exit 1
101
+ fi
102
+ [ "$FAIL" -eq 0 ]
@@ -98,6 +98,11 @@ const ALLOWLIST = new Set([
98
98
  // data-path deps read the env at import), so it requires node builtins
99
99
  // directly there.
100
100
  'platform/ui/server/routes/admin/__tests__/files-root-groups.test.ts',
101
+ // Same vi.hoisted pattern: the files-shared test builds a tmp
102
+ // MAXY_PLATFORM_ROOT inside the hoisted block (before the route module's
103
+ // data-path deps read the env at import), so it requires node builtins
104
+ // directly there.
105
+ 'platform/ui/server/routes/admin/__tests__/files-shared.test.ts',
101
106
  ])
102
107
 
103
108
  const REQUIRE_CALL_RE = /\brequire\s*\(/
@@ -0,0 +1,109 @@
1
+ #!/usr/bin/env bash
2
+ # Task 2339 — the backfill must reach an account provisioned before the hook
3
+ # existed, must be a byte-identical no-op on a second run, and must never damage
4
+ # a file it cannot patch.
5
+ set -uo pipefail
6
+ DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
7
+ # shellcheck source=../account-settings-public-surface.sh
8
+ . "$DIR/../account-settings-public-surface.sh"
9
+ PASS=0; FAIL=0
10
+ ok() { echo "PASS: $1"; PASS=$((PASS+1)); }
11
+ bad() { echo "FAIL: $1" >&2; FAIL=$((FAIL+1)); }
12
+ CMD='bash $PLATFORM_ROOT/plugins/admin/hooks/public-tool-surface.sh'
13
+
14
+ # A pre-2339 settings file: all three arrays present, none carrying the command.
15
+ mkpre() {
16
+ local f="$1"
17
+ cat > "$f" <<'JSON'
18
+ {
19
+ "permissions": { "defaultMode": "bypassPermissions", "allow": [], "deny": [] },
20
+ "hooks": {
21
+ "PreToolUse": [
22
+ { "matcher": "Bash", "hooks": [ { "type": "command", "command": "bash $PLATFORM_ROOT/plugins/admin/hooks/quote-engine-gate.sh" } ] },
23
+ { "hooks": [ { "type": "command", "command": "bash $PLATFORM_ROOT/plugins/admin/hooks/archive-ingest-surface-gate.sh" } ] }
24
+ ],
25
+ "UserPromptSubmit": [
26
+ { "hooks": [ { "type": "command", "command": "bash $PLATFORM_ROOT/plugins/admin/hooks/datetime-inject.sh" } ] }
27
+ ],
28
+ "Stop": [
29
+ { "hooks": [ { "type": "command", "command": "bash $PLATFORM_ROOT/plugins/admin/hooks/prompt-optimiser-compliance.sh" } ] }
30
+ ]
31
+ }
32
+ }
33
+ JSON
34
+ }
35
+
36
+ D=$(mktemp -d)
37
+ F="$D/settings.json"
38
+ mkpre "$F"
39
+ OUT=$(ensure_public_surface_hook "$F")
40
+ if [[ "$OUT" == *"status=updated"* ]]; then ok "a pre-2339 file is updated"; else bad "expected updated, got: $OUT"; fi
41
+ if [ "$(jq -r --arg c "$CMD" '[.hooks.PreToolUse[] | select(has("matcher") | not) | .hooks[] | select(.command == $c)] | length' "$F")" = "1" ]; then
42
+ ok "the command lands on the matcher-less PreToolUse entry"
43
+ else
44
+ bad "command not on the matcher-less PreToolUse entry"
45
+ fi
46
+ if [ "$(jq -r --arg c "$CMD" '[.hooks.PreToolUse[] | select(has("matcher")) | .hooks[] | select(.command == $c)] | length' "$F")" = "0" ]; then
47
+ ok "no matcher-scoped entry gained the command"
48
+ else
49
+ bad "a matcher-scoped entry gained the command"
50
+ fi
51
+ if [ "$(jq -r --arg c "$CMD" '[.hooks.Stop[].hooks[] | select(.command == $c)] | length' "$F")" = "1" ]; then
52
+ ok "the command lands on the Stop entry"
53
+ else
54
+ bad "command absent from Stop"
55
+ fi
56
+ if [ "$(jq -r --arg c "$CMD" '[.hooks.UserPromptSubmit[].hooks[] | select(.command == $c)] | length' "$F")" = "1" ]; then
57
+ ok "the command lands on the UserPromptSubmit entry"
58
+ else
59
+ bad "command absent from UserPromptSubmit"
60
+ fi
61
+
62
+ BEFORE=$(cat "$F")
63
+ OUT=$(ensure_public_surface_hook "$F")
64
+ if [[ "$OUT" == *"status=already-set"* ]]; then ok "a second run reports already-set"; else bad "expected already-set, got: $OUT"; fi
65
+ if [ "$BEFORE" = "$(cat "$F")" ]; then ok "a second run leaves the file byte-identical"; else bad "second run rewrote the file"; fi
66
+
67
+ # Missing file.
68
+ OUT=$(ensure_public_surface_hook "$D/nope.json")
69
+ if [[ "$OUT" == *"status=absent"* ]]; then ok "a missing file reports absent"; else bad "expected absent, got: $OUT"; fi
70
+
71
+ # Valid JSON with no hooks block.
72
+ echo '{"permissions":{}}' > "$D/nohooks.json"
73
+ OUT=$(ensure_public_surface_hook "$D/nohooks.json")
74
+ if [[ "$OUT" == *"status=no-hooks"* ]]; then ok "a hookless file reports no-hooks"; else bad "expected no-hooks, got: $OUT"; fi
75
+
76
+ # Malformed JSON is reported and left untouched.
77
+ printf '{ not json' > "$D/bad.json"
78
+ BAD_BEFORE=$(cat "$D/bad.json")
79
+ OUT=$(ensure_public_surface_hook "$D/bad.json")
80
+ if [[ "$OUT" == *"status=rewrite-failed"* ]]; then ok "a malformed file reports rewrite-failed"; else bad "expected rewrite-failed, got: $OUT"; fi
81
+ if [ "$BAD_BEFORE" = "$(cat "$D/bad.json")" ]; then ok "a malformed file is left untouched"; else bad "malformed file was modified"; fi
82
+
83
+ # An empty Stop array gains a whole entry.
84
+ mkpre "$D/emptystop.json"
85
+ jq '.hooks.Stop = []' "$D/emptystop.json" > "$D/es.tmp" && mv "$D/es.tmp" "$D/emptystop.json"
86
+ ensure_public_surface_hook "$D/emptystop.json" >/dev/null
87
+ if [ "$(jq -r --arg c "$CMD" '[.hooks.Stop[].hooks[] | select(.command == $c)] | length' "$D/emptystop.json")" = "1" ]; then
88
+ ok "an empty Stop array gains a whole entry"
89
+ else
90
+ bad "empty Stop array not handled"
91
+ fi
92
+
93
+ # A PreToolUse array with no matcher-less entry gains one.
94
+ mkpre "$D/nocatchall.json"
95
+ jq 'del(.hooks.PreToolUse[] | select(has("matcher") | not))' "$D/nocatchall.json" > "$D/nc.tmp" && mv "$D/nc.tmp" "$D/nocatchall.json"
96
+ ensure_public_surface_hook "$D/nocatchall.json" >/dev/null
97
+ if [ "$(jq -r --arg c "$CMD" '[.hooks.PreToolUse[] | select(has("matcher") | not) | .hooks[] | select(.command == $c)] | length' "$D/nocatchall.json")" = "1" ]; then
98
+ ok "a PreToolUse array with no matcher-less entry gains one"
99
+ else
100
+ bad "missing catch-all entry not handled"
101
+ fi
102
+
103
+ echo "----"
104
+ echo "PASS=$PASS FAIL=$FAIL"
105
+ if [ $((PASS+FAIL)) -ne 13 ]; then
106
+ echo "FAIL: expected 13 checks, ran $((PASS+FAIL))" >&2
107
+ exit 1
108
+ fi
109
+ [ "$FAIL" -eq 0 ]
@@ -0,0 +1,109 @@
1
+ # account-settings-public-surface.sh — retrofit the realised-public-tool-surface
2
+ # hook onto existing accounts' .claude/settings.json. Task 2339.
3
+ #
4
+ # provision-account-dir.sh writes the hooks block only at provision time, and
5
+ # setup-account.sh re-provisions the HOUSE account only: a client sub-account's
6
+ # settings.json is written once, at creation, by the admin-core account-lifecycle
7
+ # tool, and no install ever rewrites it. Without this lib the hook reaches house
8
+ # accounts only, and the account the 2026-08-01 breach was observed on would keep
9
+ # a settings file with no such command — so the instrumentation could not be
10
+ # verified where the defect was seen. Same shape as
11
+ # account-settings-mailbox-inject.sh (Task 2157).
12
+ #
13
+ # Requires jq. Idempotent. Never echoes file contents. Fail-open (nudge, not
14
+ # brick): any unusable file logs a status and is left untouched.
15
+ #
16
+ # Sourced by setup-account.sh; also runnable standalone for a manual repair.
17
+
18
+ # The exact command string provision-account-dir.sh writes. $PLATFORM_ROOT is a
19
+ # literal in the settings file, resolved by Claude Code at hook-run time.
20
+ _PUBSURFACE_CMD='bash $PLATFORM_ROOT/plugins/admin/hooks/public-tool-surface.sh'
21
+
22
+ # ensure_public_surface_hook <settings_file>
23
+ # Guarantees the matcher-less PreToolUse entry, the UserPromptSubmit entry and
24
+ # the Stop entry all carry the command. The PreToolUse target is the
25
+ # matcher-less entry specifically: a matcher-scoped entry would narrow the hook
26
+ # to one tool, and the whole point is every tool. UserPromptSubmit is the
27
+ # turn-start reset without which a killed turn's tally inflates the next turn's
28
+ # census. Logs exactly one
29
+ # `[backfill-2339] file=<f> status=<absent|no-hooks|already-set|updated|rewrite-failed>`
30
+ # to stdout. Always returns 0.
31
+ ensure_public_surface_hook() {
32
+ local f="$1"
33
+ if [ ! -f "$f" ]; then
34
+ echo "[backfill-2339] file=$f status=absent"
35
+ return 0
36
+ fi
37
+ # Patchable only when the file is valid JSON with both arrays.
38
+ if ! jq -e '(.hooks.PreToolUse | type == "array") and (.hooks.UserPromptSubmit | type == "array") and (.hooks.Stop | type == "array")' "$f" >/dev/null 2>&1; then
39
+ if jq -e . "$f" >/dev/null 2>&1; then
40
+ echo "[backfill-2339] file=$f status=no-hooks"
41
+ else
42
+ echo "[backfill-2339] file=$f status=rewrite-failed"
43
+ fi
44
+ return 0
45
+ fi
46
+ local tmp="$f.2339.tmp"
47
+ if ! jq --arg cmd "$_PUBSURFACE_CMD" '
48
+ .hooks.PreToolUse |= (
49
+ if any(.[]; (.hooks // []) | any(.[]; .command == $cmd))
50
+ then .
51
+ elif any(.[]; has("matcher") | not)
52
+ then map(if (has("matcher") | not)
53
+ then .hooks = ((.hooks // []) + [{type: "command", command: $cmd}])
54
+ else . end)
55
+ else . + [{hooks: [{type: "command", command: $cmd}]}]
56
+ end)
57
+ | .hooks.UserPromptSubmit |= (
58
+ if any(.[]; (.hooks // []) | any(.[]; .command == $cmd))
59
+ then .
60
+ elif length == 0
61
+ then [{hooks: [{type: "command", command: $cmd}]}]
62
+ else (.[0].hooks = ((.[0].hooks // []) + [{type: "command", command: $cmd}]))
63
+ end)
64
+ | .hooks.Stop |= (
65
+ if any(.[]; (.hooks // []) | any(.[]; .command == $cmd))
66
+ then .
67
+ elif length == 0
68
+ then [{hooks: [{type: "command", command: $cmd}]}]
69
+ else (.[0].hooks = ((.[0].hooks // []) + [{type: "command", command: $cmd}]))
70
+ end)
71
+ ' "$f" > "$tmp" 2>/dev/null; then
72
+ rm -f "$tmp"
73
+ echo "[backfill-2339] file=$f status=rewrite-failed"
74
+ return 0
75
+ fi
76
+ # Semantic no-op? Compare canonical forms; leave the file byte-identical if so.
77
+ # `|| true` keeps a jq failure here (e.g. $f truncated by a concurrent writer
78
+ # between the type-check above and this read) from tripping a caller's `set -e`
79
+ # and aborting the whole install — this lib is fail-open by contract.
80
+ local before after
81
+ before="$(jq -S . "$f" 2>/dev/null || true)"
82
+ after="$(jq -S . "$tmp" 2>/dev/null || true)"
83
+ if [ "$before" = "$after" ]; then
84
+ rm -f "$tmp"
85
+ echo "[backfill-2339] file=$f status=already-set"
86
+ return 0
87
+ fi
88
+ if mv "$tmp" "$f"; then
89
+ echo "[backfill-2339] file=$f status=updated"
90
+ else
91
+ rm -f "$tmp"
92
+ echo "[backfill-2339] file=$f status=rewrite-failed"
93
+ fi
94
+ return 0
95
+ }
96
+
97
+ # reconcile_all_accounts_public_surface <accounts_dir>
98
+ # Standing check + backfill: every account dir with an account.json gets the
99
+ # realised-surface hook ensured on both events. Mirrors
100
+ # reconcile_all_accounts_mailbox_inject.
101
+ reconcile_all_accounts_public_surface() {
102
+ local accts="$1"
103
+ [ -d "$accts" ] || return 0
104
+ local acct
105
+ for acct in "$accts"/*/; do
106
+ [ -f "$acct/account.json" ] || continue
107
+ ensure_public_surface_hook "$acct/.claude/settings.json"
108
+ done
109
+ }
@@ -101,7 +101,8 @@ provision_account_dir() {
101
101
  },
102
102
  {
103
103
  "hooks": [
104
- { "type": "command", "command": "bash $HOOKS_PATH/archive-ingest-surface-gate.sh" }
104
+ { "type": "command", "command": "bash $HOOKS_PATH/archive-ingest-surface-gate.sh" },
105
+ { "type": "command", "command": "bash $HOOKS_PATH/public-tool-surface.sh" }
105
106
  ]
106
107
  },
107
108
  {
@@ -187,14 +188,16 @@ provision_account_dir() {
187
188
  { "type": "command", "command": "bash $HOOKS_PATH/prompt-optimiser-directive.sh" },
188
189
  { "type": "command", "command": "bash $HOOKS_PATH/datetime-inject.sh" },
189
190
  { "type": "command", "command": "bash $HOOKS_PATH/mailbox-inject.sh" },
190
- { "type": "command", "command": "bash $HOOKS_PATH/preference-consult-directive.sh" }
191
+ { "type": "command", "command": "bash $HOOKS_PATH/preference-consult-directive.sh" },
192
+ { "type": "command", "command": "bash $HOOKS_PATH/public-tool-surface.sh" }
191
193
  ]
192
194
  }
193
195
  ],
194
196
  "Stop": [
195
197
  {
196
198
  "hooks": [
197
- { "type": "command", "command": "bash $HOOKS_PATH/prompt-optimiser-compliance.sh" }
199
+ { "type": "command", "command": "bash $HOOKS_PATH/prompt-optimiser-compliance.sh" },
200
+ { "type": "command", "command": "bash $HOOKS_PATH/public-tool-surface.sh" }
198
201
  ]
199
202
  }
200
203
  ]
@@ -40,6 +40,8 @@ ACCOUNTS_DIR="$INSTALL_DIR/data/accounts"
40
40
  . "$SCRIPT_DIR/lib/account-settings-pdf-conformance.sh"
41
41
  # shellcheck source=lib/account-settings-mailbox-inject.sh
42
42
  . "$SCRIPT_DIR/lib/account-settings-mailbox-inject.sh"
43
+ # shellcheck source=lib/account-settings-public-surface.sh
44
+ . "$SCRIPT_DIR/lib/account-settings-public-surface.sh"
43
45
  # shellcheck source=lib/read-brand-json.sh
44
46
  . "$SCRIPT_DIR/lib/read-brand-json.sh"
45
47
  # Resolve brand-aware persistent users.json path before the resolver runs.
@@ -105,3 +107,15 @@ reconcile_all_accounts_pdf_conformance "$ACCOUNTS_DIR"
105
107
  # Reconcile every account on every install. Idempotent; logs one [backfill-2157]
106
108
  # line per account.
107
109
  reconcile_all_accounts_mailbox_inject "$ACCOUNTS_DIR"
110
+
111
+ # ------------------------------------------------------------------
112
+ # 7. Retrofit the realised-public-tool-surface hook onto every account
113
+ # ------------------------------------------------------------------
114
+ # Standing check + durable backfill (Task 2339): provision_account_dir writes the
115
+ # matcher-less PreToolUse entry and the Stop entry only at provision time, and
116
+ # this script re-provisions only the house account. Without this, the hook that
117
+ # records what a public spawn's tools actually did would reach house accounts
118
+ # only — including not reaching the account where five tools were seen running
119
+ # under a one-tool allowlist. Reconcile every account on every install.
120
+ # Idempotent; logs one [backfill-2339] line per account.
121
+ reconcile_all_accounts_public_surface "$ACCOUNTS_DIR"
@@ -1,12 +1,16 @@
1
- export type AgentRole = 'admin' | 'public' | 'passive';
1
+ import type { AgentRole } from './types.js';
2
+ export type { AgentRole };
2
3
  /** The single source of truth for the directory a spawn reads an agent's
3
- * identity files from. Admin always reads `agents/admin`; a public agent
4
- * reads `agents/<slug>` (Task 638keyed on the agent slug, not the role).
4
+ * identity files from. Every role is matched explicitly and an unnamed role
5
+ * returns null (Task 2325before it, `admin` was what any unrecognised
6
+ * role fell through to, which made the highest-privilege persona reachable
7
+ * by exclusion). A public agent reads `agents/<slug>` (Task 638 — keyed on
8
+ * the agent slug, not the role).
5
9
  * The spawn composer (`system-prompt.ts`) and the standing reachability audit
6
10
  * (`public-agent-reachability.ts`) both resolve through THIS function, so the
7
11
  * directory the audit vouches for is byte-identical to the one the spawn
8
12
  * reads — drift is impossible by construction, not by parallel literals. */
9
- export declare function resolveAgentIdentityDir(accountDir: string, role: AgentRole, slug: string): string;
13
+ export declare function resolveAgentIdentityDir(accountDir: string, role: AgentRole, slug: string): string | null;
10
14
  export interface IdentityFilesVerdict {
11
15
  present: boolean;
12
16
  /** First missing/empty file when `present` is false, e.g. `SOUL.md:ENOENT`
@@ -1 +1 @@
1
- {"version":3,"file":"agent-identity-locator.d.ts","sourceRoot":"","sources":["../src/agent-identity-locator.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAA;AAEtD;;;;;;6EAM6E;AAC7E,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAMjG;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAA;IAChB;2DACuD;IACvD,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;;;;;iFAKiF;AACjF,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,MAAM,GAAG,oBAAoB,CAO5E"}
1
+ {"version":3,"file":"agent-identity-locator.d.ts","sourceRoot":"","sources":["../src/agent-identity-locator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAI3C,YAAY,EAAE,SAAS,EAAE,CAAA;AAEzB;;;;;;;;;6EAS6E;AAC7E,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAuBxG;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAA;IAChB;2DACuD;IACvD,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;;;;;iFAKiF;AACjF,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,MAAM,GAAG,oBAAoB,CAO5E"}
@@ -1,18 +1,38 @@
1
1
  import { existsSync, readFileSync } from 'node:fs';
2
2
  import { join } from 'node:path';
3
3
  /** The single source of truth for the directory a spawn reads an agent's
4
- * identity files from. Admin always reads `agents/admin`; a public agent
5
- * reads `agents/<slug>` (Task 638keyed on the agent slug, not the role).
4
+ * identity files from. Every role is matched explicitly and an unnamed role
5
+ * returns null (Task 2325before it, `admin` was what any unrecognised
6
+ * role fell through to, which made the highest-privilege persona reachable
7
+ * by exclusion). A public agent reads `agents/<slug>` (Task 638 — keyed on
8
+ * the agent slug, not the role).
6
9
  * The spawn composer (`system-prompt.ts`) and the standing reachability audit
7
10
  * (`public-agent-reachability.ts`) both resolve through THIS function, so the
8
11
  * directory the audit vouches for is byte-identical to the one the spawn
9
12
  * reads — drift is impossible by construction, not by parallel literals. */
10
13
  export function resolveAgentIdentityDir(accountDir, role, slug) {
11
- // Task 1483a passive spawn reads the fixed `agents/passive` dir (uniform
12
- // requirement-intake identity, no per-agent slug). public reads `agents/<slug>`;
13
- // admin (and any other role) reads `agents/admin`.
14
- const dir = role === 'public' ? slug : role === 'passive' ? 'passive' : 'admin';
15
- return join(accountDir, 'agents', dir);
14
+ // Task 2325an exhaustive match. `admin` is reached ONLY by an explicit
15
+ // 'admin' arm; it is no longer the answer to anything unrecognised. The
16
+ // terminal arm is unreachable for a well-typed caller (the `never`
17
+ // assignment is the compiler's proof) and returns null for a caller that
18
+ // arrived through a cast.
19
+ switch (role) {
20
+ case 'admin':
21
+ return join(accountDir, 'agents', 'admin');
22
+ // Task 1483 — a passive spawn reads the fixed `agents/passive` dir
23
+ // (uniform requirement-intake identity, no per-agent slug).
24
+ case 'passive':
25
+ return join(accountDir, 'agents', 'passive');
26
+ // Task 638 — a public agent reads `agents/<slug>`, keyed on the agent
27
+ // slug rather than the role.
28
+ case 'public':
29
+ return join(accountDir, 'agents', slug);
30
+ default: {
31
+ const exhaustive = role;
32
+ void exhaustive;
33
+ return null;
34
+ }
35
+ }
16
36
  }
17
37
  /** Whether the identity files a `role=public` spawn requires — IDENTITY.md,
18
38
  * SOUL.md and KNOWLEDGE.md, each non-empty — are present in `dir`. The check
@@ -1 +1 @@
1
- {"version":3,"file":"agent-identity-locator.js","sourceRoot":"","sources":["../src/agent-identity-locator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAIhC;;;;;;6EAM6E;AAC7E,MAAM,UAAU,uBAAuB,CAAC,UAAkB,EAAE,IAAe,EAAE,IAAY;IACvF,4EAA4E;IAC5E,iFAAiF;IACjF,mDAAmD;IACnD,MAAM,GAAG,GAAG,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAA;IAC/E,OAAO,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAA;AACxC,CAAC;AASD;;;;;iFAKiF;AACjF,MAAM,UAAU,0BAA0B,CAAC,GAAW;IACpD,KAAK,MAAM,IAAI,IAAI,CAAC,aAAa,EAAE,SAAS,EAAE,cAAc,CAAC,EAAE,CAAC;QAC9D,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QAC5B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,SAAS,EAAE,CAAA;QAC1E,IAAI,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,CAAA;IAClG,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;AAC1B,CAAC"}
1
+ {"version":3,"file":"agent-identity-locator.js","sourceRoot":"","sources":["../src/agent-identity-locator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAOhC;;;;;;;;;6EAS6E;AAC7E,MAAM,UAAU,uBAAuB,CAAC,UAAkB,EAAE,IAAe,EAAE,IAAY;IACvF,0EAA0E;IAC1E,wEAAwE;IACxE,mEAAmE;IACnE,yEAAyE;IACzE,0BAA0B;IAC1B,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,OAAO;YACV,OAAO,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;QAC5C,mEAAmE;QACnE,4DAA4D;QAC5D,KAAK,SAAS;YACZ,OAAO,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAA;QAC9C,sEAAsE;QACtE,6BAA6B;QAC7B,KAAK,QAAQ;YACX,OAAO,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAA;QACzC,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,UAAU,GAAU,IAAI,CAAA;YAC9B,KAAK,UAAU,CAAA;YACf,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;AACH,CAAC;AASD;;;;;iFAKiF;AACjF,MAAM,UAAU,0BAA0B,CAAC,GAAW;IACpD,KAAK,MAAM,IAAI,IAAI,CAAC,aAAa,EAAE,SAAS,EAAE,cAAc,CAAC,EAAE,CAAC;QAC9D,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QAC5B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,SAAS,EAAE,CAAA;QAC1E,IAAI,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,CAAA;IAClG,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;AAC1B,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import type { HostContext } from './system-prompt.js';
2
+ import type { AgentRole } from './types.js';
2
3
  import { type PublicSpawnLimits } from './spawn-rate-limiter.js';
3
4
  export interface HostResolution extends HostContext {
4
5
  /** Comma-separated list of detected interface names — non-null only when
@@ -186,7 +187,7 @@ export declare function isHouseAccount(platformRoot: string, accountId: string):
186
187
  * excluded by `isHouse`. Pure: callers pass the filesystem-derived `isHouse`
187
188
  * (via `isHouseAccount`) so this stays testable. Task 1440. */
188
189
  export declare function houseAdminScopeFor(input: {
189
- role: 'admin' | 'public';
190
+ role: AgentRole | null;
190
191
  accountId: string;
191
192
  isHouse: boolean;
192
193
  isSpecialist: boolean;
@@ -207,13 +208,17 @@ export declare function applyHouseAdminScopeEnv(env: NodeJS.ProcessEnv, envKeys:
207
208
  * so the format lives here once instead of in two hand-copied literals. A null
208
209
  * `sessionId` (an rc-spawn resume that has no id yet) renders `new`; a real id
209
210
  * is sliced to its first 8 chars, so pty-spawner (always a real id) is
210
- * unchanged. `sessionRole` is widened to allow `undefined` because rc-spawn's
211
- * `rcRole` is `undefined` for a non-admin/non-public request; the original
212
- * literal stringified that to `undefined`, and this reproduces it exactly.
213
- * Task 1468. */
211
+ * unchanged. Task 1468.
212
+ *
213
+ * Task 2325 `sessionRole` is a named role or the explicit token `none`.
214
+ * The Task 1468 widening that allowed `undefined` is gone: a fresh rc-spawn
215
+ * with no role is now refused, and a resume that inherits no role renders
216
+ * `none` rather than a stringified absence. The distinction matters because
217
+ * `sessionRole=undefined` read as a formatting artefact and was preserved as
218
+ * one, which is how an unnamed role reaching a spawn path stayed invisible. */
214
219
  export declare function formatHouseScopeInjectLine(input: {
215
220
  sessionId: string | null | undefined;
216
- sessionRole: string | undefined;
221
+ sessionRole: AgentRole | 'none';
217
222
  acctIsHouse: boolean;
218
223
  inject: boolean;
219
224
  }): string;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -350,10 +350,14 @@ export function applyHouseAdminScopeEnv(env, envKeys, scope) {
350
350
  * so the format lives here once instead of in two hand-copied literals. A null
351
351
  * `sessionId` (an rc-spawn resume that has no id yet) renders `new`; a real id
352
352
  * is sliced to its first 8 chars, so pty-spawner (always a real id) is
353
- * unchanged. `sessionRole` is widened to allow `undefined` because rc-spawn's
354
- * `rcRole` is `undefined` for a non-admin/non-public request; the original
355
- * literal stringified that to `undefined`, and this reproduces it exactly.
356
- * Task 1468. */
353
+ * unchanged. Task 1468.
354
+ *
355
+ * Task 2325 `sessionRole` is a named role or the explicit token `none`.
356
+ * The Task 1468 widening that allowed `undefined` is gone: a fresh rc-spawn
357
+ * with no role is now refused, and a resume that inherits no role renders
358
+ * `none` rather than a stringified absence. The distinction matters because
359
+ * `sessionRole=undefined` read as a formatting artefact and was preserved as
360
+ * one, which is how an unnamed role reaching a spawn path stayed invisible. */
357
361
  export function formatHouseScopeInjectLine(input) {
358
362
  const { sessionId, sessionRole, acctIsHouse, inject } = input;
359
363
  return `[xacct] op=house-scope-inject sessionId=${sessionId ? sessionId.slice(0, 8) : 'new'} sessionRole=${sessionRole} acctRole=${acctIsHouse ? 'house' : 'client'} inject=${inject}`;
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}