@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
|
@@ -2,6 +2,11 @@ import { existsSync } from "node:fs";
|
|
|
2
2
|
import { join } from "node:path";
|
|
3
3
|
import { validateAgentDestination, boundSubAccountFor, resolveAccountAdminUserIds, buildScheduleProvenance, } from "../lib/agent-dispatch.js";
|
|
4
4
|
import { resolveHouseOrSoleAccountId } from "../../../../../lib/account-enumeration/dist/index.js";
|
|
5
|
+
import { closeRoutineRun, logRunDispatch, recordRunSession } from "../lib/routine-run.js";
|
|
6
|
+
// Task 2130 — the expected roster, read from the same module that seeds it.
|
|
7
|
+
// Re-listing the keys here would let the seed and the drift check disagree,
|
|
8
|
+
// and the drift check exists precisely to notice disagreement.
|
|
9
|
+
import { ROUTINE_ROSTER_KEYS } from "../../../../../lib/routine-templates/dist/index.js";
|
|
5
10
|
/**
|
|
6
11
|
* Decide how a due event dispatches from its selected node fields. An event
|
|
7
12
|
* carries at most one mode (enforced at write); agent dispatch takes precedence
|
|
@@ -21,15 +26,70 @@ export function chooseDispatchMode(fields) {
|
|
|
21
26
|
}
|
|
22
27
|
return { kind: "none" };
|
|
23
28
|
}
|
|
29
|
+
/**
|
|
30
|
+
* Task 2130 — which missing field made `chooseDispatchMode` resolve to
|
|
31
|
+
* `{kind:'none'}`, for the `[check-due] op=dispatch-skipped` line.
|
|
32
|
+
*
|
|
33
|
+
* A fixed `reason=no-destination` would be wrong roughly as often as it is
|
|
34
|
+
* right: an agent turn needs channel AND destination AND prompt, so the label
|
|
35
|
+
* sends an operator to bind a destination on a routine whose prompt is what is
|
|
36
|
+
* absent, and the next fire is just as silent. Agent dispatch is reported first
|
|
37
|
+
* because a partially-configured routine — any agent field set but not all
|
|
38
|
+
* three — is almost always reaching for that mode. A row with nothing set at
|
|
39
|
+
* all is an automation event carrying no dispatch of either kind.
|
|
40
|
+
*
|
|
41
|
+
* Lives here rather than in `check-due-events.ts` because that module calls
|
|
42
|
+
* `main()` at import time and so cannot be imported by a test.
|
|
43
|
+
*/
|
|
44
|
+
export function dispatchGapReason(fields) {
|
|
45
|
+
if (fields.agentChannel || fields.agentDestination || fields.agentPrompt) {
|
|
46
|
+
const missing = [];
|
|
47
|
+
if (!fields.agentChannel)
|
|
48
|
+
missing.push("channel");
|
|
49
|
+
if (!fields.agentDestination)
|
|
50
|
+
missing.push("destination");
|
|
51
|
+
if (!fields.agentPrompt)
|
|
52
|
+
missing.push("prompt");
|
|
53
|
+
return `no-${missing.join("+")}`;
|
|
54
|
+
}
|
|
55
|
+
if (fields.actionPlugin || fields.actionTool) {
|
|
56
|
+
return fields.actionTool ? "no-action-plugin" : "no-action-tool";
|
|
57
|
+
}
|
|
58
|
+
return "no-dispatch-configured";
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Task 2136 — the run record's human-readable dispatch target, by mode.
|
|
62
|
+
*
|
|
63
|
+
* Lives here rather than in `check-due-events.ts` for the same reason
|
|
64
|
+
* `dispatchGapReason` does: that module calls `main()` at import time and so
|
|
65
|
+
* cannot be imported by a test. The target is the one field of the open record
|
|
66
|
+
* that is computed rather than copied, so it is the one that can silently be
|
|
67
|
+
* wrong — a `-` on an agent dispatch would make a recap say the routine had
|
|
68
|
+
* nowhere to fire.
|
|
69
|
+
*/
|
|
70
|
+
export function targetOf(mode) {
|
|
71
|
+
if (mode.kind === "agent")
|
|
72
|
+
return `${mode.channel}:${mode.destination}`;
|
|
73
|
+
if (mode.kind === "action")
|
|
74
|
+
return `${mode.plugin}.${mode.tool}`;
|
|
75
|
+
return "-";
|
|
76
|
+
}
|
|
24
77
|
/**
|
|
25
78
|
* Fire an agent-bearing dispatch: POST the prompt to the UI server's loopback
|
|
26
79
|
* inject route and record the outcome on the `:Event` node exactly as
|
|
27
|
-
* `dispatchAction` does (`lastDispatchResult`/`lastDispatchAt`
|
|
80
|
+
* `dispatchAction` does (`lastDispatchResult`/`lastDispatchAt`). On the
|
|
28
81
|
* recurring path `nextRun` has already been advanced by the caller; it is
|
|
29
82
|
* passed here only for the log line. Never throws — a POST/Neo4j failure is
|
|
30
83
|
* recorded, not propagated, so one event never aborts the sweep.
|
|
84
|
+
*
|
|
85
|
+
* Task 2136 — this also closes the `:RoutineRun` its caller opened, and
|
|
86
|
+
* persists the produced-output pointer the inject route returns.
|
|
31
87
|
*/
|
|
32
|
-
export async function dispatchAgentTurn(eventId, channel, destination, prompt, eventAccountId, nextRun, createdByTool, accountsDir, driver
|
|
88
|
+
export async function dispatchAgentTurn(eventId, channel, destination, prompt, eventAccountId, nextRun, createdByTool, accountsDir, driver,
|
|
89
|
+
// Task 2136 — the record this dispatch belongs to. Null when the open failed;
|
|
90
|
+
// every routine-run call is then a no-op, so a bookkeeping failure never costs
|
|
91
|
+
// a dispatch.
|
|
92
|
+
runId) {
|
|
33
93
|
const port = process.env.MAXY_UI_INTERNAL_PORT;
|
|
34
94
|
const promptBytes = Buffer.byteLength(prompt, "utf8");
|
|
35
95
|
const recurring = nextRun !== null;
|
|
@@ -61,6 +121,10 @@ export async function dispatchAgentTurn(eventId, channel, destination, prompt, e
|
|
|
61
121
|
// directly — so nothing needs stamping here, and nothing reads the property.
|
|
62
122
|
let httpStatus = 0;
|
|
63
123
|
let lastDispatchResult;
|
|
124
|
+
// Task 2136 — the produced-output pointer, returned by the inject route.
|
|
125
|
+
// Absent on any failure path; `bounded:false` then records that this run's
|
|
126
|
+
// output cannot be isolated in the shared transcript.
|
|
127
|
+
let pointer = null;
|
|
64
128
|
try {
|
|
65
129
|
if (!port) {
|
|
66
130
|
throw new Error("MAXY_UI_INTERNAL_PORT not set — cannot reach the schedule-inject route");
|
|
@@ -72,22 +136,33 @@ export async function dispatchAgentTurn(eventId, channel, destination, prompt, e
|
|
|
72
136
|
});
|
|
73
137
|
httpStatus = res.status;
|
|
74
138
|
lastDispatchResult = res.ok ? "accepted" : `error:${res.status}`;
|
|
139
|
+
if (res.ok) {
|
|
140
|
+
// A malformed or unreadable body must not fail the dispatch: the run
|
|
141
|
+
// happened, and an unreadable pointer is exactly the bounded=false case.
|
|
142
|
+
const body = (await res.json().catch(() => null));
|
|
143
|
+
pointer = {
|
|
144
|
+
sessionKey: typeof body?.sessionKey === "string" ? body.sessionKey : null,
|
|
145
|
+
transcriptOffset: typeof body?.transcriptOffset === "number" ? body.transcriptOffset : null,
|
|
146
|
+
bounded: body?.bounded === true,
|
|
147
|
+
};
|
|
148
|
+
}
|
|
75
149
|
}
|
|
76
150
|
catch (err) {
|
|
77
151
|
lastDispatchResult = `error:${err instanceof Error ? err.message : String(err)}`;
|
|
78
152
|
}
|
|
153
|
+
logRunDispatch(runId, `${channel}:${destination}`, httpStatus || null);
|
|
154
|
+
if (pointer)
|
|
155
|
+
await recordRunSession(driver, runId, pointer);
|
|
79
156
|
const nowIso = new Date().toISOString();
|
|
80
157
|
const logSession = driver.session();
|
|
81
158
|
try {
|
|
159
|
+
// Task 2136 — the note append is gone. It was one of five fire-line
|
|
160
|
+
// appenders growing `e.notes` without bound; the fact now lives on the
|
|
161
|
+
// RoutineRun. The two scalars stay for the fleet's current readers
|
|
162
|
+
// (ui/server/routes/admin/routines.ts projects both).
|
|
82
163
|
await logSession.run(`MATCH (e:Event {eventId: $eventId})
|
|
83
164
|
SET e.lastDispatchResult = $lastDispatchResult,
|
|
84
|
-
e.lastDispatchAt = $now,
|
|
85
|
-
e.notes = COALESCE(e.notes, '') + $noteEntry`, {
|
|
86
|
-
eventId,
|
|
87
|
-
lastDispatchResult,
|
|
88
|
-
now: nowIso,
|
|
89
|
-
noteEntry: `\n[${nowIso}] Agent dispatch: ${channel} → ${destination} — ${lastDispatchResult}`,
|
|
90
|
-
});
|
|
165
|
+
e.lastDispatchAt = $now`, { eventId, lastDispatchResult, now: nowIso });
|
|
91
166
|
}
|
|
92
167
|
catch {
|
|
93
168
|
// Neo4j logging failed — the console line below is the only record.
|
|
@@ -103,6 +178,12 @@ export async function dispatchAgentTurn(eventId, channel, destination, prompt, e
|
|
|
103
178
|
// ignore
|
|
104
179
|
}
|
|
105
180
|
}
|
|
181
|
+
await closeRoutineRun(driver, runId, {
|
|
182
|
+
outcome: lastDispatchResult === "accepted" ? "accepted" : "failed",
|
|
183
|
+
dispatchResult: lastDispatchResult,
|
|
184
|
+
httpStatus: httpStatus || null,
|
|
185
|
+
error: lastDispatchResult === "accepted" ? null : lastDispatchResult,
|
|
186
|
+
});
|
|
106
187
|
console.error(`[schedule-dispatch] op=inject-result eventId=${eventId} httpStatus=${httpStatus} lastDispatchResult=${lastDispatchResult}`);
|
|
107
188
|
}
|
|
108
189
|
/**
|
|
@@ -187,6 +268,256 @@ export async function runStandingAudit(driver, localAccountIds, accountsDir) {
|
|
|
187
268
|
}
|
|
188
269
|
}
|
|
189
270
|
}
|
|
271
|
+
/**
|
|
272
|
+
* Task 2130 — the roster drift check.
|
|
273
|
+
*
|
|
274
|
+
* The routine roster is seeded by two paths that both run outside this process:
|
|
275
|
+
* `seed-neo4j.sh` at install and upgrade, and `account_create` for a client
|
|
276
|
+
* sub-account. A seed that never ran, or ran and wrote nine of ten rows, emits
|
|
277
|
+
* no event of its own here — the account simply has fewer routines than it
|
|
278
|
+
* should, which reads as "the operator deleted some" and is invisible until
|
|
279
|
+
* someone opens `/routines` and counts. This reconciles the expected key set
|
|
280
|
+
* against what each local account actually holds, every tick.
|
|
281
|
+
*
|
|
282
|
+
* `missing=[]` is the success signal and IS emitted, on every tick, for every
|
|
283
|
+
* account. A check that only speaks up when it has something to say cannot be
|
|
284
|
+
* distinguished from a check that has stopped running.
|
|
285
|
+
*
|
|
286
|
+
* Never throws (honours the sweep's contract).
|
|
287
|
+
*/
|
|
288
|
+
export async function auditRoutineRoster(driver, localAccountIds, expectedKeys = ROUTINE_ROSTER_KEYS) {
|
|
289
|
+
if (localAccountIds.length === 0)
|
|
290
|
+
return;
|
|
291
|
+
const session = driver.session();
|
|
292
|
+
try {
|
|
293
|
+
const res = await session.run(`MATCH (e:Event)
|
|
294
|
+
WHERE e.accountId IN $localAccountIds
|
|
295
|
+
AND e.routineTemplate IS NOT NULL
|
|
296
|
+
RETURN e.accountId AS accountId, collect(DISTINCT e.routineTemplate) AS keys`, { localAccountIds });
|
|
297
|
+
const byAccount = new Map();
|
|
298
|
+
for (const rec of res.records) {
|
|
299
|
+
const accountId = rec.get("accountId");
|
|
300
|
+
const keys = rec.get("keys") ?? [];
|
|
301
|
+
byAccount.set(accountId, new Set(keys));
|
|
302
|
+
}
|
|
303
|
+
// Iterate the ACCOUNT list, not the query result: an account that seeded
|
|
304
|
+
// nothing at all returns no row, and it is the one that most needs a line.
|
|
305
|
+
for (const accountId of localAccountIds) {
|
|
306
|
+
const present = byAccount.get(accountId) ?? new Set();
|
|
307
|
+
const missing = expectedKeys.filter((k) => !present.has(k));
|
|
308
|
+
console.error(`[schedule-audit] op=roster acct=${accountId.slice(0, 8)} expected=${expectedKeys.length} ` +
|
|
309
|
+
`present=${present.size} missing=[${missing.join(",")}]`);
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
catch (err) {
|
|
313
|
+
console.error(`[schedule-audit] op=roster-error detail=${err instanceof Error ? err.message : String(err)}`);
|
|
314
|
+
}
|
|
315
|
+
finally {
|
|
316
|
+
try {
|
|
317
|
+
await session.close();
|
|
318
|
+
}
|
|
319
|
+
catch {
|
|
320
|
+
// ignore
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
/**
|
|
325
|
+
* Task 2130 — the silent no-dispatch detector.
|
|
326
|
+
*
|
|
327
|
+
* `dispatchDue` returns `false` for a `{kind:'none'}` mode, and the recurring
|
|
328
|
+
* loop has by then already written `lastTriggered`, advanced `nextRun`,
|
|
329
|
+
* appended a "Triggered" note and logged `[check-due] recurring triggered`. The
|
|
330
|
+
* routine therefore reads as live and healthy on every surface while delivering
|
|
331
|
+
* nothing, forever. The per-occurrence half of this is
|
|
332
|
+
* `[check-due] op=dispatch-skipped`; this is the standing half, which finds the
|
|
333
|
+
* broken binding BEFORE its next fire rather than after.
|
|
334
|
+
*
|
|
335
|
+
* Scoped to automation events (the same predicate the Routines page uses), so
|
|
336
|
+
* an ordinary diary appointment — which legitimately carries no dispatch — is
|
|
337
|
+
* never counted. `count=0` is emitted every tick.
|
|
338
|
+
*
|
|
339
|
+
* Never throws (honours the sweep's contract).
|
|
340
|
+
*/
|
|
341
|
+
export async function auditDispatchModeNone(driver, localAccountIds) {
|
|
342
|
+
if (localAccountIds.length === 0)
|
|
343
|
+
return;
|
|
344
|
+
const session = driver.session();
|
|
345
|
+
try {
|
|
346
|
+
const res = await session.run(`MATCH (e:Event)
|
|
347
|
+
WHERE e.accountId IN $localAccountIds
|
|
348
|
+
AND e.eventStatus = 'scheduled'
|
|
349
|
+
AND (e.recurrence IS NOT NULL OR e.agentChannel IS NOT NULL OR e.actionPlugin IS NOT NULL)
|
|
350
|
+
RETURN e.eventId AS eventId, e.accountId AS accountId,
|
|
351
|
+
e.agentChannel AS agentChannel, e.agentDestination AS agentDestination,
|
|
352
|
+
e.agentPrompt AS agentPrompt, e.actionPlugin AS actionPlugin,
|
|
353
|
+
e.actionTool AS actionTool, e.actionArgs AS actionArgs`, { localAccountIds });
|
|
354
|
+
const stuckByAccount = new Map();
|
|
355
|
+
for (const rec of res.records) {
|
|
356
|
+
const mode = chooseDispatchMode({
|
|
357
|
+
agentChannel: rec.get("agentChannel"),
|
|
358
|
+
agentDestination: rec.get("agentDestination"),
|
|
359
|
+
agentPrompt: rec.get("agentPrompt"),
|
|
360
|
+
actionPlugin: rec.get("actionPlugin"),
|
|
361
|
+
actionTool: rec.get("actionTool"),
|
|
362
|
+
actionArgs: rec.get("actionArgs"),
|
|
363
|
+
});
|
|
364
|
+
if (mode.kind !== "none")
|
|
365
|
+
continue;
|
|
366
|
+
const accountId = rec.get("accountId");
|
|
367
|
+
const list = stuckByAccount.get(accountId) ?? [];
|
|
368
|
+
list.push(rec.get("eventId"));
|
|
369
|
+
stuckByAccount.set(accountId, list);
|
|
370
|
+
}
|
|
371
|
+
for (const accountId of localAccountIds) {
|
|
372
|
+
const ids = stuckByAccount.get(accountId) ?? [];
|
|
373
|
+
console.error(`[schedule-audit] op=dispatch-mode-none acct=${accountId.slice(0, 8)} count=${ids.length} ` +
|
|
374
|
+
`eventIds=[${ids.join(",")}]`);
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
catch (err) {
|
|
378
|
+
console.error(`[schedule-audit] op=dispatch-mode-none-error detail=${err instanceof Error ? err.message : String(err)}`);
|
|
379
|
+
}
|
|
380
|
+
finally {
|
|
381
|
+
try {
|
|
382
|
+
await session.close();
|
|
383
|
+
}
|
|
384
|
+
catch {
|
|
385
|
+
// ignore
|
|
386
|
+
}
|
|
387
|
+
}
|
|
388
|
+
}
|
|
389
|
+
/**
|
|
390
|
+
* Task 2130 — the zone-less scheduled routine detector.
|
|
391
|
+
*
|
|
392
|
+
* A recurring event with no `timezone` is not refused anywhere: `schedule-update`
|
|
393
|
+
* recomputes `nextRun` with `tz: undefined`, and `cron-parser` then resolves the
|
|
394
|
+
* expression in the SERVER's zone. The routine fires, dispatches, records a
|
|
395
|
+
* clean trigger note and looks healthy on every surface — it simply fires at the
|
|
396
|
+
* wrong hour for the operator, which is a complaint nobody attributes to a
|
|
397
|
+
* missing property. `count=0` is emitted every tick.
|
|
398
|
+
*
|
|
399
|
+
* Never throws (honours the sweep's contract).
|
|
400
|
+
*/
|
|
401
|
+
export async function auditNullTimezone(driver, localAccountIds) {
|
|
402
|
+
if (localAccountIds.length === 0)
|
|
403
|
+
return;
|
|
404
|
+
const session = driver.session();
|
|
405
|
+
try {
|
|
406
|
+
const res = await session.run(`MATCH (e:Event)
|
|
407
|
+
WHERE e.accountId IN $localAccountIds
|
|
408
|
+
AND e.eventStatus = 'scheduled'
|
|
409
|
+
AND e.recurrence IS NOT NULL
|
|
410
|
+
AND e.timezone IS NULL
|
|
411
|
+
RETURN e.accountId AS accountId, count(e) AS n`, { localAccountIds });
|
|
412
|
+
const counts = new Map();
|
|
413
|
+
for (const rec of res.records) {
|
|
414
|
+
const raw = rec.get("n");
|
|
415
|
+
const n = typeof raw === "number"
|
|
416
|
+
? raw
|
|
417
|
+
: raw && typeof raw.toNumber === "function"
|
|
418
|
+
? raw.toNumber()
|
|
419
|
+
: Number(raw ?? 0);
|
|
420
|
+
counts.set(rec.get("accountId"), n);
|
|
421
|
+
}
|
|
422
|
+
for (const accountId of localAccountIds) {
|
|
423
|
+
console.error(`[schedule-audit] op=null-timezone acct=${accountId.slice(0, 8)} count=${counts.get(accountId) ?? 0}`);
|
|
424
|
+
}
|
|
425
|
+
}
|
|
426
|
+
catch (err) {
|
|
427
|
+
console.error(`[schedule-audit] op=null-timezone-error detail=${err instanceof Error ? err.message : String(err)}`);
|
|
428
|
+
}
|
|
429
|
+
finally {
|
|
430
|
+
try {
|
|
431
|
+
await session.close();
|
|
432
|
+
}
|
|
433
|
+
catch {
|
|
434
|
+
// ignore
|
|
435
|
+
}
|
|
436
|
+
}
|
|
437
|
+
}
|
|
438
|
+
/**
|
|
439
|
+
* Task 2106 — the standing suspension census.
|
|
440
|
+
*
|
|
441
|
+
* Two failures emit nothing without it. A suspended routine that the sweep still
|
|
442
|
+
* selects looks identical to a healthy one right up until it fires, and a status
|
|
443
|
+
* no code path handles is invisible on every surface. One line per local account
|
|
444
|
+
* per tick, including when every count is zero: an account that stops appearing
|
|
445
|
+
* is itself the signal.
|
|
446
|
+
*
|
|
447
|
+
* `other` is the standing check. The four named buckets are the whole shipped
|
|
448
|
+
* enum (`scheduled`, `due`, `completed`, `cancelled`) plus this task's
|
|
449
|
+
* `suspended`, so `dispatchable + suspended + due + cancelled + completed +
|
|
450
|
+
* other = routines` holds by construction and `other > 0` means a routine is
|
|
451
|
+
* carrying a status this system does not know about — nothing else would say so.
|
|
452
|
+
* `completed` is bucketed even though no code path writes it today, because
|
|
453
|
+
* `schedule-update` takes `eventStatus` as an unvalidated string: one routine
|
|
454
|
+
* marked completed would otherwise pin `other` above zero on every tick forever
|
|
455
|
+
* and the alarm would be dead from that point on. (The task filed this as `suspended + dispatchable = routines`, which cannot
|
|
456
|
+
* hold while 'due' and 'cancelled' rows exist — both are written today. `other`
|
|
457
|
+
* is the form of that check that survives contact with the real status set.)
|
|
458
|
+
*
|
|
459
|
+
* The automation filter is copied from the admin routines route
|
|
460
|
+
* (server/routes/admin/routines.ts AUTOMATION_WHERE) so both count the same set;
|
|
461
|
+
* the two live across the plugin boundary and cannot share a module.
|
|
462
|
+
*
|
|
463
|
+
* Never throws (honours the sweep's contract).
|
|
464
|
+
*/
|
|
465
|
+
export async function auditSuspensionCensus(driver, localAccountIds) {
|
|
466
|
+
if (localAccountIds.length === 0)
|
|
467
|
+
return;
|
|
468
|
+
const session = driver.session();
|
|
469
|
+
try {
|
|
470
|
+
const res = await session.run(`MATCH (e:Event)
|
|
471
|
+
WHERE e.accountId IN $localAccountIds
|
|
472
|
+
AND (e.recurrence IS NOT NULL OR e.agentChannel IS NOT NULL OR e.actionPlugin IS NOT NULL)
|
|
473
|
+
RETURN e.accountId AS accountId,
|
|
474
|
+
count(e) AS routines,
|
|
475
|
+
sum(CASE WHEN e.eventStatus = 'scheduled' THEN 1 ELSE 0 END) AS dispatchable,
|
|
476
|
+
sum(CASE WHEN e.eventStatus = 'suspended' THEN 1 ELSE 0 END) AS suspended,
|
|
477
|
+
sum(CASE WHEN e.eventStatus = 'due' THEN 1 ELSE 0 END) AS due,
|
|
478
|
+
sum(CASE WHEN e.eventStatus = 'cancelled' THEN 1 ELSE 0 END) AS cancelled,
|
|
479
|
+
sum(CASE WHEN e.eventStatus = 'completed' THEN 1 ELSE 0 END) AS completed`, { localAccountIds });
|
|
480
|
+
const num = (raw) => typeof raw === "number"
|
|
481
|
+
? raw
|
|
482
|
+
: raw && typeof raw.toNumber === "function"
|
|
483
|
+
? raw.toNumber()
|
|
484
|
+
: Number(raw ?? 0);
|
|
485
|
+
const byAccount = new Map();
|
|
486
|
+
for (const rec of res.records) {
|
|
487
|
+
byAccount.set(rec.get("accountId"), {
|
|
488
|
+
routines: num(rec.get("routines")),
|
|
489
|
+
dispatchable: num(rec.get("dispatchable")),
|
|
490
|
+
suspended: num(rec.get("suspended")),
|
|
491
|
+
due: num(rec.get("due")),
|
|
492
|
+
cancelled: num(rec.get("cancelled")),
|
|
493
|
+
completed: num(rec.get("completed")),
|
|
494
|
+
});
|
|
495
|
+
}
|
|
496
|
+
// Driven by localAccountIds, not by the result rows: an account with no
|
|
497
|
+
// automation events at all returns no row, and skipping it would make
|
|
498
|
+
// "healthy" and "not looked at" the same silence.
|
|
499
|
+
for (const accountId of localAccountIds) {
|
|
500
|
+
const c = byAccount.get(accountId) ?? {
|
|
501
|
+
routines: 0, dispatchable: 0, suspended: 0, due: 0, cancelled: 0, completed: 0,
|
|
502
|
+
};
|
|
503
|
+
const other = c.routines - c.dispatchable - c.suspended - c.due - c.cancelled - c.completed;
|
|
504
|
+
console.error(`[schedule-audit] op=suspension-census acct=${accountId.slice(0, 8)} ` +
|
|
505
|
+
`routines=${c.routines} dispatchable=${c.dispatchable} suspended=${c.suspended} ` +
|
|
506
|
+
`due=${c.due} cancelled=${c.cancelled} completed=${c.completed} other=${other}`);
|
|
507
|
+
}
|
|
508
|
+
}
|
|
509
|
+
catch (err) {
|
|
510
|
+
console.error(`[schedule-audit] op=suspension-census-error detail=${err instanceof Error ? err.message : String(err)}`);
|
|
511
|
+
}
|
|
512
|
+
finally {
|
|
513
|
+
try {
|
|
514
|
+
await session.close();
|
|
515
|
+
}
|
|
516
|
+
catch {
|
|
517
|
+
// ignore
|
|
518
|
+
}
|
|
519
|
+
}
|
|
520
|
+
}
|
|
190
521
|
/**
|
|
191
522
|
* Task 1516 — the standing self-cancel alarm. Independent of any inbound and of
|
|
192
523
|
* the stale-dispatch audit: each tick it counts agent-dispatch events that a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-turn-dispatch.js","sourceRoot":"","sources":["../../src/scripts/agent-turn-dispatch.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent-turn-dispatch.js","sourceRoot":"","sources":["../../src/scripts/agent-turn-dispatch.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,13 +9,21 @@
|
|
|
9
9
|
* whose time has arrived and marks them appropriately:
|
|
10
10
|
*
|
|
11
11
|
* - One-time events: set eventStatus = 'due'
|
|
12
|
-
* - Recurring events: set lastTriggered, advance nextRun
|
|
12
|
+
* - Recurring events: set lastTriggered, advance nextRun
|
|
13
13
|
* (status stays 'scheduled' to avoid orphaning)
|
|
14
14
|
*
|
|
15
15
|
* If an event carries an action (actionPlugin + actionTool), the corresponding
|
|
16
16
|
* MCP tool is dispatched after the event is updated. Dispatch happens AFTER
|
|
17
17
|
* the nextRun/status update so a failed dispatch never blocks the event.
|
|
18
18
|
*
|
|
19
|
+
* Task 2136 — every fire opens a `:RoutineRun` before dispatching and closes it
|
|
20
|
+
* after, so firing N+1 no longer destroys firing N. The trigger/marked-due/
|
|
21
|
+
* dispatch notes that used to grow `e.notes` without bound are gone; those facts
|
|
22
|
+
* live on the record. Promotion, retention and the run audits are NOT here —
|
|
23
|
+
* they run on the 120 s reconcile-bookings tick, because a check for "this
|
|
24
|
+
* dispatcher fired without writing a record" cannot be emitted by the dispatcher
|
|
25
|
+
* it is checking.
|
|
26
|
+
*
|
|
19
27
|
* PID lock at $HOME/{configDir}/check-due-events.lock prevents overlapping runs.
|
|
20
28
|
*
|
|
21
29
|
* PLATFORM_ROOT=... node dist/scripts/check-due-events.js
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-due-events.d.ts","sourceRoot":"","sources":["../../src/scripts/check-due-events.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"check-due-events.d.ts","sourceRoot":"","sources":["../../src/scripts/check-due-events.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG"}
|