@rubytech/create-sitedesk-code 0.1.522 → 0.1.523

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 (338) hide show
  1. package/package.json +1 -1
  2. package/payload/platform/lib/graph-style/dist/index.d.ts.map +1 -1
  3. package/payload/platform/lib/graph-style/dist/index.js +28 -0
  4. package/payload/platform/lib/graph-style/dist/index.js.map +1 -1
  5. package/payload/platform/lib/graph-style/src/__tests__/caption-coverage.test.ts +7 -0
  6. package/payload/platform/lib/graph-style/src/index.ts +24 -0
  7. package/payload/platform/lib/graph-write/dist/__tests__/merge-on.test.d.ts.map +1 -0
  8. package/payload/platform/lib/graph-write/dist/__tests__/merge-on.test.js.map +1 -0
  9. package/payload/platform/lib/graph-write/dist/index.d.ts +16 -0
  10. package/payload/platform/lib/graph-write/dist/index.d.ts.map +1 -1
  11. package/payload/platform/lib/graph-write/dist/index.js +83 -6
  12. package/payload/platform/lib/graph-write/dist/index.js.map +1 -1
  13. package/payload/platform/lib/graph-write/src/index.ts +117 -10
  14. package/payload/platform/lib/routine-templates/dist/index.d.ts +151 -0
  15. package/payload/platform/lib/routine-templates/dist/index.d.ts.map +1 -0
  16. package/payload/platform/lib/routine-templates/dist/index.js +207 -0
  17. package/payload/platform/lib/routine-templates/dist/index.js.map +1 -0
  18. package/payload/platform/lib/routine-templates/dist/roster.d.ts +57 -0
  19. package/payload/platform/lib/routine-templates/dist/roster.d.ts.map +1 -0
  20. package/payload/platform/lib/routine-templates/dist/roster.js +182 -0
  21. package/payload/platform/lib/routine-templates/dist/roster.js.map +1 -0
  22. package/payload/platform/lib/routine-templates/dist/seed-cli.d.ts +2 -0
  23. package/payload/platform/lib/routine-templates/dist/seed-cli.d.ts.map +1 -0
  24. package/payload/platform/lib/routine-templates/dist/seed-cli.js +64 -0
  25. package/payload/platform/lib/routine-templates/dist/seed-cli.js.map +1 -0
  26. package/payload/platform/lib/routine-templates/package.json +6 -0
  27. package/payload/platform/lib/routine-templates/src/__tests__/roster.test.ts +170 -0
  28. package/payload/platform/lib/routine-templates/src/__tests__/seed.test.ts +298 -0
  29. package/payload/platform/lib/routine-templates/src/index.ts +299 -0
  30. package/payload/platform/lib/routine-templates/src/roster.ts +206 -0
  31. package/payload/platform/lib/routine-templates/src/seed-cli.ts +65 -0
  32. package/payload/platform/lib/routine-templates/tsconfig.json +9 -0
  33. package/payload/platform/lib/routine-templates/vitest.config.ts +9 -0
  34. package/payload/platform/neo4j/edge-annotations.json +2 -2
  35. package/payload/platform/neo4j/schema.cypher +25 -1
  36. package/payload/platform/package.json +3 -2
  37. package/payload/platform/plugins/admin/PLUGIN.md +2 -2
  38. package/payload/platform/plugins/admin/mcp/dist/index.js +39 -1
  39. package/payload/platform/plugins/admin/mcp/dist/index.js.map +1 -1
  40. package/payload/platform/plugins/admin/skills/platform-architecture/SKILL.md +277 -61
  41. package/payload/platform/plugins/admin/skills/whats-new/SKILL.md +6 -0
  42. package/payload/platform/plugins/docs/references/admin-ui.md +265 -59
  43. package/payload/platform/plugins/docs/references/memory-guide.md +11 -1
  44. package/payload/platform/plugins/graph/.claude-plugin/plugin.json +1 -1
  45. package/payload/platform/plugins/graph/PLUGIN.md +1 -1
  46. package/payload/platform/plugins/memory/PLUGIN.md +1 -1
  47. package/payload/platform/plugins/memory/mcp/dist/index.js +12 -5
  48. package/payload/platform/plugins/memory/mcp/dist/index.js.map +1 -1
  49. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/phase-estate-census.test.d.ts +2 -0
  50. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/phase-estate-census.test.d.ts.map +1 -0
  51. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/phase-estate-census.test.js +197 -0
  52. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/phase-estate-census.test.js.map +1 -0
  53. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/schema-loader.test.js +55 -9
  54. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/schema-loader.test.js.map +1 -1
  55. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/schema-validator.test.js +96 -0
  56. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/schema-validator.test.js.map +1 -1
  57. package/payload/platform/plugins/memory/mcp/dist/lib/dream-cycle/index.d.ts +7 -0
  58. package/payload/platform/plugins/memory/mcp/dist/lib/dream-cycle/index.d.ts.map +1 -1
  59. package/payload/platform/plugins/memory/mcp/dist/lib/dream-cycle/phase-estate-census.d.ts +29 -0
  60. package/payload/platform/plugins/memory/mcp/dist/lib/dream-cycle/phase-estate-census.d.ts.map +1 -0
  61. package/payload/platform/plugins/memory/mcp/dist/lib/dream-cycle/phase-estate-census.js +126 -0
  62. package/payload/platform/plugins/memory/mcp/dist/lib/dream-cycle/phase-estate-census.js.map +1 -0
  63. package/payload/platform/plugins/memory/mcp/dist/scripts/dream-cycle-sweep.js +7 -4
  64. package/payload/platform/plugins/memory/mcp/dist/scripts/dream-cycle-sweep.js.map +1 -1
  65. package/payload/platform/plugins/memory/mcp/dist/tools/memory-dream-run.d.ts +1 -0
  66. package/payload/platform/plugins/memory/mcp/dist/tools/memory-dream-run.d.ts.map +1 -1
  67. package/payload/platform/plugins/memory/mcp/dist/tools/memory-dream-run.js +18 -1
  68. package/payload/platform/plugins/memory/mcp/dist/tools/memory-dream-run.js.map +1 -1
  69. package/payload/platform/plugins/memory/mcp/dist/tools/memory-write.d.ts +7 -0
  70. package/payload/platform/plugins/memory/mcp/dist/tools/memory-write.d.ts.map +1 -1
  71. package/payload/platform/plugins/memory/mcp/dist/tools/memory-write.js +4 -3
  72. package/payload/platform/plugins/memory/mcp/dist/tools/memory-write.js.map +1 -1
  73. package/payload/platform/plugins/memory/mcp/vitest.config.ts +2 -0
  74. package/payload/platform/plugins/memory/references/schema-estate-agent.md +2 -2
  75. package/payload/platform/plugins/memory/skills/conversation-archive-enrich/SKILL.md +4 -4
  76. package/payload/platform/plugins/quickbooks/PLUGIN.md +10 -10
  77. package/payload/platform/plugins/scheduling/PLUGIN.md +49 -1
  78. package/payload/platform/plugins/scheduling/mcp/dist/index.js +48 -0
  79. package/payload/platform/plugins/scheduling/mcp/dist/index.js.map +1 -1
  80. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/notes-cap.test.d.ts +2 -0
  81. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/notes-cap.test.d.ts.map +1 -0
  82. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/notes-cap.test.js +78 -0
  83. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/notes-cap.test.js.map +1 -0
  84. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/routine-run.test.d.ts +2 -0
  85. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/routine-run.test.d.ts.map +1 -0
  86. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/routine-run.test.js +457 -0
  87. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/routine-run.test.js.map +1 -0
  88. package/payload/platform/plugins/scheduling/mcp/dist/lib/notes-cap.d.ts +35 -0
  89. package/payload/platform/plugins/scheduling/mcp/dist/lib/notes-cap.d.ts.map +1 -0
  90. package/payload/platform/plugins/scheduling/mcp/dist/lib/notes-cap.js +39 -0
  91. package/payload/platform/plugins/scheduling/mcp/dist/lib/notes-cap.js.map +1 -0
  92. package/payload/platform/plugins/scheduling/mcp/dist/lib/routine-run.d.ts +175 -0
  93. package/payload/platform/plugins/scheduling/mcp/dist/lib/routine-run.d.ts.map +1 -0
  94. package/payload/platform/plugins/scheduling/mcp/dist/lib/routine-run.js +533 -0
  95. package/payload/platform/plugins/scheduling/mcp/dist/lib/routine-run.js.map +1 -0
  96. package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/agent-turn-dispatch.test.js +123 -9
  97. package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/agent-turn-dispatch.test.js.map +1 -1
  98. package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/routine-roster-audit.test.d.ts +2 -0
  99. package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/routine-roster-audit.test.d.ts.map +1 -0
  100. package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/routine-roster-audit.test.js +189 -0
  101. package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/routine-roster-audit.test.js.map +1 -0
  102. package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/suspension-census.test.d.ts +2 -0
  103. package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/suspension-census.test.d.ts.map +1 -0
  104. package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/suspension-census.test.js +95 -0
  105. package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/suspension-census.test.js.map +1 -0
  106. package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/sweep-excludes-suspended.test.d.ts +2 -0
  107. package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/sweep-excludes-suspended.test.d.ts.map +1 -0
  108. package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/sweep-excludes-suspended.test.js +114 -0
  109. package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/sweep-excludes-suspended.test.js.map +1 -0
  110. package/payload/platform/plugins/scheduling/mcp/dist/scripts/agent-turn-dispatch.d.ts +109 -2
  111. package/payload/platform/plugins/scheduling/mcp/dist/scripts/agent-turn-dispatch.d.ts.map +1 -1
  112. package/payload/platform/plugins/scheduling/mcp/dist/scripts/agent-turn-dispatch.js +340 -9
  113. package/payload/platform/plugins/scheduling/mcp/dist/scripts/agent-turn-dispatch.js.map +1 -1
  114. package/payload/platform/plugins/scheduling/mcp/dist/scripts/check-due-events.d.ts +9 -1
  115. package/payload/platform/plugins/scheduling/mcp/dist/scripts/check-due-events.d.ts.map +1 -1
  116. package/payload/platform/plugins/scheduling/mcp/dist/scripts/check-due-events.js +210 -45
  117. package/payload/platform/plugins/scheduling/mcp/dist/scripts/check-due-events.js.map +1 -1
  118. package/payload/platform/plugins/scheduling/mcp/dist/scripts/reconcile-bookings.js +43 -1
  119. package/payload/platform/plugins/scheduling/mcp/dist/scripts/reconcile-bookings.js.map +1 -1
  120. package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-get-agent.test.js +55 -7
  121. package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-get-agent.test.js.map +1 -1
  122. package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-list.test.js +45 -1
  123. package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-list.test.js.map +1 -1
  124. package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-runs.test.d.ts +2 -0
  125. package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-runs.test.d.ts.map +1 -0
  126. package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-runs.test.js +96 -0
  127. package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-runs.test.js.map +1 -0
  128. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-cancel.d.ts.map +1 -1
  129. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-cancel.js +2 -1
  130. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-cancel.js.map +1 -1
  131. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-get.d.ts +5 -0
  132. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-get.d.ts.map +1 -1
  133. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-get.js +13 -0
  134. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-get.js.map +1 -1
  135. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-list.d.ts +4 -0
  136. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-list.d.ts.map +1 -1
  137. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-list.js +24 -3
  138. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-list.js.map +1 -1
  139. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-runs.d.ts +33 -0
  140. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-runs.d.ts.map +1 -0
  141. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-runs.js +51 -0
  142. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-runs.js.map +1 -0
  143. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-update.d.ts.map +1 -1
  144. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-update.js +12 -2
  145. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-update.js.map +1 -1
  146. package/payload/platform/plugins/whatsapp/references/channels-whatsapp.md +30 -2
  147. package/payload/platform/plugins/whatsapp/skills/connect-whatsapp/SKILL.md +1 -1
  148. package/payload/platform/scripts/check-specialist-tool-surface.mjs +92 -16
  149. package/payload/platform/scripts/seed-neo4j.sh +41 -0
  150. package/payload/platform/scripts/verify-skill-tool-surface.sh +91 -2
  151. package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.d.ts.map +1 -1
  152. package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.js +1 -0
  153. package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.js.map +1 -1
  154. package/payload/platform/templates/specialists/agents/librarian.md +1 -1
  155. package/payload/platform/templates/specialists/agents/personal-assistant.md +1 -1
  156. package/payload/server/{chunk-K7CJGZPU.js → chunk-VUXKXOJU.js} +342 -152
  157. package/payload/server/{chunk-UX2FRNO7.js → chunk-WT2PFGY4.js} +37 -265
  158. package/payload/server/{chunk-PXNY2TAP.js → chunk-XCR5D2G3.js} +239 -10
  159. package/payload/server/{manager-RKL7JZ4Y.js → manager-4TJK3YOY.js} +2 -2
  160. package/payload/server/maxy-edge.js +2 -2
  161. package/payload/server/public/activity.html +5 -5
  162. package/payload/server/public/agents.html +4 -4
  163. package/payload/server/public/assets/{AdminLoginScreens-zc2_qqh-.js → AdminLoginScreens-uknqh2Pm.js} +1 -1
  164. package/payload/server/public/assets/AdminLoginScreens-uknqh2Pm.js.br +0 -0
  165. package/payload/server/public/assets/AdminLoginScreens-uknqh2Pm.js.gz +0 -0
  166. package/payload/server/public/assets/AdminShell-GqtMImyQ.js +2 -0
  167. package/payload/server/public/assets/AdminShell-GqtMImyQ.js.br +0 -0
  168. package/payload/server/public/assets/AdminShell-GqtMImyQ.js.gz +0 -0
  169. package/payload/server/public/assets/{activity-DVgO8YuM.js → activity-B4KfMJqO.js} +1 -1
  170. package/payload/server/public/assets/activity-B4KfMJqO.js.br +0 -0
  171. package/payload/server/public/assets/activity-B4KfMJqO.js.gz +0 -0
  172. package/payload/server/public/assets/admin-DxCZeVw0.js +1 -0
  173. package/payload/server/public/assets/admin-DxCZeVw0.js.br +0 -0
  174. package/payload/server/public/assets/admin-DxCZeVw0.js.gz +0 -0
  175. package/payload/server/public/assets/agents-BtwBuO4G.js +1 -0
  176. package/payload/server/public/assets/agents-BtwBuO4G.js.br +0 -0
  177. package/payload/server/public/assets/agents-BtwBuO4G.js.gz +0 -0
  178. package/payload/server/public/assets/{browser-Mw7DY3ft.js → browser-B3hSzI3O.js} +1 -1
  179. package/payload/server/public/assets/browser-B3hSzI3O.js.br +0 -0
  180. package/payload/server/public/assets/browser-B3hSzI3O.js.gz +0 -0
  181. package/payload/server/public/assets/{calendar-B9gvL_1_.js → calendar-BggxXxhS.js} +1 -1
  182. package/payload/server/public/assets/calendar-BggxXxhS.js.br +0 -0
  183. package/payload/server/public/assets/calendar-BggxXxhS.js.gz +0 -0
  184. package/payload/server/public/assets/chat-flivHt0t.js +1 -0
  185. package/payload/server/public/assets/chat-flivHt0t.js.br +0 -0
  186. package/payload/server/public/assets/chat-flivHt0t.js.gz +0 -0
  187. package/payload/server/public/assets/chevron-left-nVRThX7f.js +1 -0
  188. package/payload/server/public/assets/chevron-right-CLqfrkRA.js +1 -0
  189. package/payload/server/public/assets/chevron-right-CLqfrkRA.js.br +0 -0
  190. package/payload/server/public/assets/clock-Dj3SRZKo.js +1 -0
  191. package/payload/server/public/assets/clock-Dj3SRZKo.js.br +0 -0
  192. package/payload/server/public/assets/clock-Dj3SRZKo.js.gz +0 -0
  193. package/payload/server/public/assets/data-Ckjkne54.js +1 -0
  194. package/payload/server/public/assets/data-Ckjkne54.js.br +3 -0
  195. package/payload/server/public/assets/data-Ckjkne54.js.gz +0 -0
  196. package/payload/server/public/assets/{file-text-dYBnXNEX.js → file-text-BKs9eyiw.js} +1 -1
  197. package/payload/server/public/assets/file-text-BKs9eyiw.js.br +0 -0
  198. package/payload/server/public/assets/file-text-BKs9eyiw.js.gz +0 -0
  199. package/payload/server/public/assets/{graph-CDyzd1Et.js → graph-DTi71NaZ.js} +3 -3
  200. package/payload/server/public/assets/graph-DTi71NaZ.js.br +0 -0
  201. package/payload/server/public/assets/graph-DTi71NaZ.js.gz +0 -0
  202. package/payload/server/public/assets/graph-labels-BT3S6e9H.js +1 -0
  203. package/payload/server/public/assets/graph-labels-BT3S6e9H.js.br +0 -0
  204. package/payload/server/public/assets/graph-labels-BT3S6e9H.js.gz +0 -0
  205. package/payload/server/public/assets/{maximize-2-M-iSaznd.js → maximize-2-zC94tsxY.js} +1 -1
  206. package/payload/server/public/assets/maximize-2-zC94tsxY.js.br +0 -0
  207. package/payload/server/public/assets/maximize-2-zC94tsxY.js.gz +0 -0
  208. package/payload/server/public/assets/operator-BtWNEMh-.js +1 -0
  209. package/payload/server/public/assets/operator-BtWNEMh-.js.br +0 -0
  210. package/payload/server/public/assets/operator-BtWNEMh-.js.gz +0 -0
  211. package/payload/server/public/assets/page-BFm91p0e.js +1 -0
  212. package/payload/server/public/assets/page-BFm91p0e.js.br +0 -0
  213. package/payload/server/public/assets/page-BFm91p0e.js.gz +0 -0
  214. package/payload/server/public/assets/{page-CZ-73FAk.js → page-Ccl0FazM.js} +3 -3
  215. package/payload/server/public/assets/page-Ccl0FazM.js.br +0 -0
  216. package/payload/server/public/assets/page-Ccl0FazM.js.gz +0 -0
  217. package/payload/server/public/assets/{public-CN-ltC8x.js → public-BpC6cn9S.js} +1 -1
  218. package/payload/server/public/assets/public-BpC6cn9S.js.br +0 -0
  219. package/payload/server/public/assets/public-BpC6cn9S.js.gz +0 -0
  220. package/payload/server/public/assets/{rotate-ccw-Buopsc22.js → rotate-ccw-BNcqbHkZ.js} +1 -1
  221. package/payload/server/public/assets/rotate-ccw-BNcqbHkZ.js.br +0 -0
  222. package/payload/server/public/assets/rotate-ccw-BNcqbHkZ.js.gz +0 -0
  223. package/payload/server/public/assets/routines-D5iia-XG.js +1 -0
  224. package/payload/server/public/assets/routines-D5iia-XG.js.br +0 -0
  225. package/payload/server/public/assets/routines-D5iia-XG.js.gz +0 -0
  226. package/payload/server/public/assets/{skills-DiiuVzDK.js → skills-COLAw_jt.js} +1 -1
  227. package/payload/server/public/assets/skills-COLAw_jt.js.br +0 -0
  228. package/payload/server/public/assets/skills-COLAw_jt.js.gz +0 -0
  229. package/payload/server/public/assets/tasks-CZDQI4nB.js +1 -0
  230. package/payload/server/public/assets/tasks-CZDQI4nB.js.br +0 -0
  231. package/payload/server/public/assets/tasks-CZDQI4nB.js.gz +0 -0
  232. package/payload/server/public/assets/{time-entry-format-BBokCF-D.js → time-entry-format-laTFzawg.js} +1 -1
  233. package/payload/server/public/assets/time-entry-format-laTFzawg.js.br +0 -0
  234. package/payload/server/public/assets/time-entry-format-laTFzawg.js.gz +0 -0
  235. package/payload/server/public/assets/{triangle-alert-C_AcpTW5.js → triangle-alert-DrwqhEog.js} +1 -1
  236. package/payload/server/public/assets/triangle-alert-DrwqhEog.js.br +0 -0
  237. package/payload/server/public/assets/triangle-alert-DrwqhEog.js.gz +0 -0
  238. package/payload/server/public/assets/{useCopyFeedback-TdimmPVR.js → useCopyFeedback-Cxme5GK6.js} +1 -1
  239. package/payload/server/public/assets/useCopyFeedback-Cxme5GK6.js.br +0 -0
  240. package/payload/server/public/assets/useCopyFeedback-Cxme5GK6.js.gz +0 -0
  241. package/payload/server/public/assets/useSubAccountSwitcher-B-K8y5a4.css +1 -0
  242. package/payload/server/public/assets/useSubAccountSwitcher-B-K8y5a4.css.br +0 -0
  243. package/payload/server/public/assets/useSubAccountSwitcher-B-K8y5a4.css.gz +0 -0
  244. package/payload/server/public/assets/useSubAccountSwitcher-C_1E11Dv.js +14 -0
  245. package/payload/server/public/assets/useSubAccountSwitcher-C_1E11Dv.js.br +0 -0
  246. package/payload/server/public/assets/useSubAccountSwitcher-C_1E11Dv.js.gz +0 -0
  247. package/payload/server/public/assets/{useVoiceRecorder-BT2738ZS.js → useVoiceRecorder-DUBpVa2T.js} +1 -1
  248. package/payload/server/public/assets/useVoiceRecorder-DUBpVa2T.js.br +0 -0
  249. package/payload/server/public/assets/useVoiceRecorder-DUBpVa2T.js.gz +0 -0
  250. package/payload/server/public/assets/{wrench-B51s5kGA.js → wrench-DWuxPnzF.js} +1 -1
  251. package/payload/server/public/assets/wrench-DWuxPnzF.js.br +0 -0
  252. package/payload/server/public/assets/wrench-DWuxPnzF.js.gz +0 -0
  253. package/payload/server/public/browser.html +4 -4
  254. package/payload/server/public/calendar.html +7 -7
  255. package/payload/server/public/chat.html +13 -13
  256. package/payload/server/public/data.html +11 -11
  257. package/payload/server/public/graph.html +9 -9
  258. package/payload/server/public/index.html +14 -14
  259. package/payload/server/public/operator.html +14 -14
  260. package/payload/server/public/public.html +13 -13
  261. package/payload/server/public/routines.html +6 -6
  262. package/payload/server/public/skills.html +5 -5
  263. package/payload/server/public/tasks.html +6 -6
  264. package/payload/server/server.js +5910 -5369
  265. package/payload/server/public/assets/AdminLoginScreens-zc2_qqh-.js.br +0 -0
  266. package/payload/server/public/assets/AdminLoginScreens-zc2_qqh-.js.gz +0 -0
  267. package/payload/server/public/assets/AdminShell-IGUdTx5q.js +0 -2
  268. package/payload/server/public/assets/AdminShell-IGUdTx5q.js.br +0 -0
  269. package/payload/server/public/assets/AdminShell-IGUdTx5q.js.gz +0 -0
  270. package/payload/server/public/assets/activity-DVgO8YuM.js.br +0 -0
  271. package/payload/server/public/assets/activity-DVgO8YuM.js.gz +0 -0
  272. package/payload/server/public/assets/admin-xtpM7fgl.js +0 -1
  273. package/payload/server/public/assets/admin-xtpM7fgl.js.br +0 -0
  274. package/payload/server/public/assets/admin-xtpM7fgl.js.gz +0 -0
  275. package/payload/server/public/assets/agents-P0nTIxo-.js +0 -1
  276. package/payload/server/public/assets/agents-P0nTIxo-.js.br +0 -0
  277. package/payload/server/public/assets/agents-P0nTIxo-.js.gz +0 -0
  278. package/payload/server/public/assets/browser-Mw7DY3ft.js.br +0 -0
  279. package/payload/server/public/assets/browser-Mw7DY3ft.js.gz +0 -0
  280. package/payload/server/public/assets/calendar-B9gvL_1_.js.br +0 -0
  281. package/payload/server/public/assets/calendar-B9gvL_1_.js.gz +0 -0
  282. package/payload/server/public/assets/chat-DBGqh4wg.js +0 -1
  283. package/payload/server/public/assets/chat-DBGqh4wg.js.br +0 -2
  284. package/payload/server/public/assets/chat-DBGqh4wg.js.gz +0 -0
  285. package/payload/server/public/assets/chevron-left-Bl4vpOM0.js +0 -1
  286. package/payload/server/public/assets/chevron-left-Bl4vpOM0.js.br +0 -0
  287. package/payload/server/public/assets/chevron-right-BExigCnp.js +0 -1
  288. package/payload/server/public/assets/chevron-right-BExigCnp.js.br +0 -0
  289. package/payload/server/public/assets/clock-D8TJvgJC.js +0 -1
  290. package/payload/server/public/assets/clock-D8TJvgJC.js.br +0 -0
  291. package/payload/server/public/assets/data-HfFSxaC2.js +0 -1
  292. package/payload/server/public/assets/data-HfFSxaC2.js.br +0 -0
  293. package/payload/server/public/assets/data-HfFSxaC2.js.gz +0 -0
  294. package/payload/server/public/assets/file-text-dYBnXNEX.js.br +0 -0
  295. package/payload/server/public/assets/file-text-dYBnXNEX.js.gz +0 -0
  296. package/payload/server/public/assets/graph-CDyzd1Et.js.br +0 -0
  297. package/payload/server/public/assets/graph-CDyzd1Et.js.gz +0 -0
  298. package/payload/server/public/assets/graph-labels-D1LkKiJr.js +0 -1
  299. package/payload/server/public/assets/graph-labels-D1LkKiJr.js.br +0 -0
  300. package/payload/server/public/assets/graph-labels-D1LkKiJr.js.gz +0 -0
  301. package/payload/server/public/assets/maximize-2-M-iSaznd.js.br +0 -0
  302. package/payload/server/public/assets/maximize-2-M-iSaznd.js.gz +0 -0
  303. package/payload/server/public/assets/operator-9jfCv1Fg.js +0 -1
  304. package/payload/server/public/assets/operator-9jfCv1Fg.js.br +0 -0
  305. package/payload/server/public/assets/operator-9jfCv1Fg.js.gz +0 -0
  306. package/payload/server/public/assets/page-CZ-73FAk.js.br +0 -0
  307. package/payload/server/public/assets/page-CZ-73FAk.js.gz +0 -0
  308. package/payload/server/public/assets/page-CjwSt7kx.js +0 -1
  309. package/payload/server/public/assets/page-CjwSt7kx.js.br +0 -0
  310. package/payload/server/public/assets/page-CjwSt7kx.js.gz +0 -0
  311. package/payload/server/public/assets/public-CN-ltC8x.js.br +0 -0
  312. package/payload/server/public/assets/public-CN-ltC8x.js.gz +0 -0
  313. package/payload/server/public/assets/rotate-ccw-Buopsc22.js.br +0 -0
  314. package/payload/server/public/assets/rotate-ccw-Buopsc22.js.gz +0 -0
  315. package/payload/server/public/assets/routines-C-yr8ddT.js +0 -1
  316. package/payload/server/public/assets/routines-C-yr8ddT.js.br +0 -0
  317. package/payload/server/public/assets/routines-C-yr8ddT.js.gz +0 -0
  318. package/payload/server/public/assets/skills-DiiuVzDK.js.br +0 -0
  319. package/payload/server/public/assets/skills-DiiuVzDK.js.gz +0 -0
  320. package/payload/server/public/assets/tasks-CnHIfn2_.js +0 -1
  321. package/payload/server/public/assets/tasks-CnHIfn2_.js.br +0 -0
  322. package/payload/server/public/assets/tasks-CnHIfn2_.js.gz +0 -0
  323. package/payload/server/public/assets/time-entry-format-BBokCF-D.js.br +0 -0
  324. package/payload/server/public/assets/time-entry-format-BBokCF-D.js.gz +0 -0
  325. package/payload/server/public/assets/triangle-alert-C_AcpTW5.js.br +0 -0
  326. package/payload/server/public/assets/triangle-alert-C_AcpTW5.js.gz +0 -0
  327. package/payload/server/public/assets/useCopyFeedback-TdimmPVR.js.br +0 -0
  328. package/payload/server/public/assets/useCopyFeedback-TdimmPVR.js.gz +0 -0
  329. package/payload/server/public/assets/useSubAccountSwitcher-BwHqV55p.js +0 -14
  330. package/payload/server/public/assets/useSubAccountSwitcher-BwHqV55p.js.br +0 -0
  331. package/payload/server/public/assets/useSubAccountSwitcher-BwHqV55p.js.gz +0 -0
  332. package/payload/server/public/assets/useSubAccountSwitcher-CsrPYqtm.css +0 -1
  333. package/payload/server/public/assets/useSubAccountSwitcher-CsrPYqtm.css.br +0 -0
  334. package/payload/server/public/assets/useSubAccountSwitcher-CsrPYqtm.css.gz +0 -0
  335. package/payload/server/public/assets/useVoiceRecorder-BT2738ZS.js.br +0 -0
  336. package/payload/server/public/assets/useVoiceRecorder-BT2738ZS.js.gz +0 -0
  337. package/payload/server/public/assets/wrench-B51s5kGA.js.br +0 -0
  338. package/payload/server/public/assets/wrench-B51s5kGA.js.gz +0 -0
@@ -10,8 +10,9 @@ import {
10
10
  REMOTE_SESSION_SECRET_FILE,
11
11
  USERS_FILE,
12
12
  getConversationOwner,
13
- isValidAccountId
14
- } from "./chunk-PXNY2TAP.js";
13
+ isValidAccountId,
14
+ registerLoop
15
+ } from "./chunk-XCR5D2G3.js";
15
16
 
16
17
  // node_modules/hono/dist/compose.js
17
18
  var compose = (middleware, onError, onNotFound) => {
@@ -2765,230 +2766,6 @@ function getSessionKeyBySessionId(_sessionId) {
2765
2766
  return void 0;
2766
2767
  }
2767
2768
 
2768
- // server/loop-registry.ts
2769
- import { readFileSync } from "fs";
2770
- var TAG = "[loop-registry]";
2771
- var STALL_INTERVALS = 3;
2772
- var entries = /* @__PURE__ */ new Map();
2773
- var defaultCpuIo = {
2774
- ownCpuUs: () => {
2775
- const u = process.cpuUsage();
2776
- return u.user + u.system;
2777
- },
2778
- childCpuUs: (pid) => readPidCpuUs(pid)
2779
- };
2780
- var cpuIo = defaultCpuIo;
2781
- function parsePidStatCpuUs(raw2) {
2782
- const close = raw2.lastIndexOf(")");
2783
- if (close === -1) return null;
2784
- const after = raw2.slice(close + 2).split(" ");
2785
- const utime = Number(after[11]);
2786
- const stime = Number(after[12]);
2787
- if (!Number.isFinite(utime) || !Number.isFinite(stime)) return null;
2788
- return (utime + stime) / 100 * 1e6;
2789
- }
2790
- function readPidCpuUs(pid) {
2791
- if (process.platform !== "linux") return null;
2792
- try {
2793
- return parsePidStatCpuUs(readFileSync(`/proc/${pid}/stat`, "utf8"));
2794
- } catch {
2795
- return null;
2796
- }
2797
- }
2798
- function sampleCpu(nowMs = Date.now()) {
2799
- for (const e of entries.values()) {
2800
- if (!e.cpuAttributable) {
2801
- e.cpuPct = null;
2802
- continue;
2803
- }
2804
- let childUs = 0;
2805
- for (const pid of [...e.children]) {
2806
- const us = cpuIo.childCpuUs(pid);
2807
- if (us === null) {
2808
- e.children.delete(pid);
2809
- continue;
2810
- }
2811
- childUs += us;
2812
- }
2813
- e.lastChildCpuUs = Math.max(e.lastChildCpuUs, childUs);
2814
- const totalUs = e.cumulativeCpuUs + e.lastChildCpuUs;
2815
- const p = e.prior;
2816
- if (p) {
2817
- const wallUs = (nowMs - p.atMs) * 1e3;
2818
- e.cpuPct = wallUs > 0 && totalUs >= p.cpuUs ? (totalUs - p.cpuUs) / wallUs * 100 : null;
2819
- } else {
2820
- e.cpuPct = null;
2821
- }
2822
- e.prior = { cpuUs: totalUs, atMs: nowMs };
2823
- }
2824
- }
2825
- var processPrior = null;
2826
- function sampleProcessCpu(nowMs = Date.now()) {
2827
- const cpuUs = cpuIo.ownCpuUs();
2828
- let processPct = null;
2829
- if (processPrior) {
2830
- const wallUs = (nowMs - processPrior.atMs) * 1e3;
2831
- if (wallUs > 0) processPct = (cpuUs - processPrior.cpuUs) / wallUs * 100;
2832
- }
2833
- processPrior = { cpuUs, atMs: nowMs };
2834
- const rows = [...entries.values()];
2835
- const measured = rows.filter((e) => e.cpuPct !== null);
2836
- const attributedPct = measured.length === 0 ? null : measured.reduce((sum, e) => sum + (e.cpuPct ?? 0), 0);
2837
- const unattributedPct = processPct === null || attributedPct === null ? null : Math.max(0, processPct - attributedPct);
2838
- return { processPct, attributedPct, unattributedPct };
2839
- }
2840
- function messageOf(err) {
2841
- return err instanceof Error ? err.message : String(err);
2842
- }
2843
- function finish(e, startedAt, cpuStart, cpuAttributable, note, err) {
2844
- const cpu = process.cpuUsage(cpuStart);
2845
- e.running = false;
2846
- e.lastDurationMs = Date.now() - startedAt;
2847
- e.lastCpuMs = cpuAttributable ? (cpu.user + cpu.system) / 1e3 : null;
2848
- if (err !== null) {
2849
- e.lastOutcome = "error";
2850
- e.lastError = messageOf(err);
2851
- e.lastNote = null;
2852
- e.consecutiveFailures += 1;
2853
- console.error(
2854
- `${TAG} op=run name=${e.spec.name} outcome=error streak=${e.consecutiveFailures} ms=${e.lastDurationMs} err="${e.lastError}"`
2855
- );
2856
- return;
2857
- }
2858
- e.lastOutcome = "ok";
2859
- e.lastError = null;
2860
- e.lastNote = typeof note === "string" && note.length > 0 ? note : null;
2861
- e.lastSuccessMs = Date.now();
2862
- e.successCount += 1;
2863
- e.consecutiveFailures = 0;
2864
- }
2865
- function invoke(e) {
2866
- if (e.running) {
2867
- console.warn(`${TAG} op=skip name=${e.spec.name} reason=still-running`);
2868
- return;
2869
- }
2870
- e.running = true;
2871
- e.runCount += 1;
2872
- e.lastStartMs = Date.now();
2873
- const startedAt = e.lastStartMs;
2874
- const cpuStart = process.cpuUsage();
2875
- const ownStartUs = cpuIo.ownCpuUs();
2876
- const ctx = {
2877
- child: (pid) => {
2878
- if (typeof pid === "number" && Number.isFinite(pid)) e.children.add(pid);
2879
- }
2880
- };
2881
- let result;
2882
- try {
2883
- result = e.spec.run(ctx);
2884
- } catch (err) {
2885
- e.cumulativeCpuUs += Math.max(0, cpuIo.ownCpuUs() - ownStartUs);
2886
- finish(e, startedAt, cpuStart, true, null, err);
2887
- return;
2888
- }
2889
- if (result instanceof Promise) {
2890
- e.cpuAttributable = false;
2891
- result.then(
2892
- (note) => finish(e, startedAt, cpuStart, false, note, null),
2893
- (err) => finish(e, startedAt, cpuStart, false, null, err)
2894
- );
2895
- return;
2896
- }
2897
- e.cumulativeCpuUs += Math.max(0, cpuIo.ownCpuUs() - ownStartUs);
2898
- finish(e, startedAt, cpuStart, true, result, null);
2899
- }
2900
- function registerLoop(spec) {
2901
- if (entries.has(spec.name)) {
2902
- throw new Error(`${TAG} loop "${spec.name}" is already registered`);
2903
- }
2904
- const e = {
2905
- spec,
2906
- armedAtMs: Date.now(),
2907
- lastStartMs: null,
2908
- lastSuccessMs: null,
2909
- lastDurationMs: null,
2910
- lastCpuMs: null,
2911
- lastOutcome: null,
2912
- lastError: null,
2913
- lastNote: null,
2914
- runCount: 0,
2915
- successCount: 0,
2916
- consecutiveFailures: 0,
2917
- running: false,
2918
- timers: [],
2919
- cumulativeCpuUs: 0,
2920
- cpuAttributable: true,
2921
- children: /* @__PURE__ */ new Set(),
2922
- lastChildCpuUs: 0,
2923
- prior: null,
2924
- cpuPct: null
2925
- };
2926
- entries.set(spec.name, e);
2927
- const interval = setInterval(() => invoke(e), spec.intervalMs);
2928
- if (typeof interval.unref === "function") interval.unref();
2929
- e.timers.push(interval);
2930
- console.log(
2931
- `${TAG} op=arm name=${spec.name} intervalMs=${spec.intervalMs} firstRunMs=${spec.firstRunDelayMs ?? "interval"} detached=${spec.detached === true} armed=${entries.size}`
2932
- );
2933
- if (spec.firstRunDelayMs === 0) {
2934
- invoke(e);
2935
- } else if (spec.firstRunDelayMs !== void 0) {
2936
- const first = setTimeout(() => invoke(e), spec.firstRunDelayMs);
2937
- if (typeof first.unref === "function") first.unref();
2938
- e.timers.push(first);
2939
- }
2940
- let stopped = false;
2941
- return () => {
2942
- if (stopped) return;
2943
- stopped = true;
2944
- for (const t of e.timers) clearInterval(t);
2945
- if (entries.get(spec.name) === e) entries.delete(spec.name);
2946
- console.log(`${TAG} op=disarm name=${spec.name} armed=${entries.size}`);
2947
- };
2948
- }
2949
- function stateOf(e, nowMs) {
2950
- if (e.lastStartMs === null) {
2951
- return nowMs - e.armedAtMs < e.spec.intervalMs ? "waiting" : "never-run";
2952
- }
2953
- const overdue = nowMs - e.lastStartMs > e.spec.intervalMs * STALL_INTERVALS;
2954
- if (overdue) return "stalled";
2955
- if (e.running) return "running";
2956
- if (e.successCount === 0) return "never-succeeded";
2957
- if (e.consecutiveFailures > 0) return "failing";
2958
- return "ok";
2959
- }
2960
- function nextDueOf(e, nowMs) {
2961
- const elapsed = Math.max(0, nowMs - e.armedAtMs);
2962
- const ticks = Math.floor(elapsed / e.spec.intervalMs) + 1;
2963
- return e.armedAtMs + ticks * e.spec.intervalMs;
2964
- }
2965
- function listLoops(nowMs = Date.now()) {
2966
- return [...entries.values()].map((e) => ({
2967
- name: e.spec.name,
2968
- intervalMs: e.spec.intervalMs,
2969
- detached: e.spec.detached === true,
2970
- armedAtMs: e.armedAtMs,
2971
- lastStartMs: e.lastStartMs,
2972
- lastSuccessMs: e.lastSuccessMs,
2973
- lastDurationMs: e.lastDurationMs,
2974
- lastCpuMs: e.lastCpuMs,
2975
- cpuPct: e.cpuPct,
2976
- cpuAttributable: e.cpuAttributable,
2977
- lastOutcome: e.lastOutcome,
2978
- lastError: e.lastError,
2979
- lastNote: e.lastNote,
2980
- runCount: e.runCount,
2981
- successCount: e.successCount,
2982
- consecutiveFailures: e.consecutiveFailures,
2983
- running: e.running,
2984
- state: stateOf(e, nowMs),
2985
- nextDueMs: nextDueOf(e, nowMs)
2986
- }));
2987
- }
2988
- function armedCount() {
2989
- return entries.size;
2990
- }
2991
-
2992
2769
  // app/lib/vnc-logger.ts
2993
2770
  import { appendFileSync, mkdirSync } from "fs";
2994
2771
  import { resolve } from "path";
@@ -3035,7 +2812,7 @@ function websockifyLog(event, fields = {}) {
3035
2812
 
3036
2813
  // ../lib/admin-access-password/src/index.ts
3037
2814
  import { scrypt, randomBytes, timingSafeEqual } from "crypto";
3038
- import { existsSync, readFileSync as readFileSync2, writeFileSync, renameSync, unlinkSync, appendFileSync as appendFileSync2, mkdirSync as mkdirSync2 } from "fs";
2815
+ import { existsSync, readFileSync, writeFileSync, renameSync, unlinkSync, appendFileSync as appendFileSync2, mkdirSync as mkdirSync2 } from "fs";
3039
2816
  import { dirname } from "path";
3040
2817
  var SCRYPT_N = 16384;
3041
2818
  var SCRYPT_R = 8;
@@ -3091,7 +2868,7 @@ async function matchesHash(password, stored) {
3091
2868
  }
3092
2869
  function readUsers(usersFile) {
3093
2870
  if (!existsSync(usersFile)) return [];
3094
- const raw2 = readFileSync2(usersFile, "utf-8").trim();
2871
+ const raw2 = readFileSync(usersFile, "utf-8").trim();
3095
2872
  if (!raw2) return [];
3096
2873
  const parsed = JSON.parse(raw2);
3097
2874
  if (!Array.isArray(parsed)) throw new Error("users.json is not an array");
@@ -3163,7 +2940,7 @@ function accessStoreUnreadable(usersFile) {
3163
2940
  }
3164
2941
  function migrateLegacyRemotePassword(usersFile, legacyFile, ownerUserId, audit) {
3165
2942
  if (!existsSync(legacyFile)) return "noop-no-legacy";
3166
- const legacy = readFileSync2(legacyFile, "utf-8").trim();
2943
+ const legacy = readFileSync(legacyFile, "utf-8").trim();
3167
2944
  const users = readUsers(usersFile);
3168
2945
  const idx = users.findIndex((u) => u.userId === ownerUserId);
3169
2946
  if (idx === -1) return "noop-no-owner";
@@ -3185,7 +2962,7 @@ function migrateLegacyRemotePassword(usersFile, legacyFile, ownerUserId, audit)
3185
2962
  }
3186
2963
  function readLegacyRemoteHash(legacyFile) {
3187
2964
  if (!existsSync(legacyFile)) return null;
3188
- const raw2 = readFileSync2(legacyFile, "utf-8").trim();
2965
+ const raw2 = readFileSync(legacyFile, "utf-8").trim();
3189
2966
  return raw2.includes(":") ? raw2 : null;
3190
2967
  }
3191
2968
 
@@ -3204,7 +2981,7 @@ function isPasswordValid(password) {
3204
2981
 
3205
2982
  // app/lib/remote-auth.ts
3206
2983
  import { scrypt as scrypt2, randomBytes as randomBytes2, timingSafeEqual as timingSafeEqual2, createHmac } from "crypto";
3207
- import { readFileSync as readFileSync3, writeFileSync as writeFileSync2, mkdirSync as mkdirSync3 } from "fs";
2984
+ import { readFileSync as readFileSync2, writeFileSync as writeFileSync2, mkdirSync as mkdirSync3 } from "fs";
3208
2985
  import { dirname as dirname2 } from "path";
3209
2986
  var SCRYPT_N2 = 16384;
3210
2987
  var SCRYPT_R2 = 8;
@@ -3250,7 +3027,7 @@ var cachedSecret = null;
3250
3027
  function getSecret() {
3251
3028
  if (cachedSecret) return cachedSecret;
3252
3029
  try {
3253
- const hex2 = readFileSync3(REMOTE_SESSION_SECRET_FILE, "utf-8").trim();
3030
+ const hex2 = readFileSync2(REMOTE_SESSION_SECRET_FILE, "utf-8").trim();
3254
3031
  if (hex2.length === SECRET_BYTES * 2) {
3255
3032
  cachedSecret = Buffer.from(hex2, "hex");
3256
3033
  return cachedSecret;
@@ -3263,7 +3040,7 @@ function getSecret() {
3263
3040
  writeFileSync2(REMOTE_SESSION_SECRET_FILE, fresh, { mode: 384, flag: "wx" });
3264
3041
  } catch {
3265
3042
  }
3266
- const hex = readFileSync3(REMOTE_SESSION_SECRET_FILE, "utf-8").trim();
3043
+ const hex = readFileSync2(REMOTE_SESSION_SECRET_FILE, "utf-8").trim();
3267
3044
  cachedSecret = Buffer.from(hex, "hex");
3268
3045
  return cachedSecret;
3269
3046
  }
@@ -3931,13 +3708,13 @@ function classifyHost(host, operatorDomains2, isPublicHost) {
3931
3708
  import { watchFile } from "fs";
3932
3709
 
3933
3710
  // app/lib/operator-domains.ts
3934
- import { existsSync as existsSync2, mkdirSync as mkdirSync4, readFileSync as readFileSync4, writeFileSync as writeFileSync3 } from "fs";
3711
+ import { existsSync as existsSync2, mkdirSync as mkdirSync4, readFileSync as readFileSync3, writeFileSync as writeFileSync3 } from "fs";
3935
3712
  import { dirname as dirname3, resolve as resolve2 } from "path";
3936
3713
  var OPERATOR_DOMAINS_PATH = resolve2(MAXY_DIR, "operator-domains.json");
3937
3714
  function loadOperatorDomains() {
3938
3715
  if (!existsSync2(OPERATOR_DOMAINS_PATH)) return /* @__PURE__ */ new Set();
3939
3716
  try {
3940
- const parsed = JSON.parse(readFileSync4(OPERATOR_DOMAINS_PATH, "utf-8"));
3717
+ const parsed = JSON.parse(readFileSync3(OPERATOR_DOMAINS_PATH, "utf-8"));
3941
3718
  if (!Array.isArray(parsed)) return /* @__PURE__ */ new Set();
3942
3719
  return new Set(parsed.filter((h) => typeof h === "string"));
3943
3720
  } catch {
@@ -3965,7 +3742,7 @@ function getOperatorDomains() {
3965
3742
  // app/lib/claude-agent/plugin-manifest.ts
3966
3743
  import { resolve as resolve3, join } from "path";
3967
3744
  import {
3968
- readFileSync as readFileSync5,
3745
+ readFileSync as readFileSync4,
3969
3746
  writeFileSync as writeFileSync4,
3970
3747
  readdirSync,
3971
3748
  existsSync as existsSync3,
@@ -3987,7 +3764,7 @@ function readBundleSubPlugins(bundlePath) {
3987
3764
  if (!existsSync3(bundlePath)) return [];
3988
3765
  let raw2;
3989
3766
  try {
3990
- raw2 = readFileSync5(bundlePath, "utf-8");
3767
+ raw2 = readFileSync4(bundlePath, "utf-8");
3991
3768
  } catch {
3992
3769
  return [];
3993
3770
  }
@@ -4009,14 +3786,14 @@ function readBundleSubPlugins(bundlePath) {
4009
3786
  return subs;
4010
3787
  }
4011
3788
  function walkPremiumBundles() {
4012
- const TAG2 = "[premium-auto-deliver]";
3789
+ const TAG = "[premium-auto-deliver]";
4013
3790
  if (BUNDLE_MODE === "none") {
4014
- console.log(`${TAG2} gate brand=${BRAND_NAME} mode=none bundles=[]`);
3791
+ console.log(`${TAG} gate brand=${BRAND_NAME} mode=none bundles=[]`);
4015
3792
  return [];
4016
3793
  }
4017
3794
  const onDisk = walkPremiumBundlesOnDisk();
4018
3795
  if (BUNDLE_MODE === "all") {
4019
- console.log(`${TAG2} gate brand=${BRAND_NAME} mode=all bundles=[${onDisk.map((b) => b.bundle).join(",")}]`);
3796
+ console.log(`${TAG} gate brand=${BRAND_NAME} mode=all bundles=[${onDisk.map((b) => b.bundle).join(",")}]`);
4020
3797
  return onDisk;
4021
3798
  }
4022
3799
  const allow = new Set(BUNDLE_ALLOWLIST);
@@ -4024,21 +3801,21 @@ function walkPremiumBundles() {
4024
3801
  const onDiskNames = new Set(onDisk.map((b) => b.bundle));
4025
3802
  const missing = BUNDLE_ALLOWLIST.filter((name) => !onDiskNames.has(name));
4026
3803
  console.log(
4027
- `${TAG2} gate brand=${BRAND_NAME} mode=allowlist bundles=[${kept.map((b) => b.bundle).join(",")}]` + (missing.length > 0 ? ` missing=[${missing.join(",")}]` : "")
3804
+ `${TAG} gate brand=${BRAND_NAME} mode=allowlist bundles=[${kept.map((b) => b.bundle).join(",")}]` + (missing.length > 0 ? ` missing=[${missing.join(",")}]` : "")
4028
3805
  );
4029
3806
  return kept;
4030
3807
  }
4031
3808
  function walkPremiumBundlesOnDisk() {
4032
3809
  const stagingRoot = resolve3(PLATFORM_ROOT, "../premium-plugins");
4033
3810
  if (!existsSync3(stagingRoot)) return [];
4034
- let entries2;
3811
+ let entries;
4035
3812
  try {
4036
- entries2 = readdirSync(stagingRoot);
3813
+ entries = readdirSync(stagingRoot);
4037
3814
  } catch {
4038
3815
  return [];
4039
3816
  }
4040
3817
  const result = [];
4041
- for (const bundle of entries2) {
3818
+ for (const bundle of entries) {
4042
3819
  if (bundle.startsWith(".")) continue;
4043
3820
  const bundleDir = resolve3(stagingRoot, bundle);
4044
3821
  try {
@@ -4052,7 +3829,7 @@ function walkPremiumBundlesOnDisk() {
4052
3829
  return result;
4053
3830
  }
4054
3831
  function reapDuplicateFlatPremiumSubs(bundles, stagingRoot, pluginsDir) {
4055
- const TAG2 = "[premium-auto-deliver]";
3832
+ const TAG = "[premium-auto-deliver]";
4056
3833
  for (const { bundle, subs } of bundles) {
4057
3834
  const isBundle = existsSync3(join(stagingRoot, bundle, "BUNDLE.md"));
4058
3835
  for (const sub of subs) {
@@ -4060,25 +3837,25 @@ function reapDuplicateFlatPremiumSubs(bundles, stagingRoot, pluginsDir) {
4060
3837
  const flatDir = resolve3(pluginsDir, sub);
4061
3838
  const flatManifest = resolve3(flatDir, "PLUGIN.md");
4062
3839
  if (!existsSync3(premiumManifest) || !existsSync3(flatManifest)) continue;
4063
- const premiumSha = createHash2("sha256").update(readFileSync5(premiumManifest)).digest("hex");
4064
- const flatSha = createHash2("sha256").update(readFileSync5(flatManifest)).digest("hex");
3840
+ const premiumSha = createHash2("sha256").update(readFileSync4(premiumManifest)).digest("hex");
3841
+ const flatSha = createHash2("sha256").update(readFileSync4(flatManifest)).digest("hex");
4065
3842
  if (isBundle) {
4066
3843
  if (premiumSha === flatSha) {
4067
3844
  try {
4068
3845
  rmSync(flatDir, { recursive: true });
4069
- console.log(`${TAG2} reaped sub=${sub} reason=duplicate-of-premium-tree`);
3846
+ console.log(`${TAG} reaped sub=${sub} reason=duplicate-of-premium-tree`);
4070
3847
  } catch (err) {
4071
- console.log(`${TAG2} reap-failed sub=${sub} err=${err instanceof Error ? err.message : String(err)}`);
3848
+ console.log(`${TAG} reap-failed sub=${sub} err=${err instanceof Error ? err.message : String(err)}`);
4072
3849
  }
4073
3850
  } else {
4074
- console.log(`${TAG2} flat-copy-divergent sub=${sub} action=skip-keep`);
3851
+ console.log(`${TAG} flat-copy-divergent sub=${sub} action=skip-keep`);
4075
3852
  }
4076
3853
  } else {
4077
3854
  try {
4078
3855
  rmSync(flatDir, { recursive: true });
4079
- console.log(`${TAG2} reaped standalone=${sub} matches-source=${flatSha === premiumSha}`);
3856
+ console.log(`${TAG} reaped standalone=${sub} matches-source=${flatSha === premiumSha}`);
4080
3857
  } catch (err) {
4081
- console.log(`${TAG2} reap-failed standalone=${sub} err=${err instanceof Error ? err.message : String(err)}`);
3858
+ console.log(`${TAG} reap-failed standalone=${sub} err=${err instanceof Error ? err.message : String(err)}`);
4082
3859
  }
4083
3860
  }
4084
3861
  }
@@ -4092,7 +3869,7 @@ function autoDeliverPremiumPlugins() {
4092
3869
  reapDuplicateFlatPremiumSubs(bundles, stagingRoot, pluginsDir);
4093
3870
  }
4094
3871
  function reconcileEnabledPlugins(accountDir, config, accountId) {
4095
- const TAG2 = "[premium-auto-deliver]";
3872
+ const TAG = "[premium-auto-deliver]";
4096
3873
  if (!accountDir || !config) return;
4097
3874
  const bundles = walkPremiumBundles();
4098
3875
  const stagingRoot = resolve3(PLATFORM_ROOT, "../premium-plugins");
@@ -4117,19 +3894,19 @@ function reconcileEnabledPlugins(accountDir, config, accountId) {
4117
3894
  added.push(sub);
4118
3895
  }
4119
3896
  console.log(
4120
- `${TAG2} stamp accountId=${accountId ?? "unknown"} brand=${BRAND_NAME} mode=${BUNDLE_MODE} bundles=[${bundleNames.join(",")}] added=[${added.join(",")}]`
3897
+ `${TAG} stamp accountId=${accountId ?? "unknown"} brand=${BRAND_NAME} mode=${BUNDLE_MODE} bundles=[${bundleNames.join(",")}] added=[${added.join(",")}]`
4121
3898
  );
4122
3899
  if (added.length === 0) return;
4123
3900
  const merged = [...currentSet];
4124
3901
  const configPath = resolve3(accountDir, "account.json");
4125
3902
  try {
4126
- const raw2 = readFileSync5(configPath, "utf-8");
3903
+ const raw2 = readFileSync4(configPath, "utf-8");
4127
3904
  const parsed = JSON.parse(raw2);
4128
3905
  parsed.enabledPlugins = merged;
4129
3906
  writeFileSync4(configPath, JSON.stringify(parsed, null, 2) + "\n");
4130
3907
  config.enabledPlugins = merged;
4131
3908
  } catch (err) {
4132
- console.error(`${TAG2} enabled-stamp write failed: ${err instanceof Error ? err.message : String(err)}`);
3909
+ console.error(`${TAG} enabled-stamp write failed: ${err instanceof Error ? err.message : String(err)}`);
4133
3910
  }
4134
3911
  }
4135
3912
  function reconcileEnabledPluginsForAccounts(accounts) {
@@ -4138,7 +3915,7 @@ function reconcileEnabledPluginsForAccounts(accounts) {
4138
3915
  }
4139
3916
  }
4140
3917
  function cleanupLeakedPremiumSubs(accountDir, config, accountId) {
4141
- const TAG2 = "[premium-auto-deliver]";
3918
+ const TAG = "[premium-auto-deliver]";
4142
3919
  if (!accountDir || !config) return;
4143
3920
  if (BUNDLE_MODE === "all") return;
4144
3921
  const current = Array.isArray(config.enabledPlugins) ? config.enabledPlugins : [];
@@ -4159,14 +3936,14 @@ function cleanupLeakedPremiumSubs(accountDir, config, accountId) {
4159
3936
  if (removed.length === 0) return;
4160
3937
  const configPath = resolve3(accountDir, "account.json");
4161
3938
  try {
4162
- const raw2 = readFileSync5(configPath, "utf-8");
3939
+ const raw2 = readFileSync4(configPath, "utf-8");
4163
3940
  const parsed = JSON.parse(raw2);
4164
3941
  parsed.enabledPlugins = kept;
4165
3942
  writeFileSync4(configPath, JSON.stringify(parsed, null, 2) + "\n");
4166
3943
  config.enabledPlugins = kept;
4167
- console.log(`${TAG2} cleanup accountId=${accountId ?? "unknown"} removed=[${removed.join(",")}]`);
3944
+ console.log(`${TAG} cleanup accountId=${accountId ?? "unknown"} removed=[${removed.join(",")}]`);
4168
3945
  } catch (err) {
4169
- console.error(`${TAG2} cleanup write failed accountId=${accountId ?? "unknown"}: ${err instanceof Error ? err.message : String(err)}`);
3946
+ console.error(`${TAG} cleanup write failed accountId=${accountId ?? "unknown"}: ${err instanceof Error ? err.message : String(err)}`);
4170
3947
  }
4171
3948
  }
4172
3949
 
@@ -4318,11 +4095,6 @@ export {
4318
4095
  setWantsPriorConversation,
4319
4096
  unregisterSession,
4320
4097
  getSessionKeyBySessionId,
4321
- sampleCpu,
4322
- sampleProcessCpu,
4323
- registerLoop,
4324
- listLoops,
4325
- armedCount,
4326
4098
  vncLog,
4327
4099
  newCorrId,
4328
4100
  sanitizeClientCorrId,