@rubytech/create-sitedesk-code 0.1.521 → 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.
- package/dist/index.js +17 -3
- package/package.json +1 -1
- package/payload/platform/lib/account-schema-regions/package-lock.json +12 -0
- package/payload/platform/lib/active-rules/package-lock.json +12 -0
- package/payload/platform/lib/graph-style/dist/index.d.ts.map +1 -1
- package/payload/platform/lib/graph-style/dist/index.js +28 -0
- package/payload/platform/lib/graph-style/dist/index.js.map +1 -1
- package/payload/platform/lib/graph-style/src/__tests__/caption-coverage.test.ts +7 -0
- package/payload/platform/lib/graph-style/src/index.ts +24 -0
- package/payload/platform/lib/graph-write/dist/__tests__/merge-on.test.d.ts.map +1 -0
- package/payload/platform/lib/graph-write/dist/__tests__/merge-on.test.js.map +1 -0
- package/payload/platform/lib/graph-write/dist/index.d.ts +16 -0
- package/payload/platform/lib/graph-write/dist/index.d.ts.map +1 -1
- package/payload/platform/lib/graph-write/dist/index.js +83 -6
- package/payload/platform/lib/graph-write/dist/index.js.map +1 -1
- package/payload/platform/lib/graph-write/src/index.ts +117 -10
- package/payload/platform/lib/mcp-lifeline/package-lock.json +12 -0
- package/payload/platform/lib/routine-templates/dist/index.d.ts +151 -0
- package/payload/platform/lib/routine-templates/dist/index.d.ts.map +1 -0
- package/payload/platform/lib/routine-templates/dist/index.js +207 -0
- package/payload/platform/lib/routine-templates/dist/index.js.map +1 -0
- package/payload/platform/lib/routine-templates/dist/roster.d.ts +57 -0
- package/payload/platform/lib/routine-templates/dist/roster.d.ts.map +1 -0
- package/payload/platform/lib/routine-templates/dist/roster.js +182 -0
- package/payload/platform/lib/routine-templates/dist/roster.js.map +1 -0
- package/payload/platform/lib/routine-templates/dist/seed-cli.d.ts +2 -0
- package/payload/platform/lib/routine-templates/dist/seed-cli.d.ts.map +1 -0
- package/payload/platform/lib/routine-templates/dist/seed-cli.js +64 -0
- package/payload/platform/lib/routine-templates/dist/seed-cli.js.map +1 -0
- package/payload/platform/lib/routine-templates/package.json +6 -0
- package/payload/platform/lib/routine-templates/src/__tests__/roster.test.ts +170 -0
- package/payload/platform/lib/routine-templates/src/__tests__/seed.test.ts +298 -0
- package/payload/platform/lib/routine-templates/src/index.ts +299 -0
- package/payload/platform/lib/routine-templates/src/roster.ts +206 -0
- package/payload/platform/lib/routine-templates/src/seed-cli.ts +65 -0
- package/payload/platform/lib/routine-templates/tsconfig.json +9 -0
- package/payload/platform/lib/routine-templates/vitest.config.ts +9 -0
- package/payload/platform/neo4j/edge-annotations.json +2 -2
- package/payload/platform/neo4j/schema.cypher +25 -1
- package/payload/platform/package.json +3 -2
- package/payload/platform/plugins/admin/PLUGIN.md +2 -2
- package/payload/platform/plugins/admin/mcp/dist/index.js +39 -1
- package/payload/platform/plugins/admin/mcp/dist/index.js.map +1 -1
- package/payload/platform/plugins/admin/skills/platform-architecture/SKILL.md +319 -66
- package/payload/platform/plugins/admin/skills/whats-new/SKILL.md +12 -0
- package/payload/platform/plugins/docs/references/admin-ui.md +275 -59
- package/payload/platform/plugins/docs/references/internals.md +4 -0
- package/payload/platform/plugins/docs/references/memory-guide.md +11 -1
- package/payload/platform/plugins/docs/references/outlook-guide.md +27 -4
- package/payload/platform/plugins/graph/.claude-plugin/plugin.json +1 -1
- package/payload/platform/plugins/graph/PLUGIN.md +1 -1
- package/payload/platform/plugins/memory/PLUGIN.md +1 -1
- package/payload/platform/plugins/memory/mcp/dist/index.js +12 -5
- package/payload/platform/plugins/memory/mcp/dist/index.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/phase-estate-census.test.d.ts +2 -0
- package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/phase-estate-census.test.d.ts.map +1 -0
- package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/phase-estate-census.test.js +197 -0
- package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/phase-estate-census.test.js.map +1 -0
- package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/schema-loader.test.js +55 -9
- package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/schema-loader.test.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/schema-validator.test.js +96 -0
- package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/schema-validator.test.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/dream-cycle/index.d.ts +7 -0
- package/payload/platform/plugins/memory/mcp/dist/lib/dream-cycle/index.d.ts.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/dream-cycle/phase-estate-census.d.ts +29 -0
- package/payload/platform/plugins/memory/mcp/dist/lib/dream-cycle/phase-estate-census.d.ts.map +1 -0
- package/payload/platform/plugins/memory/mcp/dist/lib/dream-cycle/phase-estate-census.js +126 -0
- package/payload/platform/plugins/memory/mcp/dist/lib/dream-cycle/phase-estate-census.js.map +1 -0
- package/payload/platform/plugins/memory/mcp/dist/scripts/dream-cycle-sweep.js +7 -4
- package/payload/platform/plugins/memory/mcp/dist/scripts/dream-cycle-sweep.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-dream-run.d.ts +1 -0
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-dream-run.d.ts.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-dream-run.js +18 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-dream-run.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-write.d.ts +7 -0
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-write.d.ts.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-write.js +4 -3
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-write.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/vitest.config.ts +2 -0
- package/payload/platform/plugins/memory/references/schema-estate-agent.md +2 -2
- package/payload/platform/plugins/memory/skills/conversation-archive-enrich/SKILL.md +4 -4
- package/payload/platform/plugins/outlook/.claude-plugin/plugin.json +1 -1
- package/payload/platform/plugins/outlook/PLUGIN.md +9 -1
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/delegated-resolve.test.d.ts +2 -0
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/delegated-resolve.test.d.ts.map +1 -0
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/delegated-resolve.test.js +151 -0
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/delegated-resolve.test.js.map +1 -0
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/delegated-store.test.d.ts +2 -0
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/delegated-store.test.d.ts.map +1 -0
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/delegated-store.test.js +151 -0
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/delegated-store.test.js.map +1 -0
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/device-flow.test.js +38 -4
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/device-flow.test.js.map +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/graph-client-prefix-wiring.test.d.ts +2 -0
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/graph-client-prefix-wiring.test.d.ts.map +1 -0
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/graph-client-prefix-wiring.test.js +146 -0
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/graph-client-prefix-wiring.test.js.map +1 -0
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/mailbox-list-delegated.test.d.ts +2 -0
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/mailbox-list-delegated.test.d.ts.map +1 -0
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/mailbox-list-delegated.test.js +120 -0
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/mailbox-list-delegated.test.js.map +1 -0
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/mailbox-list.test.js +8 -8
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/mailbox-list.test.js.map +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/mailbox-path-prefix.test.d.ts +2 -0
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/mailbox-path-prefix.test.d.ts.map +1 -0
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/mailbox-path-prefix.test.js +27 -0
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/mailbox-path-prefix.test.js.map +1 -0
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/shared-mail-only-guard.test.d.ts +2 -0
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/shared-mail-only-guard.test.d.ts.map +1 -0
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/shared-mail-only-guard.test.js +70 -0
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/shared-mail-only-guard.test.js.map +1 -0
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/shared-mailbox-add.test.d.ts +2 -0
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/shared-mailbox-add.test.d.ts.map +1 -0
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/shared-mailbox-add.test.js +152 -0
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/shared-mailbox-add.test.js.map +1 -0
- package/payload/platform/plugins/outlook/mcp/dist/auth/delegated-store.d.ts +57 -0
- package/payload/platform/plugins/outlook/mcp/dist/auth/delegated-store.d.ts.map +1 -0
- package/payload/platform/plugins/outlook/mcp/dist/auth/delegated-store.js +163 -0
- package/payload/platform/plugins/outlook/mcp/dist/auth/delegated-store.js.map +1 -0
- package/payload/platform/plugins/outlook/mcp/dist/auth/device-flow.d.ts +12 -0
- package/payload/platform/plugins/outlook/mcp/dist/auth/device-flow.d.ts.map +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/auth/device-flow.js +21 -1
- package/payload/platform/plugins/outlook/mcp/dist/auth/device-flow.js.map +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/auth/mailbox-registry.d.ts +35 -4
- package/payload/platform/plugins/outlook/mcp/dist/auth/mailbox-registry.d.ts.map +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/auth/mailbox-registry.js +92 -10
- package/payload/platform/plugins/outlook/mcp/dist/auth/mailbox-registry.js.map +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/index.js +106 -3
- package/payload/platform/plugins/outlook/mcp/dist/index.js.map +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/lib/graph-client.d.ts +49 -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 +126 -8
- package/payload/platform/plugins/outlook/mcp/dist/lib/graph-client.js.map +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/tools/mailbox-info.d.ts +13 -0
- package/payload/platform/plugins/outlook/mcp/dist/tools/mailbox-info.d.ts.map +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/tools/mailbox-info.js +9 -0
- package/payload/platform/plugins/outlook/mcp/dist/tools/mailbox-info.js.map +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/tools/mailbox-list.d.ts +42 -8
- package/payload/platform/plugins/outlook/mcp/dist/tools/mailbox-list.d.ts.map +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/tools/mailbox-list.js +59 -19
- package/payload/platform/plugins/outlook/mcp/dist/tools/mailbox-list.js.map +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/tools/shared-mailbox-add.d.ts +47 -0
- package/payload/platform/plugins/outlook/mcp/dist/tools/shared-mailbox-add.d.ts.map +1 -0
- package/payload/platform/plugins/outlook/mcp/dist/tools/shared-mailbox-add.js +67 -0
- package/payload/platform/plugins/outlook/mcp/dist/tools/shared-mailbox-add.js.map +1 -0
- package/payload/platform/plugins/outlook/mcp/dist/tools/shared-mailbox-remove.d.ts +12 -0
- package/payload/platform/plugins/outlook/mcp/dist/tools/shared-mailbox-remove.d.ts.map +1 -0
- package/payload/platform/plugins/outlook/mcp/dist/tools/shared-mailbox-remove.js +18 -0
- package/payload/platform/plugins/outlook/mcp/dist/tools/shared-mailbox-remove.js.map +1 -0
- package/payload/platform/plugins/outlook/references/auth.md +15 -2
- package/payload/platform/plugins/outlook/references/graph-surfaces.md +8 -0
- package/payload/platform/plugins/outlook/skills/outlook/SKILL.md +21 -1
- package/payload/platform/plugins/quickbooks/PLUGIN.md +10 -10
- package/payload/platform/plugins/scheduling/PLUGIN.md +49 -1
- package/payload/platform/plugins/scheduling/mcp/dist/index.js +48 -0
- package/payload/platform/plugins/scheduling/mcp/dist/index.js.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/notes-cap.test.d.ts +2 -0
- package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/notes-cap.test.d.ts.map +1 -0
- package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/notes-cap.test.js +78 -0
- package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/notes-cap.test.js.map +1 -0
- package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/routine-run.test.d.ts +2 -0
- package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/routine-run.test.d.ts.map +1 -0
- package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/routine-run.test.js +457 -0
- package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/routine-run.test.js.map +1 -0
- package/payload/platform/plugins/scheduling/mcp/dist/lib/notes-cap.d.ts +35 -0
- package/payload/platform/plugins/scheduling/mcp/dist/lib/notes-cap.d.ts.map +1 -0
- package/payload/platform/plugins/scheduling/mcp/dist/lib/notes-cap.js +39 -0
- package/payload/platform/plugins/scheduling/mcp/dist/lib/notes-cap.js.map +1 -0
- package/payload/platform/plugins/scheduling/mcp/dist/lib/routine-run.d.ts +175 -0
- package/payload/platform/plugins/scheduling/mcp/dist/lib/routine-run.d.ts.map +1 -0
- package/payload/platform/plugins/scheduling/mcp/dist/lib/routine-run.js +533 -0
- package/payload/platform/plugins/scheduling/mcp/dist/lib/routine-run.js.map +1 -0
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/agent-turn-dispatch.test.js +123 -9
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/agent-turn-dispatch.test.js.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/routine-roster-audit.test.d.ts +2 -0
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/routine-roster-audit.test.d.ts.map +1 -0
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/routine-roster-audit.test.js +189 -0
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/routine-roster-audit.test.js.map +1 -0
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/suspension-census.test.d.ts +2 -0
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/suspension-census.test.d.ts.map +1 -0
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/suspension-census.test.js +95 -0
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/suspension-census.test.js.map +1 -0
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/sweep-excludes-suspended.test.d.ts +2 -0
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/sweep-excludes-suspended.test.d.ts.map +1 -0
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/sweep-excludes-suspended.test.js +114 -0
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/sweep-excludes-suspended.test.js.map +1 -0
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/agent-turn-dispatch.d.ts +109 -2
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/agent-turn-dispatch.d.ts.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/agent-turn-dispatch.js +340 -9
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/agent-turn-dispatch.js.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/check-due-events.d.ts +9 -1
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/check-due-events.d.ts.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/check-due-events.js +210 -45
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/check-due-events.js.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/reconcile-bookings.js +43 -1
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/reconcile-bookings.js.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-get-agent.test.js +55 -7
- package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-get-agent.test.js.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-list.test.js +45 -1
- package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-list.test.js.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-runs.test.d.ts +2 -0
- package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-runs.test.d.ts.map +1 -0
- package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-runs.test.js +96 -0
- package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-runs.test.js.map +1 -0
- package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-cancel.d.ts.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-cancel.js +2 -1
- package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-cancel.js.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-get.d.ts +5 -0
- package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-get.d.ts.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-get.js +13 -0
- package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-get.js.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-list.d.ts +4 -0
- package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-list.d.ts.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-list.js +24 -3
- package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-list.js.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-runs.d.ts +33 -0
- package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-runs.d.ts.map +1 -0
- package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-runs.js +51 -0
- package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-runs.js.map +1 -0
- package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-update.d.ts.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-update.js +12 -2
- package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-update.js.map +1 -1
- package/payload/platform/plugins/whatsapp/references/channels-whatsapp.md +30 -2
- package/payload/platform/plugins/whatsapp/skills/connect-whatsapp/SKILL.md +1 -1
- package/payload/platform/scripts/check-specialist-tool-surface.mjs +92 -16
- package/payload/platform/scripts/seed-neo4j.sh +41 -0
- package/payload/platform/scripts/verify-skill-tool-surface.sh +91 -2
- package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.js +3 -0
- package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.js.map +1 -1
- package/payload/platform/templates/specialists/agents/librarian.md +1 -1
- package/payload/platform/templates/specialists/agents/personal-assistant.md +1 -1
- package/payload/server/{chunk-AZLT4LVO.js → chunk-VUXKXOJU.js} +755 -335
- package/payload/server/{chunk-UX2FRNO7.js → chunk-WT2PFGY4.js} +37 -265
- package/payload/server/{chunk-PXNY2TAP.js → chunk-XCR5D2G3.js} +239 -10
- package/payload/server/{manager-CQBSUJXR.js → manager-4TJK3YOY.js} +4 -2
- package/payload/server/maxy-edge.js +2 -2
- package/payload/server/public/activity.html +5 -5
- package/payload/server/public/agents.html +4 -4
- package/payload/server/public/assets/{AdminLoginScreens-Dar_MMJm.js → AdminLoginScreens-uknqh2Pm.js} +1 -1
- package/payload/server/public/assets/AdminLoginScreens-uknqh2Pm.js.br +0 -0
- package/payload/server/public/assets/AdminLoginScreens-uknqh2Pm.js.gz +0 -0
- package/payload/server/public/assets/AdminShell-GqtMImyQ.js +2 -0
- package/payload/server/public/assets/AdminShell-GqtMImyQ.js.br +0 -0
- package/payload/server/public/assets/AdminShell-GqtMImyQ.js.gz +0 -0
- package/payload/server/public/assets/{activity-B1rt4GIy.js → activity-B4KfMJqO.js} +1 -1
- package/payload/server/public/assets/activity-B4KfMJqO.js.br +0 -0
- package/payload/server/public/assets/activity-B4KfMJqO.js.gz +0 -0
- package/payload/server/public/assets/admin-DxCZeVw0.js +1 -0
- package/payload/server/public/assets/admin-DxCZeVw0.js.br +0 -0
- package/payload/server/public/assets/admin-DxCZeVw0.js.gz +0 -0
- package/payload/server/public/assets/agents-BtwBuO4G.js +1 -0
- package/payload/server/public/assets/agents-BtwBuO4G.js.br +0 -0
- package/payload/server/public/assets/agents-BtwBuO4G.js.gz +0 -0
- package/payload/server/public/assets/{browser-1QSCPl3X.js → browser-B3hSzI3O.js} +1 -1
- package/payload/server/public/assets/browser-B3hSzI3O.js.br +0 -0
- package/payload/server/public/assets/browser-B3hSzI3O.js.gz +0 -0
- package/payload/server/public/assets/{calendar-D009qWVV.js → calendar-BggxXxhS.js} +1 -1
- package/payload/server/public/assets/calendar-BggxXxhS.js.br +0 -0
- package/payload/server/public/assets/calendar-BggxXxhS.js.gz +0 -0
- package/payload/server/public/assets/chat-flivHt0t.js +1 -0
- package/payload/server/public/assets/chat-flivHt0t.js.br +0 -0
- package/payload/server/public/assets/chat-flivHt0t.js.gz +0 -0
- package/payload/server/public/assets/chevron-left-nVRThX7f.js +1 -0
- package/payload/server/public/assets/chevron-right-CLqfrkRA.js +1 -0
- package/payload/server/public/assets/chevron-right-CLqfrkRA.js.br +0 -0
- package/payload/server/public/assets/clock-Dj3SRZKo.js +1 -0
- package/payload/server/public/assets/clock-Dj3SRZKo.js.br +0 -0
- package/payload/server/public/assets/clock-Dj3SRZKo.js.gz +0 -0
- package/payload/server/public/assets/data-Ckjkne54.js +1 -0
- package/payload/server/public/assets/data-Ckjkne54.js.br +3 -0
- package/payload/server/public/assets/data-Ckjkne54.js.gz +0 -0
- package/payload/server/public/assets/{file-text-DwGAfCsd.js → file-text-BKs9eyiw.js} +1 -1
- package/payload/server/public/assets/file-text-BKs9eyiw.js.br +0 -0
- package/payload/server/public/assets/file-text-BKs9eyiw.js.gz +0 -0
- package/payload/server/public/assets/{graph-D-DGlfhW.js → graph-DTi71NaZ.js} +3 -3
- package/payload/server/public/assets/graph-DTi71NaZ.js.br +0 -0
- package/payload/server/public/assets/graph-DTi71NaZ.js.gz +0 -0
- package/payload/server/public/assets/graph-labels-BT3S6e9H.js +1 -0
- package/payload/server/public/assets/graph-labels-BT3S6e9H.js.br +0 -0
- package/payload/server/public/assets/graph-labels-BT3S6e9H.js.gz +0 -0
- package/payload/server/public/assets/{maximize-2-C_-KapxH.js → maximize-2-zC94tsxY.js} +1 -1
- package/payload/server/public/assets/maximize-2-zC94tsxY.js.br +0 -0
- package/payload/server/public/assets/maximize-2-zC94tsxY.js.gz +0 -0
- package/payload/server/public/assets/operator-BtWNEMh-.js +1 -0
- package/payload/server/public/assets/operator-BtWNEMh-.js.br +0 -0
- package/payload/server/public/assets/operator-BtWNEMh-.js.gz +0 -0
- package/payload/server/public/assets/page-BFm91p0e.js +1 -0
- package/payload/server/public/assets/page-BFm91p0e.js.br +0 -0
- package/payload/server/public/assets/page-BFm91p0e.js.gz +0 -0
- package/payload/server/public/assets/{page-E74MYB18.js → page-Ccl0FazM.js} +3 -3
- package/payload/server/public/assets/page-Ccl0FazM.js.br +0 -0
- package/payload/server/public/assets/page-Ccl0FazM.js.gz +0 -0
- package/payload/server/public/assets/{public-CI6K1sNW.js → public-BpC6cn9S.js} +1 -1
- package/payload/server/public/assets/public-BpC6cn9S.js.br +0 -0
- package/payload/server/public/assets/public-BpC6cn9S.js.gz +0 -0
- package/payload/server/public/assets/{rotate-ccw-PWu_QGrD.js → rotate-ccw-BNcqbHkZ.js} +1 -1
- package/payload/server/public/assets/rotate-ccw-BNcqbHkZ.js.br +0 -0
- package/payload/server/public/assets/rotate-ccw-BNcqbHkZ.js.gz +0 -0
- package/payload/server/public/assets/routines-D5iia-XG.js +1 -0
- package/payload/server/public/assets/routines-D5iia-XG.js.br +0 -0
- package/payload/server/public/assets/routines-D5iia-XG.js.gz +0 -0
- package/payload/server/public/assets/{skills-g8HvunPA.js → skills-COLAw_jt.js} +1 -1
- package/payload/server/public/assets/skills-COLAw_jt.js.br +0 -0
- package/payload/server/public/assets/skills-COLAw_jt.js.gz +0 -0
- package/payload/server/public/assets/tasks-CZDQI4nB.js +1 -0
- package/payload/server/public/assets/tasks-CZDQI4nB.js.br +0 -0
- package/payload/server/public/assets/tasks-CZDQI4nB.js.gz +0 -0
- package/payload/server/public/assets/{time-entry-format-BXWuQ6Sw.js → time-entry-format-laTFzawg.js} +1 -1
- package/payload/server/public/assets/time-entry-format-laTFzawg.js.br +0 -0
- package/payload/server/public/assets/time-entry-format-laTFzawg.js.gz +0 -0
- package/payload/server/public/assets/{triangle-alert-BNshRC13.js → triangle-alert-DrwqhEog.js} +1 -1
- package/payload/server/public/assets/triangle-alert-DrwqhEog.js.br +0 -0
- package/payload/server/public/assets/triangle-alert-DrwqhEog.js.gz +0 -0
- package/payload/server/public/assets/{useCopyFeedback-CwTZ9DqH.js → useCopyFeedback-Cxme5GK6.js} +1 -1
- package/payload/server/public/assets/useCopyFeedback-Cxme5GK6.js.br +0 -0
- package/payload/server/public/assets/useCopyFeedback-Cxme5GK6.js.gz +0 -0
- package/payload/server/public/assets/useSubAccountSwitcher-B-K8y5a4.css +1 -0
- package/payload/server/public/assets/useSubAccountSwitcher-B-K8y5a4.css.br +0 -0
- package/payload/server/public/assets/useSubAccountSwitcher-B-K8y5a4.css.gz +0 -0
- package/payload/server/public/assets/useSubAccountSwitcher-C_1E11Dv.js +14 -0
- package/payload/server/public/assets/useSubAccountSwitcher-C_1E11Dv.js.br +0 -0
- package/payload/server/public/assets/useSubAccountSwitcher-C_1E11Dv.js.gz +0 -0
- package/payload/server/public/assets/{useVoiceRecorder-BGqV5R6u.js → useVoiceRecorder-DUBpVa2T.js} +1 -1
- package/payload/server/public/assets/useVoiceRecorder-DUBpVa2T.js.br +0 -0
- package/payload/server/public/assets/useVoiceRecorder-DUBpVa2T.js.gz +0 -0
- package/payload/server/public/assets/{wrench-DQ045Pyk.js → wrench-DWuxPnzF.js} +1 -1
- package/payload/server/public/assets/wrench-DWuxPnzF.js.br +0 -0
- package/payload/server/public/assets/wrench-DWuxPnzF.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 +14 -14
- package/payload/server/public/operator.html +14 -14
- package/payload/server/public/public.html +13 -13
- package/payload/server/public/routines.html +6 -6
- package/payload/server/public/skills.html +5 -5
- package/payload/server/public/tasks.html +6 -6
- package/payload/server/server.js +6631 -5690
- package/payload/server/public/assets/AdminLoginScreens-Dar_MMJm.js.br +0 -0
- package/payload/server/public/assets/AdminLoginScreens-Dar_MMJm.js.gz +0 -0
- package/payload/server/public/assets/AdminShell-CpaI2F_p.js +0 -2
- package/payload/server/public/assets/AdminShell-CpaI2F_p.js.br +0 -0
- package/payload/server/public/assets/AdminShell-CpaI2F_p.js.gz +0 -0
- package/payload/server/public/assets/activity-B1rt4GIy.js.br +0 -0
- package/payload/server/public/assets/activity-B1rt4GIy.js.gz +0 -0
- package/payload/server/public/assets/admin-DE3lLNje.js +0 -1
- package/payload/server/public/assets/admin-DE3lLNje.js.br +0 -0
- package/payload/server/public/assets/admin-DE3lLNje.js.gz +0 -0
- package/payload/server/public/assets/agents-BXq8woVf.js +0 -1
- package/payload/server/public/assets/agents-BXq8woVf.js.br +0 -0
- package/payload/server/public/assets/agents-BXq8woVf.js.gz +0 -0
- package/payload/server/public/assets/browser-1QSCPl3X.js.br +0 -0
- package/payload/server/public/assets/browser-1QSCPl3X.js.gz +0 -0
- package/payload/server/public/assets/calendar-D009qWVV.js.br +0 -0
- package/payload/server/public/assets/calendar-D009qWVV.js.gz +0 -0
- package/payload/server/public/assets/chat-CUg1fTqJ.js +0 -1
- package/payload/server/public/assets/chat-CUg1fTqJ.js.br +0 -1
- package/payload/server/public/assets/chat-CUg1fTqJ.js.gz +0 -0
- package/payload/server/public/assets/chevron-left-C2JEy7uU.js +0 -1
- package/payload/server/public/assets/chevron-left-C2JEy7uU.js.br +0 -0
- package/payload/server/public/assets/chevron-right-DWa047Ys.js +0 -1
- package/payload/server/public/assets/chevron-right-DWa047Ys.js.br +0 -0
- package/payload/server/public/assets/clock-C3OqfCnn.js +0 -1
- package/payload/server/public/assets/clock-C3OqfCnn.js.br +0 -0
- package/payload/server/public/assets/clock-C3OqfCnn.js.gz +0 -0
- package/payload/server/public/assets/data-Bu_yCScC.js +0 -1
- package/payload/server/public/assets/data-Bu_yCScC.js.br +0 -0
- package/payload/server/public/assets/data-Bu_yCScC.js.gz +0 -0
- package/payload/server/public/assets/file-text-DwGAfCsd.js.br +0 -0
- package/payload/server/public/assets/file-text-DwGAfCsd.js.gz +0 -0
- package/payload/server/public/assets/graph-D-DGlfhW.js.br +0 -0
- package/payload/server/public/assets/graph-D-DGlfhW.js.gz +0 -0
- package/payload/server/public/assets/graph-labels-BbX3fXzl.js +0 -1
- package/payload/server/public/assets/graph-labels-BbX3fXzl.js.br +0 -0
- package/payload/server/public/assets/graph-labels-BbX3fXzl.js.gz +0 -0
- package/payload/server/public/assets/maximize-2-C_-KapxH.js.br +0 -0
- package/payload/server/public/assets/maximize-2-C_-KapxH.js.gz +0 -0
- package/payload/server/public/assets/operator-CFrZVcv6.js +0 -1
- package/payload/server/public/assets/operator-CFrZVcv6.js.br +0 -0
- package/payload/server/public/assets/operator-CFrZVcv6.js.gz +0 -0
- package/payload/server/public/assets/page-CHt62f1_.js +0 -1
- package/payload/server/public/assets/page-CHt62f1_.js.br +0 -0
- package/payload/server/public/assets/page-CHt62f1_.js.gz +0 -0
- package/payload/server/public/assets/page-E74MYB18.js.br +0 -0
- package/payload/server/public/assets/page-E74MYB18.js.gz +0 -0
- package/payload/server/public/assets/public-CI6K1sNW.js.br +0 -0
- package/payload/server/public/assets/public-CI6K1sNW.js.gz +0 -0
- package/payload/server/public/assets/rotate-ccw-PWu_QGrD.js.br +0 -0
- package/payload/server/public/assets/rotate-ccw-PWu_QGrD.js.gz +0 -0
- package/payload/server/public/assets/routines-Cp3_XS7S.js +0 -1
- package/payload/server/public/assets/routines-Cp3_XS7S.js.br +0 -0
- package/payload/server/public/assets/routines-Cp3_XS7S.js.gz +0 -0
- package/payload/server/public/assets/skills-g8HvunPA.js.br +0 -0
- package/payload/server/public/assets/skills-g8HvunPA.js.gz +0 -0
- package/payload/server/public/assets/tasks-CMC_jDVm.js +0 -1
- package/payload/server/public/assets/tasks-CMC_jDVm.js.br +0 -0
- package/payload/server/public/assets/tasks-CMC_jDVm.js.gz +0 -0
- package/payload/server/public/assets/time-entry-format-BXWuQ6Sw.js.br +0 -2
- package/payload/server/public/assets/time-entry-format-BXWuQ6Sw.js.gz +0 -0
- package/payload/server/public/assets/triangle-alert-BNshRC13.js.br +0 -0
- package/payload/server/public/assets/triangle-alert-BNshRC13.js.gz +0 -0
- package/payload/server/public/assets/useCopyFeedback-CwTZ9DqH.js.br +0 -0
- package/payload/server/public/assets/useCopyFeedback-CwTZ9DqH.js.gz +0 -0
- package/payload/server/public/assets/useSubAccountSwitcher-BuUYMDWl.js +0 -14
- package/payload/server/public/assets/useSubAccountSwitcher-BuUYMDWl.js.br +0 -0
- package/payload/server/public/assets/useSubAccountSwitcher-BuUYMDWl.js.gz +0 -0
- package/payload/server/public/assets/useSubAccountSwitcher-dzDnmWq9.css +0 -1
- package/payload/server/public/assets/useSubAccountSwitcher-dzDnmWq9.css.br +0 -0
- package/payload/server/public/assets/useSubAccountSwitcher-dzDnmWq9.css.gz +0 -0
- package/payload/server/public/assets/useVoiceRecorder-BGqV5R6u.js.br +0 -0
- package/payload/server/public/assets/useVoiceRecorder-BGqV5R6u.js.gz +0 -0
- package/payload/server/public/assets/wrench-DQ045Pyk.js.br +0 -0
- package/payload/server/public/assets/wrench-DQ045Pyk.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
|
-
|
|
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
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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
|
|
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 =
|
|
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 =
|
|
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
|
|
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(
|
|
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
|
|
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 =
|
|
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
|
|
3789
|
+
const TAG = "[premium-auto-deliver]";
|
|
4013
3790
|
if (BUNDLE_MODE === "none") {
|
|
4014
|
-
console.log(`${
|
|
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(`${
|
|
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
|
-
`${
|
|
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
|
|
3811
|
+
let entries;
|
|
4035
3812
|
try {
|
|
4036
|
-
|
|
3813
|
+
entries = readdirSync(stagingRoot);
|
|
4037
3814
|
} catch {
|
|
4038
3815
|
return [];
|
|
4039
3816
|
}
|
|
4040
3817
|
const result = [];
|
|
4041
|
-
for (const bundle of
|
|
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
|
|
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(
|
|
4064
|
-
const flatSha = createHash2("sha256").update(
|
|
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(`${
|
|
3846
|
+
console.log(`${TAG} reaped sub=${sub} reason=duplicate-of-premium-tree`);
|
|
4070
3847
|
} catch (err) {
|
|
4071
|
-
console.log(`${
|
|
3848
|
+
console.log(`${TAG} reap-failed sub=${sub} err=${err instanceof Error ? err.message : String(err)}`);
|
|
4072
3849
|
}
|
|
4073
3850
|
} else {
|
|
4074
|
-
console.log(`${
|
|
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(`${
|
|
3856
|
+
console.log(`${TAG} reaped standalone=${sub} matches-source=${flatSha === premiumSha}`);
|
|
4080
3857
|
} catch (err) {
|
|
4081
|
-
console.log(`${
|
|
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
|
|
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
|
-
`${
|
|
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 =
|
|
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(`${
|
|
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
|
|
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 =
|
|
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(`${
|
|
3944
|
+
console.log(`${TAG} cleanup accountId=${accountId ?? "unknown"} removed=[${removed.join(",")}]`);
|
|
4168
3945
|
} catch (err) {
|
|
4169
|
-
console.error(`${
|
|
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,
|