@rubytech/create-maxy-code 0.1.563 → 0.1.565
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.
- package/package.json +1 -1
- package/payload/platform/plugins/admin/PLUGIN.md +2 -2
- package/payload/platform/plugins/admin/hooks/__tests__/askuserquestion-channel-carrier-gate.test.sh +1 -1
- package/payload/platform/plugins/admin/hooks/askuserquestion-channel-carrier-gate.sh +4 -3
- package/payload/platform/plugins/admin/skills/platform-architecture/SKILL.md +27 -4
- package/payload/platform/plugins/admin/skills/whats-new/SKILL.md +12 -0
- package/payload/platform/plugins/cloudflare/mcp/__tests__/portal-visit-status-write.test.ts +118 -0
- package/payload/platform/plugins/cloudflare/skills/data-portal/SKILL.md +15 -0
- package/payload/platform/plugins/cloudflare/skills/data-portal/schema.sql +25 -7
- package/payload/platform/plugins/cloudflare/skills/data-portal/template/functions/api/visit-status.ts +62 -5
- package/payload/platform/plugins/docs/references/outlook-guide.md +7 -3
- package/payload/platform/plugins/docs/references/telegram-guide.md +19 -0
- package/payload/platform/plugins/memory/references/schema-construction.md +1 -1
- package/payload/platform/plugins/outlook/PLUGIN.md +2 -2
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/attach.test.js +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/attach.test.js.map +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/calendar-write.test.js +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/calendar-write.test.js.map +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/draft-attachments.test.js +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/draft-attachments.test.js.map +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/draft-edit-attachments.test.js +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/draft-edit-attachments.test.js.map +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/draft-edit-removal.test.js +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/draft-edit-removal.test.js.map +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/draft-edit.test.js +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/draft-edit.test.js.map +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/draft-threaded.test.js +51 -1
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/draft-threaded.test.js.map +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/graph-client-paged.test.js +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/graph-client-paged.test.js.map +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/graph-client-prefix-wiring.test.js +1 -0
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/graph-client-prefix-wiring.test.js.map +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/graph-client-retry.test.js +2 -2
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/graph-client-retry.test.js.map +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/graph-client.test.js +7 -7
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/graph-client.test.js.map +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/has-attachments.test.js +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/has-attachments.test.js.map +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/mail-attachment.test.js +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/mail-attachment.test.js.map +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/mail-delete.test.js +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/mail-delete.test.js.map +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/mail-fetch-body.test.js +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/mail-fetch-body.test.js.map +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/mail-list-paging.test.js +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/mail-list-paging.test.js.map +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/mail-otp-extract.test.js +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/mail-otp-extract.test.js.map +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/mail-reply.test.js +159 -6
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/mail-reply.test.js.map +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/mail-search-delegated-ids.test.js +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/mail-search-delegated-ids.test.js.map +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/mail-search-paging.test.js +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/mail-search-paging.test.js.map +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/mail-send-attachments.test.js +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/mail-send-attachments.test.js.map +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/shared-mail-only-guard.test.js +1 -0
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/shared-mail-only-guard.test.js.map +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/shared-mailbox-add.test.js +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/shared-mailbox-add.test.js.map +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/write-tools.test.js +2 -1
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/write-tools.test.js.map +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/index.js +13 -4
- package/payload/platform/plugins/outlook/mcp/dist/index.js.map +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/lib/graph-client.d.ts +9 -0
- package/payload/platform/plugins/outlook/mcp/dist/lib/graph-client.d.ts.map +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/lib/graph-client.js.map +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/tools/draft.d.ts +7 -0
- package/payload/platform/plugins/outlook/mcp/dist/tools/draft.d.ts.map +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/tools/draft.js +16 -5
- package/payload/platform/plugins/outlook/mcp/dist/tools/draft.js.map +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/tools/mail-reply.d.ts +5 -0
- package/payload/platform/plugins/outlook/mcp/dist/tools/mail-reply.d.ts.map +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/tools/mail-reply.js +81 -2
- package/payload/platform/plugins/outlook/mcp/dist/tools/mail-reply.js.map +1 -1
- package/payload/platform/plugins/whatsapp/PLUGIN.md +2 -2
- package/payload/platform/plugins/whatsapp/references/channels-whatsapp.md +2 -2
- package/payload/platform/scripts/check-no-esm-require.mjs +10 -0
- package/payload/platform/services/claude-session-manager/dist/channel-mcp.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/channel-mcp.js +9 -3
- package/payload/platform/services/claude-session-manager/dist/channel-mcp.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/http-server.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/http-server.js +11 -2
- package/payload/platform/services/claude-session-manager/dist/http-server.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/index.js +0 -1
- package/payload/platform/services/claude-session-manager/dist/index.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/pty-spawner.d.ts +0 -1
- package/payload/platform/services/claude-session-manager/dist/pty-spawner.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/pty-spawner.js +7 -2
- package/payload/platform/services/claude-session-manager/dist/pty-spawner.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/public-allowlist.d.ts +4 -2
- package/payload/platform/services/claude-session-manager/dist/public-allowlist.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/public-allowlist.js +15 -18
- package/payload/platform/services/claude-session-manager/dist/public-allowlist.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/specialist-roster.d.ts +4 -2
- package/payload/platform/services/claude-session-manager/dist/specialist-roster.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/specialist-roster.js +4 -2
- package/payload/platform/services/claude-session-manager/dist/specialist-roster.js.map +1 -1
- package/payload/platform/services/telegram-channel/dist/instructions.d.ts.map +1 -1
- package/payload/platform/services/telegram-channel/dist/instructions.js +31 -16
- package/payload/platform/services/telegram-channel/dist/instructions.js.map +1 -1
- package/payload/platform/services/telegram-channel/dist/server.d.ts.map +1 -1
- package/payload/platform/services/telegram-channel/dist/server.js +21 -38
- package/payload/platform/services/telegram-channel/dist/server.js.map +1 -1
- package/payload/platform/services/telegram-channel/dist/turn-follow.d.ts +6 -0
- package/payload/platform/services/telegram-channel/dist/turn-follow.d.ts.map +1 -1
- package/payload/platform/services/telegram-channel/dist/turn-follow.js +16 -1
- package/payload/platform/services/telegram-channel/dist/turn-follow.js.map +1 -1
- package/payload/platform/services/webchat-channel/dist/instructions.d.ts +0 -2
- package/payload/platform/services/webchat-channel/dist/instructions.d.ts.map +1 -1
- package/payload/platform/services/webchat-channel/dist/instructions.js +25 -19
- package/payload/platform/services/webchat-channel/dist/instructions.js.map +1 -1
- package/payload/platform/services/webchat-channel/dist/notification.d.ts +3 -2
- package/payload/platform/services/webchat-channel/dist/notification.d.ts.map +1 -1
- package/payload/platform/services/webchat-channel/dist/notification.js +14 -4
- package/payload/platform/services/webchat-channel/dist/notification.js.map +1 -1
- package/payload/platform/services/webchat-channel/dist/server.d.ts.map +1 -1
- package/payload/platform/services/webchat-channel/dist/server.js +16 -48
- package/payload/platform/services/webchat-channel/dist/server.js.map +1 -1
- package/payload/platform/services/webchat-channel/dist/turn-follow.d.ts +6 -0
- package/payload/platform/services/webchat-channel/dist/turn-follow.d.ts.map +1 -1
- package/payload/platform/services/webchat-channel/dist/turn-follow.js +16 -1
- package/payload/platform/services/webchat-channel/dist/turn-follow.js.map +1 -1
- package/payload/platform/services/whatsapp-channel/dist/notification.d.ts +5 -2
- package/payload/platform/services/whatsapp-channel/dist/notification.d.ts.map +1 -1
- package/payload/platform/services/whatsapp-channel/dist/notification.js +31 -14
- package/payload/platform/services/whatsapp-channel/dist/notification.js.map +1 -1
- package/payload/platform/services/whatsapp-channel/dist/server.d.ts.map +1 -1
- package/payload/platform/services/whatsapp-channel/dist/server.js +64 -161
- package/payload/platform/services/whatsapp-channel/dist/server.js.map +1 -1
- package/payload/platform/services/whatsapp-channel/dist/targets.d.ts +7 -38
- package/payload/platform/services/whatsapp-channel/dist/targets.d.ts.map +1 -1
- package/payload/platform/services/whatsapp-channel/dist/targets.js +7 -51
- package/payload/platform/services/whatsapp-channel/dist/targets.js.map +1 -1
- package/payload/platform/services/whatsapp-channel/dist/turn-follow.d.ts +6 -0
- package/payload/platform/services/whatsapp-channel/dist/turn-follow.d.ts.map +1 -1
- package/payload/platform/services/whatsapp-channel/dist/turn-follow.js +21 -1
- package/payload/platform/services/whatsapp-channel/dist/turn-follow.js.map +1 -1
- package/payload/server/{adminuser-self-heal-ZHFNDKJK.js → adminuser-self-heal-Y4U3UNKF.js} +10 -2
- package/payload/server/{chunk-G6ULACHG.js → chunk-637C2FGE.js} +3385 -3275
- package/payload/server/{chunk-HYQNUVGO.js → chunk-KVR2FT6O.js} +12 -1
- package/payload/server/{chunk-SKYZG6OT.js → chunk-PGGGWUBM.js} +372 -224
- package/payload/server/{chunk-JOVREC6E.js → chunk-Y4NH2KLF.js} +3789 -3484
- package/payload/server/{manager-2VEJKVEO.js → manager-R3XH3BNM.js} +3 -3
- package/payload/server/maxy-edge.js +27 -4
- package/payload/server/public/activity.html +5 -5
- package/payload/server/public/agents.html +4 -4
- package/payload/server/public/assets/{AdminLoginScreens-C6e5jf0S.js → AdminLoginScreens-5gI137xF.js} +1 -1
- package/payload/server/public/assets/AdminLoginScreens-5gI137xF.js.br +0 -0
- package/payload/server/public/assets/AdminLoginScreens-5gI137xF.js.gz +0 -0
- package/payload/server/public/assets/{AdminShell-DStA0lfm.js → AdminShell-Bfapavlp.js} +2 -2
- package/payload/server/public/assets/AdminShell-Bfapavlp.js.br +0 -0
- package/payload/server/public/assets/AdminShell-Bfapavlp.js.gz +0 -0
- package/payload/server/public/assets/{activity--yyBcNfB.js → activity-DnbsmUgn.js} +1 -1
- package/payload/server/public/assets/activity-DnbsmUgn.js.br +0 -0
- package/payload/server/public/assets/activity-DnbsmUgn.js.gz +0 -0
- package/payload/server/public/assets/admin-BXIv0_oj.js +1 -0
- package/payload/server/public/assets/admin-BXIv0_oj.js.br +0 -0
- package/payload/server/public/assets/admin-BXIv0_oj.js.gz +0 -0
- package/payload/server/public/assets/{agents-odyVOb5E.js → agents-Dl2wOcpj.js} +1 -1
- package/payload/server/public/assets/agents-Dl2wOcpj.js.br +0 -0
- package/payload/server/public/assets/agents-Dl2wOcpj.js.gz +0 -0
- package/payload/server/public/assets/{browser-D1K_MoHt.js → browser-D-Uc9ewO.js} +1 -1
- package/payload/server/public/assets/browser-D-Uc9ewO.js.br +0 -0
- package/payload/server/public/assets/browser-D-Uc9ewO.js.gz +0 -0
- package/payload/server/public/assets/{calendar-jqh9U7Ic.js → calendar-Cu3O6Bay.js} +1 -1
- package/payload/server/public/assets/calendar-Cu3O6Bay.js.br +0 -0
- package/payload/server/public/assets/calendar-Cu3O6Bay.js.gz +0 -0
- package/payload/server/public/assets/chat-Bso94e-f.js +1 -0
- package/payload/server/public/assets/chat-Bso94e-f.js.br +0 -0
- package/payload/server/public/assets/chat-Bso94e-f.js.gz +0 -0
- package/payload/server/public/assets/chevron-left-CDwfR9V-.js +1 -0
- package/payload/server/public/assets/chevron-left-CDwfR9V-.js.br +0 -0
- package/payload/server/public/assets/clock-DDVrNLt9.js +1 -0
- package/payload/server/public/assets/clock-DDVrNLt9.js.br +0 -0
- package/payload/server/public/assets/clock-DDVrNLt9.js.gz +0 -0
- package/payload/server/public/assets/{copy-DkuHwkaB.js → copy-DPBVV8KZ.js} +1 -1
- package/payload/server/public/assets/copy-DPBVV8KZ.js.br +0 -0
- package/payload/server/public/assets/copy-DPBVV8KZ.js.gz +0 -0
- package/payload/server/public/assets/data-Dei8n2EX.js +1 -0
- package/payload/server/public/assets/data-Dei8n2EX.js.br +0 -0
- package/payload/server/public/assets/data-Dei8n2EX.js.gz +0 -0
- package/payload/server/public/assets/{file-text-C6o_NRjj.js → file-text-Dn82O6ke.js} +1 -1
- package/payload/server/public/assets/file-text-Dn82O6ke.js.br +0 -0
- package/payload/server/public/assets/file-text-Dn82O6ke.js.gz +0 -0
- package/payload/server/public/assets/{graph-BN30v5hJ.js → graph-D2J7a7Ll.js} +1 -1
- package/payload/server/public/assets/graph-D2J7a7Ll.js.br +0 -0
- package/payload/server/public/assets/{graph-BN30v5hJ.js.gz → graph-D2J7a7Ll.js.gz} +0 -0
- package/payload/server/public/assets/{graph-labels-DHFyNXQt.js → graph-labels-D3gkY2IH.js} +1 -1
- package/payload/server/public/assets/graph-labels-D3gkY2IH.js.br +0 -0
- package/payload/server/public/assets/graph-labels-D3gkY2IH.js.gz +0 -0
- package/payload/server/public/assets/{operator-DwFYA4Fp.js → operator-Bz_yj1im.js} +1 -1
- package/payload/server/public/assets/operator-Bz_yj1im.js.br +0 -0
- package/payload/server/public/assets/operator-Bz_yj1im.js.gz +0 -0
- package/payload/server/public/assets/page-D6u2xYh7.js +1 -0
- package/payload/server/public/assets/page-D6u2xYh7.js.br +0 -0
- package/payload/server/public/assets/page-D6u2xYh7.js.gz +0 -0
- package/payload/server/public/assets/{page-CEWIP3VF.js → page-mH4nyQ75.js} +2 -2
- package/payload/server/public/assets/page-mH4nyQ75.js.br +0 -0
- package/payload/server/public/assets/page-mH4nyQ75.js.gz +0 -0
- package/payload/server/public/assets/play-ByuChQJJ.js +1 -0
- package/payload/server/public/assets/play-ByuChQJJ.js.br +0 -0
- package/payload/server/public/assets/play-ByuChQJJ.js.gz +0 -0
- package/payload/server/public/assets/{public-Ceb0n7Km.js → public-CtoYVjPR.js} +1 -1
- package/payload/server/public/assets/public-CtoYVjPR.js.br +0 -0
- package/payload/server/public/assets/public-CtoYVjPR.js.gz +0 -0
- package/payload/server/public/assets/{rotate-ccw-CDYdx91V.js → rotate-ccw-BXoIghE3.js} +1 -1
- package/payload/server/public/assets/rotate-ccw-BXoIghE3.js.br +0 -0
- package/payload/server/public/assets/rotate-ccw-BXoIghE3.js.gz +0 -0
- package/payload/server/public/assets/{routines-DwNTih0y.js → routines-DXleYpDv.js} +1 -1
- package/payload/server/public/assets/routines-DXleYpDv.js.br +0 -0
- package/payload/server/public/assets/routines-DXleYpDv.js.gz +0 -0
- package/payload/server/public/assets/{skills-TIDCdOLQ.js → skills-CMl38MKH.js} +1 -1
- package/payload/server/public/assets/skills-CMl38MKH.js.br +0 -0
- package/payload/server/public/assets/skills-CMl38MKH.js.gz +0 -0
- package/payload/server/public/assets/{tasks-eTXvaWnd.js → tasks-Cshaf0Md.js} +1 -1
- package/payload/server/public/assets/tasks-Cshaf0Md.js.br +0 -0
- package/payload/server/public/assets/tasks-Cshaf0Md.js.gz +0 -0
- package/payload/server/public/assets/{triangle-alert-JwLSrj17.js → triangle-alert-CS-NXr_9.js} +1 -1
- package/payload/server/public/assets/triangle-alert-CS-NXr_9.js.br +3 -0
- package/payload/server/public/assets/triangle-alert-CS-NXr_9.js.gz +0 -0
- package/payload/server/public/assets/{useCopyFeedback-DjTkNw2p.js → useCopyFeedback-pKLfQJNG.js} +1 -1
- package/payload/server/public/assets/useCopyFeedback-pKLfQJNG.js.br +0 -0
- package/payload/server/public/assets/useCopyFeedback-pKLfQJNG.js.gz +0 -0
- package/payload/server/public/assets/useMediaQuery-BHFn0-S9.css +1 -0
- package/payload/server/public/assets/useMediaQuery-BHFn0-S9.css.br +0 -0
- package/payload/server/public/assets/useMediaQuery-BHFn0-S9.css.gz +0 -0
- package/payload/server/public/assets/{useMediaQuery-D8VDA0RN.js → useMediaQuery-oDCasnxD.js} +1 -1
- package/payload/server/public/assets/useMediaQuery-oDCasnxD.js.br +0 -0
- package/payload/server/public/assets/{useMediaQuery-D8VDA0RN.js.gz → useMediaQuery-oDCasnxD.js.gz} +0 -0
- package/payload/server/public/assets/useVoiceRecorder-EgO1GmIg.js +2 -0
- package/payload/server/public/assets/useVoiceRecorder-EgO1GmIg.js.br +0 -0
- package/payload/server/public/assets/useVoiceRecorder-EgO1GmIg.js.gz +0 -0
- package/payload/server/public/assets/{wrench-DutUiRu7.js → wrench-czES9Rdy.js} +1 -1
- package/payload/server/public/assets/wrench-czES9Rdy.js.br +0 -0
- package/payload/server/public/assets/wrench-czES9Rdy.js.gz +0 -0
- package/payload/server/public/browser.html +4 -4
- package/payload/server/public/calendar.html +7 -7
- package/payload/server/public/chat.html +13 -13
- package/payload/server/public/data.html +11 -11
- package/payload/server/public/graph.html +9 -9
- package/payload/server/public/index.html +13 -13
- package/payload/server/public/operator.html +14 -14
- package/payload/server/public/public.html +13 -13
- package/payload/server/public/routines.html +7 -7
- package/payload/server/public/skills.html +5 -5
- package/payload/server/public/tasks.html +6 -6
- package/payload/server/server.js +10213 -8397
- package/payload/server/{src-MM64CYYZ.js → src-IJCLNFYU.js} +1 -1
- package/payload/server/{userprofile-reconcile-TL4JKBPG.js → userprofile-reconcile-PUA657YX.js} +8 -1
- package/payload/server/public/assets/AdminLoginScreens-C6e5jf0S.js.br +0 -0
- package/payload/server/public/assets/AdminLoginScreens-C6e5jf0S.js.gz +0 -0
- package/payload/server/public/assets/AdminShell-DStA0lfm.js.br +0 -0
- package/payload/server/public/assets/AdminShell-DStA0lfm.js.gz +0 -0
- package/payload/server/public/assets/activity--yyBcNfB.js.br +0 -0
- package/payload/server/public/assets/activity--yyBcNfB.js.gz +0 -0
- package/payload/server/public/assets/admin-Dr6Jwe7W.js +0 -1
- package/payload/server/public/assets/admin-Dr6Jwe7W.js.br +0 -0
- package/payload/server/public/assets/admin-Dr6Jwe7W.js.gz +0 -0
- package/payload/server/public/assets/agents-odyVOb5E.js.br +0 -0
- package/payload/server/public/assets/agents-odyVOb5E.js.gz +0 -0
- package/payload/server/public/assets/browser-D1K_MoHt.js.br +0 -0
- package/payload/server/public/assets/browser-D1K_MoHt.js.gz +0 -0
- package/payload/server/public/assets/calendar-jqh9U7Ic.js.br +0 -0
- package/payload/server/public/assets/calendar-jqh9U7Ic.js.gz +0 -0
- package/payload/server/public/assets/chat-QQHBdVor.js +0 -1
- package/payload/server/public/assets/chat-QQHBdVor.js.br +0 -0
- package/payload/server/public/assets/chat-QQHBdVor.js.gz +0 -0
- package/payload/server/public/assets/chevron-left-DwTXgKwr.js +0 -1
- package/payload/server/public/assets/clock-DOmh9iKX.js +0 -1
- package/payload/server/public/assets/clock-DOmh9iKX.js.br +0 -0
- package/payload/server/public/assets/copy-DkuHwkaB.js.br +0 -0
- package/payload/server/public/assets/copy-DkuHwkaB.js.gz +0 -0
- package/payload/server/public/assets/data-DYmTNqrb.js +0 -1
- package/payload/server/public/assets/data-DYmTNqrb.js.br +0 -0
- package/payload/server/public/assets/data-DYmTNqrb.js.gz +0 -0
- package/payload/server/public/assets/file-text-C6o_NRjj.js.br +0 -0
- package/payload/server/public/assets/file-text-C6o_NRjj.js.gz +0 -0
- package/payload/server/public/assets/graph-BN30v5hJ.js.br +0 -0
- package/payload/server/public/assets/graph-labels-DHFyNXQt.js.br +0 -0
- package/payload/server/public/assets/graph-labels-DHFyNXQt.js.gz +0 -0
- package/payload/server/public/assets/operator-DwFYA4Fp.js.br +0 -0
- package/payload/server/public/assets/operator-DwFYA4Fp.js.gz +0 -0
- package/payload/server/public/assets/page-BALVRssF.js +0 -1
- package/payload/server/public/assets/page-BALVRssF.js.br +0 -0
- package/payload/server/public/assets/page-BALVRssF.js.gz +0 -0
- package/payload/server/public/assets/page-CEWIP3VF.js.br +0 -0
- package/payload/server/public/assets/page-CEWIP3VF.js.gz +0 -0
- package/payload/server/public/assets/play-Bg-BY_oj.js +0 -1
- package/payload/server/public/assets/play-Bg-BY_oj.js.br +0 -0
- package/payload/server/public/assets/play-Bg-BY_oj.js.gz +0 -0
- package/payload/server/public/assets/public-Ceb0n7Km.js.br +0 -0
- package/payload/server/public/assets/public-Ceb0n7Km.js.gz +0 -0
- package/payload/server/public/assets/rotate-ccw-CDYdx91V.js.gz +0 -0
- package/payload/server/public/assets/routines-DwNTih0y.js.br +0 -0
- package/payload/server/public/assets/routines-DwNTih0y.js.gz +0 -0
- package/payload/server/public/assets/skills-TIDCdOLQ.js.br +0 -0
- package/payload/server/public/assets/skills-TIDCdOLQ.js.gz +0 -0
- package/payload/server/public/assets/tasks-eTXvaWnd.js.br +0 -0
- package/payload/server/public/assets/tasks-eTXvaWnd.js.gz +0 -0
- package/payload/server/public/assets/triangle-alert-JwLSrj17.js.br +0 -0
- package/payload/server/public/assets/triangle-alert-JwLSrj17.js.gz +0 -0
- package/payload/server/public/assets/useCopyFeedback-DjTkNw2p.js.br +0 -0
- package/payload/server/public/assets/useCopyFeedback-DjTkNw2p.js.gz +0 -0
- package/payload/server/public/assets/useMediaQuery-BsBzbWaf.css +0 -1
- package/payload/server/public/assets/useMediaQuery-BsBzbWaf.css.br +0 -0
- package/payload/server/public/assets/useMediaQuery-BsBzbWaf.css.gz +0 -0
- package/payload/server/public/assets/useMediaQuery-D8VDA0RN.js.br +0 -0
- package/payload/server/public/assets/useVoiceRecorder-B8vxObZG.js +0 -2
- package/payload/server/public/assets/useVoiceRecorder-B8vxObZG.js.br +0 -0
- package/payload/server/public/assets/useVoiceRecorder-B8vxObZG.js.gz +0 -0
- package/payload/server/public/assets/wrench-DutUiRu7.js.br +0 -0
- package/payload/server/public/assets/wrench-DutUiRu7.js.gz +0 -0
|
@@ -1,122 +1,162 @@
|
|
|
1
1
|
import { createRequire as __createRequire } from 'node:module'; const require = __createRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
__esm,
|
|
4
|
+
__export
|
|
5
|
+
} from "./chunk-KVR2FT6O.js";
|
|
2
6
|
|
|
3
7
|
// app/lib/paths.ts
|
|
8
|
+
var paths_exports = {};
|
|
9
|
+
__export(paths_exports, {
|
|
10
|
+
ADMIN_SESSION_SECRET_FILE: () => ADMIN_SESSION_SECRET_FILE,
|
|
11
|
+
BIN_DIR: () => BIN_DIR,
|
|
12
|
+
BRAND_NAME: () => BRAND_NAME,
|
|
13
|
+
BUNDLE_ALLOWLIST: () => BUNDLE_ALLOWLIST,
|
|
14
|
+
BUNDLE_MODE: () => BUNDLE_MODE,
|
|
15
|
+
CDP_PORT: () => CDP_PORT,
|
|
16
|
+
CHROMIUM_PROFILE_DIR: () => CHROMIUM_PROFILE_DIR,
|
|
17
|
+
CLAUDE_CREDENTIALS_FILE: () => CLAUDE_CREDENTIALS_FILE,
|
|
18
|
+
COMMERCIAL_MODE: () => COMMERCIAL_MODE,
|
|
19
|
+
INSTALL_OWNER_FILE: () => INSTALL_OWNER_FILE,
|
|
20
|
+
LID_MAP_FILE: () => LID_MAP_FILE,
|
|
21
|
+
LOG_DIR: () => LOG_DIR,
|
|
22
|
+
MAXY_DIR: () => MAXY_DIR,
|
|
23
|
+
REMOTE_PASSWORD_FILE: () => REMOTE_PASSWORD_FILE,
|
|
24
|
+
REMOTE_SESSION_SECRET_FILE: () => REMOTE_SESSION_SECRET_FILE,
|
|
25
|
+
RFB_PORT: () => RFB_PORT,
|
|
26
|
+
SHIPS_PREMIUM_BUNDLES: () => SHIPS_PREMIUM_BUNDLES,
|
|
27
|
+
TELEGRAM_ADMIN_WEBHOOK_SECRET_FILE: () => TELEGRAM_ADMIN_WEBHOOK_SECRET_FILE,
|
|
28
|
+
TELEGRAM_WEBHOOK_SECRET_FILE: () => TELEGRAM_WEBHOOK_SECRET_FILE,
|
|
29
|
+
USERS_AUDIT_LOG: () => USERS_AUDIT_LOG,
|
|
30
|
+
USERS_FILE: () => USERS_FILE,
|
|
31
|
+
VISITOR_TOKEN_SECRET_FILE: () => VISITOR_TOKEN_SECRET_FILE,
|
|
32
|
+
VNC_DISPLAY: () => VNC_DISPLAY,
|
|
33
|
+
VNC_DISPLAY_NUM: () => VNC_DISPLAY_NUM,
|
|
34
|
+
WEBSOCKIFY_PORT: () => WEBSOCKIFY_PORT
|
|
35
|
+
});
|
|
4
36
|
import { homedir } from "os";
|
|
5
37
|
import { resolve, join } from "path";
|
|
6
38
|
import { existsSync, readFileSync } from "fs";
|
|
7
|
-
var configDirName
|
|
8
|
-
var
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
bundleMode = "all";
|
|
32
|
-
} else if (Array.isArray(brand.shipsPremiumBundles)) {
|
|
33
|
-
const arr = brand.shipsPremiumBundles;
|
|
34
|
-
for (const entry of arr) {
|
|
35
|
-
if (typeof entry !== "string" || entry.length === 0) {
|
|
36
|
-
throw new Error(
|
|
37
|
-
`brand.json at ${brandPath} shipsPremiumBundles array contains invalid entry: ${JSON.stringify(entry)}`
|
|
38
|
-
);
|
|
39
|
+
var configDirName, commercialMode, bundleMode, bundleAllowlist, vncDisplayNum, rfbPortNum, websockifyPortNum, cdpPortNum, portSource, platformRoot, MAXY_DIR, BRAND_NAME, COMMERCIAL_MODE, BUNDLE_MODE, BUNDLE_ALLOWLIST, SHIPS_PREMIUM_BUNDLES, VNC_DISPLAY_NUM, VNC_DISPLAY, RFB_PORT, WEBSOCKIFY_PORT, CDP_PORT, CHROMIUM_PROFILE_DIR, PLATFORM_ROOT, USERS_FILE, LID_MAP_FILE, LOG_DIR, USERS_AUDIT_LOG, BIN_DIR, REMOTE_PASSWORD_FILE, REMOTE_SESSION_SECRET_FILE, ADMIN_SESSION_SECRET_FILE, INSTALL_OWNER_FILE, TELEGRAM_WEBHOOK_SECRET_FILE, TELEGRAM_ADMIN_WEBHOOK_SECRET_FILE, VISITOR_TOKEN_SECRET_FILE, CLAUDE_CREDENTIALS_FILE;
|
|
40
|
+
var init_paths = __esm({
|
|
41
|
+
"app/lib/paths.ts"() {
|
|
42
|
+
"use strict";
|
|
43
|
+
configDirName = ".maxy";
|
|
44
|
+
commercialMode = false;
|
|
45
|
+
bundleMode = "none";
|
|
46
|
+
bundleAllowlist = [];
|
|
47
|
+
vncDisplayNum = 99;
|
|
48
|
+
rfbPortNum = 5900;
|
|
49
|
+
websockifyPortNum = 6080;
|
|
50
|
+
cdpPortNum = 9222;
|
|
51
|
+
portSource = "dev-default";
|
|
52
|
+
platformRoot = process.env.MAXY_PLATFORM_ROOT;
|
|
53
|
+
if (platformRoot) {
|
|
54
|
+
const brandPath = join(platformRoot, "config", "brand.json");
|
|
55
|
+
if (existsSync(brandPath)) {
|
|
56
|
+
let brand;
|
|
57
|
+
try {
|
|
58
|
+
brand = JSON.parse(readFileSync(brandPath, "utf-8"));
|
|
59
|
+
} catch (err) {
|
|
60
|
+
const detail = (err instanceof Error ? err.message : String(err)).slice(0, 160);
|
|
61
|
+
console.error(`[paths] error reason=brand-config-missing path=${brandPath} detail="parse failed: ${detail.replace(/"/g, "'")}"`);
|
|
62
|
+
throw err;
|
|
39
63
|
}
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
64
|
+
if (typeof brand.configDir === "string") configDirName = brand.configDir;
|
|
65
|
+
if (brand.commercialMode === true) commercialMode = true;
|
|
66
|
+
if (brand.shipsPremiumBundles === true) {
|
|
67
|
+
bundleMode = "all";
|
|
68
|
+
} else if (Array.isArray(brand.shipsPremiumBundles)) {
|
|
69
|
+
const arr = brand.shipsPremiumBundles;
|
|
70
|
+
for (const entry of arr) {
|
|
71
|
+
if (typeof entry !== "string" || entry.length === 0) {
|
|
72
|
+
throw new Error(
|
|
73
|
+
`brand.json at ${brandPath} shipsPremiumBundles array contains invalid entry: ${JSON.stringify(entry)}`
|
|
74
|
+
);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
bundleMode = "allowlist";
|
|
78
|
+
bundleAllowlist = arr;
|
|
79
|
+
}
|
|
80
|
+
if (typeof brand.vncDisplay === "number") vncDisplayNum = brand.vncDisplay;
|
|
81
|
+
const brandLabel = configDirName.replace(/^\./, "");
|
|
82
|
+
const required = [
|
|
83
|
+
["rfbPort", brand.rfbPort],
|
|
84
|
+
["websockifyPort", brand.websockifyPort],
|
|
85
|
+
["cdpPort", brand.cdpPort]
|
|
86
|
+
];
|
|
87
|
+
for (const [field, value] of required) {
|
|
88
|
+
if (typeof value !== "number") {
|
|
89
|
+
const keys = Object.keys(brand).join(",");
|
|
90
|
+
console.error(`[paths] error reason=cdp-port-unresolved brand=${brandLabel} path=${brandPath} field=${field} json_keys=${keys}`);
|
|
91
|
+
throw new Error(`brand.json at ${brandPath} missing required field: ${field}`);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
rfbPortNum = brand.rfbPort;
|
|
95
|
+
websockifyPortNum = brand.websockifyPort;
|
|
96
|
+
cdpPortNum = brand.cdpPort;
|
|
97
|
+
portSource = "brand.json";
|
|
56
98
|
}
|
|
57
99
|
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
);
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
var VISITOR_TOKEN_SECRET_FILE = resolve(MAXY_DIR, "credentials", "visitor-token-secret");
|
|
90
|
-
var CLAUDE_CREDENTIALS_FILE = resolve(MAXY_DIR, ".claude", ".credentials.json");
|
|
100
|
+
MAXY_DIR = resolve(homedir(), configDirName);
|
|
101
|
+
BRAND_NAME = configDirName.replace(/^\./, "");
|
|
102
|
+
COMMERCIAL_MODE = commercialMode;
|
|
103
|
+
BUNDLE_MODE = bundleMode;
|
|
104
|
+
BUNDLE_ALLOWLIST = bundleAllowlist;
|
|
105
|
+
SHIPS_PREMIUM_BUNDLES = bundleMode !== "none";
|
|
106
|
+
VNC_DISPLAY_NUM = vncDisplayNum;
|
|
107
|
+
VNC_DISPLAY = `:${vncDisplayNum}`;
|
|
108
|
+
RFB_PORT = rfbPortNum;
|
|
109
|
+
WEBSOCKIFY_PORT = websockifyPortNum;
|
|
110
|
+
CDP_PORT = cdpPortNum;
|
|
111
|
+
console.log(
|
|
112
|
+
`[paths] brand=${configDirName.replace(/^\./, "")} vncDisplay=${vncDisplayNum} rfbPort=${RFB_PORT} websockifyPort=${WEBSOCKIFY_PORT} cdpPort=${CDP_PORT} source=${portSource}`
|
|
113
|
+
);
|
|
114
|
+
CHROMIUM_PROFILE_DIR = resolve(homedir(), configDirName, "chromium-profile");
|
|
115
|
+
PLATFORM_ROOT = process.env.MAXY_PLATFORM_ROOT ?? resolve(process.cwd(), "..");
|
|
116
|
+
USERS_FILE = resolve(MAXY_DIR, "users.json");
|
|
117
|
+
LID_MAP_FILE = resolve(MAXY_DIR, "whatsapp-lid-map.json");
|
|
118
|
+
LOG_DIR = resolve(MAXY_DIR, "logs");
|
|
119
|
+
USERS_AUDIT_LOG = resolve(LOG_DIR, "users-audit.log");
|
|
120
|
+
BIN_DIR = resolve(MAXY_DIR, "bin");
|
|
121
|
+
REMOTE_PASSWORD_FILE = resolve(MAXY_DIR, ".remote-password");
|
|
122
|
+
REMOTE_SESSION_SECRET_FILE = resolve(MAXY_DIR, "credentials", "remote-session-secret");
|
|
123
|
+
ADMIN_SESSION_SECRET_FILE = resolve(MAXY_DIR, "credentials", "admin-session-secret");
|
|
124
|
+
INSTALL_OWNER_FILE = resolve(MAXY_DIR, ".install-owner");
|
|
125
|
+
TELEGRAM_WEBHOOK_SECRET_FILE = resolve(MAXY_DIR, ".telegram-webhook-secret");
|
|
126
|
+
TELEGRAM_ADMIN_WEBHOOK_SECRET_FILE = resolve(MAXY_DIR, ".telegram-admin-webhook-secret");
|
|
127
|
+
VISITOR_TOKEN_SECRET_FILE = resolve(MAXY_DIR, "credentials", "visitor-token-secret");
|
|
128
|
+
CLAUDE_CREDENTIALS_FILE = resolve(MAXY_DIR, ".claude", ".credentials.json");
|
|
129
|
+
}
|
|
130
|
+
});
|
|
91
131
|
|
|
92
132
|
// ../lib/agent-slug/src/index.ts
|
|
93
|
-
var SYSTEM_PATH_SLUGS = ["public", "public-chat", "chat", "graph", "data", "browser"];
|
|
94
|
-
var RESERVED_AGENT_SLUGS = [
|
|
95
|
-
"admin",
|
|
96
|
-
"api",
|
|
97
|
-
"assets",
|
|
98
|
-
"agent-assets",
|
|
99
|
-
"brand",
|
|
100
|
-
"bot",
|
|
101
|
-
"privacy"
|
|
102
|
-
];
|
|
103
|
-
var AGENT_SLUG_PATTERN = /^[a-z][a-z0-9-]{2,49}$/;
|
|
104
133
|
function checkAgentSlug(slug) {
|
|
105
134
|
if (!AGENT_SLUG_PATTERN.test(slug)) return { ok: false, reason: "shape" };
|
|
106
135
|
if (RESERVED_AGENT_SLUGS.includes(slug)) return { ok: false, reason: "reserved" };
|
|
107
136
|
if (SYSTEM_PATH_SLUGS.includes(slug)) return { ok: false, reason: "shadowed" };
|
|
108
137
|
return { ok: true };
|
|
109
138
|
}
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
139
|
+
var SYSTEM_PATH_SLUGS, RESERVED_AGENT_SLUGS, AGENT_SLUG_PATTERN;
|
|
140
|
+
var init_src = __esm({
|
|
141
|
+
"../lib/agent-slug/src/index.ts"() {
|
|
142
|
+
"use strict";
|
|
143
|
+
SYSTEM_PATH_SLUGS = ["public", "public-chat", "chat", "graph", "data", "browser"];
|
|
144
|
+
RESERVED_AGENT_SLUGS = [
|
|
145
|
+
"admin",
|
|
146
|
+
"api",
|
|
147
|
+
"assets",
|
|
148
|
+
"agent-assets",
|
|
149
|
+
"brand",
|
|
150
|
+
"bot",
|
|
151
|
+
"privacy"
|
|
152
|
+
];
|
|
153
|
+
AGENT_SLUG_PATTERN = /^[a-z][a-z0-9-]{2,49}$/;
|
|
154
|
+
}
|
|
155
|
+
});
|
|
114
156
|
|
|
115
157
|
// ../lib/brand-templating/src/index.ts
|
|
116
158
|
import { join as join2 } from "path";
|
|
117
159
|
import { existsSync as existsSync2, readFileSync as readFileSync2 } from "fs";
|
|
118
|
-
var PLACEHOLDER = "{{productName}}";
|
|
119
|
-
var cachedProductName = null;
|
|
120
160
|
function brandJsonPath() {
|
|
121
161
|
const platformRoot2 = process.env.MAXY_PLATFORM_ROOT;
|
|
122
162
|
if (!platformRoot2) {
|
|
@@ -167,17 +207,61 @@ function substituteBrandPlaceholders(content, sourcePath) {
|
|
|
167
207
|
);
|
|
168
208
|
return substituted;
|
|
169
209
|
}
|
|
210
|
+
var PLACEHOLDER, cachedProductName;
|
|
211
|
+
var init_src2 = __esm({
|
|
212
|
+
"../lib/brand-templating/src/index.ts"() {
|
|
213
|
+
"use strict";
|
|
214
|
+
PLACEHOLDER = "{{productName}}";
|
|
215
|
+
cachedProductName = null;
|
|
216
|
+
}
|
|
217
|
+
});
|
|
218
|
+
|
|
219
|
+
// ../lib/account-scope/src/index.ts
|
|
220
|
+
function resolveEffectiveAccountCore(input, isValidAccountId2, notProvisionedReason = "cross-account-invalid-target") {
|
|
221
|
+
const { ownAccountId, houseScope, targetAccountId } = input;
|
|
222
|
+
if (!targetAccountId) return { accountId: ownAccountId };
|
|
223
|
+
if (!houseScope) return { reject: "cross-account-denied" };
|
|
224
|
+
if (!isValidAccountId2(targetAccountId)) return { reject: notProvisionedReason };
|
|
225
|
+
return { accountId: targetAccountId };
|
|
226
|
+
}
|
|
227
|
+
function readHouseAdminScope(env = process.env) {
|
|
228
|
+
return env.HOUSE_ADMIN_SCOPE ? env.HOUSE_ADMIN_SCOPE : null;
|
|
229
|
+
}
|
|
230
|
+
var init_src3 = __esm({
|
|
231
|
+
"../lib/account-scope/src/index.ts"() {
|
|
232
|
+
"use strict";
|
|
233
|
+
}
|
|
234
|
+
});
|
|
170
235
|
|
|
171
236
|
// app/lib/claude-agent/account.ts
|
|
172
|
-
var
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
)
|
|
237
|
+
var account_exports = {};
|
|
238
|
+
__export(account_exports, {
|
|
239
|
+
ACCOUNTS_DIR: () => ACCOUNTS_DIR,
|
|
240
|
+
DEFAULT_REQUIRE_REVIEW: () => DEFAULT_REQUIRE_REVIEW,
|
|
241
|
+
PLATFORM_ROOT: () => PLATFORM_ROOT2,
|
|
242
|
+
getDefaultAccountId: () => getDefaultAccountId,
|
|
243
|
+
hasStubAccountDir: () => hasStubAccountDir,
|
|
244
|
+
isActiveAgentSlug: () => isActiveAgentSlug,
|
|
245
|
+
isValidAccountId: () => isValidAccountId,
|
|
246
|
+
listValidAccounts: () => listValidAccounts,
|
|
247
|
+
readAgentFile: () => readAgentFile,
|
|
248
|
+
readHouseAdminScope: () => readHouseAdminScope,
|
|
249
|
+
readIdentity: () => readIdentity,
|
|
250
|
+
resolveAccount: () => resolveAccount,
|
|
251
|
+
resolveAgentConfig: () => resolveAgentConfig,
|
|
252
|
+
resolveApprovalPolicy: () => resolveApprovalPolicy,
|
|
253
|
+
resolveDefaultAgentSlug: () => resolveDefaultAgentSlug,
|
|
254
|
+
resolveEffectiveAccount: () => resolveEffectiveAccount,
|
|
255
|
+
validateAgentSlug: () => validateAgentSlug
|
|
256
|
+
});
|
|
257
|
+
import { resolve as resolve2 } from "path";
|
|
258
|
+
import { readFileSync as readFileSync3, readdirSync, existsSync as existsSync3, statSync } from "fs";
|
|
259
|
+
function resolveApprovalPolicy(toolName, accountConfig) {
|
|
260
|
+
if (accountConfig.approvalPolicy?.[toolName]) {
|
|
261
|
+
return accountConfig.approvalPolicy[toolName];
|
|
262
|
+
}
|
|
263
|
+
return DEFAULT_REQUIRE_REVIEW.includes(toolName) ? "require-review" : "auto-execute";
|
|
179
264
|
}
|
|
180
|
-
var _stubDirsLoggedThisBoot = /* @__PURE__ */ new Set();
|
|
181
265
|
function listValidAccounts() {
|
|
182
266
|
if (!existsSync3(ACCOUNTS_DIR)) return [];
|
|
183
267
|
const out = [];
|
|
@@ -212,6 +296,21 @@ function listValidAccounts() {
|
|
|
212
296
|
function isValidAccountId(id) {
|
|
213
297
|
return listValidAccounts().some((a) => a.accountId === id);
|
|
214
298
|
}
|
|
299
|
+
function resolveEffectiveAccount(input, deps = {}) {
|
|
300
|
+
return resolveEffectiveAccountCore(input, deps.isValidAccountId ?? isValidAccountId);
|
|
301
|
+
}
|
|
302
|
+
function hasStubAccountDir() {
|
|
303
|
+
if (!existsSync3(ACCOUNTS_DIR)) return { stub: false, dirs: [] };
|
|
304
|
+
const stubs = [];
|
|
305
|
+
const entries2 = readdirSync(ACCOUNTS_DIR, { withFileTypes: true });
|
|
306
|
+
for (const entry of entries2) {
|
|
307
|
+
if (!entry.isDirectory()) continue;
|
|
308
|
+
if (entry.name.startsWith(".")) continue;
|
|
309
|
+
const configPath = resolve2(ACCOUNTS_DIR, entry.name, "account.json");
|
|
310
|
+
if (!existsSync3(configPath)) stubs.push(entry.name);
|
|
311
|
+
}
|
|
312
|
+
return { stub: stubs.length > 0, dirs: stubs };
|
|
313
|
+
}
|
|
215
314
|
function resolveAccount() {
|
|
216
315
|
if (!existsSync3(ACCOUNTS_DIR)) return null;
|
|
217
316
|
let usersJsonUserId = null;
|
|
@@ -278,6 +377,9 @@ function readAgentFile(accountDir, agentName, filename) {
|
|
|
278
377
|
}
|
|
279
378
|
return raw;
|
|
280
379
|
}
|
|
380
|
+
function readIdentity(accountDir, agentName) {
|
|
381
|
+
return readAgentFile(accountDir, agentName, "IDENTITY.md");
|
|
382
|
+
}
|
|
281
383
|
function validateAgentSlug(slug) {
|
|
282
384
|
const verdict = checkAgentSlug(slug);
|
|
283
385
|
if (verdict.ok) return true;
|
|
@@ -402,20 +504,36 @@ function isActiveAgentSlug(accountDir, slug) {
|
|
|
402
504
|
function getDefaultAccountId() {
|
|
403
505
|
return resolveAccount()?.accountId ?? null;
|
|
404
506
|
}
|
|
507
|
+
var PLATFORM_ROOT2, ACCOUNTS_DIR, DEFAULT_REQUIRE_REVIEW, _stubDirsLoggedThisBoot;
|
|
508
|
+
var init_account = __esm({
|
|
509
|
+
"app/lib/claude-agent/account.ts"() {
|
|
510
|
+
"use strict";
|
|
511
|
+
init_src2();
|
|
512
|
+
init_src3();
|
|
513
|
+
init_paths();
|
|
514
|
+
init_src();
|
|
515
|
+
PLATFORM_ROOT2 = process.env.MAXY_PLATFORM_ROOT ?? resolve2(process.cwd(), "..");
|
|
516
|
+
ACCOUNTS_DIR = resolve2(PLATFORM_ROOT2, "..", "data/accounts");
|
|
517
|
+
if (!existsSync3(PLATFORM_ROOT2)) {
|
|
518
|
+
throw new Error(
|
|
519
|
+
`PLATFORM_ROOT does not exist: ${PLATFORM_ROOT2}
|
|
520
|
+
Set the MAXY_PLATFORM_ROOT environment variable to the absolute path of the platform directory.`
|
|
521
|
+
);
|
|
522
|
+
}
|
|
523
|
+
DEFAULT_REQUIRE_REVIEW = [
|
|
524
|
+
"email-send",
|
|
525
|
+
"email-reply",
|
|
526
|
+
"message",
|
|
527
|
+
// telegram
|
|
528
|
+
"contact-erase"
|
|
529
|
+
// GDPR — only gates confirm:true calls (hook handles this)
|
|
530
|
+
];
|
|
531
|
+
_stubDirsLoggedThisBoot = /* @__PURE__ */ new Set();
|
|
532
|
+
}
|
|
533
|
+
});
|
|
405
534
|
|
|
406
535
|
// server/loop-registry.ts
|
|
407
536
|
import { readFileSync as readFileSync4 } from "fs";
|
|
408
|
-
var TAG = "[loop-registry]";
|
|
409
|
-
var STALL_INTERVALS = 3;
|
|
410
|
-
var entries = /* @__PURE__ */ new Map();
|
|
411
|
-
var defaultCpuIo = {
|
|
412
|
-
ownCpuUs: () => {
|
|
413
|
-
const u = process.cpuUsage();
|
|
414
|
-
return u.user + u.system;
|
|
415
|
-
},
|
|
416
|
-
childCpuUs: (pid) => readPidCpuUs(pid)
|
|
417
|
-
};
|
|
418
|
-
var cpuIo = defaultCpuIo;
|
|
419
537
|
function parsePidStatCpuUs(raw) {
|
|
420
538
|
const close = raw.lastIndexOf(")");
|
|
421
539
|
if (close === -1) return null;
|
|
@@ -460,7 +578,6 @@ function sampleCpu(nowMs = Date.now()) {
|
|
|
460
578
|
e.prior = { cpuUs: totalUs, atMs: nowMs };
|
|
461
579
|
}
|
|
462
580
|
}
|
|
463
|
-
var processPrior = null;
|
|
464
581
|
function sampleProcessCpu(nowMs = Date.now()) {
|
|
465
582
|
const cpuUs = cpuIo.ownCpuUs();
|
|
466
583
|
let processPct = null;
|
|
@@ -626,14 +743,30 @@ function listLoops(nowMs = Date.now()) {
|
|
|
626
743
|
function armedCount() {
|
|
627
744
|
return entries.size;
|
|
628
745
|
}
|
|
746
|
+
var TAG, STALL_INTERVALS, entries, defaultCpuIo, cpuIo, processPrior;
|
|
747
|
+
var init_loop_registry = __esm({
|
|
748
|
+
"server/loop-registry.ts"() {
|
|
749
|
+
"use strict";
|
|
750
|
+
TAG = "[loop-registry]";
|
|
751
|
+
STALL_INTERVALS = 3;
|
|
752
|
+
entries = /* @__PURE__ */ new Map();
|
|
753
|
+
defaultCpuIo = {
|
|
754
|
+
ownCpuUs: () => {
|
|
755
|
+
const u = process.cpuUsage();
|
|
756
|
+
return u.user + u.system;
|
|
757
|
+
},
|
|
758
|
+
childCpuUs: (pid) => readPidCpuUs(pid)
|
|
759
|
+
};
|
|
760
|
+
cpuIo = defaultCpuIo;
|
|
761
|
+
processPrior = null;
|
|
762
|
+
}
|
|
763
|
+
});
|
|
629
764
|
|
|
630
765
|
// app/lib/neo4j-store.ts
|
|
631
766
|
import neo4j from "neo4j-driver";
|
|
632
767
|
import { randomUUID } from "crypto";
|
|
633
768
|
import { readFileSync as readFileSync5, readdirSync as readdirSync2, existsSync as existsSync4, openSync, readSync, closeSync, statSync as statSync2 } from "fs";
|
|
634
769
|
import { resolve as resolve3 } from "path";
|
|
635
|
-
var PLATFORM_ROOT3 = process.env.MAXY_PLATFORM_ROOT ?? resolve3(process.cwd(), "..");
|
|
636
|
-
var driver = null;
|
|
637
770
|
function readPassword() {
|
|
638
771
|
if (process.env.NEO4J_PASSWORD) return process.env.NEO4J_PASSWORD;
|
|
639
772
|
const passwordFile = resolve3(PLATFORM_ROOT3, "config/.neo4j-password");
|
|
@@ -666,43 +799,19 @@ function getSession() {
|
|
|
666
799
|
return getDriver().session();
|
|
667
800
|
}
|
|
668
801
|
async function runAdminUserSelfHeal(args) {
|
|
669
|
-
const { selfHealAdminUser } = await import("./adminuser-self-heal-
|
|
802
|
+
const { selfHealAdminUser } = await import("./adminuser-self-heal-Y4U3UNKF.js");
|
|
670
803
|
return selfHealAdminUser({ driver: getDriver(), ...args });
|
|
671
804
|
}
|
|
672
805
|
async function runUserProfileReconcile() {
|
|
673
|
-
const { reconcileUserProfiles } = await import("./userprofile-reconcile-
|
|
806
|
+
const { reconcileUserProfiles } = await import("./userprofile-reconcile-PUA657YX.js");
|
|
674
807
|
return reconcileUserProfiles({ driver: getDriver() });
|
|
675
808
|
}
|
|
676
|
-
process.on("SIGINT", async () => {
|
|
677
|
-
if (driver) {
|
|
678
|
-
await driver.close();
|
|
679
|
-
driver = null;
|
|
680
|
-
}
|
|
681
|
-
});
|
|
682
|
-
var OLLAMA_URL = process.env.OLLAMA_URL ?? "http://localhost:11434";
|
|
683
|
-
var EMBED_MODEL = process.env.EMBED_MODEL ?? "nomic-embed-text";
|
|
684
809
|
function envInt(name, def) {
|
|
685
810
|
const raw = process.env[name];
|
|
686
811
|
if (raw === void 0 || raw === "") return def;
|
|
687
812
|
const n = Number(raw);
|
|
688
813
|
return Number.isFinite(n) ? n : def;
|
|
689
814
|
}
|
|
690
|
-
var EMBED_MODEL_CONTEXT_TOKENS = Math.max(1, Math.floor(envInt("EMBED_MODEL_CONTEXT_TOKENS", 2048)));
|
|
691
|
-
var EMBED_CONTEXT_MARGIN_TOKENS = 48;
|
|
692
|
-
var EMBED_WORST_CASE_CHARS_PER_TOKEN = 2;
|
|
693
|
-
var EMBED_INPUT_MAX_CHARS = Math.max(
|
|
694
|
-
1,
|
|
695
|
-
Math.floor(
|
|
696
|
-
envInt(
|
|
697
|
-
"EMBED_INPUT_MAX_CHARS",
|
|
698
|
-
(EMBED_MODEL_CONTEXT_TOKENS - EMBED_CONTEXT_MARGIN_TOKENS) * EMBED_WORST_CASE_CHARS_PER_TOKEN
|
|
699
|
-
)
|
|
700
|
-
)
|
|
701
|
-
);
|
|
702
|
-
var EMBED_KEEP_ALIVE_RAW = process.env.EMBED_KEEP_ALIVE === void 0 || process.env.EMBED_KEEP_ALIVE === "" ? "-1" : process.env.EMBED_KEEP_ALIVE;
|
|
703
|
-
var EMBED_KEEP_ALIVE = /^-?\d+$/.test(EMBED_KEEP_ALIVE_RAW) ? Number(EMBED_KEEP_ALIVE_RAW) : EMBED_KEEP_ALIVE_RAW;
|
|
704
|
-
var EMBED_INTERACTIVE_TIMEOUT_MS = 5e3;
|
|
705
|
-
var EMBED_PRELOAD_TIMEOUT_MS = 6e4;
|
|
706
815
|
async function embed(text, timeoutMs = EMBED_INTERACTIVE_TIMEOUT_MS) {
|
|
707
816
|
const input = text.length > EMBED_INPUT_MAX_CHARS ? text.slice(0, EMBED_INPUT_MAX_CHARS) : text;
|
|
708
817
|
const startedAt = Date.now();
|
|
@@ -762,7 +871,6 @@ async function embedForWrite(text) {
|
|
|
762
871
|
return [];
|
|
763
872
|
}
|
|
764
873
|
}
|
|
765
|
-
var sessionStoreRef = null;
|
|
766
874
|
function getCachedSessionId(cacheKey) {
|
|
767
875
|
return sessionStoreRef?.get(cacheKey)?.sessionId;
|
|
768
876
|
}
|
|
@@ -772,7 +880,6 @@ function cacheSessionId(cacheKey, sessionId) {
|
|
|
772
880
|
session.sessionId = sessionId;
|
|
773
881
|
}
|
|
774
882
|
}
|
|
775
|
-
var GREETING_DIRECTIVE = "[New session. Greet the visitor.]";
|
|
776
883
|
async function ensureConversation(accountId, agentType, cacheKey, visitorId, agentSlug, userId, channelOverride, channelAddressOverride) {
|
|
777
884
|
const cached = getCachedSessionId(cacheKey);
|
|
778
885
|
if (cached) return { sessionId: cached, created: false };
|
|
@@ -951,7 +1058,6 @@ async function createNewAdminConversation(userId, accountId, cacheKey, preMinted
|
|
|
951
1058
|
await session.close();
|
|
952
1059
|
}
|
|
953
1060
|
}
|
|
954
|
-
var HEX_COLOR_RE = /^#[0-9a-fA-F]{3,8}$/;
|
|
955
1061
|
async function fetchBranding(accountId) {
|
|
956
1062
|
const session = getSession();
|
|
957
1063
|
try {
|
|
@@ -1018,8 +1124,6 @@ async function fetchAccountName(accountId) {
|
|
|
1018
1124
|
await session.close();
|
|
1019
1125
|
}
|
|
1020
1126
|
}
|
|
1021
|
-
var SUMMARY_MAX_LEN = 200;
|
|
1022
|
-
var persistMessageLocks = /* @__PURE__ */ new Map();
|
|
1023
1127
|
async function persistMessage(sessionId, role, content, accountId, tokens, createdAt, sender, components, attachments) {
|
|
1024
1128
|
if (!content) return null;
|
|
1025
1129
|
const messageId = randomUUID();
|
|
@@ -1487,10 +1591,6 @@ async function renameConversation(sessionId, label) {
|
|
|
1487
1591
|
await session.close();
|
|
1488
1592
|
}
|
|
1489
1593
|
}
|
|
1490
|
-
var DECAY_THRESHOLD_DAYS = 14;
|
|
1491
|
-
var DECAY_RATE_PER_DAY = 0.05;
|
|
1492
|
-
var INJECTION_THRESHOLD = 0.4;
|
|
1493
|
-
var MAX_SUMMARY_PREFERENCES = 30;
|
|
1494
1594
|
async function getUserTimezone(accountId, userId) {
|
|
1495
1595
|
const session = getSession();
|
|
1496
1596
|
try {
|
|
@@ -1666,60 +1766,6 @@ async function writeAdminUserAndPerson(params) {
|
|
|
1666
1766
|
await session.close();
|
|
1667
1767
|
}
|
|
1668
1768
|
}
|
|
1669
|
-
var PROFILE_CATEGORIES = [
|
|
1670
|
-
"communication",
|
|
1671
|
-
"scheduling",
|
|
1672
|
-
"decision",
|
|
1673
|
-
"workflow",
|
|
1674
|
-
"content",
|
|
1675
|
-
"interaction"
|
|
1676
|
-
];
|
|
1677
|
-
var PROFILE_FIELD_TEMPLATES = {
|
|
1678
|
-
communication: [
|
|
1679
|
-
"preferredChannel",
|
|
1680
|
-
"quietHours",
|
|
1681
|
-
"responseLatencyExpectation",
|
|
1682
|
-
"formalityLevel",
|
|
1683
|
-
"escalationPath"
|
|
1684
|
-
],
|
|
1685
|
-
scheduling: [
|
|
1686
|
-
"workdayStartTime",
|
|
1687
|
-
"workdayEndTime",
|
|
1688
|
-
"weekendAvailability",
|
|
1689
|
-
"meetingBlockPreference",
|
|
1690
|
-
"focusBlockTiming"
|
|
1691
|
-
],
|
|
1692
|
-
decision: [
|
|
1693
|
-
"riskTolerance",
|
|
1694
|
-
"autonomyBoundary",
|
|
1695
|
-
"evidenceThreshold",
|
|
1696
|
-
"reversibilityPreference",
|
|
1697
|
-
"stakeholderConsultation"
|
|
1698
|
-
],
|
|
1699
|
-
workflow: [
|
|
1700
|
-
"batchingPreference",
|
|
1701
|
-
"taskGranularity",
|
|
1702
|
-
"deepWorkBlocks",
|
|
1703
|
-
"statusUpdateCadence",
|
|
1704
|
-
"toolingChoices"
|
|
1705
|
-
],
|
|
1706
|
-
content: [
|
|
1707
|
-
"outputFormat",
|
|
1708
|
-
"lengthPreference",
|
|
1709
|
-
"citationStyle",
|
|
1710
|
-
"tonality"
|
|
1711
|
-
],
|
|
1712
|
-
interaction: [
|
|
1713
|
-
"addressForm",
|
|
1714
|
-
"humourTolerance",
|
|
1715
|
-
"directnessLevel",
|
|
1716
|
-
"emotionalRegisterPreference"
|
|
1717
|
-
]
|
|
1718
|
-
};
|
|
1719
|
-
var TOTAL_PROFILE_FIELDS = Object.values(PROFILE_FIELD_TEMPLATES).reduce(
|
|
1720
|
-
(n, fs) => n + fs.length,
|
|
1721
|
-
0
|
|
1722
|
-
);
|
|
1723
1769
|
function computeAbsentFields(preferences, extraTemplates = {}) {
|
|
1724
1770
|
const covered = /* @__PURE__ */ new Set();
|
|
1725
1771
|
for (const pref of preferences) {
|
|
@@ -1800,7 +1846,6 @@ function loadEnabledPluginProfileKeys(accountId) {
|
|
|
1800
1846
|
for (const [cat, set] of Object.entries(merged)) out[cat] = [...set];
|
|
1801
1847
|
return out;
|
|
1802
1848
|
}
|
|
1803
|
-
var sparseStateLogged = /* @__PURE__ */ new Set();
|
|
1804
1849
|
async function loadUserProfile(accountId, userId, sessionId) {
|
|
1805
1850
|
console.error(
|
|
1806
1851
|
`[profile] loadUserProfile entry accountId=${accountId.slice(0, 8)}\u2026 userId=${userId} sessionId=${sessionId ? `${sessionId.slice(0, 8)}\u2026` : "<none>"}`
|
|
@@ -1994,19 +2039,6 @@ function composeOperatorSummary(profile, preferences) {
|
|
|
1994
2039
|
}
|
|
1995
2040
|
return facts.length > 0 ? facts.join("; ") : "NOTHING";
|
|
1996
2041
|
}
|
|
1997
|
-
var RECENT_FAILURES_TAIL_BYTES = 10 * 1024;
|
|
1998
|
-
var AGENT_FILE_ROLES = [
|
|
1999
|
-
{ filename: "IDENTITY.md", role: "identity" },
|
|
2000
|
-
{ filename: "SOUL.md", role: "soul" },
|
|
2001
|
-
{ filename: "KNOWLEDGE.md", role: "knowledge" },
|
|
2002
|
-
{ filename: "KNOWLEDGE-SUMMARY.md", role: "knowledge-summary" }
|
|
2003
|
-
];
|
|
2004
|
-
var ROLE_TO_EDGE = {
|
|
2005
|
-
identity: "HAS_IDENTITY",
|
|
2006
|
-
soul: "HAS_SOUL",
|
|
2007
|
-
knowledge: "HAS_KNOWLEDGE",
|
|
2008
|
-
"knowledge-summary": "HAS_KNOWLEDGE"
|
|
2009
|
-
};
|
|
2010
2042
|
function assertSafeAgentSlug(slug) {
|
|
2011
2043
|
if (!slug || slug.includes("/") || slug.includes("\\") || slug.includes("..")) {
|
|
2012
2044
|
throw new Error(`[agent-graph] refusing unsafe slug=${JSON.stringify(slug)}`);
|
|
@@ -2162,6 +2194,115 @@ async function deleteAgentProjection(accountId, slug) {
|
|
|
2162
2194
|
await session.close();
|
|
2163
2195
|
}
|
|
2164
2196
|
}
|
|
2197
|
+
var PLATFORM_ROOT3, driver, OLLAMA_URL, EMBED_MODEL, EMBED_MODEL_CONTEXT_TOKENS, EMBED_CONTEXT_MARGIN_TOKENS, EMBED_WORST_CASE_CHARS_PER_TOKEN, EMBED_INPUT_MAX_CHARS, EMBED_KEEP_ALIVE_RAW, EMBED_KEEP_ALIVE, EMBED_INTERACTIVE_TIMEOUT_MS, EMBED_PRELOAD_TIMEOUT_MS, sessionStoreRef, GREETING_DIRECTIVE, HEX_COLOR_RE, SUMMARY_MAX_LEN, persistMessageLocks, DECAY_THRESHOLD_DAYS, DECAY_RATE_PER_DAY, INJECTION_THRESHOLD, MAX_SUMMARY_PREFERENCES, PROFILE_CATEGORIES, PROFILE_FIELD_TEMPLATES, TOTAL_PROFILE_FIELDS, sparseStateLogged, RECENT_FAILURES_TAIL_BYTES, AGENT_FILE_ROLES, ROLE_TO_EDGE;
|
|
2198
|
+
var init_neo4j_store = __esm({
|
|
2199
|
+
"app/lib/neo4j-store.ts"() {
|
|
2200
|
+
"use strict";
|
|
2201
|
+
PLATFORM_ROOT3 = process.env.MAXY_PLATFORM_ROOT ?? resolve3(process.cwd(), "..");
|
|
2202
|
+
driver = null;
|
|
2203
|
+
process.on("SIGINT", async () => {
|
|
2204
|
+
if (driver) {
|
|
2205
|
+
await driver.close();
|
|
2206
|
+
driver = null;
|
|
2207
|
+
}
|
|
2208
|
+
});
|
|
2209
|
+
OLLAMA_URL = process.env.OLLAMA_URL ?? "http://localhost:11434";
|
|
2210
|
+
EMBED_MODEL = process.env.EMBED_MODEL ?? "nomic-embed-text";
|
|
2211
|
+
EMBED_MODEL_CONTEXT_TOKENS = Math.max(1, Math.floor(envInt("EMBED_MODEL_CONTEXT_TOKENS", 2048)));
|
|
2212
|
+
EMBED_CONTEXT_MARGIN_TOKENS = 48;
|
|
2213
|
+
EMBED_WORST_CASE_CHARS_PER_TOKEN = 2;
|
|
2214
|
+
EMBED_INPUT_MAX_CHARS = Math.max(
|
|
2215
|
+
1,
|
|
2216
|
+
Math.floor(
|
|
2217
|
+
envInt(
|
|
2218
|
+
"EMBED_INPUT_MAX_CHARS",
|
|
2219
|
+
(EMBED_MODEL_CONTEXT_TOKENS - EMBED_CONTEXT_MARGIN_TOKENS) * EMBED_WORST_CASE_CHARS_PER_TOKEN
|
|
2220
|
+
)
|
|
2221
|
+
)
|
|
2222
|
+
);
|
|
2223
|
+
EMBED_KEEP_ALIVE_RAW = process.env.EMBED_KEEP_ALIVE === void 0 || process.env.EMBED_KEEP_ALIVE === "" ? "-1" : process.env.EMBED_KEEP_ALIVE;
|
|
2224
|
+
EMBED_KEEP_ALIVE = /^-?\d+$/.test(EMBED_KEEP_ALIVE_RAW) ? Number(EMBED_KEEP_ALIVE_RAW) : EMBED_KEEP_ALIVE_RAW;
|
|
2225
|
+
EMBED_INTERACTIVE_TIMEOUT_MS = 5e3;
|
|
2226
|
+
EMBED_PRELOAD_TIMEOUT_MS = 6e4;
|
|
2227
|
+
sessionStoreRef = null;
|
|
2228
|
+
GREETING_DIRECTIVE = "[New session. Greet the visitor.]";
|
|
2229
|
+
HEX_COLOR_RE = /^#[0-9a-fA-F]{3,8}$/;
|
|
2230
|
+
SUMMARY_MAX_LEN = 200;
|
|
2231
|
+
persistMessageLocks = /* @__PURE__ */ new Map();
|
|
2232
|
+
DECAY_THRESHOLD_DAYS = 14;
|
|
2233
|
+
DECAY_RATE_PER_DAY = 0.05;
|
|
2234
|
+
INJECTION_THRESHOLD = 0.4;
|
|
2235
|
+
MAX_SUMMARY_PREFERENCES = 30;
|
|
2236
|
+
PROFILE_CATEGORIES = [
|
|
2237
|
+
"communication",
|
|
2238
|
+
"scheduling",
|
|
2239
|
+
"decision",
|
|
2240
|
+
"workflow",
|
|
2241
|
+
"content",
|
|
2242
|
+
"interaction"
|
|
2243
|
+
];
|
|
2244
|
+
PROFILE_FIELD_TEMPLATES = {
|
|
2245
|
+
communication: [
|
|
2246
|
+
"preferredChannel",
|
|
2247
|
+
"quietHours",
|
|
2248
|
+
"responseLatencyExpectation",
|
|
2249
|
+
"formalityLevel",
|
|
2250
|
+
"escalationPath"
|
|
2251
|
+
],
|
|
2252
|
+
scheduling: [
|
|
2253
|
+
"workdayStartTime",
|
|
2254
|
+
"workdayEndTime",
|
|
2255
|
+
"weekendAvailability",
|
|
2256
|
+
"meetingBlockPreference",
|
|
2257
|
+
"focusBlockTiming"
|
|
2258
|
+
],
|
|
2259
|
+
decision: [
|
|
2260
|
+
"riskTolerance",
|
|
2261
|
+
"autonomyBoundary",
|
|
2262
|
+
"evidenceThreshold",
|
|
2263
|
+
"reversibilityPreference",
|
|
2264
|
+
"stakeholderConsultation"
|
|
2265
|
+
],
|
|
2266
|
+
workflow: [
|
|
2267
|
+
"batchingPreference",
|
|
2268
|
+
"taskGranularity",
|
|
2269
|
+
"deepWorkBlocks",
|
|
2270
|
+
"statusUpdateCadence",
|
|
2271
|
+
"toolingChoices"
|
|
2272
|
+
],
|
|
2273
|
+
content: [
|
|
2274
|
+
"outputFormat",
|
|
2275
|
+
"lengthPreference",
|
|
2276
|
+
"citationStyle",
|
|
2277
|
+
"tonality"
|
|
2278
|
+
],
|
|
2279
|
+
interaction: [
|
|
2280
|
+
"addressForm",
|
|
2281
|
+
"humourTolerance",
|
|
2282
|
+
"directnessLevel",
|
|
2283
|
+
"emotionalRegisterPreference"
|
|
2284
|
+
]
|
|
2285
|
+
};
|
|
2286
|
+
TOTAL_PROFILE_FIELDS = Object.values(PROFILE_FIELD_TEMPLATES).reduce(
|
|
2287
|
+
(n, fs) => n + fs.length,
|
|
2288
|
+
0
|
|
2289
|
+
);
|
|
2290
|
+
sparseStateLogged = /* @__PURE__ */ new Set();
|
|
2291
|
+
RECENT_FAILURES_TAIL_BYTES = 10 * 1024;
|
|
2292
|
+
AGENT_FILE_ROLES = [
|
|
2293
|
+
{ filename: "IDENTITY.md", role: "identity" },
|
|
2294
|
+
{ filename: "SOUL.md", role: "soul" },
|
|
2295
|
+
{ filename: "KNOWLEDGE.md", role: "knowledge" },
|
|
2296
|
+
{ filename: "KNOWLEDGE-SUMMARY.md", role: "knowledge-summary" }
|
|
2297
|
+
];
|
|
2298
|
+
ROLE_TO_EDGE = {
|
|
2299
|
+
identity: "HAS_IDENTITY",
|
|
2300
|
+
soul: "HAS_SOUL",
|
|
2301
|
+
knowledge: "HAS_KNOWLEDGE",
|
|
2302
|
+
"knowledge-summary": "HAS_KNOWLEDGE"
|
|
2303
|
+
};
|
|
2304
|
+
}
|
|
2305
|
+
});
|
|
2165
2306
|
|
|
2166
2307
|
export {
|
|
2167
2308
|
MAXY_DIR,
|
|
@@ -2183,8 +2324,11 @@ export {
|
|
|
2183
2324
|
INSTALL_OWNER_FILE,
|
|
2184
2325
|
VISITOR_TOKEN_SECRET_FILE,
|
|
2185
2326
|
CLAUDE_CREDENTIALS_FILE,
|
|
2327
|
+
paths_exports,
|
|
2328
|
+
init_paths,
|
|
2186
2329
|
SYSTEM_PATH_SLUGS,
|
|
2187
2330
|
AGENT_SLUG_PATTERN,
|
|
2331
|
+
init_src,
|
|
2188
2332
|
PLATFORM_ROOT2 as PLATFORM_ROOT,
|
|
2189
2333
|
ACCOUNTS_DIR,
|
|
2190
2334
|
listValidAccounts,
|
|
@@ -2196,11 +2340,14 @@ export {
|
|
|
2196
2340
|
resolveAgentConfig,
|
|
2197
2341
|
isActiveAgentSlug,
|
|
2198
2342
|
getDefaultAccountId,
|
|
2343
|
+
account_exports,
|
|
2344
|
+
init_account,
|
|
2199
2345
|
sampleCpu,
|
|
2200
2346
|
sampleProcessCpu,
|
|
2201
2347
|
registerLoop,
|
|
2202
2348
|
listLoops,
|
|
2203
2349
|
armedCount,
|
|
2350
|
+
init_loop_registry,
|
|
2204
2351
|
getSession,
|
|
2205
2352
|
runAdminUserSelfHeal,
|
|
2206
2353
|
runUserProfileReconcile,
|
|
@@ -2231,5 +2378,6 @@ export {
|
|
|
2231
2378
|
writeAdminUserAndPerson,
|
|
2232
2379
|
loadUserProfile,
|
|
2233
2380
|
projectAgent,
|
|
2234
|
-
deleteAgentProjection
|
|
2381
|
+
deleteAgentProjection,
|
|
2382
|
+
init_neo4j_store
|
|
2235
2383
|
};
|