@rubytech/create-realagent-code 0.1.573 → 0.1.575
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 +14 -0
- package/package.json +1 -1
- package/payload/platform/lib/admins-write/__tests__/index.test.ts +97 -0
- package/payload/platform/lib/admins-write/dist/index.d.ts +12 -0
- package/payload/platform/lib/admins-write/dist/index.d.ts.map +1 -1
- package/payload/platform/lib/admins-write/dist/index.js +27 -5
- package/payload/platform/lib/admins-write/dist/index.js.map +1 -1
- package/payload/platform/lib/admins-write/src/index.ts +35 -5
- package/payload/platform/lib/admins-write/vitest.config.ts +14 -0
- package/payload/platform/lib/canonical-instant/dist/index.d.ts +57 -0
- package/payload/platform/lib/canonical-instant/dist/index.d.ts.map +1 -0
- package/payload/platform/lib/canonical-instant/dist/index.js +139 -0
- package/payload/platform/lib/canonical-instant/dist/index.js.map +1 -0
- package/payload/platform/lib/canonical-instant/src/__tests__/normalise-instant.test.ts +158 -0
- package/payload/platform/lib/canonical-instant/src/index.ts +147 -0
- package/payload/platform/lib/canonical-instant/tsconfig.json +9 -0
- package/payload/platform/lib/canonical-instant/vitest.config.ts +9 -0
- package/payload/platform/lib/dispatch-read/dist/geo.d.ts +34 -0
- package/payload/platform/lib/dispatch-read/dist/geo.d.ts.map +1 -0
- package/payload/platform/lib/dispatch-read/dist/geo.js +27 -0
- package/payload/platform/lib/dispatch-read/dist/geo.js.map +1 -0
- package/payload/platform/lib/dispatch-read/dist/index.d.ts +6 -2
- package/payload/platform/lib/dispatch-read/dist/index.d.ts.map +1 -1
- package/payload/platform/lib/dispatch-read/dist/index.js +21 -1
- package/payload/platform/lib/dispatch-read/dist/index.js.map +1 -1
- package/payload/platform/lib/dispatch-read/dist/keyboard.d.ts +66 -0
- package/payload/platform/lib/dispatch-read/dist/keyboard.d.ts.map +1 -0
- package/payload/platform/lib/dispatch-read/dist/keyboard.js +64 -0
- package/payload/platform/lib/dispatch-read/dist/keyboard.js.map +1 -0
- package/payload/platform/lib/dispatch-read/dist/read.d.ts +144 -9
- package/payload/platform/lib/dispatch-read/dist/read.d.ts.map +1 -1
- package/payload/platform/lib/dispatch-read/dist/read.js +437 -118
- package/payload/platform/lib/dispatch-read/dist/read.js.map +1 -1
- package/payload/platform/lib/dispatch-read/dist/session.d.ts.map +1 -1
- package/payload/platform/lib/dispatch-read/dist/session.js +19 -4
- package/payload/platform/lib/dispatch-read/dist/session.js.map +1 -1
- package/payload/platform/lib/dispatch-read/dist/types.d.ts +80 -11
- package/payload/platform/lib/dispatch-read/dist/types.d.ts.map +1 -1
- package/payload/platform/lib/dispatch-read/src/__tests__/geo.test.ts +86 -0
- package/payload/platform/lib/dispatch-read/src/__tests__/keyboard.test.ts +124 -0
- package/payload/platform/lib/dispatch-read/src/__tests__/previous-visit.test.ts +98 -0
- package/payload/platform/lib/dispatch-read/src/__tests__/read.test.ts +107 -8
- package/payload/platform/lib/dispatch-read/src/__tests__/session.test.ts +91 -0
- package/payload/platform/lib/dispatch-read/src/__tests__/worker-day.test.ts +215 -10
- package/payload/platform/lib/dispatch-read/src/geo.ts +56 -0
- package/payload/platform/lib/dispatch-read/src/index.ts +25 -1
- package/payload/platform/lib/dispatch-read/src/keyboard.ts +98 -0
- package/payload/platform/lib/dispatch-read/src/read.ts +522 -119
- package/payload/platform/lib/dispatch-read/src/session.ts +25 -6
- package/payload/platform/lib/dispatch-read/src/types.ts +83 -11
- package/payload/platform/lib/dispatch-write/dist/write.d.ts +14 -0
- package/payload/platform/lib/dispatch-write/dist/write.d.ts.map +1 -1
- package/payload/platform/lib/dispatch-write/dist/write.js +50 -11
- package/payload/platform/lib/dispatch-write/dist/write.js.map +1 -1
- package/payload/platform/lib/dispatch-write/src/__tests__/write.test.ts +72 -2
- package/payload/platform/lib/dispatch-write/src/write.ts +79 -14
- package/payload/platform/neo4j/schema.cypher +66 -1
- package/payload/platform/package.json +2 -2
- package/payload/platform/plugins/admin/.claude-plugin/plugin.json +1 -1
- package/payload/platform/plugins/admin/PLUGIN.md +11 -3
- package/payload/platform/plugins/admin/hooks/__tests__/fs-schema-guard-bash.test.sh +106 -0
- package/payload/platform/plugins/admin/hooks/__tests__/fs-schema-guard.test.sh +66 -0
- package/payload/platform/plugins/admin/hooks/__tests__/html-structure-gate.test.sh +264 -0
- package/payload/platform/plugins/admin/hooks/__tests__/quote-render-pdf-conformance.test.sh +122 -24
- package/payload/platform/plugins/admin/hooks/__tests__/specialist-dispatch-gate.test.sh +158 -0
- package/payload/platform/plugins/admin/hooks/fs-schema-guard-bash-post.sh +85 -12
- package/payload/platform/plugins/admin/hooks/fs-schema-guard.sh +18 -0
- package/payload/platform/plugins/admin/hooks/html-structure-gate.sh +165 -0
- package/payload/platform/plugins/admin/hooks/quote-render-pdf-conformance.sh +111 -19
- package/payload/platform/plugins/admin/hooks/specialist-dispatch-gate.sh +159 -0
- package/payload/platform/plugins/admin/mcp/dist/admin-bind-classify.d.ts +27 -0
- package/payload/platform/plugins/admin/mcp/dist/admin-bind-classify.d.ts.map +1 -0
- package/payload/platform/plugins/admin/mcp/dist/admin-bind-classify.js +29 -0
- package/payload/platform/plugins/admin/mcp/dist/admin-bind-classify.js.map +1 -0
- package/payload/platform/plugins/admin/mcp/dist/binding-validate.d.ts +11 -0
- package/payload/platform/plugins/admin/mcp/dist/binding-validate.d.ts.map +1 -0
- package/payload/platform/plugins/admin/mcp/dist/binding-validate.js +20 -0
- package/payload/platform/plugins/admin/mcp/dist/binding-validate.js.map +1 -0
- package/payload/platform/plugins/admin/mcp/dist/index.js +133 -1
- package/payload/platform/plugins/admin/mcp/dist/index.js.map +1 -1
- package/payload/platform/plugins/admin/skills/admin-user-management/SKILL.md +31 -2
- package/payload/platform/plugins/admin/skills/platform-architecture/SKILL.md +242 -61
- package/payload/platform/plugins/admin/skills/whats-new/SKILL.md +16 -0
- package/payload/platform/plugins/cloudflare/mcp/__tests__/portal-visits-scope.test.ts +130 -1
- package/payload/platform/plugins/cloudflare/skills/data-portal/schema.sql +63 -0
- package/payload/platform/plugins/cloudflare/skills/data-portal/template/functions/api/visits.ts +104 -3
- package/payload/platform/plugins/dispatch/.claude-plugin/plugin.json +1 -1
- package/payload/platform/plugins/dispatch/PLUGIN.md +49 -6
- package/payload/platform/plugins/dispatch/mcp/dist/index.js +200 -2
- package/payload/platform/plugins/dispatch/mcp/dist/index.js.map +1 -1
- package/payload/platform/plugins/dispatch/mcp/dist/lib/allocate.d.ts +22 -4
- package/payload/platform/plugins/dispatch/mcp/dist/lib/allocate.d.ts.map +1 -1
- package/payload/platform/plugins/dispatch/mcp/dist/lib/allocate.js +4 -0
- package/payload/platform/plugins/dispatch/mcp/dist/lib/allocate.js.map +1 -1
- package/payload/platform/plugins/dispatch/mcp/dist/lib/bot-token.d.ts +10 -0
- package/payload/platform/plugins/dispatch/mcp/dist/lib/bot-token.d.ts.map +1 -0
- package/payload/platform/plugins/dispatch/mcp/dist/lib/bot-token.js +47 -0
- package/payload/platform/plugins/dispatch/mcp/dist/lib/bot-token.js.map +1 -0
- package/payload/platform/plugins/dispatch/mcp/dist/lib/config.d.ts.map +1 -1
- package/payload/platform/plugins/dispatch/mcp/dist/lib/config.js +12 -0
- package/payload/platform/plugins/dispatch/mcp/dist/lib/config.js.map +1 -1
- package/payload/platform/plugins/dispatch/mcp/dist/lib/ids.d.ts +1 -0
- package/payload/platform/plugins/dispatch/mcp/dist/lib/ids.d.ts.map +1 -1
- package/payload/platform/plugins/dispatch/mcp/dist/lib/ids.js +1 -0
- package/payload/platform/plugins/dispatch/mcp/dist/lib/ids.js.map +1 -1
- package/payload/platform/plugins/dispatch/mcp/dist/lib/intake.d.ts +36 -0
- package/payload/platform/plugins/dispatch/mcp/dist/lib/intake.d.ts.map +1 -0
- package/payload/platform/plugins/dispatch/mcp/dist/lib/intake.js +36 -0
- package/payload/platform/plugins/dispatch/mcp/dist/lib/intake.js.map +1 -0
- package/payload/platform/plugins/dispatch/mcp/dist/lib/keyboard.d.ts +11 -0
- package/payload/platform/plugins/dispatch/mcp/dist/lib/keyboard.d.ts.map +1 -0
- package/payload/platform/plugins/dispatch/mcp/dist/lib/keyboard.js +10 -0
- package/payload/platform/plugins/dispatch/mcp/dist/lib/keyboard.js.map +1 -0
- package/payload/platform/plugins/dispatch/mcp/dist/lib/read.d.ts +2 -2
- package/payload/platform/plugins/dispatch/mcp/dist/lib/read.d.ts.map +1 -1
- package/payload/platform/plugins/dispatch/mcp/dist/lib/read.js +9 -1
- package/payload/platform/plugins/dispatch/mcp/dist/lib/read.js.map +1 -1
- package/payload/platform/plugins/dispatch/mcp/dist/lib/travel.d.ts +43 -0
- package/payload/platform/plugins/dispatch/mcp/dist/lib/travel.d.ts.map +1 -0
- package/payload/platform/plugins/dispatch/mcp/dist/lib/travel.js +53 -0
- package/payload/platform/plugins/dispatch/mcp/dist/lib/travel.js.map +1 -0
- package/payload/platform/plugins/dispatch/mcp/dist/lib/types.d.ts +13 -2
- package/payload/platform/plugins/dispatch/mcp/dist/lib/types.d.ts.map +1 -1
- package/payload/platform/plugins/dispatch/mcp/dist/scripts/converge-visit-instants.d.ts +6 -0
- package/payload/platform/plugins/dispatch/mcp/dist/scripts/converge-visit-instants.d.ts.map +1 -0
- package/payload/platform/plugins/dispatch/mcp/dist/scripts/converge-visit-instants.js +102 -0
- package/payload/platform/plugins/dispatch/mcp/dist/scripts/converge-visit-instants.js.map +1 -0
- package/payload/platform/plugins/dispatch/mcp/dist/tools/allocate.d.ts +18 -0
- package/payload/platform/plugins/dispatch/mcp/dist/tools/allocate.d.ts.map +1 -1
- package/payload/platform/plugins/dispatch/mcp/dist/tools/allocate.js +251 -40
- package/payload/platform/plugins/dispatch/mcp/dist/tools/allocate.js.map +1 -1
- package/payload/platform/plugins/dispatch/mcp/dist/tools/intake.d.ts +75 -0
- package/payload/platform/plugins/dispatch/mcp/dist/tools/intake.d.ts.map +1 -0
- package/payload/platform/plugins/dispatch/mcp/dist/tools/intake.js +194 -0
- package/payload/platform/plugins/dispatch/mcp/dist/tools/intake.js.map +1 -0
- package/payload/platform/plugins/dispatch/mcp/dist/tools/notify-worker.d.ts +61 -0
- package/payload/platform/plugins/dispatch/mcp/dist/tools/notify-worker.d.ts.map +1 -0
- package/payload/platform/plugins/dispatch/mcp/dist/tools/notify-worker.js +130 -0
- package/payload/platform/plugins/dispatch/mcp/dist/tools/notify-worker.js.map +1 -0
- package/payload/platform/plugins/dispatch/mcp/dist/tools/site-location-set.d.ts +28 -0
- package/payload/platform/plugins/dispatch/mcp/dist/tools/site-location-set.d.ts.map +1 -0
- package/payload/platform/plugins/dispatch/mcp/dist/tools/site-location-set.js +44 -0
- package/payload/platform/plugins/dispatch/mcp/dist/tools/site-location-set.js.map +1 -0
- package/payload/platform/plugins/dispatch/mcp/dist/tools/site-upsert.d.ts +43 -0
- package/payload/platform/plugins/dispatch/mcp/dist/tools/site-upsert.d.ts.map +1 -0
- package/payload/platform/plugins/dispatch/mcp/dist/tools/site-upsert.js +139 -0
- package/payload/platform/plugins/dispatch/mcp/dist/tools/site-upsert.js.map +1 -0
- package/payload/platform/plugins/dispatch/skills/dispatch-page/SKILL.md +85 -0
- package/payload/platform/plugins/dispatch/skills/dispatch-page/template/planner.css +97 -0
- package/payload/platform/plugins/dispatch/skills/dispatch-page/template/planner.html +59 -0
- package/payload/platform/plugins/dispatch/skills/dispatch-page/template/planner.js +343 -0
- package/payload/platform/plugins/dispatch/skills/dispatch-setup/SKILL.md +9 -4
- package/payload/platform/plugins/docs/references/admin-ui.md +71 -31
- package/payload/platform/plugins/docs/references/channel-wake-and-prompt.md +29 -13
- package/payload/platform/plugins/docs/references/dispatch.md +94 -15
- package/payload/platform/plugins/docs/references/internals.md +6 -0
- package/payload/platform/plugins/docs/references/outlook-guide.md +31 -1
- package/payload/platform/plugins/docs/references/troubleshooting.md +10 -0
- package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/dispatch-vertical-coverage.test.js +4 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/dispatch-vertical-coverage.test.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/relationship-patterns.test.js +24 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/relationship-patterns.test.js.map +1 -1
- package/payload/platform/plugins/memory/references/schema-dispatch.md +70 -4
- package/payload/platform/plugins/outlook/PLUGIN.md +3 -1
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/draft-ledger-write-sites.test.d.ts +2 -0
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/draft-ledger-write-sites.test.d.ts.map +1 -0
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/draft-ledger-write-sites.test.js +177 -0
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/draft-ledger-write-sites.test.js.map +1 -0
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/draft-ledger.test.d.ts +2 -0
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/draft-ledger.test.d.ts.map +1 -0
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/draft-ledger.test.js +130 -0
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/draft-ledger.test.js.map +1 -0
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/draft-reconcile.test.d.ts +2 -0
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/draft-reconcile.test.d.ts.map +1 -0
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/draft-reconcile.test.js +162 -0
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/draft-reconcile.test.js.map +1 -0
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/draft-state-fields.test.d.ts +2 -0
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/draft-state-fields.test.d.ts.map +1 -0
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/draft-state-fields.test.js +168 -0
- package/payload/platform/plugins/outlook/mcp/dist/__tests__/draft-state-fields.test.js.map +1 -0
- package/payload/platform/plugins/outlook/mcp/dist/lib/draft-ledger.d.ts +64 -0
- package/payload/platform/plugins/outlook/mcp/dist/lib/draft-ledger.d.ts.map +1 -0
- package/payload/platform/plugins/outlook/mcp/dist/lib/draft-ledger.js +110 -0
- package/payload/platform/plugins/outlook/mcp/dist/lib/draft-ledger.js.map +1 -0
- package/payload/platform/plugins/outlook/mcp/dist/lib/draft-reconcile.d.ts +119 -0
- package/payload/platform/plugins/outlook/mcp/dist/lib/draft-reconcile.d.ts.map +1 -0
- package/payload/platform/plugins/outlook/mcp/dist/lib/draft-reconcile.js +0 -0
- package/payload/platform/plugins/outlook/mcp/dist/lib/draft-reconcile.js.map +1 -0
- package/payload/platform/plugins/outlook/mcp/dist/scripts/draft-reconcile.d.ts +8 -0
- package/payload/platform/plugins/outlook/mcp/dist/scripts/draft-reconcile.d.ts.map +1 -0
- package/payload/platform/plugins/outlook/mcp/dist/scripts/draft-reconcile.js +247 -0
- package/payload/platform/plugins/outlook/mcp/dist/scripts/draft-reconcile.js.map +1 -0
- package/payload/platform/plugins/outlook/mcp/dist/tools/draft-send.d.ts.map +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/tools/draft-send.js +10 -0
- package/payload/platform/plugins/outlook/mcp/dist/tools/draft-send.js.map +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/tools/draft.d.ts.map +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/tools/draft.js +21 -0
- package/payload/platform/plugins/outlook/mcp/dist/tools/draft.js.map +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/tools/mail-fetch-body.d.ts +16 -0
- package/payload/platform/plugins/outlook/mcp/dist/tools/mail-fetch-body.d.ts.map +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/tools/mail-fetch-body.js +5 -1
- package/payload/platform/plugins/outlook/mcp/dist/tools/mail-fetch-body.js.map +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/tools/mail-list.d.ts +4 -0
- package/payload/platform/plugins/outlook/mcp/dist/tools/mail-list.d.ts.map +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/tools/mail-list.js +2 -1
- package/payload/platform/plugins/outlook/mcp/dist/tools/mail-list.js.map +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/tools/mail-reply.d.ts.map +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/tools/mail-reply.js +24 -0
- package/payload/platform/plugins/outlook/mcp/dist/tools/mail-reply.js.map +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/tools/mail-search.d.ts.map +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/tools/mail-search.js +2 -1
- package/payload/platform/plugins/outlook/mcp/dist/tools/mail-search.js.map +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/tools/mail-send.d.ts.map +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/tools/mail-send.js +29 -0
- package/payload/platform/plugins/outlook/mcp/dist/tools/mail-send.js.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/__tests__/draft-reconcile-throttle.test.d.ts +2 -0
- package/payload/platform/plugins/scheduling/mcp/dist/__tests__/draft-reconcile-throttle.test.d.ts.map +1 -0
- package/payload/platform/plugins/scheduling/mcp/dist/__tests__/draft-reconcile-throttle.test.js +21 -0
- package/payload/platform/plugins/scheduling/mcp/dist/__tests__/draft-reconcile-throttle.test.js.map +1 -0
- package/payload/platform/plugins/scheduling/mcp/dist/lib/draft-reconcile-throttle.d.ts +13 -0
- package/payload/platform/plugins/scheduling/mcp/dist/lib/draft-reconcile-throttle.d.ts.map +1 -0
- package/payload/platform/plugins/scheduling/mcp/dist/lib/draft-reconcile-throttle.js +10 -0
- package/payload/platform/plugins/scheduling/mcp/dist/lib/draft-reconcile-throttle.js.map +1 -0
- package/payload/platform/plugins/scheduling/mcp/dist/lib/time-format.d.ts +2 -35
- package/payload/platform/plugins/scheduling/mcp/dist/lib/time-format.d.ts.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/lib/time-format.js +6 -114
- package/payload/platform/plugins/scheduling/mcp/dist/lib/time-format.js.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/check-due-events.js +54 -0
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/check-due-events.js.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/converge-startdate-utc.d.ts +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/converge-startdate-utc.js +3 -3
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/converge-startdate-utc.js.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-event.js +2 -2
- package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-event.js.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-update.js +3 -3
- package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-update.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/authored-specialist-tools.d.ts +32 -0
- package/payload/platform/services/claude-session-manager/dist/authored-specialist-tools.d.ts.map +1 -0
- package/payload/platform/services/claude-session-manager/dist/authored-specialist-tools.js +144 -0
- package/payload/platform/services/claude-session-manager/dist/authored-specialist-tools.js.map +1 -0
- package/payload/platform/services/claude-session-manager/dist/blocked-tool-census.d.ts +40 -6
- package/payload/platform/services/claude-session-manager/dist/blocked-tool-census.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/blocked-tool-census.js +116 -15
- package/payload/platform/services/claude-session-manager/dist/blocked-tool-census.js.map +1 -1
- 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 +7 -0
- package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/html-structure-census.d.ts +44 -0
- package/payload/platform/services/claude-session-manager/dist/html-structure-census.d.ts.map +1 -0
- package/payload/platform/services/claude-session-manager/dist/html-structure-census.js +185 -0
- package/payload/platform/services/claude-session-manager/dist/html-structure-census.js.map +1 -0
- package/payload/platform/services/claude-session-manager/dist/index.js +125 -0
- package/payload/platform/services/claude-session-manager/dist/index.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/quote-delivery-reconcile.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/quote-delivery-reconcile.js +7 -0
- package/payload/platform/services/claude-session-manager/dist/quote-delivery-reconcile.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/quote-print-census.d.ts +42 -0
- package/payload/platform/services/claude-session-manager/dist/quote-print-census.d.ts.map +1 -0
- package/payload/platform/services/claude-session-manager/dist/quote-print-census.js +254 -0
- package/payload/platform/services/claude-session-manager/dist/quote-print-census.js.map +1 -0
- package/payload/platform/services/claude-session-manager/dist/specialist-census.d.ts +92 -0
- package/payload/platform/services/claude-session-manager/dist/specialist-census.d.ts.map +1 -0
- package/payload/platform/services/claude-session-manager/dist/specialist-census.js +227 -0
- package/payload/platform/services/claude-session-manager/dist/specialist-census.js.map +1 -0
- package/payload/platform/services/telegram-channel/dist/notification.d.ts +0 -12
- package/payload/platform/services/telegram-channel/dist/notification.d.ts.map +1 -1
- package/payload/platform/services/telegram-channel/dist/notification.js +8 -29
- package/payload/platform/services/telegram-channel/dist/notification.js.map +1 -1
- package/payload/platform/services/telegram-channel/dist/server.d.ts.map +1 -1
- package/payload/platform/services/telegram-channel/dist/server.js +8 -11
- package/payload/platform/services/telegram-channel/dist/server.js.map +1 -1
- package/payload/platform/templates/account-settings.json +8 -4
- package/payload/server/public/activity.html +7 -7
- package/payload/server/public/agents.html +6 -6
- package/payload/server/public/assets/AdminLoginScreens-BLGZEaKU.js +1 -0
- package/payload/server/public/assets/AdminLoginScreens-BLGZEaKU.js.br +0 -0
- package/payload/server/public/assets/AdminLoginScreens-BLGZEaKU.js.gz +0 -0
- package/payload/server/public/assets/AdminShell-C_M7YE5Z.js +3 -0
- package/payload/server/public/assets/AdminShell-C_M7YE5Z.js.br +0 -0
- package/payload/server/public/assets/AdminShell-C_M7YE5Z.js.gz +0 -0
- package/payload/server/public/assets/activity-BL6qbB9a.js +1 -0
- package/payload/server/public/assets/activity-BL6qbB9a.js.br +0 -0
- package/payload/server/public/assets/activity-BL6qbB9a.js.gz +0 -0
- package/payload/server/public/assets/admin-jnJ3P2u4.js +1 -0
- package/payload/server/public/assets/admin-jnJ3P2u4.js.br +0 -0
- package/payload/server/public/assets/admin-jnJ3P2u4.js.gz +0 -0
- package/payload/server/public/assets/agents-BzhfKZDN.js +1 -0
- package/payload/server/public/assets/agents-BzhfKZDN.js.br +0 -0
- package/payload/server/public/assets/agents-BzhfKZDN.js.gz +0 -0
- package/payload/server/public/assets/arc-Bge2fWf4.js +1 -0
- package/payload/server/public/assets/arc-Bge2fWf4.js.br +0 -0
- package/payload/server/public/assets/arc-Bge2fWf4.js.gz +0 -0
- package/payload/server/public/assets/architecture-YZFGNWBL-B9jqFTbw.js +1 -0
- package/payload/server/public/assets/architecture-YZFGNWBL-B9jqFTbw.js.br +0 -0
- package/payload/server/public/assets/architectureDiagram-Q4EWVU46-BRauf5b8.js +36 -0
- package/payload/server/public/assets/architectureDiagram-Q4EWVU46-BRauf5b8.js.br +0 -0
- package/payload/server/public/assets/architectureDiagram-Q4EWVU46-BRauf5b8.js.gz +0 -0
- package/payload/server/public/assets/blockDiagram-DXYQGD6D-CUJ554WZ.js +132 -0
- package/payload/server/public/assets/blockDiagram-DXYQGD6D-CUJ554WZ.js.br +0 -0
- package/payload/server/public/assets/blockDiagram-DXYQGD6D-CUJ554WZ.js.gz +0 -0
- package/payload/server/public/assets/browser-C-6io2B9.js +1 -0
- package/payload/server/public/assets/browser-C-6io2B9.js.br +0 -0
- package/payload/server/public/assets/browser-C-6io2B9.js.gz +0 -0
- package/payload/server/public/assets/c4Diagram-AHTNJAMY-CV9gKsKo.js +10 -0
- package/payload/server/public/assets/c4Diagram-AHTNJAMY-CV9gKsKo.js.br +0 -0
- package/payload/server/public/assets/c4Diagram-AHTNJAMY-CV9gKsKo.js.gz +0 -0
- package/payload/server/public/assets/calendar-Dt3gS88s.js +1 -0
- package/payload/server/public/assets/calendar-Dt3gS88s.js.br +0 -0
- package/payload/server/public/assets/calendar-Dt3gS88s.js.gz +0 -0
- package/payload/server/public/assets/channel-DUwJcjZw.js +1 -0
- package/payload/server/public/assets/channel-DUwJcjZw.js.br +0 -0
- package/payload/server/public/assets/chat-IUOvVkL-.js +1 -0
- package/payload/server/public/assets/chat-IUOvVkL-.js.br +1 -0
- package/payload/server/public/assets/chat-IUOvVkL-.js.gz +0 -0
- package/payload/server/public/assets/chevron-left-DSzR9zR7.js +1 -0
- package/payload/server/public/assets/chevron-left-DSzR9zR7.js.br +0 -0
- package/payload/server/public/assets/chunk-2KRD3SAO-HzWGrran.js +1 -0
- package/payload/server/public/assets/chunk-2KRD3SAO-HzWGrran.js.br +0 -0
- package/payload/server/public/assets/chunk-2KRD3SAO-HzWGrran.js.gz +0 -0
- package/payload/server/public/assets/chunk-336JU56O-ChGDYu_S.js +2 -0
- package/payload/server/public/assets/chunk-336JU56O-ChGDYu_S.js.br +0 -0
- package/payload/server/public/assets/chunk-336JU56O-ChGDYu_S.js.gz +0 -0
- package/payload/server/public/assets/chunk-426QAEUC-DLLi1nAr.js +1 -0
- package/payload/server/public/assets/chunk-426QAEUC-DLLi1nAr.js.br +0 -0
- package/payload/server/public/assets/chunk-426QAEUC-DLLi1nAr.js.gz +0 -0
- package/payload/server/public/assets/chunk-4BX2VUAB-BJunAy2u.js +1 -0
- package/payload/server/public/assets/chunk-4BX2VUAB-BJunAy2u.js.br +0 -0
- package/payload/server/public/assets/chunk-4BX2VUAB-BJunAy2u.js.gz +0 -0
- package/payload/server/public/assets/chunk-4TB4RGXK-Df9Ew0fN.js +206 -0
- package/payload/server/public/assets/chunk-4TB4RGXK-Df9Ew0fN.js.br +0 -0
- package/payload/server/public/assets/chunk-4TB4RGXK-Df9Ew0fN.js.gz +0 -0
- package/payload/server/public/assets/chunk-55IACEB6-DtquCg7p.js +1 -0
- package/payload/server/public/assets/chunk-55IACEB6-DtquCg7p.js.br +0 -0
- package/payload/server/public/assets/chunk-55IACEB6-DtquCg7p.js.gz +0 -0
- package/payload/server/public/assets/chunk-5FUZZQ4R-B3s1YuQa.js +62 -0
- package/payload/server/public/assets/chunk-5FUZZQ4R-B3s1YuQa.js.br +0 -0
- package/payload/server/public/assets/chunk-5FUZZQ4R-B3s1YuQa.js.gz +0 -0
- package/payload/server/public/assets/chunk-5PVQY5BW-C0bRnMKQ.js +2 -0
- package/payload/server/public/assets/chunk-5PVQY5BW-C0bRnMKQ.js.br +0 -0
- package/payload/server/public/assets/chunk-5PVQY5BW-C0bRnMKQ.js.gz +0 -0
- package/payload/server/public/assets/chunk-67CJDMHE-B9jxnEpu.js +1 -0
- package/payload/server/public/assets/chunk-67CJDMHE-B9jxnEpu.js.br +0 -0
- package/payload/server/public/assets/chunk-67CJDMHE-B9jxnEpu.js.gz +0 -0
- package/payload/server/public/assets/chunk-7N4EOEYR-DaimaIlO.js +1 -0
- package/payload/server/public/assets/chunk-7N4EOEYR-DaimaIlO.js.br +0 -0
- package/payload/server/public/assets/chunk-7N4EOEYR-DaimaIlO.js.gz +0 -0
- package/payload/server/public/assets/chunk-AA7GKIK3-htgz4y5z.js +1 -0
- package/payload/server/public/assets/chunk-AA7GKIK3-htgz4y5z.js.br +0 -0
- package/payload/server/public/assets/chunk-AA7GKIK3-htgz4y5z.js.gz +0 -0
- package/payload/server/public/assets/chunk-BSJP7CBP-0xBlnKJN.js +1 -0
- package/payload/server/public/assets/chunk-BSJP7CBP-0xBlnKJN.js.br +0 -0
- package/payload/server/public/assets/chunk-BSJP7CBP-0xBlnKJN.js.gz +0 -0
- package/payload/server/public/assets/chunk-CIAEETIT-HZOrcAzJ.js +1 -0
- package/payload/server/public/assets/chunk-CIAEETIT-HZOrcAzJ.js.br +0 -0
- package/payload/server/public/assets/chunk-CIAEETIT-HZOrcAzJ.js.gz +0 -0
- package/payload/server/public/assets/chunk-EDXVE4YY-CC8hCcuU.js +1 -0
- package/payload/server/public/assets/chunk-EDXVE4YY-CC8hCcuU.js.br +0 -0
- package/payload/server/public/assets/chunk-EDXVE4YY-CC8hCcuU.js.gz +0 -0
- package/payload/server/public/assets/chunk-ENJZ2VHE-BdPfdZYB.js +10 -0
- package/payload/server/public/assets/chunk-ENJZ2VHE-BdPfdZYB.js.br +0 -0
- package/payload/server/public/assets/chunk-ENJZ2VHE-BdPfdZYB.js.gz +0 -0
- package/payload/server/public/assets/chunk-FMBD7UC4-MHdn_KgF.js +15 -0
- package/payload/server/public/assets/chunk-FMBD7UC4-MHdn_KgF.js.br +0 -0
- package/payload/server/public/assets/chunk-FMBD7UC4-MHdn_KgF.js.gz +0 -0
- package/payload/server/public/assets/chunk-FOC6F5B3-Ti8BlQKX.js +1 -0
- package/payload/server/public/assets/chunk-FOC6F5B3-Ti8BlQKX.js.br +0 -0
- package/payload/server/public/assets/chunk-FOC6F5B3-Ti8BlQKX.js.gz +0 -0
- package/payload/server/public/assets/chunk-ICPOFSXX-BP8A8zb1.js +122 -0
- package/payload/server/public/assets/chunk-ICPOFSXX-BP8A8zb1.js.br +0 -0
- package/payload/server/public/assets/chunk-ICPOFSXX-BP8A8zb1.js.gz +0 -0
- package/payload/server/public/assets/chunk-K5T4RW27-F30EnSBL.js +94 -0
- package/payload/server/public/assets/chunk-K5T4RW27-F30EnSBL.js.br +0 -0
- package/payload/server/public/assets/chunk-K5T4RW27-F30EnSBL.js.gz +0 -0
- package/payload/server/public/assets/chunk-KGLVRYIC-DNSEkg2Q.js +1 -0
- package/payload/server/public/assets/chunk-KGLVRYIC-DNSEkg2Q.js.br +2 -0
- package/payload/server/public/assets/chunk-KGLVRYIC-DNSEkg2Q.js.gz +0 -0
- package/payload/server/public/assets/chunk-LIHQZDEY-DM7b0dec.js +1 -0
- package/payload/server/public/assets/chunk-LIHQZDEY-DM7b0dec.js.br +0 -0
- package/payload/server/public/assets/chunk-LIHQZDEY-DM7b0dec.js.gz +0 -0
- package/payload/server/public/assets/chunk-ORNJ4GCN-B0qoI_vp.js +1 -0
- package/payload/server/public/assets/chunk-ORNJ4GCN-B0qoI_vp.js.br +0 -0
- package/payload/server/public/assets/chunk-ORNJ4GCN-B0qoI_vp.js.gz +0 -0
- package/payload/server/public/assets/chunk-OYMX7WX6-Bfzo53eI.js +231 -0
- package/payload/server/public/assets/chunk-OYMX7WX6-Bfzo53eI.js.br +0 -0
- package/payload/server/public/assets/chunk-OYMX7WX6-Bfzo53eI.js.gz +0 -0
- package/payload/server/public/assets/chunk-QZHKN3VN-A6b8ZN9i.js +1 -0
- package/payload/server/public/assets/chunk-QZHKN3VN-A6b8ZN9i.js.br +0 -0
- package/payload/server/public/assets/chunk-QZHKN3VN-A6b8ZN9i.js.gz +0 -0
- package/payload/server/public/assets/chunk-U2HBQHQK-DcqGPXEy.js +70 -0
- package/payload/server/public/assets/chunk-U2HBQHQK-DcqGPXEy.js.br +0 -0
- package/payload/server/public/assets/chunk-U2HBQHQK-DcqGPXEy.js.gz +0 -0
- package/payload/server/public/assets/chunk-X2U36JSP-DtRi7n5Z.js +1 -0
- package/payload/server/public/assets/chunk-X2U36JSP-DtRi7n5Z.js.br +0 -0
- package/payload/server/public/assets/chunk-X2U36JSP-DtRi7n5Z.js.gz +0 -0
- package/payload/server/public/assets/chunk-XPW4576I-DmuDCcY3.js +32 -0
- package/payload/server/public/assets/chunk-XPW4576I-DmuDCcY3.js.br +0 -0
- package/payload/server/public/assets/chunk-XPW4576I-DmuDCcY3.js.gz +0 -0
- package/payload/server/public/assets/chunk-YZCP3GAM-oKk9Gv_e.js +1 -0
- package/payload/server/public/assets/chunk-YZCP3GAM-oKk9Gv_e.js.br +0 -0
- package/payload/server/public/assets/chunk-YZCP3GAM-oKk9Gv_e.js.gz +0 -0
- package/payload/server/public/assets/chunk-ZZ45TVLE-teET41Yh.js +1 -0
- package/payload/server/public/assets/chunk-ZZ45TVLE-teET41Yh.js.br +0 -0
- package/payload/server/public/assets/chunk-ZZ45TVLE-teET41Yh.js.gz +0 -0
- package/payload/server/public/assets/classDiagram-6PBFFD2Q-CMXajSzA.js +1 -0
- package/payload/server/public/assets/classDiagram-6PBFFD2Q-CMXajSzA.js.br +0 -0
- package/payload/server/public/assets/classDiagram-6PBFFD2Q-CMXajSzA.js.gz +0 -0
- package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-Cz5Kib2r.js +1 -0
- package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-Cz5Kib2r.js.br +0 -0
- package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-Cz5Kib2r.js.gz +0 -0
- package/payload/server/public/assets/clock-C5xE5p2I.js +1 -0
- package/payload/server/public/assets/clock-C5xE5p2I.js.br +0 -0
- package/payload/server/public/assets/clone-BORhq8On.js +1 -0
- package/payload/server/public/assets/clone-BORhq8On.js.br +0 -0
- package/payload/server/public/assets/copy-TkPJgllS.js +1 -0
- package/payload/server/public/assets/copy-TkPJgllS.js.br +0 -0
- package/payload/server/public/assets/copy-TkPJgllS.js.gz +0 -0
- package/payload/server/public/assets/cose-bilkent-S5V4N54A-D1xLpHGm.js +1 -0
- package/payload/server/public/assets/cose-bilkent-S5V4N54A-D1xLpHGm.js.br +0 -0
- package/payload/server/public/assets/cose-bilkent-S5V4N54A-D1xLpHGm.js.gz +0 -0
- package/payload/server/public/assets/dagre-KV5264BT-Byl65NKT.js +4 -0
- package/payload/server/public/assets/dagre-KV5264BT-Byl65NKT.js.br +0 -0
- package/payload/server/public/assets/dagre-KV5264BT-Byl65NKT.js.gz +0 -0
- package/payload/server/public/assets/dagre-ZzXkSDir.js +1 -0
- package/payload/server/public/assets/dagre-ZzXkSDir.js.br +0 -0
- package/payload/server/public/assets/dagre-ZzXkSDir.js.gz +0 -0
- package/payload/server/public/assets/data-Bhv0Pvfl.js +1 -0
- package/payload/server/public/assets/data-Bhv0Pvfl.js.br +0 -0
- package/payload/server/public/assets/data-Bhv0Pvfl.js.gz +0 -0
- package/payload/server/public/assets/diagram-5BDNPKRD-BFNkV5GK.js +10 -0
- package/payload/server/public/assets/diagram-5BDNPKRD-BFNkV5GK.js.br +0 -0
- package/payload/server/public/assets/diagram-5BDNPKRD-BFNkV5GK.js.gz +0 -0
- package/payload/server/public/assets/diagram-G4DWMVQ6-1n6vHXzR.js +24 -0
- package/payload/server/public/assets/diagram-G4DWMVQ6-1n6vHXzR.js.br +0 -0
- package/payload/server/public/assets/diagram-G4DWMVQ6-1n6vHXzR.js.gz +0 -0
- package/payload/server/public/assets/diagram-MMDJMWI5-D4QOzaw0.js +43 -0
- package/payload/server/public/assets/diagram-MMDJMWI5-D4QOzaw0.js.br +0 -0
- package/payload/server/public/assets/diagram-MMDJMWI5-D4QOzaw0.js.gz +0 -0
- package/payload/server/public/assets/diagram-TYMM5635-z8lBRsaV.js +24 -0
- package/payload/server/public/assets/diagram-TYMM5635-z8lBRsaV.js.br +0 -0
- package/payload/server/public/assets/diagram-TYMM5635-z8lBRsaV.js.gz +0 -0
- package/payload/server/public/assets/dist-DjYA4E4S.js +1 -0
- package/payload/server/public/assets/dist-DjYA4E4S.js.br +0 -0
- package/payload/server/public/assets/dist-DjYA4E4S.js.gz +0 -0
- package/payload/server/public/assets/erDiagram-SMLLAGMA-CXj3tbtX.js +85 -0
- package/payload/server/public/assets/erDiagram-SMLLAGMA-CXj3tbtX.js.br +0 -0
- package/payload/server/public/assets/erDiagram-SMLLAGMA-CXj3tbtX.js.gz +0 -0
- package/payload/server/public/assets/field-B490-evJ.js +1 -0
- package/payload/server/public/assets/field-B490-evJ.js.br +0 -0
- package/payload/server/public/assets/field-B490-evJ.js.gz +0 -0
- package/payload/server/public/assets/file-text-DyAL2DCh.js +1 -0
- package/payload/server/public/assets/file-text-DyAL2DCh.js.br +0 -0
- package/payload/server/public/assets/file-text-DyAL2DCh.js.gz +0 -0
- package/payload/server/public/assets/flatten-UdUTbm8v.js +1 -0
- package/payload/server/public/assets/flatten-UdUTbm8v.js.br +0 -0
- package/payload/server/public/assets/flatten-UdUTbm8v.js.gz +0 -0
- package/payload/server/public/assets/flowDiagram-DWJPFMVM-DnySI-I4.js +162 -0
- package/payload/server/public/assets/flowDiagram-DWJPFMVM-DnySI-I4.js.br +0 -0
- package/payload/server/public/assets/flowDiagram-DWJPFMVM-DnySI-I4.js.gz +0 -0
- package/payload/server/public/assets/ganttDiagram-T4ZO3ILL-BIE2Q78F.js +292 -0
- package/payload/server/public/assets/ganttDiagram-T4ZO3ILL-BIE2Q78F.js.br +0 -0
- package/payload/server/public/assets/ganttDiagram-T4ZO3ILL-BIE2Q78F.js.gz +0 -0
- package/payload/server/public/assets/gitGraph-7Q5UKJZL-Ua2z-DNt.js +1 -0
- package/payload/server/public/assets/gitGraph-7Q5UKJZL-Ua2z-DNt.js.br +0 -0
- package/payload/server/public/assets/gitGraphDiagram-UUTBAWPF-B2RTRpyG.js +106 -0
- package/payload/server/public/assets/gitGraphDiagram-UUTBAWPF-B2RTRpyG.js.br +0 -0
- package/payload/server/public/assets/gitGraphDiagram-UUTBAWPF-B2RTRpyG.js.gz +0 -0
- package/payload/server/public/assets/graph-PiNIcCfX.js +51 -0
- package/payload/server/public/assets/graph-PiNIcCfX.js.br +0 -0
- package/payload/server/public/assets/graph-PiNIcCfX.js.gz +0 -0
- package/payload/server/public/assets/graph-labels-8jKFrLHn.js +1 -0
- package/payload/server/public/assets/graph-labels-8jKFrLHn.js.br +0 -0
- package/payload/server/public/assets/graph-labels-8jKFrLHn.js.gz +0 -0
- package/payload/server/public/assets/graphlib-SOh92ucm.js +1 -0
- package/payload/server/public/assets/graphlib-SOh92ucm.js.br +0 -0
- package/payload/server/public/assets/graphlib-SOh92ucm.js.gz +0 -0
- package/payload/server/public/assets/info-OMHHGYJF-CNYp42iX.js +1 -0
- package/payload/server/public/assets/info-OMHHGYJF-CNYp42iX.js.br +0 -0
- package/payload/server/public/assets/infoDiagram-42DDH7IO-DklHffYr.js +2 -0
- package/payload/server/public/assets/infoDiagram-42DDH7IO-DklHffYr.js.br +0 -0
- package/payload/server/public/assets/infoDiagram-42DDH7IO-DklHffYr.js.gz +0 -0
- package/payload/server/public/assets/isEmpty-DY_Xp9Na.js +1 -0
- package/payload/server/public/assets/isEmpty-DY_Xp9Na.js.br +0 -0
- package/payload/server/public/assets/isEmpty-DY_Xp9Na.js.gz +0 -0
- package/payload/server/public/assets/ishikawaDiagram-UXIWVN3A-KAC06i3M.js +70 -0
- package/payload/server/public/assets/ishikawaDiagram-UXIWVN3A-KAC06i3M.js.br +0 -0
- package/payload/server/public/assets/ishikawaDiagram-UXIWVN3A-KAC06i3M.js.gz +0 -0
- package/payload/server/public/assets/journeyDiagram-VCZTEJTY-cA37ob8S.js +139 -0
- package/payload/server/public/assets/journeyDiagram-VCZTEJTY-cA37ob8S.js.br +0 -0
- package/payload/server/public/assets/journeyDiagram-VCZTEJTY-cA37ob8S.js.gz +0 -0
- package/payload/server/public/assets/jsx-runtime-ChVh0xOm.css +1 -0
- package/payload/server/public/assets/jsx-runtime-ChVh0xOm.css.br +0 -0
- package/payload/server/public/assets/jsx-runtime-ChVh0xOm.css.gz +0 -0
- package/payload/server/public/assets/jsx-runtime-YcUntiud.js +9 -0
- package/payload/server/public/assets/jsx-runtime-YcUntiud.js.br +0 -0
- package/payload/server/public/assets/jsx-runtime-YcUntiud.js.gz +0 -0
- package/payload/server/public/assets/kanban-definition-6JOO6SKY-CBjL70wU.js +89 -0
- package/payload/server/public/assets/kanban-definition-6JOO6SKY-CBjL70wU.js.br +0 -0
- package/payload/server/public/assets/kanban-definition-6JOO6SKY-CBjL70wU.js.gz +0 -0
- package/payload/server/public/assets/line-K8229GLG.js +1 -0
- package/payload/server/public/assets/line-K8229GLG.js.br +0 -0
- package/payload/server/public/assets/line-K8229GLG.js.gz +0 -0
- package/payload/server/public/assets/linear-DeX7Wdt6.js +1 -0
- package/payload/server/public/assets/linear-DeX7Wdt6.js.br +0 -0
- package/payload/server/public/assets/linear-DeX7Wdt6.js.gz +0 -0
- package/payload/server/public/assets/mermaid-parser.core-OnNOAzPX.js +4 -0
- package/payload/server/public/assets/mermaid-parser.core-OnNOAzPX.js.br +0 -0
- package/payload/server/public/assets/mermaid-parser.core-OnNOAzPX.js.gz +0 -0
- package/payload/server/public/assets/mermaid.core-DA-Gezeo.js +11 -0
- package/payload/server/public/assets/mermaid.core-DA-Gezeo.js.br +0 -0
- package/payload/server/public/assets/mermaid.core-DA-Gezeo.js.gz +0 -0
- package/payload/server/public/assets/mindmap-definition-QFDTVHPH-C24TcDyS.js +96 -0
- package/payload/server/public/assets/mindmap-definition-QFDTVHPH-C24TcDyS.js.br +0 -0
- package/payload/server/public/assets/mindmap-definition-QFDTVHPH-C24TcDyS.js.gz +0 -0
- package/payload/server/public/assets/operator-DKGKGzrb.js +1 -0
- package/payload/server/public/assets/operator-DKGKGzrb.js.br +0 -0
- package/payload/server/public/assets/operator-DKGKGzrb.js.gz +0 -0
- package/payload/server/public/assets/ordinal-gnpqfIHn.js +1 -0
- package/payload/server/public/assets/ordinal-gnpqfIHn.js.br +0 -0
- package/payload/server/public/assets/ordinal-gnpqfIHn.js.gz +0 -0
- package/payload/server/public/assets/packet-4T2RLAQJ-B3ZAElsg.js +1 -0
- package/payload/server/public/assets/packet-4T2RLAQJ-B3ZAElsg.js.br +0 -0
- package/payload/server/public/assets/page-BU5vlY9Y.js +1 -0
- package/payload/server/public/assets/page-BU5vlY9Y.js.br +0 -0
- package/payload/server/public/assets/page-BU5vlY9Y.js.gz +0 -0
- package/payload/server/public/assets/page-DXz_K10G.js +32 -0
- package/payload/server/public/assets/page-DXz_K10G.js.br +0 -0
- package/payload/server/public/assets/page-DXz_K10G.js.gz +0 -0
- package/payload/server/public/assets/pdf-render-B5af7vu1.js +11 -0
- package/payload/server/public/assets/pdf-render-B5af7vu1.js.br +0 -0
- package/payload/server/public/assets/pdf-render-B5af7vu1.js.gz +0 -0
- package/payload/server/public/assets/pie-ZZUOXDRM-BWsRCj8p.js +1 -0
- package/payload/server/public/assets/pie-ZZUOXDRM-BWsRCj8p.js.br +0 -0
- package/payload/server/public/assets/pieDiagram-DEJITSTG-ChS9jalQ.js +30 -0
- package/payload/server/public/assets/pieDiagram-DEJITSTG-ChS9jalQ.js.br +0 -0
- package/payload/server/public/assets/pieDiagram-DEJITSTG-ChS9jalQ.js.gz +0 -0
- package/payload/server/public/assets/play-CmSyYrB6.js +1 -0
- package/payload/server/public/assets/play-CmSyYrB6.js.br +0 -0
- package/payload/server/public/assets/play-CmSyYrB6.js.gz +0 -0
- package/payload/server/public/assets/public-BmA3-jLj.js +1 -0
- package/payload/server/public/assets/public-BmA3-jLj.js.br +0 -0
- package/payload/server/public/assets/public-BmA3-jLj.js.gz +0 -0
- package/payload/server/public/assets/quadrantDiagram-34T5L4WZ-BxLfRK0z.js +7 -0
- package/payload/server/public/assets/quadrantDiagram-34T5L4WZ-BxLfRK0z.js.br +0 -0
- package/payload/server/public/assets/quadrantDiagram-34T5L4WZ-BxLfRK0z.js.gz +0 -0
- package/payload/server/public/assets/radar-PYXPWWZC-Gxbt2rGT.js +1 -0
- package/payload/server/public/assets/radar-PYXPWWZC-Gxbt2rGT.js.br +0 -0
- package/payload/server/public/assets/reduce-BvezuHIe.js +1 -0
- package/payload/server/public/assets/reduce-BvezuHIe.js.br +0 -0
- package/payload/server/public/assets/reduce-BvezuHIe.js.gz +0 -0
- package/payload/server/public/assets/requirementDiagram-MS252O5E-CWy48VI3.js +84 -0
- package/payload/server/public/assets/requirementDiagram-MS252O5E-CWy48VI3.js.br +0 -0
- package/payload/server/public/assets/requirementDiagram-MS252O5E-CWy48VI3.js.gz +0 -0
- package/payload/server/public/assets/rotate-ccw-fCH0LSMq.js +1 -0
- package/payload/server/public/assets/rotate-ccw-fCH0LSMq.js.br +0 -0
- package/payload/server/public/assets/rotate-ccw-fCH0LSMq.js.gz +0 -0
- package/payload/server/public/assets/routines-BeFrmkls.js +2 -0
- package/payload/server/public/assets/routines-BeFrmkls.js.br +0 -0
- package/payload/server/public/assets/routines-BeFrmkls.js.gz +0 -0
- package/payload/server/public/assets/sankeyDiagram-XADWPNL6-BBCLEJA3.js +10 -0
- package/payload/server/public/assets/sankeyDiagram-XADWPNL6-BBCLEJA3.js.br +0 -0
- package/payload/server/public/assets/sankeyDiagram-XADWPNL6-BBCLEJA3.js.gz +0 -0
- package/payload/server/public/assets/sequenceDiagram-FGHM5R23-wu64F04G.js +157 -0
- package/payload/server/public/assets/sequenceDiagram-FGHM5R23-wu64F04G.js.br +0 -0
- package/payload/server/public/assets/sequenceDiagram-FGHM5R23-wu64F04G.js.gz +0 -0
- package/payload/server/public/assets/skills-mjls5HBa.js +1 -0
- package/payload/server/public/assets/skills-mjls5HBa.js.br +0 -0
- package/payload/server/public/assets/skills-mjls5HBa.js.gz +0 -0
- package/payload/server/public/assets/src-BvINb2fL.js +1 -0
- package/payload/server/public/assets/src-BvINb2fL.js.br +0 -0
- package/payload/server/public/assets/src-BvINb2fL.js.gz +0 -0
- package/payload/server/public/assets/stateDiagram-FHFEXIEX-Bq6BFFDC.js +1 -0
- package/payload/server/public/assets/stateDiagram-FHFEXIEX-Bq6BFFDC.js.br +0 -0
- package/payload/server/public/assets/stateDiagram-FHFEXIEX-Bq6BFFDC.js.gz +0 -0
- package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-PxPsWt1r.js +1 -0
- package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-PxPsWt1r.js.br +0 -0
- package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-PxPsWt1r.js.gz +0 -0
- package/payload/server/public/assets/tasks-p6puHHD0.js +3 -0
- package/payload/server/public/assets/tasks-p6puHHD0.js.br +0 -0
- package/payload/server/public/assets/tasks-p6puHHD0.js.gz +0 -0
- package/payload/server/public/assets/timeline-definition-GMOUNBTQ-DTdvVZp-.js +120 -0
- package/payload/server/public/assets/timeline-definition-GMOUNBTQ-DTdvVZp-.js.br +0 -0
- package/payload/server/public/assets/timeline-definition-GMOUNBTQ-DTdvVZp-.js.gz +0 -0
- package/payload/server/public/assets/treeView-SZITEDCU-Bl-aPmE3.js +1 -0
- package/payload/server/public/assets/treeView-SZITEDCU-Bl-aPmE3.js.br +0 -0
- package/payload/server/public/assets/treemap-W4RFUUIX-CUxE8Ofg.js +1 -0
- package/payload/server/public/assets/treemap-W4RFUUIX-CUxE8Ofg.js.br +0 -0
- package/payload/server/public/assets/triangle-alert-CrZ1ewbd.js +1 -0
- package/payload/server/public/assets/triangle-alert-CrZ1ewbd.js.br +0 -0
- package/payload/server/public/assets/triangle-alert-CrZ1ewbd.js.gz +0 -0
- package/payload/server/public/assets/useCopyFeedback-zOQNrIwd.js +1 -0
- package/payload/server/public/assets/useCopyFeedback-zOQNrIwd.js.br +0 -0
- package/payload/server/public/assets/useCopyFeedback-zOQNrIwd.js.gz +0 -0
- package/payload/server/public/assets/useMediaQuery-BmG090FR.js +6 -0
- package/payload/server/public/assets/useMediaQuery-BmG090FR.js.br +0 -0
- package/payload/server/public/assets/useMediaQuery-BmG090FR.js.gz +0 -0
- package/payload/server/public/assets/useVoiceRecorder-9pf6FFJ-.js +2 -0
- package/payload/server/public/assets/useVoiceRecorder-9pf6FFJ-.js.br +0 -0
- package/payload/server/public/assets/useVoiceRecorder-9pf6FFJ-.js.gz +0 -0
- package/payload/server/public/assets/vennDiagram-DHZGUBPP-CigqIBdl.js +34 -0
- package/payload/server/public/assets/vennDiagram-DHZGUBPP-CigqIBdl.js.br +0 -0
- package/payload/server/public/assets/vennDiagram-DHZGUBPP-CigqIBdl.js.gz +0 -0
- package/payload/server/public/assets/wardley-RL74JXVD-DPB13D22.js +1 -0
- package/payload/server/public/assets/wardley-RL74JXVD-DPB13D22.js.br +0 -0
- package/payload/server/public/assets/wardleyDiagram-NUSXRM2D-VhV1plUD.js +20 -0
- package/payload/server/public/assets/wardleyDiagram-NUSXRM2D-VhV1plUD.js.br +0 -0
- package/payload/server/public/assets/wardleyDiagram-NUSXRM2D-VhV1plUD.js.gz +0 -0
- package/payload/server/public/assets/wrench-k4GYG5rc.js +1 -0
- package/payload/server/public/assets/wrench-k4GYG5rc.js.br +0 -0
- package/payload/server/public/assets/wrench-k4GYG5rc.js.gz +0 -0
- package/payload/server/public/assets/xychartDiagram-5P7HB3ND-DGkkNLZt.js +7 -0
- package/payload/server/public/assets/xychartDiagram-5P7HB3ND-DGkkNLZt.js.br +0 -0
- package/payload/server/public/assets/xychartDiagram-5P7HB3ND-DGkkNLZt.js.gz +0 -0
- package/payload/server/public/browser.html +6 -6
- package/payload/server/public/calendar.html +9 -9
- package/payload/server/public/chat.html +16 -16
- package/payload/server/public/data.html +15 -15
- package/payload/server/public/field.html +4 -4
- package/payload/server/public/graph.html +11 -11
- package/payload/server/public/index.html +17 -17
- package/payload/server/public/operator.html +17 -17
- package/payload/server/public/public.html +16 -16
- package/payload/server/public/routines.html +10 -10
- package/payload/server/public/skills.html +7 -7
- package/payload/server/public/tasks.html +8 -8
- package/payload/server/server.js +2894 -1985
- package/payload/platform/lib/dispatch-read/src/config.d.ts +0 -26
- package/payload/platform/lib/dispatch-read/src/types.d.ts +0 -143
- package/payload/server/public/assets/AdminLoginScreens-Dp6k1XgD.js +0 -1
- package/payload/server/public/assets/AdminLoginScreens-Dp6k1XgD.js.br +0 -0
- package/payload/server/public/assets/AdminLoginScreens-Dp6k1XgD.js.gz +0 -0
- package/payload/server/public/assets/AdminShell-D-wB90c3.js +0 -3
- package/payload/server/public/assets/AdminShell-D-wB90c3.js.br +0 -0
- package/payload/server/public/assets/AdminShell-D-wB90c3.js.gz +0 -0
- package/payload/server/public/assets/activity-BJxhblz-.js +0 -1
- package/payload/server/public/assets/activity-BJxhblz-.js.br +0 -0
- package/payload/server/public/assets/activity-BJxhblz-.js.gz +0 -0
- package/payload/server/public/assets/admin-DzEi8shs.js +0 -1
- package/payload/server/public/assets/admin-DzEi8shs.js.br +0 -0
- package/payload/server/public/assets/admin-DzEi8shs.js.gz +0 -0
- package/payload/server/public/assets/agents-DTL8kjfD.js +0 -1
- package/payload/server/public/assets/agents-DTL8kjfD.js.br +0 -0
- package/payload/server/public/assets/agents-DTL8kjfD.js.gz +0 -0
- package/payload/server/public/assets/arc-CWXBKNZd.js +0 -1
- package/payload/server/public/assets/arc-CWXBKNZd.js.br +0 -0
- package/payload/server/public/assets/arc-CWXBKNZd.js.gz +0 -0
- package/payload/server/public/assets/architecture-YZFGNWBL-CIL4I0fc.js +0 -1
- package/payload/server/public/assets/architecture-YZFGNWBL-CIL4I0fc.js.br +0 -0
- package/payload/server/public/assets/architectureDiagram-Q4EWVU46-C-KPMyG4.js +0 -36
- package/payload/server/public/assets/architectureDiagram-Q4EWVU46-C-KPMyG4.js.br +0 -0
- package/payload/server/public/assets/architectureDiagram-Q4EWVU46-C-KPMyG4.js.gz +0 -0
- package/payload/server/public/assets/blockDiagram-DXYQGD6D-DkYbV9Sf.js +0 -132
- package/payload/server/public/assets/blockDiagram-DXYQGD6D-DkYbV9Sf.js.br +0 -0
- package/payload/server/public/assets/blockDiagram-DXYQGD6D-DkYbV9Sf.js.gz +0 -0
- package/payload/server/public/assets/browser-UZp75zhx.js +0 -1
- package/payload/server/public/assets/browser-UZp75zhx.js.br +0 -0
- package/payload/server/public/assets/browser-UZp75zhx.js.gz +0 -0
- package/payload/server/public/assets/c4Diagram-AHTNJAMY-EYW4kdlx.js +0 -10
- package/payload/server/public/assets/c4Diagram-AHTNJAMY-EYW4kdlx.js.br +0 -0
- package/payload/server/public/assets/c4Diagram-AHTNJAMY-EYW4kdlx.js.gz +0 -0
- package/payload/server/public/assets/calendar-Dfo0O2K_.js +0 -1
- package/payload/server/public/assets/calendar-Dfo0O2K_.js.br +0 -0
- package/payload/server/public/assets/calendar-Dfo0O2K_.js.gz +0 -0
- package/payload/server/public/assets/channel-CbHmRjy_.js +0 -1
- package/payload/server/public/assets/channel-CbHmRjy_.js.br +0 -0
- package/payload/server/public/assets/chat-ByJAvEWZ.js +0 -1
- package/payload/server/public/assets/chat-ByJAvEWZ.js.br +0 -0
- package/payload/server/public/assets/chat-ByJAvEWZ.js.gz +0 -0
- package/payload/server/public/assets/chevron-left-iG7sYNm7.js +0 -1
- package/payload/server/public/assets/chevron-left-iG7sYNm7.js.br +0 -0
- package/payload/server/public/assets/chunk-2KRD3SAO-CmAF1UmH.js +0 -1
- package/payload/server/public/assets/chunk-2KRD3SAO-CmAF1UmH.js.br +0 -0
- package/payload/server/public/assets/chunk-2KRD3SAO-CmAF1UmH.js.gz +0 -0
- package/payload/server/public/assets/chunk-336JU56O-CyhmJeMM.js +0 -2
- package/payload/server/public/assets/chunk-336JU56O-CyhmJeMM.js.br +0 -0
- package/payload/server/public/assets/chunk-336JU56O-CyhmJeMM.js.gz +0 -0
- package/payload/server/public/assets/chunk-426QAEUC-C2tnHCM7.js +0 -1
- package/payload/server/public/assets/chunk-426QAEUC-C2tnHCM7.js.br +0 -0
- package/payload/server/public/assets/chunk-426QAEUC-C2tnHCM7.js.gz +0 -0
- package/payload/server/public/assets/chunk-4BX2VUAB-DCzC40-Y.js +0 -1
- package/payload/server/public/assets/chunk-4BX2VUAB-DCzC40-Y.js.br +0 -0
- package/payload/server/public/assets/chunk-4BX2VUAB-DCzC40-Y.js.gz +0 -0
- package/payload/server/public/assets/chunk-4TB4RGXK-D9BXrSA_.js +0 -206
- package/payload/server/public/assets/chunk-4TB4RGXK-D9BXrSA_.js.br +0 -0
- package/payload/server/public/assets/chunk-4TB4RGXK-D9BXrSA_.js.gz +0 -0
- package/payload/server/public/assets/chunk-55IACEB6-BwXC-qTZ.js +0 -1
- package/payload/server/public/assets/chunk-55IACEB6-BwXC-qTZ.js.br +0 -0
- package/payload/server/public/assets/chunk-55IACEB6-BwXC-qTZ.js.gz +0 -0
- package/payload/server/public/assets/chunk-5FUZZQ4R-De7QtXxM.js +0 -62
- package/payload/server/public/assets/chunk-5FUZZQ4R-De7QtXxM.js.br +0 -0
- package/payload/server/public/assets/chunk-5FUZZQ4R-De7QtXxM.js.gz +0 -0
- package/payload/server/public/assets/chunk-5PVQY5BW-B5tsJiCq.js +0 -2
- package/payload/server/public/assets/chunk-5PVQY5BW-B5tsJiCq.js.br +0 -0
- package/payload/server/public/assets/chunk-5PVQY5BW-B5tsJiCq.js.gz +0 -0
- package/payload/server/public/assets/chunk-67CJDMHE-BjTh9STV.js +0 -1
- package/payload/server/public/assets/chunk-67CJDMHE-BjTh9STV.js.br +0 -0
- package/payload/server/public/assets/chunk-67CJDMHE-BjTh9STV.js.gz +0 -0
- package/payload/server/public/assets/chunk-7N4EOEYR-91klRswn.js +0 -1
- package/payload/server/public/assets/chunk-7N4EOEYR-91klRswn.js.br +0 -0
- package/payload/server/public/assets/chunk-7N4EOEYR-91klRswn.js.gz +0 -0
- package/payload/server/public/assets/chunk-AA7GKIK3-XFPGEoBu.js +0 -1
- package/payload/server/public/assets/chunk-AA7GKIK3-XFPGEoBu.js.br +0 -3
- package/payload/server/public/assets/chunk-AA7GKIK3-XFPGEoBu.js.gz +0 -0
- package/payload/server/public/assets/chunk-BSJP7CBP-B7wgMyWq.js +0 -1
- package/payload/server/public/assets/chunk-BSJP7CBP-B7wgMyWq.js.br +0 -0
- package/payload/server/public/assets/chunk-BSJP7CBP-B7wgMyWq.js.gz +0 -0
- package/payload/server/public/assets/chunk-CIAEETIT-WPy9vcOo.js +0 -1
- package/payload/server/public/assets/chunk-CIAEETIT-WPy9vcOo.js.br +0 -0
- package/payload/server/public/assets/chunk-CIAEETIT-WPy9vcOo.js.gz +0 -0
- package/payload/server/public/assets/chunk-EDXVE4YY-D_2JIFFG.js +0 -1
- package/payload/server/public/assets/chunk-EDXVE4YY-D_2JIFFG.js.br +0 -0
- package/payload/server/public/assets/chunk-EDXVE4YY-D_2JIFFG.js.gz +0 -0
- package/payload/server/public/assets/chunk-ENJZ2VHE-xORReRt0.js +0 -10
- package/payload/server/public/assets/chunk-ENJZ2VHE-xORReRt0.js.br +0 -0
- package/payload/server/public/assets/chunk-ENJZ2VHE-xORReRt0.js.gz +0 -0
- package/payload/server/public/assets/chunk-FMBD7UC4-BZsDu4nl.js +0 -15
- package/payload/server/public/assets/chunk-FMBD7UC4-BZsDu4nl.js.br +0 -0
- package/payload/server/public/assets/chunk-FMBD7UC4-BZsDu4nl.js.gz +0 -0
- package/payload/server/public/assets/chunk-FOC6F5B3-QzUp8wXX.js +0 -1
- package/payload/server/public/assets/chunk-FOC6F5B3-QzUp8wXX.js.br +0 -0
- package/payload/server/public/assets/chunk-FOC6F5B3-QzUp8wXX.js.gz +0 -0
- package/payload/server/public/assets/chunk-ICPOFSXX-B64S7i7x.js +0 -122
- package/payload/server/public/assets/chunk-ICPOFSXX-B64S7i7x.js.br +0 -0
- package/payload/server/public/assets/chunk-ICPOFSXX-B64S7i7x.js.gz +0 -0
- package/payload/server/public/assets/chunk-K5T4RW27-DzPc6X1_.js +0 -94
- package/payload/server/public/assets/chunk-K5T4RW27-DzPc6X1_.js.br +0 -0
- package/payload/server/public/assets/chunk-K5T4RW27-DzPc6X1_.js.gz +0 -0
- package/payload/server/public/assets/chunk-KGLVRYIC-A2rPnD7k.js +0 -1
- package/payload/server/public/assets/chunk-KGLVRYIC-A2rPnD7k.js.br +0 -1
- package/payload/server/public/assets/chunk-KGLVRYIC-A2rPnD7k.js.gz +0 -0
- package/payload/server/public/assets/chunk-LIHQZDEY-CaWX327m.js +0 -1
- package/payload/server/public/assets/chunk-LIHQZDEY-CaWX327m.js.br +0 -0
- package/payload/server/public/assets/chunk-LIHQZDEY-CaWX327m.js.gz +0 -0
- package/payload/server/public/assets/chunk-ORNJ4GCN-zrWhdmnc.js +0 -1
- package/payload/server/public/assets/chunk-ORNJ4GCN-zrWhdmnc.js.br +0 -0
- package/payload/server/public/assets/chunk-ORNJ4GCN-zrWhdmnc.js.gz +0 -0
- package/payload/server/public/assets/chunk-OYMX7WX6-B_2qQir6.js +0 -231
- package/payload/server/public/assets/chunk-OYMX7WX6-B_2qQir6.js.br +0 -0
- package/payload/server/public/assets/chunk-OYMX7WX6-B_2qQir6.js.gz +0 -0
- package/payload/server/public/assets/chunk-QZHKN3VN-BzgrgCTo.js +0 -1
- package/payload/server/public/assets/chunk-QZHKN3VN-BzgrgCTo.js.br +0 -0
- package/payload/server/public/assets/chunk-QZHKN3VN-BzgrgCTo.js.gz +0 -0
- package/payload/server/public/assets/chunk-U2HBQHQK-B-IYgxsc.js +0 -70
- package/payload/server/public/assets/chunk-U2HBQHQK-B-IYgxsc.js.br +0 -0
- package/payload/server/public/assets/chunk-U2HBQHQK-B-IYgxsc.js.gz +0 -0
- package/payload/server/public/assets/chunk-X2U36JSP-Y9Y1_EuG.js +0 -1
- package/payload/server/public/assets/chunk-X2U36JSP-Y9Y1_EuG.js.br +0 -0
- package/payload/server/public/assets/chunk-X2U36JSP-Y9Y1_EuG.js.gz +0 -0
- package/payload/server/public/assets/chunk-XPW4576I-C-6yETG_.js +0 -32
- package/payload/server/public/assets/chunk-XPW4576I-C-6yETG_.js.br +0 -0
- package/payload/server/public/assets/chunk-XPW4576I-C-6yETG_.js.gz +0 -0
- package/payload/server/public/assets/chunk-YZCP3GAM-KAuQIU5n.js +0 -1
- package/payload/server/public/assets/chunk-YZCP3GAM-KAuQIU5n.js.br +0 -0
- package/payload/server/public/assets/chunk-YZCP3GAM-KAuQIU5n.js.gz +0 -0
- package/payload/server/public/assets/chunk-ZZ45TVLE-BJcH3KDH.js +0 -1
- package/payload/server/public/assets/chunk-ZZ45TVLE-BJcH3KDH.js.br +0 -0
- package/payload/server/public/assets/chunk-ZZ45TVLE-BJcH3KDH.js.gz +0 -0
- package/payload/server/public/assets/classDiagram-6PBFFD2Q-BxvqeBEj.js +0 -1
- package/payload/server/public/assets/classDiagram-6PBFFD2Q-BxvqeBEj.js.br +0 -0
- package/payload/server/public/assets/classDiagram-6PBFFD2Q-BxvqeBEj.js.gz +0 -0
- package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-R3-NzMRG.js +0 -1
- package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-R3-NzMRG.js.br +0 -0
- package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-R3-NzMRG.js.gz +0 -0
- package/payload/server/public/assets/clock-xSs0UF10.js +0 -1
- package/payload/server/public/assets/clock-xSs0UF10.js.br +0 -0
- package/payload/server/public/assets/clock-xSs0UF10.js.gz +0 -0
- package/payload/server/public/assets/clone-QdOE5SXR.js +0 -1
- package/payload/server/public/assets/copy-CGI2jioK.js +0 -1
- package/payload/server/public/assets/copy-CGI2jioK.js.br +0 -0
- package/payload/server/public/assets/copy-CGI2jioK.js.gz +0 -0
- package/payload/server/public/assets/cose-bilkent-S5V4N54A-CcXj8vHa.js +0 -1
- package/payload/server/public/assets/cose-bilkent-S5V4N54A-CcXj8vHa.js.br +0 -0
- package/payload/server/public/assets/cose-bilkent-S5V4N54A-CcXj8vHa.js.gz +0 -0
- package/payload/server/public/assets/dagre-DOtq9kYX.js +0 -1
- package/payload/server/public/assets/dagre-DOtq9kYX.js.br +0 -0
- package/payload/server/public/assets/dagre-DOtq9kYX.js.gz +0 -0
- package/payload/server/public/assets/dagre-KV5264BT-BOhQs4rS.js +0 -4
- package/payload/server/public/assets/dagre-KV5264BT-BOhQs4rS.js.br +0 -0
- package/payload/server/public/assets/dagre-KV5264BT-BOhQs4rS.js.gz +0 -0
- package/payload/server/public/assets/data-dvwK4BcP.js +0 -1
- package/payload/server/public/assets/data-dvwK4BcP.js.br +0 -0
- package/payload/server/public/assets/data-dvwK4BcP.js.gz +0 -0
- package/payload/server/public/assets/diagram-5BDNPKRD-CqJFt5ZM.js +0 -10
- package/payload/server/public/assets/diagram-5BDNPKRD-CqJFt5ZM.js.br +0 -0
- package/payload/server/public/assets/diagram-5BDNPKRD-CqJFt5ZM.js.gz +0 -0
- package/payload/server/public/assets/diagram-G4DWMVQ6-WQIyAZMn.js +0 -24
- package/payload/server/public/assets/diagram-G4DWMVQ6-WQIyAZMn.js.br +0 -0
- package/payload/server/public/assets/diagram-G4DWMVQ6-WQIyAZMn.js.gz +0 -0
- package/payload/server/public/assets/diagram-MMDJMWI5-jcKc4a2w.js +0 -43
- package/payload/server/public/assets/diagram-MMDJMWI5-jcKc4a2w.js.br +0 -0
- package/payload/server/public/assets/diagram-MMDJMWI5-jcKc4a2w.js.gz +0 -0
- package/payload/server/public/assets/diagram-TYMM5635-Bbt2KuWe.js +0 -24
- package/payload/server/public/assets/diagram-TYMM5635-Bbt2KuWe.js.br +0 -0
- package/payload/server/public/assets/diagram-TYMM5635-Bbt2KuWe.js.gz +0 -0
- package/payload/server/public/assets/dispatch-Dx9-ty1K.js +0 -1
- package/payload/server/public/assets/dispatch-Dx9-ty1K.js.br +0 -0
- package/payload/server/public/assets/dispatch-Dx9-ty1K.js.gz +0 -0
- package/payload/server/public/assets/dist-9RiN6lky.js +0 -1
- package/payload/server/public/assets/dist-9RiN6lky.js.br +0 -0
- package/payload/server/public/assets/dist-9RiN6lky.js.gz +0 -0
- package/payload/server/public/assets/erDiagram-SMLLAGMA-BBm6azPJ.js +0 -85
- package/payload/server/public/assets/erDiagram-SMLLAGMA-BBm6azPJ.js.br +0 -0
- package/payload/server/public/assets/erDiagram-SMLLAGMA-BBm6azPJ.js.gz +0 -0
- package/payload/server/public/assets/field-D-P6CsWA.js +0 -1
- package/payload/server/public/assets/field-D-P6CsWA.js.br +0 -0
- package/payload/server/public/assets/field-D-P6CsWA.js.gz +0 -0
- package/payload/server/public/assets/file-text-RWintp9q.js +0 -1
- package/payload/server/public/assets/file-text-RWintp9q.js.br +0 -0
- package/payload/server/public/assets/file-text-RWintp9q.js.gz +0 -0
- package/payload/server/public/assets/flatten-BurGKeIy.js +0 -1
- package/payload/server/public/assets/flatten-BurGKeIy.js.br +0 -0
- package/payload/server/public/assets/flatten-BurGKeIy.js.gz +0 -0
- package/payload/server/public/assets/flowDiagram-DWJPFMVM-_r45DYJ8.js +0 -162
- package/payload/server/public/assets/flowDiagram-DWJPFMVM-_r45DYJ8.js.br +0 -0
- package/payload/server/public/assets/flowDiagram-DWJPFMVM-_r45DYJ8.js.gz +0 -0
- package/payload/server/public/assets/ganttDiagram-T4ZO3ILL-Bjgj9Bej.js +0 -292
- package/payload/server/public/assets/ganttDiagram-T4ZO3ILL-Bjgj9Bej.js.br +0 -0
- package/payload/server/public/assets/ganttDiagram-T4ZO3ILL-Bjgj9Bej.js.gz +0 -0
- package/payload/server/public/assets/gitGraph-7Q5UKJZL-DdbK59od.js +0 -1
- package/payload/server/public/assets/gitGraph-7Q5UKJZL-DdbK59od.js.br +0 -0
- package/payload/server/public/assets/gitGraphDiagram-UUTBAWPF-DTRdhGJA.js +0 -106
- package/payload/server/public/assets/gitGraphDiagram-UUTBAWPF-DTRdhGJA.js.br +0 -0
- package/payload/server/public/assets/gitGraphDiagram-UUTBAWPF-DTRdhGJA.js.gz +0 -0
- package/payload/server/public/assets/graph-CpBlfYrJ.js +0 -51
- package/payload/server/public/assets/graph-CpBlfYrJ.js.br +0 -0
- package/payload/server/public/assets/graph-CpBlfYrJ.js.gz +0 -0
- package/payload/server/public/assets/graph-labels-BOMyPppX.js +0 -1
- package/payload/server/public/assets/graph-labels-BOMyPppX.js.br +0 -0
- package/payload/server/public/assets/graph-labels-BOMyPppX.js.gz +0 -0
- package/payload/server/public/assets/graphlib-DT4h6-4N.js +0 -1
- package/payload/server/public/assets/graphlib-DT4h6-4N.js.br +0 -0
- package/payload/server/public/assets/graphlib-DT4h6-4N.js.gz +0 -0
- package/payload/server/public/assets/info-OMHHGYJF-BR8gm0wj.js +0 -1
- package/payload/server/public/assets/info-OMHHGYJF-BR8gm0wj.js.br +0 -0
- package/payload/server/public/assets/infoDiagram-42DDH7IO-Cr3Efss6.js +0 -2
- package/payload/server/public/assets/infoDiagram-42DDH7IO-Cr3Efss6.js.br +0 -0
- package/payload/server/public/assets/infoDiagram-42DDH7IO-Cr3Efss6.js.gz +0 -0
- package/payload/server/public/assets/isEmpty-C5v0-EY7.js +0 -1
- package/payload/server/public/assets/isEmpty-C5v0-EY7.js.br +0 -0
- package/payload/server/public/assets/isEmpty-C5v0-EY7.js.gz +0 -0
- package/payload/server/public/assets/ishikawaDiagram-UXIWVN3A-BklHzVHm.js +0 -70
- package/payload/server/public/assets/ishikawaDiagram-UXIWVN3A-BklHzVHm.js.br +0 -0
- package/payload/server/public/assets/ishikawaDiagram-UXIWVN3A-BklHzVHm.js.gz +0 -0
- package/payload/server/public/assets/journeyDiagram-VCZTEJTY-Ckxx2CmV.js +0 -139
- package/payload/server/public/assets/journeyDiagram-VCZTEJTY-Ckxx2CmV.js.br +0 -0
- package/payload/server/public/assets/journeyDiagram-VCZTEJTY-Ckxx2CmV.js.gz +0 -0
- package/payload/server/public/assets/jsx-runtime-5lmxFBIw.js +0 -9
- package/payload/server/public/assets/jsx-runtime-5lmxFBIw.js.br +0 -0
- package/payload/server/public/assets/jsx-runtime-5lmxFBIw.js.gz +0 -0
- package/payload/server/public/assets/jsx-runtime-DxsQ5Y-z.css +0 -1
- package/payload/server/public/assets/jsx-runtime-DxsQ5Y-z.css.br +0 -0
- package/payload/server/public/assets/jsx-runtime-DxsQ5Y-z.css.gz +0 -0
- package/payload/server/public/assets/kanban-definition-6JOO6SKY-BLELXpqn.js +0 -89
- package/payload/server/public/assets/kanban-definition-6JOO6SKY-BLELXpqn.js.br +0 -0
- package/payload/server/public/assets/kanban-definition-6JOO6SKY-BLELXpqn.js.gz +0 -0
- package/payload/server/public/assets/line-BkI5icOY.js +0 -1
- package/payload/server/public/assets/line-BkI5icOY.js.br +0 -0
- package/payload/server/public/assets/line-BkI5icOY.js.gz +0 -0
- package/payload/server/public/assets/linear-B64ANRVs.js +0 -1
- package/payload/server/public/assets/linear-B64ANRVs.js.br +0 -0
- package/payload/server/public/assets/linear-B64ANRVs.js.gz +0 -0
- package/payload/server/public/assets/mermaid-parser.core-qXPKkdJe.js +0 -4
- package/payload/server/public/assets/mermaid-parser.core-qXPKkdJe.js.br +0 -0
- package/payload/server/public/assets/mermaid-parser.core-qXPKkdJe.js.gz +0 -0
- package/payload/server/public/assets/mermaid.core-BMsz65Wy.js +0 -11
- package/payload/server/public/assets/mermaid.core-BMsz65Wy.js.br +0 -0
- package/payload/server/public/assets/mermaid.core-BMsz65Wy.js.gz +0 -0
- package/payload/server/public/assets/mindmap-definition-QFDTVHPH-DhFTS2sx.js +0 -96
- package/payload/server/public/assets/mindmap-definition-QFDTVHPH-DhFTS2sx.js.br +0 -0
- package/payload/server/public/assets/mindmap-definition-QFDTVHPH-DhFTS2sx.js.gz +0 -0
- package/payload/server/public/assets/operator-DFgW6GiH.js +0 -1
- package/payload/server/public/assets/operator-DFgW6GiH.js.br +0 -0
- package/payload/server/public/assets/operator-DFgW6GiH.js.gz +0 -0
- package/payload/server/public/assets/ordinal-CJ_pL32Z.js +0 -1
- package/payload/server/public/assets/ordinal-CJ_pL32Z.js.br +0 -0
- package/payload/server/public/assets/ordinal-CJ_pL32Z.js.gz +0 -0
- package/payload/server/public/assets/packet-4T2RLAQJ-B31PbAeA.js +0 -1
- package/payload/server/public/assets/packet-4T2RLAQJ-B31PbAeA.js.br +0 -0
- package/payload/server/public/assets/page-BRShHSH0.js +0 -1
- package/payload/server/public/assets/page-BRShHSH0.js.br +0 -0
- package/payload/server/public/assets/page-BRShHSH0.js.gz +0 -0
- package/payload/server/public/assets/page-BbBCu9iP.js +0 -32
- package/payload/server/public/assets/page-BbBCu9iP.js.br +0 -0
- package/payload/server/public/assets/page-BbBCu9iP.js.gz +0 -0
- package/payload/server/public/assets/pdf-render-ynIPXfRA.js +0 -11
- package/payload/server/public/assets/pdf-render-ynIPXfRA.js.br +0 -0
- package/payload/server/public/assets/pdf-render-ynIPXfRA.js.gz +0 -0
- package/payload/server/public/assets/pie-ZZUOXDRM-BbSc1VXl.js +0 -1
- package/payload/server/public/assets/pie-ZZUOXDRM-BbSc1VXl.js.br +0 -0
- package/payload/server/public/assets/pieDiagram-DEJITSTG-B2TxkbHK.js +0 -30
- package/payload/server/public/assets/pieDiagram-DEJITSTG-B2TxkbHK.js.br +0 -0
- package/payload/server/public/assets/pieDiagram-DEJITSTG-B2TxkbHK.js.gz +0 -0
- package/payload/server/public/assets/play-BJxUaf6-.js +0 -1
- package/payload/server/public/assets/play-BJxUaf6-.js.br +0 -0
- package/payload/server/public/assets/play-BJxUaf6-.js.gz +0 -0
- package/payload/server/public/assets/public-DkObqkzL.js +0 -1
- package/payload/server/public/assets/public-DkObqkzL.js.br +0 -0
- package/payload/server/public/assets/public-DkObqkzL.js.gz +0 -0
- package/payload/server/public/assets/quadrantDiagram-34T5L4WZ-GsMxIJuS.js +0 -7
- package/payload/server/public/assets/quadrantDiagram-34T5L4WZ-GsMxIJuS.js.br +0 -0
- package/payload/server/public/assets/quadrantDiagram-34T5L4WZ-GsMxIJuS.js.gz +0 -0
- package/payload/server/public/assets/radar-PYXPWWZC-B0La8_mZ.js +0 -1
- package/payload/server/public/assets/radar-PYXPWWZC-B0La8_mZ.js.br +0 -0
- package/payload/server/public/assets/reduce-CfkEiHc9.js +0 -1
- package/payload/server/public/assets/reduce-CfkEiHc9.js.br +0 -0
- package/payload/server/public/assets/reduce-CfkEiHc9.js.gz +0 -0
- package/payload/server/public/assets/requirementDiagram-MS252O5E-DqNprm-1.js +0 -84
- package/payload/server/public/assets/requirementDiagram-MS252O5E-DqNprm-1.js.br +0 -0
- package/payload/server/public/assets/requirementDiagram-MS252O5E-DqNprm-1.js.gz +0 -0
- package/payload/server/public/assets/rotate-ccw-DgMO69nh.js +0 -1
- package/payload/server/public/assets/rotate-ccw-DgMO69nh.js.br +0 -0
- package/payload/server/public/assets/rotate-ccw-DgMO69nh.js.gz +0 -0
- package/payload/server/public/assets/routines-D9kvg_Xu.js +0 -2
- package/payload/server/public/assets/routines-D9kvg_Xu.js.br +0 -0
- package/payload/server/public/assets/routines-D9kvg_Xu.js.gz +0 -0
- package/payload/server/public/assets/sankeyDiagram-XADWPNL6-B-kRuiuz.js +0 -10
- package/payload/server/public/assets/sankeyDiagram-XADWPNL6-B-kRuiuz.js.br +0 -0
- package/payload/server/public/assets/sankeyDiagram-XADWPNL6-B-kRuiuz.js.gz +0 -0
- package/payload/server/public/assets/sequenceDiagram-FGHM5R23-DEhL9g3K.js +0 -157
- package/payload/server/public/assets/sequenceDiagram-FGHM5R23-DEhL9g3K.js.br +0 -0
- package/payload/server/public/assets/sequenceDiagram-FGHM5R23-DEhL9g3K.js.gz +0 -0
- package/payload/server/public/assets/skills-l5I9HZ3D.js +0 -1
- package/payload/server/public/assets/skills-l5I9HZ3D.js.br +0 -0
- package/payload/server/public/assets/skills-l5I9HZ3D.js.gz +0 -0
- package/payload/server/public/assets/src-BrAT6wKv.js +0 -1
- package/payload/server/public/assets/src-BrAT6wKv.js.br +0 -0
- package/payload/server/public/assets/src-BrAT6wKv.js.gz +0 -0
- package/payload/server/public/assets/stateDiagram-FHFEXIEX-Q-g6BHdz.js +0 -1
- package/payload/server/public/assets/stateDiagram-FHFEXIEX-Q-g6BHdz.js.br +0 -0
- package/payload/server/public/assets/stateDiagram-FHFEXIEX-Q-g6BHdz.js.gz +0 -0
- package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-ssRWItVj.js +0 -1
- package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-ssRWItVj.js.br +0 -0
- package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-ssRWItVj.js.gz +0 -0
- package/payload/server/public/assets/tasks-C2qJMv6i.js +0 -3
- package/payload/server/public/assets/tasks-C2qJMv6i.js.br +0 -0
- package/payload/server/public/assets/tasks-C2qJMv6i.js.gz +0 -0
- package/payload/server/public/assets/timeline-definition-GMOUNBTQ-B3-52q4Q.js +0 -120
- package/payload/server/public/assets/timeline-definition-GMOUNBTQ-B3-52q4Q.js.br +0 -0
- package/payload/server/public/assets/timeline-definition-GMOUNBTQ-B3-52q4Q.js.gz +0 -0
- package/payload/server/public/assets/treeView-SZITEDCU-BBR3hu9P.js +0 -1
- package/payload/server/public/assets/treeView-SZITEDCU-BBR3hu9P.js.br +0 -0
- package/payload/server/public/assets/treemap-W4RFUUIX-wSQMuzBT.js +0 -1
- package/payload/server/public/assets/treemap-W4RFUUIX-wSQMuzBT.js.br +0 -0
- package/payload/server/public/assets/triangle-alert-BnC67uSs.js +0 -1
- package/payload/server/public/assets/triangle-alert-BnC67uSs.js.br +0 -0
- package/payload/server/public/assets/triangle-alert-BnC67uSs.js.gz +0 -0
- package/payload/server/public/assets/useCopyFeedback-1RmgkTFh.js +0 -1
- package/payload/server/public/assets/useCopyFeedback-1RmgkTFh.js.br +0 -0
- package/payload/server/public/assets/useCopyFeedback-1RmgkTFh.js.gz +0 -0
- package/payload/server/public/assets/useMediaQuery-BQslddHQ.js +0 -6
- package/payload/server/public/assets/useMediaQuery-BQslddHQ.js.br +0 -0
- package/payload/server/public/assets/useMediaQuery-BQslddHQ.js.gz +0 -0
- package/payload/server/public/assets/useVoiceRecorder-BeZNQEC4.js +0 -2
- package/payload/server/public/assets/useVoiceRecorder-BeZNQEC4.js.br +0 -0
- package/payload/server/public/assets/useVoiceRecorder-BeZNQEC4.js.gz +0 -0
- package/payload/server/public/assets/vennDiagram-DHZGUBPP-Bzm1VDi1.js +0 -34
- package/payload/server/public/assets/vennDiagram-DHZGUBPP-Bzm1VDi1.js.br +0 -0
- package/payload/server/public/assets/vennDiagram-DHZGUBPP-Bzm1VDi1.js.gz +0 -0
- package/payload/server/public/assets/wardley-RL74JXVD-3QaECtQN.js +0 -1
- package/payload/server/public/assets/wardley-RL74JXVD-3QaECtQN.js.br +0 -0
- package/payload/server/public/assets/wardleyDiagram-NUSXRM2D-DIqGZr4v.js +0 -20
- package/payload/server/public/assets/wardleyDiagram-NUSXRM2D-DIqGZr4v.js.br +0 -0
- package/payload/server/public/assets/wardleyDiagram-NUSXRM2D-DIqGZr4v.js.gz +0 -0
- package/payload/server/public/assets/wrench-D4ufQG6C.js +0 -1
- package/payload/server/public/assets/wrench-D4ufQG6C.js.br +0 -0
- package/payload/server/public/assets/wrench-D4ufQG6C.js.gz +0 -0
- package/payload/server/public/assets/xychartDiagram-5P7HB3ND-0W2L2hQA.js +0 -7
- package/payload/server/public/assets/xychartDiagram-5P7HB3ND-0W2L2hQA.js.br +0 -0
- package/payload/server/public/assets/xychartDiagram-5P7HB3ND-0W2L2hQA.js.gz +0 -0
- package/payload/server/public/dispatch.html +0 -20
- /package/payload/server/public/assets/{_baseFor-D1duyODO.js → _baseFor-BApe6Tla.js} +0 -0
- /package/payload/server/public/assets/{_baseFor-D1duyODO.js.br → _baseFor-BApe6Tla.js.br} +0 -0
- /package/payload/server/public/assets/{_baseFor-D1duyODO.js.gz → _baseFor-BApe6Tla.js.gz} +0 -0
- /package/payload/server/public/assets/{array-j7Xa9Fap.js → array-eiH4WfvY.js} +0 -0
- /package/payload/server/public/assets/{array-j7Xa9Fap.js.br → array-eiH4WfvY.js.br} +0 -0
- /package/payload/server/public/assets/{chunk-DlZTsV_O.js → chunk-BycB0eMI.js} +0 -0
- /package/payload/server/public/assets/{chunk-DlZTsV_O.js.br → chunk-BycB0eMI.js.br} +0 -0
- /package/payload/server/public/assets/{chunk-DlZTsV_O.js.gz → chunk-BycB0eMI.js.gz} +0 -0
- /package/payload/server/public/assets/{cytoscape.esm-Dob3eilA.js → cytoscape.esm-BZ6NYo0w.js} +0 -0
- /package/payload/server/public/assets/{cytoscape.esm-Dob3eilA.js.br → cytoscape.esm-BZ6NYo0w.js.br} +0 -0
- /package/payload/server/public/assets/{cytoscape.esm-Dob3eilA.js.gz → cytoscape.esm-BZ6NYo0w.js.gz} +0 -0
- /package/payload/server/public/assets/{defaultLocale-BNILPWh2.js → defaultLocale-DWHqsa6O.js} +0 -0
- /package/payload/server/public/assets/{defaultLocale-BNILPWh2.js.br → defaultLocale-DWHqsa6O.js.br} +0 -0
- /package/payload/server/public/assets/{defaultLocale-BNILPWh2.js.gz → defaultLocale-DWHqsa6O.js.gz} +0 -0
- /package/payload/server/public/assets/{file-download-CN4H4Eih.js → file-download-B7zwa78w.js} +0 -0
- /package/payload/server/public/assets/{file-download-CN4H4Eih.js.br → file-download-B7zwa78w.js.br} +0 -0
- /package/payload/server/public/assets/{file-download-CN4H4Eih.js.gz → file-download-B7zwa78w.js.gz} +0 -0
- /package/payload/server/public/assets/{init-ve51bpJo.js → init-BdkYWjJJ.js} +0 -0
- /package/payload/server/public/assets/{init-ve51bpJo.js.br → init-BdkYWjJJ.js.br} +0 -0
- /package/payload/server/public/assets/{init-ve51bpJo.js.gz → init-BdkYWjJJ.js.gz} +0 -0
- /package/payload/server/public/assets/{katex-CJNaolDQ.js → katex-BCzoGtFh.js} +0 -0
- /package/payload/server/public/assets/{katex-CJNaolDQ.js.br → katex-BCzoGtFh.js.br} +0 -0
- /package/payload/server/public/assets/{katex-CJNaolDQ.js.gz → katex-BCzoGtFh.js.gz} +0 -0
- /package/payload/server/public/assets/{path-B4emajHp.js → path-DY2qBuPM.js} +0 -0
- /package/payload/server/public/assets/{path-B4emajHp.js.br → path-DY2qBuPM.js.br} +0 -0
- /package/payload/server/public/assets/{path-B4emajHp.js.gz → path-DY2qBuPM.js.gz} +0 -0
- /package/payload/server/public/assets/{preload-helper-3YNEDsJZ.js → preload-helper-eAV8hweq.js} +0 -0
- /package/payload/server/public/assets/{preload-helper-3YNEDsJZ.js.br → preload-helper-eAV8hweq.js.br} +0 -0
- /package/payload/server/public/assets/{preload-helper-3YNEDsJZ.js.gz → preload-helper-eAV8hweq.js.gz} +0 -0
- /package/payload/server/public/assets/{rough.esm-zabqYs6f.js → rough.esm-ec8xsRC7.js} +0 -0
- /package/payload/server/public/assets/{rough.esm-zabqYs6f.js.br → rough.esm-ec8xsRC7.js.br} +0 -0
- /package/payload/server/public/assets/{rough.esm-zabqYs6f.js.gz → rough.esm-ec8xsRC7.js.gz} +0 -0
|
@@ -1,20 +1,29 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ATTENDANCE_COLLECT = exports.ATTENDANCE_MATCH = void 0;
|
|
4
|
+
exports.projectAttendances = projectAttendances;
|
|
3
5
|
exports.projectJob = projectJob;
|
|
4
6
|
exports.projectVisit = projectVisit;
|
|
5
7
|
exports.readJob = readJob;
|
|
6
8
|
exports.readVisit = readVisit;
|
|
7
9
|
exports.readVisitRecordState = readVisitRecordState;
|
|
8
10
|
exports.readVisitsForJob = readVisitsForJob;
|
|
11
|
+
exports.readOpenVisitsForWorker = readOpenVisitsForWorker;
|
|
9
12
|
exports.readCommitments = readCommitments;
|
|
13
|
+
exports.readPreviousVisits = readPreviousVisits;
|
|
10
14
|
exports.buildJobListQuery = buildJobListQuery;
|
|
11
15
|
exports.readJobs = readJobs;
|
|
12
16
|
exports.readNodeId = readNodeId;
|
|
17
|
+
exports.readSiteLocation = readSiteLocation;
|
|
18
|
+
exports.readDraft = readDraft;
|
|
19
|
+
exports.readDrafts = readDrafts;
|
|
13
20
|
exports.readSiteHistory = readSiteHistory;
|
|
14
21
|
exports.readVisitsInWindow = readVisitsInWindow;
|
|
15
22
|
exports.nonZuluStarts = nonZuluStarts;
|
|
16
23
|
exports.readDay = readDay;
|
|
24
|
+
exports.projectFieldVisit = projectFieldVisit;
|
|
17
25
|
exports.readWorkerDay = readWorkerDay;
|
|
26
|
+
exports.readFieldVisit = readFieldVisit;
|
|
18
27
|
exports.readJobList = readJobList;
|
|
19
28
|
exports.readCounts = readCounts;
|
|
20
29
|
const session_js_1 = require("./session.js");
|
|
@@ -30,6 +39,58 @@ function num(v) {
|
|
|
30
39
|
function str(v) {
|
|
31
40
|
return typeof v === "string" && v.length > 0 ? v : null;
|
|
32
41
|
}
|
|
42
|
+
/**
|
|
43
|
+
* The attendance sub-pattern, as one string every visit query interpolates
|
|
44
|
+
* (Task 2512).
|
|
45
|
+
*
|
|
46
|
+
* It COLLECTS rather than returning a row per attender, and that is the whole
|
|
47
|
+
* point: `OPTIONAL MATCH (v)-[:ATTENDED_BY]->(e:Engineer)` returned one record
|
|
48
|
+
* per edge, so a two-worker visit arrived as two rows carrying one set of times
|
|
49
|
+
* and rendered as two separate visits. `collect` drops nulls, so an unallocated
|
|
50
|
+
* visit yields `[]` and never a list holding one empty map.
|
|
51
|
+
*
|
|
52
|
+
* Interpolated rather than repeated by hand because nine queries need it, and a
|
|
53
|
+
* hand-copied ninth is the one that keeps the old shape.
|
|
54
|
+
*/
|
|
55
|
+
exports.ATTENDANCE_MATCH = `OPTIONAL MATCH (v)-[:HAS_ATTENDANCE]->(att:Attendance)-[:BY_ENGINEER]->(e:Engineer)`;
|
|
56
|
+
/** The collected list, named `attendances`. Pair with `ATTENDANCE_MATCH`. */
|
|
57
|
+
exports.ATTENDANCE_COLLECT = `collect(CASE WHEN att IS NULL THEN NULL ELSE {
|
|
58
|
+
workerId: e.engineerId,
|
|
59
|
+
arrivedPressedAt: att.arrivedPressedAt,
|
|
60
|
+
arrivedObservedAt: att.arrivedObservedAt,
|
|
61
|
+
arrivedObservedDistanceM: att.arrivedObservedDistanceM
|
|
62
|
+
} END) AS attendances`;
|
|
63
|
+
/**
|
|
64
|
+
* Project the collected list, and derive the sole-attendee scalars from it.
|
|
65
|
+
*
|
|
66
|
+
* The scalars are populated only at exactly one attendance. At two they are
|
|
67
|
+
* null, because "which single worker?" has no answer and returning either one
|
|
68
|
+
* is a silent cross-assignment — the same failure `portal-visits-push.ts`
|
|
69
|
+
* refuses by binding on a property rather than matching a name.
|
|
70
|
+
*/
|
|
71
|
+
function projectAttendances(g) {
|
|
72
|
+
const raw = g.get("attendances") ?? [];
|
|
73
|
+
const attendances = raw
|
|
74
|
+
.filter((a) => a && typeof a.workerId === "string" && a.workerId.length > 0)
|
|
75
|
+
.map((a) => ({
|
|
76
|
+
workerId: String(a.workerId),
|
|
77
|
+
arrivedPressedAt: str(a.arrivedPressedAt),
|
|
78
|
+
arrivedObservedAt: str(a.arrivedObservedAt),
|
|
79
|
+
arrivedObservedDistanceM: a.arrivedObservedDistanceM == null ? null : num(a.arrivedObservedDistanceM),
|
|
80
|
+
}))
|
|
81
|
+
// Sorted here rather than in Cypher: `collect` has no ORDER BY of its own,
|
|
82
|
+
// and two reads of one visit returning different orders would make a
|
|
83
|
+
// rendered card's worker order arbitrary.
|
|
84
|
+
.sort((x, y) => (x.workerId < y.workerId ? -1 : x.workerId > y.workerId ? 1 : 0));
|
|
85
|
+
const sole = attendances.length === 1 ? attendances[0] : null;
|
|
86
|
+
return {
|
|
87
|
+
attendances,
|
|
88
|
+
workerId: sole?.workerId ?? null,
|
|
89
|
+
arrivedPressedAt: sole?.arrivedPressedAt ?? null,
|
|
90
|
+
arrivedObservedAt: sole?.arrivedObservedAt ?? null,
|
|
91
|
+
arrivedObservedDistanceM: sole?.arrivedObservedDistanceM ?? null,
|
|
92
|
+
};
|
|
93
|
+
}
|
|
33
94
|
/** Shared job projection, so every job query returns one shape. */
|
|
34
95
|
function projectJob(g) {
|
|
35
96
|
return {
|
|
@@ -45,7 +106,6 @@ function projectJob(g) {
|
|
|
45
106
|
}
|
|
46
107
|
/** Shared visit projection, so the day read and its tests cannot drift apart. */
|
|
47
108
|
function projectVisit(g) {
|
|
48
|
-
const dist = g.get("arrivedObservedDistanceM");
|
|
49
109
|
return {
|
|
50
110
|
visitId: String(g.get("visitId")),
|
|
51
111
|
jobId: str(g.get("jobId")),
|
|
@@ -53,14 +113,11 @@ function projectVisit(g) {
|
|
|
53
113
|
startDate: str(g.get("startDate")),
|
|
54
114
|
endDate: str(g.get("endDate")),
|
|
55
115
|
purpose: str(g.get("purpose")),
|
|
56
|
-
workerId: str(g.get("workerId")),
|
|
57
116
|
siteName: str(g.get("siteName")),
|
|
58
117
|
customerId: str(g.get("customerId")),
|
|
59
118
|
customerName: str(g.get("customerName")),
|
|
60
119
|
jobType: str(g.get("jobType")),
|
|
61
|
-
|
|
62
|
-
arrivedObservedAt: str(g.get("arrivedObservedAt")),
|
|
63
|
-
arrivedObservedDistanceM: dist == null ? null : num(dist),
|
|
120
|
+
...projectAttendances(g),
|
|
64
121
|
};
|
|
65
122
|
}
|
|
66
123
|
async function readJob(session, accountId, jobId) {
|
|
@@ -78,18 +135,15 @@ async function readJob(session, accountId, jobId) {
|
|
|
78
135
|
async function readVisit(session, accountId, visitId) {
|
|
79
136
|
const r = await session.run(`MATCH (v:Visit {accountId: $accountId, visitId: $visitId})
|
|
80
137
|
OPTIONAL MATCH (j:Job)-[:HAS_VISIT]->(v)
|
|
81
|
-
|
|
138
|
+
${exports.ATTENDANCE_MATCH}
|
|
139
|
+
WITH v, j, ${exports.ATTENDANCE_COLLECT}
|
|
82
140
|
RETURN v.visitId AS visitId, j.jobId AS jobId, v.status AS status,
|
|
83
141
|
v.startDate AS startDate, v.endDate AS endDate, v.purpose AS purpose,
|
|
84
|
-
|
|
85
|
-
v.arrivedPressedAt AS arrivedPressedAt,
|
|
86
|
-
v.arrivedObservedAt AS arrivedObservedAt,
|
|
87
|
-
v.arrivedObservedDistanceM AS arrivedObservedDistanceM
|
|
142
|
+
attendances
|
|
88
143
|
LIMIT 1`, { accountId, visitId });
|
|
89
144
|
if (r.records.length === 0)
|
|
90
145
|
return null;
|
|
91
146
|
const g = r.records[0];
|
|
92
|
-
const dist = g.get("arrivedObservedDistanceM");
|
|
93
147
|
return {
|
|
94
148
|
visitId: String(g.get("visitId")),
|
|
95
149
|
jobId: str(g.get("jobId")),
|
|
@@ -97,10 +151,7 @@ async function readVisit(session, accountId, visitId) {
|
|
|
97
151
|
startDate: str(g.get("startDate")),
|
|
98
152
|
endDate: str(g.get("endDate")),
|
|
99
153
|
purpose: str(g.get("purpose")),
|
|
100
|
-
|
|
101
|
-
arrivedPressedAt: str(g.get("arrivedPressedAt")),
|
|
102
|
-
arrivedObservedAt: str(g.get("arrivedObservedAt")),
|
|
103
|
-
arrivedObservedDistanceM: dist == null ? null : num(dist),
|
|
154
|
+
...projectAttendances(g),
|
|
104
155
|
};
|
|
105
156
|
}
|
|
106
157
|
async function readVisitRecordState(session, accountId, visitId) {
|
|
@@ -134,32 +185,69 @@ async function readVisitRecordState(session, accountId, visitId) {
|
|
|
134
185
|
}
|
|
135
186
|
async function readVisitsForJob(session, accountId, jobId) {
|
|
136
187
|
const r = await session.run(`MATCH (j:Job {accountId: $accountId, jobId: $jobId})-[:HAS_VISIT]->(v:Visit)
|
|
137
|
-
|
|
188
|
+
${exports.ATTENDANCE_MATCH}
|
|
189
|
+
WITH v, ${exports.ATTENDANCE_COLLECT}
|
|
138
190
|
RETURN v.visitId AS visitId, v.status AS status, v.startDate AS startDate,
|
|
139
|
-
v.endDate AS endDate, v.purpose AS purpose,
|
|
140
|
-
v.arrivedPressedAt AS arrivedPressedAt,
|
|
141
|
-
v.arrivedObservedAt AS arrivedObservedAt,
|
|
142
|
-
v.arrivedObservedDistanceM AS arrivedObservedDistanceM
|
|
191
|
+
v.endDate AS endDate, v.purpose AS purpose, attendances
|
|
143
192
|
ORDER BY v.startDate ASC`, { accountId, jobId });
|
|
193
|
+
return r.records.map((g) => ({
|
|
194
|
+
visitId: String(g.get("visitId")),
|
|
195
|
+
jobId,
|
|
196
|
+
status: String(g.get("status")),
|
|
197
|
+
startDate: str(g.get("startDate")),
|
|
198
|
+
endDate: str(g.get("endDate")),
|
|
199
|
+
purpose: str(g.get("purpose")),
|
|
200
|
+
...projectAttendances(g),
|
|
201
|
+
}));
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* A worker's visits that are not finished, newest first (Task 2510).
|
|
205
|
+
*
|
|
206
|
+
* Deliberately not scoped to today. A visit that overran yesterday is still
|
|
207
|
+
* open, and a day window would silently drop the photo of the job most likely to
|
|
208
|
+
* need one.
|
|
209
|
+
*/
|
|
210
|
+
async function readOpenVisitsForWorker(session, accountId, workerId, terminalStatuses) {
|
|
211
|
+
const r = await session.run(
|
|
212
|
+
// Anchored on the caller's own attendance, then the whole visit's collected
|
|
213
|
+
// beside it — the shape `readWorkerDay` uses, for the same reason: the
|
|
214
|
+
// sole-attendee rule returns null on a visit they share, and this list is
|
|
215
|
+
// what a worker's photo or voice note gets attached to.
|
|
216
|
+
`MATCH (v:Visit {accountId: $accountId})-[:HAS_ATTENDANCE]->(mine:Attendance)-[:BY_ENGINEER]->(:Engineer {engineerId: $workerId})
|
|
217
|
+
WHERE NOT v.status IN $terminal
|
|
218
|
+
OPTIONAL MATCH (j:Job)-[:HAS_VISIT]->(v)
|
|
219
|
+
${exports.ATTENDANCE_MATCH}
|
|
220
|
+
WITH v, j, mine, ${exports.ATTENDANCE_COLLECT}
|
|
221
|
+
RETURN v.visitId AS visitId, j.jobId AS jobId, v.status AS status,
|
|
222
|
+
v.startDate AS startDate, v.endDate AS endDate, v.purpose AS purpose,
|
|
223
|
+
attendances,
|
|
224
|
+
mine.arrivedPressedAt AS ownArrivedPressedAt,
|
|
225
|
+
mine.arrivedObservedAt AS ownArrivedObservedAt,
|
|
226
|
+
mine.arrivedObservedDistanceM AS ownArrivedObservedDistanceM
|
|
227
|
+
ORDER BY v.startDate DESC`, { accountId, workerId, terminal: [...terminalStatuses] });
|
|
144
228
|
return r.records.map((g) => {
|
|
145
|
-
const dist = g.get("
|
|
229
|
+
const dist = g.get("ownArrivedObservedDistanceM");
|
|
146
230
|
return {
|
|
147
231
|
visitId: String(g.get("visitId")),
|
|
148
|
-
jobId,
|
|
232
|
+
jobId: str(g.get("jobId")),
|
|
149
233
|
status: String(g.get("status")),
|
|
150
234
|
startDate: str(g.get("startDate")),
|
|
151
235
|
endDate: str(g.get("endDate")),
|
|
152
236
|
purpose: str(g.get("purpose")),
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
237
|
+
attendances: projectAttendances(g).attendances,
|
|
238
|
+
workerId,
|
|
239
|
+
arrivedPressedAt: str(g.get("ownArrivedPressedAt")),
|
|
240
|
+
arrivedObservedAt: str(g.get("ownArrivedObservedAt")),
|
|
156
241
|
arrivedObservedDistanceM: dist == null ? null : num(dist),
|
|
157
242
|
};
|
|
158
243
|
});
|
|
159
244
|
}
|
|
160
245
|
/** Visits a worker is already committed to inside `[from, to)`. */
|
|
161
246
|
async function readCommitments(session, accountId, from, to) {
|
|
162
|
-
const r = await session.run(
|
|
247
|
+
const r = await session.run(
|
|
248
|
+
// One row per ATTENDANCE is correct here and nowhere else: a commitment
|
|
249
|
+
// belongs to a worker, so a two-worker visit legitimately commits both.
|
|
250
|
+
`MATCH (v:Visit {accountId: $accountId})-[:HAS_ATTENDANCE]->(:Attendance)-[:BY_ENGINEER]->(e:Engineer)
|
|
163
251
|
WHERE v.startDate < $to AND coalesce(v.endDate, v.startDate) > $from
|
|
164
252
|
RETURN e.engineerId AS workerId, v.visitId AS visitId,
|
|
165
253
|
v.startDate AS start, coalesce(v.endDate, v.startDate) AS end`, { accountId, from, to });
|
|
@@ -178,6 +266,60 @@ async function readCommitments(session, accountId, from, to) {
|
|
|
178
266
|
}
|
|
179
267
|
return out;
|
|
180
268
|
}
|
|
269
|
+
/**
|
|
270
|
+
* Each worker's latest visit ending at or before `before`, no earlier than
|
|
271
|
+
* `dayStart`.
|
|
272
|
+
*
|
|
273
|
+
* `readCommitments` cannot answer this: it reads only inside the requested
|
|
274
|
+
* window, and the origin of a journey is by definition outside it.
|
|
275
|
+
*
|
|
276
|
+
* **Both bounds, always.** Without the upper one, a worker's current job
|
|
277
|
+
* becomes the origin and the estimate measures a journey that has not happened
|
|
278
|
+
* yet. Without the lower one, yesterday's last job becomes this morning's
|
|
279
|
+
* origin and the office is shown a drive nobody will make. `dayStart` is the
|
|
280
|
+
* caller's, computed in the account's timezone, because "that day" is not a
|
|
281
|
+
* UTC fact.
|
|
282
|
+
*
|
|
283
|
+
* The collapse to one visit per worker is done here rather than in the Cypher.
|
|
284
|
+
* A `head(collect(...))` would be invisible to every test that does not hold a
|
|
285
|
+
* real database, and picking the wrong origin visit is the failure that
|
|
286
|
+
* produces a confident number for the wrong journey.
|
|
287
|
+
*/
|
|
288
|
+
async function readPreviousVisits(session, accountId, before, dayStart) {
|
|
289
|
+
const r = await session.run(
|
|
290
|
+
// One row per ATTENDANCE, as `readCommitments` above: a two-worker visit is
|
|
291
|
+
// where BOTH of them were, so each is legitimately coming from it. Task 2512
|
|
292
|
+
// retired `ATTENDED_BY`; this query was written against it and would have
|
|
293
|
+
// matched nothing, reporting every worker as having no previous visit.
|
|
294
|
+
`MATCH (v:Visit {accountId: $accountId})-[:HAS_ATTENDANCE]->(:Attendance)-[:BY_ENGINEER]->(e:Engineer)
|
|
295
|
+
WHERE coalesce(v.endDate, v.startDate) <= $before
|
|
296
|
+
AND coalesce(v.endDate, v.startDate) >= $dayStart
|
|
297
|
+
OPTIONAL MATCH (j:Job {accountId: $accountId})-[:HAS_VISIT]->(v)
|
|
298
|
+
OPTIONAL MATCH (j)-[:AT_SITE]->(s:Site {accountId: $accountId})
|
|
299
|
+
RETURN e.engineerId AS workerId, v.visitId AS visitId,
|
|
300
|
+
coalesce(v.endDate, v.startDate) AS endDate, s.siteId AS siteId`, { accountId, before, dayStart });
|
|
301
|
+
const out = new Map();
|
|
302
|
+
const latest = new Map();
|
|
303
|
+
for (const g of r.records) {
|
|
304
|
+
const workerId = str(g.get("workerId"));
|
|
305
|
+
if (!workerId)
|
|
306
|
+
continue;
|
|
307
|
+
const endDate = str(g.get("endDate"));
|
|
308
|
+
if (endDate === null)
|
|
309
|
+
continue;
|
|
310
|
+
const held = latest.get(workerId);
|
|
311
|
+
// Strictly later, so two visits ending on the same instant keep the first
|
|
312
|
+
// the query returned rather than flipping between runs.
|
|
313
|
+
if (held !== undefined && held >= endDate)
|
|
314
|
+
continue;
|
|
315
|
+
latest.set(workerId, endDate);
|
|
316
|
+
out.set(workerId, {
|
|
317
|
+
visitId: String(g.get("visitId")),
|
|
318
|
+
siteId: str(g.get("siteId")),
|
|
319
|
+
});
|
|
320
|
+
}
|
|
321
|
+
return out;
|
|
322
|
+
}
|
|
181
323
|
/**
|
|
182
324
|
* The job-list query as text plus params, extracted so its shape is testable
|
|
183
325
|
* without a database.
|
|
@@ -191,7 +333,7 @@ function buildJobListQuery(filter) {
|
|
|
191
333
|
if (filter.unallocatedOnly)
|
|
192
334
|
clauses.push("NOT (j)-[:HAS_VISIT]->(:Visit)");
|
|
193
335
|
if (filter.workerId) {
|
|
194
|
-
clauses.push("EXISTS { MATCH (j)-[:HAS_VISIT]->(:Visit)-[:
|
|
336
|
+
clauses.push("EXISTS { MATCH (j)-[:HAS_VISIT]->(:Visit)-[:HAS_ATTENDANCE]->(:Attendance)-[:BY_ENGINEER]->(w:Engineer) WHERE w.engineerId = $workerId }");
|
|
195
337
|
}
|
|
196
338
|
// One EXISTS carrying both bounds, never two. Two independent clauses are
|
|
197
339
|
// satisfied by DIFFERENT visits — a job with one visit in January and another
|
|
@@ -238,41 +380,107 @@ async function readNodeId(session, accountId, label, keyProp, keyValue) {
|
|
|
238
380
|
RETURN elementId(n) AS id LIMIT 1`, { accountId, keyProp, keyValue });
|
|
239
381
|
return r.records.length === 0 ? null : String(r.records[0].get("id"));
|
|
240
382
|
}
|
|
383
|
+
/**
|
|
384
|
+
* A site's position and radius, or null when the account holds no such site
|
|
385
|
+
* (Task 2510).
|
|
386
|
+
*
|
|
387
|
+
* A site that exists but carries no coordinates returns nulls rather than null:
|
|
388
|
+
* "this site is not on the account" and "this site has never been placed" are
|
|
389
|
+
* different problems, and the geofence names each of them separately.
|
|
390
|
+
*/
|
|
391
|
+
async function readSiteLocation(session, accountId, siteId) {
|
|
392
|
+
const r = await session.run(`MATCH (s:Site {accountId: $accountId, siteId: $siteId})
|
|
393
|
+
RETURN s.siteId AS siteId, s.latitude AS latitude, s.longitude AS longitude,
|
|
394
|
+
s.geofenceRadiusM AS geofenceRadiusM
|
|
395
|
+
LIMIT 1`, { accountId, siteId });
|
|
396
|
+
if (r.records.length === 0)
|
|
397
|
+
return null;
|
|
398
|
+
const g = r.records[0];
|
|
399
|
+
const lat = g.get("latitude");
|
|
400
|
+
const lon = g.get("longitude");
|
|
401
|
+
const rad = g.get("geofenceRadiusM");
|
|
402
|
+
return {
|
|
403
|
+
siteId: String(g.get("siteId")),
|
|
404
|
+
latitude: lat == null ? null : num(lat),
|
|
405
|
+
longitude: lon == null ? null : num(lon),
|
|
406
|
+
geofenceRadiusM: rad == null ? null : num(rad),
|
|
407
|
+
};
|
|
408
|
+
}
|
|
409
|
+
const DRAFT_RETURN = `d.draftId AS draftId, d.receivedAt AS receivedAt, d.source AS source,
|
|
410
|
+
d.sourceRef AS sourceRef, d.jobType AS jobType, d.siteId AS siteId,
|
|
411
|
+
d.customerId AS customerId, d.description AS description,
|
|
412
|
+
d.verdict AS verdict, d.decidedAt AS decidedAt, d.decidedBy AS decidedBy,
|
|
413
|
+
d.reason AS reason, d.jobId AS jobId`;
|
|
414
|
+
function projectDraft(rec) {
|
|
415
|
+
const s = (k) => {
|
|
416
|
+
const v = rec.get(k);
|
|
417
|
+
return typeof v === "string" && v.length > 0 ? v : null;
|
|
418
|
+
};
|
|
419
|
+
return {
|
|
420
|
+
draftId: s("draftId") ?? "",
|
|
421
|
+
receivedAt: s("receivedAt") ?? "",
|
|
422
|
+
source: s("source") ?? "",
|
|
423
|
+
sourceRef: s("sourceRef") ?? "",
|
|
424
|
+
jobType: s("jobType"),
|
|
425
|
+
siteId: s("siteId"),
|
|
426
|
+
customerId: s("customerId"),
|
|
427
|
+
description: s("description"),
|
|
428
|
+
verdict: s("verdict"),
|
|
429
|
+
decidedAt: s("decidedAt"),
|
|
430
|
+
decidedBy: s("decidedBy"),
|
|
431
|
+
reason: s("reason"),
|
|
432
|
+
jobId: s("jobId"),
|
|
433
|
+
};
|
|
434
|
+
}
|
|
435
|
+
/** One draft by its id, or null. */
|
|
436
|
+
async function readDraft(session, accountId, draftId) {
|
|
437
|
+
const r = await session.run(`MATCH (d:IntakeDraft {accountId: $accountId, draftId: $draftId})
|
|
438
|
+
RETURN ${DRAFT_RETURN}`, { accountId, draftId });
|
|
439
|
+
return r.records.length === 0 ? null : projectDraft(r.records[0]);
|
|
440
|
+
}
|
|
441
|
+
/**
|
|
442
|
+
* The queue, oldest first. A null `verdict` argument means undecided only,
|
|
443
|
+
* which is what the queue is; a named verdict returns those already decided,
|
|
444
|
+
* because a rejection whose reason nobody can read is not a record of anything.
|
|
445
|
+
*
|
|
446
|
+
* Undecided is the ABSENCE of the property, never a written value, so the
|
|
447
|
+
* predicate is `IS NULL` rather than an equality against a sentinel.
|
|
448
|
+
*/
|
|
449
|
+
async function readDrafts(session, accountId, verdict, limit) {
|
|
450
|
+
const r = await session.run(`MATCH (d:IntakeDraft {accountId: $accountId})
|
|
451
|
+
WHERE ($verdict IS NULL AND d.verdict IS NULL) OR d.verdict = $verdict
|
|
452
|
+
RETURN ${DRAFT_RETURN}
|
|
453
|
+
ORDER BY d.receivedAt ASC
|
|
454
|
+
LIMIT $limit`, { accountId, verdict, limit: Math.min(Math.max(limit, 1), 200) });
|
|
455
|
+
return r.records.map(projectDraft);
|
|
456
|
+
}
|
|
241
457
|
/** Every visit at one site, newest first, with its job. */
|
|
242
458
|
async function readSiteHistory(session, accountId, siteId, limit) {
|
|
243
459
|
const r = await session.run(`MATCH (j:Job {accountId: $accountId})-[:AT_SITE]->(:Site {accountId: $accountId, siteId: $siteId})
|
|
244
460
|
MATCH (j)-[:HAS_VISIT]->(v:Visit)
|
|
245
|
-
|
|
461
|
+
${exports.ATTENDANCE_MATCH}
|
|
462
|
+
WITH j, v, ${exports.ATTENDANCE_COLLECT}
|
|
246
463
|
RETURN j.jobId AS jobId, j.status AS jobStatus, v.visitId AS visitId,
|
|
247
464
|
v.status AS status, v.startDate AS startDate, v.endDate AS endDate,
|
|
248
|
-
v.purpose AS purpose,
|
|
465
|
+
v.purpose AS purpose, attendances,
|
|
249
466
|
coalesce(v.notes, []) AS notes,
|
|
250
|
-
size(coalesce(v.media, [])) AS mediaCount
|
|
251
|
-
v.arrivedPressedAt AS arrivedPressedAt,
|
|
252
|
-
v.arrivedObservedAt AS arrivedObservedAt,
|
|
253
|
-
v.arrivedObservedDistanceM AS arrivedObservedDistanceM
|
|
467
|
+
size(coalesce(v.media, [])) AS mediaCount
|
|
254
468
|
ORDER BY v.startDate DESC
|
|
255
469
|
LIMIT $limit`, { accountId, siteId, limit: Math.min(Math.max(limit, 1), 200) });
|
|
256
|
-
return r.records.map((g) => {
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
mediaCount: num(g.get("mediaCount") ?? 0),
|
|
271
|
-
arrivedPressedAt: str(g.get("arrivedPressedAt")),
|
|
272
|
-
arrivedObservedAt: str(g.get("arrivedObservedAt")),
|
|
273
|
-
arrivedObservedDistanceM: dist == null ? null : num(dist),
|
|
274
|
-
};
|
|
275
|
-
});
|
|
470
|
+
return r.records.map((g) => ({
|
|
471
|
+
visitId: String(g.get("visitId")),
|
|
472
|
+
jobId: String(g.get("jobId")),
|
|
473
|
+
jobStatus: String(g.get("jobStatus")),
|
|
474
|
+
status: String(g.get("status")),
|
|
475
|
+
startDate: str(g.get("startDate")),
|
|
476
|
+
endDate: str(g.get("endDate")),
|
|
477
|
+
purpose: str(g.get("purpose")),
|
|
478
|
+
notes: g.get("notes") ?? [],
|
|
479
|
+
// A count, not the references. A worker at a door needs to know whether
|
|
480
|
+
// photographs exist before deciding to load them on a bad signal.
|
|
481
|
+
mediaCount: num(g.get("mediaCount") ?? 0),
|
|
482
|
+
...projectAttendances(g),
|
|
483
|
+
}));
|
|
276
484
|
}
|
|
277
485
|
/** Every visit starting inside `[from, to)`. */
|
|
278
486
|
async function readVisitsInWindow(session, accountId, from, to) {
|
|
@@ -280,30 +488,22 @@ async function readVisitsInWindow(session, accountId, from, to) {
|
|
|
280
488
|
WHERE v.startDate >= $from AND v.startDate < $to
|
|
281
489
|
OPTIONAL MATCH (j:Job)-[:HAS_VISIT]->(v)
|
|
282
490
|
OPTIONAL MATCH (j)-[:AT_SITE]->(s:Site)
|
|
283
|
-
|
|
491
|
+
${exports.ATTENDANCE_MATCH}
|
|
492
|
+
WITH v, j, s, ${exports.ATTENDANCE_COLLECT}
|
|
284
493
|
RETURN v.visitId AS visitId, j.jobId AS jobId, v.status AS status,
|
|
285
494
|
v.startDate AS startDate, v.endDate AS endDate, v.purpose AS purpose,
|
|
286
|
-
|
|
287
|
-
v.arrivedPressedAt AS arrivedPressedAt,
|
|
288
|
-
v.arrivedObservedAt AS arrivedObservedAt,
|
|
289
|
-
v.arrivedObservedDistanceM AS arrivedObservedDistanceM
|
|
495
|
+
attendances, s.name AS siteName
|
|
290
496
|
ORDER BY v.startDate ASC`, { accountId, from, to });
|
|
291
|
-
return r.records.map((g) => {
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
siteName: str(g.get("siteName")),
|
|
302
|
-
arrivedPressedAt: str(g.get("arrivedPressedAt")),
|
|
303
|
-
arrivedObservedAt: str(g.get("arrivedObservedAt")),
|
|
304
|
-
arrivedObservedDistanceM: dist == null ? null : num(dist),
|
|
305
|
-
};
|
|
306
|
-
});
|
|
497
|
+
return r.records.map((g) => ({
|
|
498
|
+
visitId: String(g.get("visitId")),
|
|
499
|
+
jobId: str(g.get("jobId")),
|
|
500
|
+
status: String(g.get("status")),
|
|
501
|
+
startDate: str(g.get("startDate")),
|
|
502
|
+
endDate: str(g.get("endDate")),
|
|
503
|
+
purpose: str(g.get("purpose")),
|
|
504
|
+
siteName: str(g.get("siteName")),
|
|
505
|
+
...projectAttendances(g),
|
|
506
|
+
}));
|
|
307
507
|
}
|
|
308
508
|
/**
|
|
309
509
|
* Visit ids whose `startDate` is not Zulu-normalised.
|
|
@@ -331,74 +531,193 @@ async function readDay(accountId, fromUtc, toUtc) {
|
|
|
331
531
|
OPTIONAL MATCH (j:Job)-[:HAS_VISIT]->(v)
|
|
332
532
|
OPTIONAL MATCH (j)-[:AT_SITE]->(s:Site)
|
|
333
533
|
OPTIONAL MATCH (j)-[:FOR_CUSTOMER]->(c:Customer)
|
|
334
|
-
|
|
534
|
+
${exports.ATTENDANCE_MATCH}
|
|
535
|
+
WITH v, j, s, c, ${exports.ATTENDANCE_COLLECT}
|
|
335
536
|
RETURN v.visitId AS visitId, j.jobId AS jobId, v.status AS status,
|
|
336
537
|
v.startDate AS startDate, v.endDate AS endDate, v.purpose AS purpose,
|
|
337
|
-
|
|
538
|
+
attendances, s.name AS siteName,
|
|
338
539
|
c.customerId AS customerId, c.name AS customerName,
|
|
339
|
-
j.jobType AS jobType
|
|
340
|
-
v.arrivedPressedAt AS arrivedPressedAt,
|
|
341
|
-
v.arrivedObservedAt AS arrivedObservedAt,
|
|
342
|
-
v.arrivedObservedDistanceM AS arrivedObservedDistanceM
|
|
540
|
+
j.jobType AS jobType
|
|
343
541
|
ORDER BY v.startDate ASC`, { accountId, from: fromUtc, to: toUtc });
|
|
344
542
|
return r.records.map(projectVisit);
|
|
345
543
|
});
|
|
346
544
|
}
|
|
347
545
|
/**
|
|
348
|
-
*
|
|
546
|
+
* The columns a field card needs beyond a plain visit row, as one clause.
|
|
547
|
+
*
|
|
548
|
+
* Written once because two reads return this shape — the day list and the
|
|
549
|
+
* single-visit sheet read — and a card that differed between the two would be
|
|
550
|
+
* a worker seeing a telephone on one screen and not the other.
|
|
551
|
+
*
|
|
552
|
+
* It returns `attendances` and NO arrival columns, because the two reads
|
|
553
|
+
* legitimately differ on whose arrival a card shows: `readWorkerDay` shows the
|
|
554
|
+
* caller their own, and `readFieldVisit`, which names no worker, falls back to
|
|
555
|
+
* the sole-attendee rule. Each adds its own arrival clause; the columns they
|
|
556
|
+
* share stay here.
|
|
557
|
+
*/
|
|
558
|
+
const FIELD_RETURN = `v.visitId AS visitId, j.jobId AS jobId, v.status AS status,
|
|
559
|
+
v.startDate AS startDate, v.endDate AS endDate, v.purpose AS purpose,
|
|
560
|
+
attendances,
|
|
561
|
+
s.siteId AS siteId, s.name AS siteName,
|
|
562
|
+
c.name AS customerName,
|
|
563
|
+
ct.name AS contactName, ct.telephone AS contactTelephone,
|
|
564
|
+
pa IS NOT NULL AS addressed,
|
|
565
|
+
pa.streetAddress AS streetAddress, pa.addressLocality AS addressLocality,
|
|
566
|
+
pa.postalCode AS postalCode`;
|
|
567
|
+
/**
|
|
568
|
+
* The optional neighbourhood a visit hangs in.
|
|
569
|
+
*
|
|
570
|
+
* Every hop is optional: a visit allocated before its job was linked must stay
|
|
571
|
+
* in the day rather than drop out of it.
|
|
572
|
+
*
|
|
573
|
+
* **The `WITH` is what stops a visit appearing twice.** An `OPTIONAL MATCH`
|
|
574
|
+
* that finds two nodes returns two rows, so a site holding two `AT_ADDRESS`
|
|
575
|
+
* edges — or a customer holding two contacts — would put the same visit on the
|
|
576
|
+
* worker's list once per match, each copy showing a different address. That
|
|
577
|
+
* state is reachable: `memory-write`'s edge check is warn-only, so nothing
|
|
578
|
+
* blocks a second edge being written directly.
|
|
579
|
+
*
|
|
580
|
+
* Which of two the collapse keeps is arbitrary, and it is not this query's job
|
|
581
|
+
* to choose. `dispatch-site-upsert` is what guarantees a site has one address:
|
|
582
|
+
* it clears the previous edge before writing the next.
|
|
583
|
+
*
|
|
584
|
+
* **Two aggregating `WITH`s, not one.** The attendance collect is a second
|
|
585
|
+
* multiplication on the same rows, and folding both into one `WITH` would make
|
|
586
|
+
* each address appear once per attendance and each attendance once per address.
|
|
587
|
+
* Collapsing them in turn keeps every grouping key a plain node.
|
|
588
|
+
*
|
|
589
|
+
* `carry` is the extra binding a caller needs kept alive across both — `, mine`
|
|
590
|
+
* for the worker day, empty for the sheet. Anything not named in a `WITH` is
|
|
591
|
+
* dropped, so a caller that binds a variable before this clause and reads it
|
|
592
|
+
* after must pass it here.
|
|
593
|
+
*/
|
|
594
|
+
const fieldOptionalMatches = (carry) => `OPTIONAL MATCH (j:Job {accountId: $accountId})-[:HAS_VISIT]->(v)
|
|
595
|
+
OPTIONAL MATCH (j)-[:AT_SITE]->(s:Site {accountId: $accountId})
|
|
596
|
+
OPTIONAL MATCH (j)-[:FOR_CUSTOMER]->(c:Customer {accountId: $accountId})
|
|
597
|
+
OPTIONAL MATCH (s)-[:AT_ADDRESS]->(pa0:PostalAddress)
|
|
598
|
+
OPTIONAL MATCH (ct0:Contact {accountId: $accountId})-[:CONTACT_FOR]->(c)
|
|
599
|
+
WITH v${carry}, j, s, c,
|
|
600
|
+
head(collect(DISTINCT pa0)) AS pa,
|
|
601
|
+
head(collect(DISTINCT ct0)) AS ct
|
|
602
|
+
${exports.ATTENDANCE_MATCH}
|
|
603
|
+
WITH v${carry}, j, s, c, pa, ct, ${exports.ATTENDANCE_COLLECT}`;
|
|
604
|
+
/**
|
|
605
|
+
* One field card from one record.
|
|
606
|
+
*
|
|
607
|
+
* `address` is set when the `AT_ADDRESS` edge resolved and omitted when it did
|
|
608
|
+
* not. The **edge** decides the key, read off its own `addressed` column rather
|
|
609
|
+
* than inferred from the three property columns: a PostalAddress missing its
|
|
610
|
+
* locality is still somewhere a worker can drive to, and inferring absence from
|
|
611
|
+
* empty properties would report the site unaddressed while the census, which
|
|
612
|
+
* counts the edge, called it addressed.
|
|
613
|
+
*
|
|
614
|
+
* `own` is the caller's own attendance, passed by `readWorkerDay` and omitted by
|
|
615
|
+
* the sheet read. With it, the four worker fields are that worker's; without it
|
|
616
|
+
* they fall back to the sole-attendee rule and go null on a shared visit. The
|
|
617
|
+
* distinction is load-bearing: a sheet that showed no arrival to the worker who
|
|
618
|
+
* pressed it would read as a lost press (Task 2512).
|
|
619
|
+
*/
|
|
620
|
+
function projectFieldVisit(g, own) {
|
|
621
|
+
const addressed = g.get("addressed") === true;
|
|
622
|
+
const att = projectAttendances(g);
|
|
623
|
+
const worker = own ?? {
|
|
624
|
+
workerId: att.workerId,
|
|
625
|
+
arrivedPressedAt: att.arrivedPressedAt,
|
|
626
|
+
arrivedObservedAt: att.arrivedObservedAt,
|
|
627
|
+
arrivedObservedDistanceM: att.arrivedObservedDistanceM,
|
|
628
|
+
};
|
|
629
|
+
return {
|
|
630
|
+
visitId: String(g.get("visitId")),
|
|
631
|
+
jobId: str(g.get("jobId")),
|
|
632
|
+
status: String(g.get("status")),
|
|
633
|
+
startDate: str(g.get("startDate")),
|
|
634
|
+
endDate: str(g.get("endDate")),
|
|
635
|
+
purpose: str(g.get("purpose")),
|
|
636
|
+
attendances: att.attendances,
|
|
637
|
+
workerId: worker.workerId,
|
|
638
|
+
arrivedPressedAt: worker.arrivedPressedAt,
|
|
639
|
+
arrivedObservedAt: worker.arrivedObservedAt,
|
|
640
|
+
arrivedObservedDistanceM: worker.arrivedObservedDistanceM,
|
|
641
|
+
siteId: str(g.get("siteId")),
|
|
642
|
+
siteName: str(g.get("siteName")),
|
|
643
|
+
customerName: str(g.get("customerName")),
|
|
644
|
+
contactName: str(g.get("contactName")),
|
|
645
|
+
contactTelephone: str(g.get("contactTelephone")),
|
|
646
|
+
...(addressed
|
|
647
|
+
? {
|
|
648
|
+
address: {
|
|
649
|
+
streetAddress: str(g.get("streetAddress")),
|
|
650
|
+
addressLocality: str(g.get("addressLocality")),
|
|
651
|
+
postalCode: str(g.get("postalCode")),
|
|
652
|
+
},
|
|
653
|
+
}
|
|
654
|
+
: {}),
|
|
655
|
+
};
|
|
656
|
+
}
|
|
657
|
+
/**
|
|
658
|
+
* One worker's visits in a window, with the contact detail and the street a
|
|
659
|
+
* doorstep needs.
|
|
349
660
|
*
|
|
350
661
|
* A separate function rather than a widening of `readDay`, because the planner
|
|
351
662
|
* draws a week of cards for the whole roster and needs a customer's telephone
|
|
352
663
|
* on none of them.
|
|
353
|
-
*
|
|
354
|
-
* **No address and no postcode.** `schema-dispatch.md` declares neither on
|
|
355
|
-
* `:Site`, and the only `PostalAddress` edge in the whole ontology is
|
|
356
|
-
* logistics' `(:Stop)-[:AT_ADDRESS]->(:PostalAddress)`. Returning them as
|
|
357
|
-
* always-null columns would read to a worker as "this site has no address"
|
|
358
|
-
* rather than "we do not store one". Task 2514 adds the edge.
|
|
359
664
|
*/
|
|
360
665
|
async function readWorkerDay(accountId, workerId, fromUtc, toUtc) {
|
|
361
666
|
return (0, session_js_1.withSession)(async (session) => {
|
|
362
|
-
const r = await session.run(
|
|
667
|
+
const r = await session.run(
|
|
668
|
+
// Anchored on the CALLER'S OWN attendance (`mine`), then the whole
|
|
669
|
+
// visit's attendances collected beside it. The worker's arrival times are
|
|
670
|
+
// read off `mine` rather than through the sole-attendee rule: on a visit
|
|
671
|
+
// they share with somebody, that rule returns null, and a field sheet
|
|
672
|
+
// showing no arrival to the worker who pressed it reads as a lost press.
|
|
673
|
+
`MATCH (v:Visit {accountId: $accountId})-[:HAS_ATTENDANCE]->(mine:Attendance)-[:BY_ENGINEER]->(:Engineer {accountId: $accountId, engineerId: $workerId})
|
|
363
674
|
WHERE v.startDate >= $from AND v.startDate < $to
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
v.startDate AS startDate, v.endDate AS endDate, v.purpose AS purpose,
|
|
370
|
-
e.engineerId AS workerId,
|
|
371
|
-
v.arrivedPressedAt AS arrivedPressedAt,
|
|
372
|
-
v.arrivedObservedAt AS arrivedObservedAt,
|
|
373
|
-
v.arrivedObservedDistanceM AS arrivedObservedDistanceM,
|
|
374
|
-
s.siteId AS siteId, s.name AS siteName,
|
|
375
|
-
c.name AS customerName,
|
|
376
|
-
ct.name AS contactName, ct.telephone AS contactTelephone
|
|
675
|
+
${fieldOptionalMatches(", mine")}
|
|
676
|
+
RETURN ${FIELD_RETURN},
|
|
677
|
+
mine.arrivedPressedAt AS ownArrivedPressedAt,
|
|
678
|
+
mine.arrivedObservedAt AS ownArrivedObservedAt,
|
|
679
|
+
mine.arrivedObservedDistanceM AS ownArrivedObservedDistanceM
|
|
377
680
|
ORDER BY v.startDate ASC`, { accountId, workerId, from: fromUtc, to: toUtc });
|
|
378
681
|
// Sorted in the query, not on the client: an empty result and an unsorted
|
|
379
682
|
// one must not be able to look alike.
|
|
380
683
|
return r.records.map((g) => {
|
|
381
|
-
const dist = g.get("
|
|
382
|
-
return {
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
startDate: str(g.get("startDate")),
|
|
387
|
-
endDate: str(g.get("endDate")),
|
|
388
|
-
purpose: str(g.get("purpose")),
|
|
389
|
-
workerId: str(g.get("workerId")),
|
|
390
|
-
arrivedPressedAt: str(g.get("arrivedPressedAt")),
|
|
391
|
-
arrivedObservedAt: str(g.get("arrivedObservedAt")),
|
|
684
|
+
const dist = g.get("ownArrivedObservedDistanceM");
|
|
685
|
+
return projectFieldVisit(g, {
|
|
686
|
+
workerId,
|
|
687
|
+
arrivedPressedAt: str(g.get("ownArrivedPressedAt")),
|
|
688
|
+
arrivedObservedAt: str(g.get("ownArrivedObservedAt")),
|
|
392
689
|
arrivedObservedDistanceM: dist == null ? null : num(dist),
|
|
393
|
-
|
|
394
|
-
siteName: str(g.get("siteName")),
|
|
395
|
-
customerName: str(g.get("customerName")),
|
|
396
|
-
contactName: str(g.get("contactName")),
|
|
397
|
-
contactTelephone: str(g.get("contactTelephone")),
|
|
398
|
-
};
|
|
690
|
+
});
|
|
399
691
|
});
|
|
400
692
|
});
|
|
401
693
|
}
|
|
694
|
+
/**
|
|
695
|
+
* One visit as a field card, for the job sheet.
|
|
696
|
+
*
|
|
697
|
+
* The sheet used to serve a plain `VisitRow`, which carries no site name, no
|
|
698
|
+
* customer and no contact, so every sheet rendered "Site not named" with no
|
|
699
|
+
* telephone on it. This is the same projection the day list uses, so the two
|
|
700
|
+
* screens cannot disagree.
|
|
701
|
+
*
|
|
702
|
+
* It takes a session because the sheet route already holds one, and it applies
|
|
703
|
+
* no worker filter: the route does its own ownership check, and a read that
|
|
704
|
+
* also filtered would turn another worker's visit into a 404 where the route
|
|
705
|
+
* means to return a 403.
|
|
706
|
+
*/
|
|
707
|
+
async function readFieldVisit(session, accountId, visitId) {
|
|
708
|
+
const r = await session.run(
|
|
709
|
+
// No `mine` to anchor on, because the sheet applies no worker filter, so the
|
|
710
|
+
// four worker fields fall to the sole-attendee rule and go null on a shared
|
|
711
|
+
// visit. `attendances` carries everyone either way, which is what the sheet
|
|
712
|
+
// renders (Task 2512).
|
|
713
|
+
`MATCH (v:Visit {accountId: $accountId, visitId: $visitId})
|
|
714
|
+
${fieldOptionalMatches("")}
|
|
715
|
+
RETURN ${FIELD_RETURN}
|
|
716
|
+
LIMIT 1`, { accountId, visitId });
|
|
717
|
+
if (r.records.length === 0)
|
|
718
|
+
return null;
|
|
719
|
+
return projectFieldVisit(r.records[0]);
|
|
720
|
+
}
|
|
402
721
|
/** The job list, owning its own session. */
|
|
403
722
|
async function readJobList(accountId, filter) {
|
|
404
723
|
const { text, params } = buildJobListQuery(filter);
|