@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
|
@@ -28,22 +28,44 @@ No status, job type, qualification, checklist, SLA target or operator noun appea
|
|
|
28
28
|
A test walks every source file and fails if any string from either shipped fixture config appears in
|
|
29
29
|
it.
|
|
30
30
|
|
|
31
|
-
## The
|
|
31
|
+
## The sixteen tools
|
|
32
32
|
|
|
33
33
|
| Tool | Does | Refuses when |
|
|
34
34
|
|---|---|---|
|
|
35
35
|
| `dispatch-config-get` | Returns the vocabulary, statuses, transitions, job types, roster, checklists and the config audit | no config |
|
|
36
|
+
| `dispatch-site-upsert` | Creates a site under its customer, or gives an existing site its street, town and postcode | a new site with no `customerId`, `name` or `region`; a customer that does not exist; a region outside East/North/South/West; some but not all three address fields |
|
|
37
|
+
| `dispatch-intake-draft` | Holds an inbound request as a draft, storing the fields that resolved and naming the required ones that did not | neither the site nor the customer exists, so there is nothing to attach the draft to |
|
|
38
|
+
| `dispatch-intake-decide` | Approves a draft into a job through the `dispatch-job-create` path, or rejects it with a reason and keeps it | draft unknown; already decided; rejecting with no reason; approving while a required field is still missing |
|
|
39
|
+
| `dispatch-intake-list` | The undecided queue oldest first, or drafts already decided when a verdict is named | — |
|
|
36
40
|
| `dispatch-job-create` | Raises a job at a site for a customer, in the account's first job status, with `slaTargetAt` computed from the type | unknown job type; site or customer does not exist |
|
|
37
41
|
| `dispatch-job-get` | One job with every visit, its times, who attended and what was recorded | job not on this account |
|
|
38
42
|
| `dispatch-job-list` | Jobs filtered by status, type, worker, date window, or narrowed to never-allocated. `overdue` computed on every read | status not declared |
|
|
39
|
-
| `dispatch-allocate-candidates` | Who could take this job in this window, with clashes shown
|
|
43
|
+
| `dispatch-allocate-candidates` | Who could take this job in this window, with clashes shown, exclusions named, and an estimated travel time from each worker's previous visit that day | job unknown, untyped, or typed to something no longer declared |
|
|
40
44
|
| `dispatch-allocate` | Creates the visit, attends it, moves the job along its own edge, attaches a vehicle | worker not on the roster; worker lacks the qualification; vehicle passed while `vehicles.enabled` is false; no `:Person:Engineer` node for the workerId |
|
|
41
45
|
| `dispatch-visit-status-set` | Moves a visit; closes the job when its last visit reaches a terminal status | status not declared; transition not in the edge list; a required record missing |
|
|
42
46
|
| `dispatch-visit-record` | Note, media reference, fitted part, checklist item, signature, arrival | visit unknown; nothing supplied to record |
|
|
43
47
|
| `dispatch-site-history` | Every visit at one site, newest first, with notes | — |
|
|
44
48
|
| `dispatch-day` | One day: every worker with the visits they hold, plus jobs nobody has been sent to | — |
|
|
49
|
+
| `dispatch-notify-worker` | Sends the worker attending a visit its card: one button per move this account allows from where the visit is now, plus a button opening the job sheet inside Telegram | visit unknown or unallocated; worker not on the roster; worker carries no `telegramUserId`; no bot registered; origin is not https |
|
|
50
|
+
| `dispatch-site-location-set` | Gives a site a latitude and longitude, and optionally its own arrival radius in metres | site not on this account; coordinates out of range; radius zero or negative |
|
|
45
51
|
|
|
46
|
-
All
|
|
52
|
+
All sixteen are `adminAllowlist: true`, `publicAllowlist: false`.
|
|
53
|
+
|
|
54
|
+
## A request is a draft before it is a job
|
|
55
|
+
|
|
56
|
+
An inbound request becomes an `:IntakeDraft`, never a `:Job` with a flag — a draft that is a `:Job`
|
|
57
|
+
shows up in `dispatch-job-list`, in the census `jobs=` count and in the planner. A value that names
|
|
58
|
+
nothing on this account counts as missing exactly like an omitted one, so there is one list of gaps
|
|
59
|
+
to act on rather than two vocabularies to reconcile.
|
|
60
|
+
|
|
61
|
+
A draft must resolve at least one of its site or its customer, because the graph write path rejects
|
|
62
|
+
a node with no adjacency and this plugin creates neither. A request naming neither is refused with
|
|
63
|
+
both fields named.
|
|
64
|
+
|
|
65
|
+
Approval runs through the same write path `dispatch-job-create` uses, so the opening status and the
|
|
66
|
+
SLA target come from the account's config and `op=job-create` still appears. A rejection stores its
|
|
67
|
+
reason and keeps the draft. A decision is final; a second one is refused rather than raising a
|
|
68
|
+
duplicate job.
|
|
47
69
|
|
|
48
70
|
## Legality is data
|
|
49
71
|
|
|
@@ -65,7 +87,19 @@ Only a missing qualification excludes a worker, and every exclusion is named:
|
|
|
65
87
|
with the clash shown. Double-booking is the office's decision, and a tool that drops the busy option
|
|
66
88
|
makes that decision for them with no trace.
|
|
67
89
|
|
|
68
|
-
|
|
90
|
+
## How far each candidate has to come
|
|
91
|
+
|
|
92
|
+
Every offered candidate carries `travelMinutes` from their previous visit that day to this job's
|
|
93
|
+
site. It is a **straight-line** figure over an assumed road speed, named in `travelProvider`, so it
|
|
94
|
+
is a lower bound on the drive and never a route: an estuary or a one-way system costs minutes it
|
|
95
|
+
cannot see. Set a site's coordinates with `dispatch-site-location-set` to make it measurable.
|
|
96
|
+
|
|
97
|
+
A candidate with no estimate carries no `travelMinutes` at all, plus a `travelReason` saying why —
|
|
98
|
+
the worker has nothing earlier that day, or a site has no coordinates, named so you know which one
|
|
99
|
+
to fix. There is no zero and no null, because either would read as a measurement.
|
|
100
|
+
|
|
101
|
+
A provider that fails never shortens the list. The office sees the same people it would have seen,
|
|
102
|
+
each carrying the reason instead of a number.
|
|
69
103
|
|
|
70
104
|
## Arrival is two properties
|
|
71
105
|
|
|
@@ -74,18 +108,59 @@ either never clears the other. An observation with no press is stored and flagge
|
|
|
74
108
|
is what somebody said; an observed one is what was measured, and a single `arrivedAt` cannot show
|
|
75
109
|
them disagreeing.
|
|
76
110
|
|
|
111
|
+
## The card in the worker's chat
|
|
112
|
+
|
|
113
|
+
A worker does not have to open anything to move a job along. `dispatch-notify-worker` sends the
|
|
114
|
+
visit as a card in his Telegram chat, carrying one button per move this account allows from where the
|
|
115
|
+
visit is now, and one button that opens the full job sheet inside Telegram. Press a button and the
|
|
116
|
+
visit moves; the card redraws itself with whatever is legal next.
|
|
117
|
+
|
|
118
|
+
Two things have to be true before a card can go anywhere. The worker's entry in
|
|
119
|
+
`dispatch/config.json` needs his numeric `telegramUserId`, the same one the job sheet signs him in
|
|
120
|
+
with. And the account needs an admin Telegram bot registered, which `telegram-setup` does.
|
|
121
|
+
|
|
122
|
+
A button that is out of date is refused, not applied. If the office moved the visit on while the
|
|
123
|
+
card sat on his phone, pressing it tells him what the button was for and what the visit is now, and
|
|
124
|
+
redraws the card. Nothing is applied twice and nothing is applied out of order.
|
|
125
|
+
|
|
126
|
+
If he shares his live location, and the site has coordinates, arriving inside the site's radius
|
|
127
|
+
records the arrival independently of anything he pressed. Both times are kept. That is the whole
|
|
128
|
+
point: what somebody said and what was measured can then disagree, and the disagreement is visible.
|
|
129
|
+
A site gets its coordinates from `dispatch-site-location-set`; without them the geofence cannot fire
|
|
130
|
+
and `sitesWithoutCoords=` counts how many are still unplaced. The radius is the site's own if it has
|
|
131
|
+
one, otherwise the account's `vehicles.defaultGeofenceRadiusM`; with neither, nothing is recorded,
|
|
132
|
+
because a distance with nothing to compare it against cannot say whether anybody arrived.
|
|
133
|
+
|
|
134
|
+
A voice note becomes that visit's note, transcribed. A photo becomes its media. Both need exactly
|
|
135
|
+
one visit open for that worker: with none, or with more than one, the message stays in the chat and
|
|
136
|
+
he is told which visit to open, because filing a photograph against the wrong job silently is worse
|
|
137
|
+
than asking.
|
|
138
|
+
|
|
77
139
|
## The standing checks
|
|
78
140
|
|
|
79
|
-
|
|
80
|
-
past its SLA target, a status no transition reaches, a job
|
|
81
|
-
with no qualification,
|
|
141
|
+
Eight failure modes emit no event, because no action occurs: a draft nobody decided on, a job
|
|
142
|
+
created and never allocated, a job past its SLA target, a status no transition reaches, a job
|
|
143
|
+
type no worker is qualified for, a worker with no qualification, visits closing hours after the
|
|
144
|
+
work ended, and a card sent to a worker's phone that never arrived.
|
|
145
|
+
|
|
146
|
+
The draft is the sharpest of them. Nothing was created so there are no write logs, nothing was
|
|
147
|
+
refused so there are no rejection logs, and the requester never got an answer. It is byte-identical
|
|
148
|
+
to a quiet morning until the census counts it.
|
|
82
149
|
|
|
83
150
|
- `[dispatch-census]`, per account, every 15 minutes: `jobs= unallocated= oldestUnallocatedAgeH=
|
|
84
|
-
overdue= visitsOpen= visitsOpenOver24h=`
|
|
151
|
+
overdue= visitsOpen= visitsOpenOver24h= intakeUnreviewed= oldestIntakeAgeH=`
|
|
85
152
|
- `[dispatch-config-audit]`, on config load and each tick: `statuses= unreachable= terminal=
|
|
86
153
|
jobTypes= typesWithNoQualifiedWorker= workersWithNoQualification=`
|
|
87
154
|
- `[dispatch-record-census]`, daily: `closedVisits= withNote= withMedia= medianRecordLagS=
|
|
88
155
|
p90RecordLagS=`
|
|
156
|
+
- `[dispatch-tg-census]`, per account, every 15 minutes: `dispatchedToday= acknowledged=
|
|
157
|
+
unacknowledged= oldestUnackMin= keyboardsLive= keyboardsOnClosedVisits= callbacksToday=
|
|
158
|
+
callbacksFailed= voiceAwaitingTranscription= sitesWithoutCoords=`
|
|
159
|
+
|
|
160
|
+
A card that never reached a worker's phone is the seventh failure mode that emits nothing at all.
|
|
161
|
+
Nothing is logged because nothing happened, so only counting cards sent against cards pressed can
|
|
162
|
+
see it. `oldestUnackMin` climbing across ticks is a phone that is off, out of signal, or a worker
|
|
163
|
+
who has stopped looking.
|
|
89
164
|
|
|
90
165
|
They run in the UI server, not in the plugin, because a plugin only runs when somebody calls it.
|
|
91
166
|
Accounts without a dispatch config are skipped silently.
|
|
@@ -112,11 +187,13 @@ Europe/London visit near local midnight for the whole of British Summer Time, so
|
|
|
112
187
|
derives boundaries in the account's own timezone. And `dispatch-job-list` caps its rows, so the
|
|
113
188
|
planner takes its counts from an aggregate instead of counting what it was given.
|
|
114
189
|
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
190
|
+
The window compare is lexical, so an instant carrying a non-UTC offset reads correctly under GMT and
|
|
191
|
+
an hour out under British Summer Time. It is fixed at the writer, the only place it can be fixed:
|
|
192
|
+
`dispatch-allocate` normalises `startDate` and `endDate` through `platform/lib/canonical-instant`,
|
|
193
|
+
the same definition the scheduling writers use, and refuses a value it cannot convert. Stored rows
|
|
194
|
+
converge on install. The planner still logs `op=nonzulu-start` with the offending visit ids, and
|
|
195
|
+
`[dispatch-census]` carries `nonCanonicalInstants` every sweep, so a regression is visible with or
|
|
196
|
+
without a browser open.
|
|
120
197
|
|
|
121
198
|
Full detail: [`.docs/dispatch-planner.md`](../../../.docs/dispatch-planner.md).
|
|
122
199
|
|
|
@@ -152,8 +229,10 @@ Full detail: [`.docs/dispatch-field-app.md`](../../../.docs/dispatch-field-app.m
|
|
|
152
229
|
## Diagnostic path
|
|
153
230
|
|
|
154
231
|
```
|
|
155
|
-
journalctl --user -u <brand>-* | grep -E '\[dispatch\]|\[dispatch-census\]|\[dispatch-config-audit\]|\[dispatch-record-census\]|\[dispatch-field\]|\[dispatch-field-census\]'
|
|
232
|
+
journalctl --user -u <brand>-* | grep -E '\[dispatch\]|\[dispatch-census\]|\[dispatch-config-audit\]|\[dispatch-record-census\]|\[dispatch-field\]|\[dispatch-field-census\]|\[dispatch-tg\]|\[dispatch-tg-census\]'
|
|
156
233
|
```
|
|
157
234
|
|
|
158
235
|
Then filter by `jobId=` for one job's lifeline, `op=transition-refused` to audit rejected writes, or
|
|
159
|
-
`exclusions=` to see why allocation offered whom.
|
|
236
|
+
`exclusions=` to see why allocation offered whom. For the card path, `updateId=` follows one press
|
|
237
|
+
end to end, `visitId=` follows one visit's whole field record, and `op=unbound-inbound` finds the
|
|
238
|
+
messages that reached no visit.
|
|
@@ -517,6 +517,12 @@ The `brand-excluded` branch closes the recurring crash-restart loop on brands th
|
|
|
517
517
|
|
|
518
518
|
**Per-spawn signals (server.log).** Every spawn emits `pty-spawn-mcp-config servers=<N> tools=<M> bytes=<B> path=<…>` once, plus one `pty-spawn-agents-dir role=<admin|public> path=<…>` per added directory. Specialist spawns additionally emit `pty-spawn-allowlist specialist=<name> count=<N> stripped=<S> sourced-from=agent-frontmatter` where `stripped` is the count of brand-excluded tool names removed before argv emission. The diagnostic one-liner is `grep -E 'pty-spawn-mcp-config|pty-spawn-agents-dir|pty-spawn-allowlist|mcp-config-allowlist-coverage|specialist-tool-strip|boot-failed reason=' ~/.<brand>/logs/server.log | tail -50`.
|
|
519
519
|
|
|
520
|
+
**Is the account's own specialist actually being used? (server.log).** An account can have its own specialists, have them registered and resolvable, and still never use them. Every reachability signal reads green through that state — the registry reconcile says a specialist CAN be reached, the roster census says it is advertised, the preference audit says whether the right one wrote an owned artefact — and none of them counts a dispatch. Skipped delegation writes no record either: the admin doing the work inline logs an ordinary success. Two signals close it, both in `server.log`.
|
|
521
|
+
|
|
522
|
+
Every five minutes, one line per provisioned account, emitted including all-zero so the line's presence proves the check ran: `[specialist-census] account=<id8> declared=<n> dispatched7d=<n> bypassed7d=<n>`. `declared` counts the specialists the account authored itself, not the ones the platform ships — provisioning copies every shipped template into each account, and one of them declares roughly 130 tools, so counting every card would make the other two numbers meaningless. `dispatched7d` counts dispatches in the last seven days whose subagent `agentType` names one of those authored specialists; `bypassed7d` counts direct main-conversation calls to a tool one of them declares, native tools excluded. **`declared` above zero with `dispatched7d` at zero is the fault.** An account whose card set cannot be read emits `[specialist-census] account=<id8> op=degraded reason=<r>` and no counts at all, because a count nobody measured is worse than no count.
|
|
523
|
+
|
|
524
|
+
Against that, a PreToolUse gate ([`specialist-dispatch-gate.sh`](../../admin/hooks/specialist-dispatch-gate.sh)) refuses the admin a tool one of the account's own specialists declares, and names the specialist in the refusal: `[specialist-gate] op=refuse account=<id8> tool=<t> specialist=<name>`. The caller is identified by `agent_type` in the hook envelope, which Claude Code sets inside a subagent and leaves empty in the main conversation, so the gate constrains one seat and never filters a subagent's tool surface. It fails open on an uninspectable envelope and says so with `op=degraded reason=<r>` when the card set cannot be read. Rising refusals against a flat `dispatched7d` is a distinct fault from silence: the admin is being stopped and still not delegating, which needs a change to how it is briefed rather than to the gate. The diagnostic one-liner is `grep -E '\[specialist-census\]|\[specialist-gate\]' ~/.<brand>/logs/server.log | tail -50`.
|
|
525
|
+
|
|
520
526
|
**Channel follower cold-start retry.** Each `dispatchOnce`-based channel PTY session has one JSONL follower ([`platform/ui/app/lib/channel-pty-bridge/follower.ts`](../../../ui/app/lib/channel-pty-bridge/follower.ts)) reading `GET /<sessionId>/log?follow=1` and fanning each assistant `end_turn` out to the awaiting `dispatchOnce`. (WhatsApp and public webchat have since migrated to the native event channel — an MCP notification in, a `reply`-tool call out — and no longer use this follower; the remaining `dispatchOnce` channels are email and telegram. The webchat detail below is the historical record of the bug the retry fixed.) A freshly-spawned PTY has no JSONL on disk until claude flushes its first line; during that window the manager answers `202 {pending:true}`. The follower retries every `CHANNEL_PTY_FOLLOWER_RETRY_MS` (default 1000) until a 200 stream opens or `CHANNEL_PTY_FOLLOWER_PENDING_MAX_MS` elapses. The follower is shared across channels, so that window defaults to the longest channel turn window (whatsapp's `WHATSAPP_PTY_TURN_TIMEOUT_MS`, 300000 — longer than webchat's 120000) so it never abandons a turn the caller is still awaiting. Because public sessions idle-reap, every webchat greeting is the first turn of a fresh spawn and crosses this window — before the retry, a 202 (which satisfies `res.ok`) was consumed as a single non-event line, the stream ended, and the follower died silently, timing out every public turn. The lifecycle is greppable as `follower-connect status=<code>` → `follower-retry attempt=N reason=pending` → `follower-open` → `outbound bytes=N`; `follower-give-up reason=pending-timeout` marks the JSONL never appearing. A `reject reason=turn-timeout` with no preceding `follower-open` (and no manager `log-follow-open`) for that sessionId is the signature. See `.docs/gated-public-agents.md` "Webchat turn lifecycle" for the full tag list.
|
|
521
527
|
|
|
522
528
|
**Brand-process start counter.** `platform/ui/server-init.cjs` increments a persistent counter at `/tmp/server-init-<accountId>-restart.count` on every fresh start and emits `[server-init] start count=<N> account=<accountId> counter-path=<…>` to `server.log`. /tmp clears on reboot, so a clean reboot starts the count fresh; any value `>1` between operator-observed reboots means the brand process (driven by its `Requires=<brand>-claude-session-manager.service` clause) is restarting. The diagnostic one-liner is `grep '\[server-init\] start' ~/.<brand>/logs/server.log | tail -5` — the trailing `count=` value is the loop depth without counting SIGTERMs.
|
|
@@ -63,9 +63,19 @@ Mail only: calendar and contacts tools refuse on a shared mailbox and say so. If
|
|
|
63
63
|
|
|
64
64
|
When the admin agent drafts or sends a message to a known contact, it reads that contact's record first and applies any routing the record carries, for example a preferred send-to address, showing the result for your approval before anything is sent.
|
|
65
65
|
|
|
66
|
+
## What an empty Drafts folder does not prove
|
|
67
|
+
|
|
68
|
+
If a draft is gone from Drafts and a copy of it is in Sent Items, that does **not** mean this platform sent it. An external mail client signed in to the same mailbox produces exactly the same folder state, and so does a person clicking send on their phone. Never report that Real Agent sent something on the strength of folder state alone.
|
|
69
|
+
|
|
70
|
+
Two other things look alarming and are the same blind spot. A message that has left the Drafts folder still fetches by id, and while it remains a draft object it still comes back with no `from` — so "it still fetches" is not "it is still a draft". Read `isDraft` and `parentFolderId`, which every mail read now returns.
|
|
71
|
+
|
|
72
|
+
The one statement to trust is the hourly reconcile's verdict, `op=draft-reconcile … outcome=`. It compares a ledger of every draft this platform created and sent against what the mailbox actually holds. `outcome=sent-not-by-maxy` means the platform made the draft, never sent it, and it left the folder anyway.
|
|
73
|
+
|
|
74
|
+
Naming *what* sent it needs the mailbox tenant's Microsoft 365 unified audit log, where a `Send` record carries the client string. This plugin's delegated permissions cannot read it — the mailbox owner's M365 administrator pulls it. Say that, rather than guessing.
|
|
75
|
+
|
|
66
76
|
## Observability
|
|
67
77
|
|
|
68
|
-
All log lines start with `[outlook-mcp]` and write to `server.log`. They are key=value, account-scoped:
|
|
78
|
+
All log lines start with `[outlook-mcp]` and write to `server.log`, except the draft reconcile, which the scheduling heartbeat spawns and whose lines land in `check-due-events.log`. They are key=value, account-scoped:
|
|
69
79
|
|
|
70
80
|
| Event | Line shape |
|
|
71
81
|
|-------|------------|
|
|
@@ -117,6 +127,13 @@ All log lines start with `[outlook-mcp]` and write to `server.log`. They are key
|
|
|
117
127
|
| Draft-send request | `draft-send-request account=<id> id=<draftId>` |
|
|
118
128
|
| Draft sent | `draft-sent account=<id> id=<draftId> status=202` |
|
|
119
129
|
| Draft-send failed | `draft-send-failed account=<id> id=<draftId> error=<msg>` |
|
|
130
|
+
| Ledger row written | `draft-ledger op=<created\|sent> account=<id> mailbox=<addr> draftId=<id> tool=<t> route=<r\|null>` — one per draft created and per draft sent, the left-hand side the reconcile compares the mailbox against |
|
|
131
|
+
| Ledger row lost | `draft-ledger-failed op=<created\|sent> account=<id> draftId=<id> error=<msg>` — the row was not written; the mail still went. A `sent` row lost here can make a real Real Agent send read as `sent-not-by-maxy` later |
|
|
132
|
+
| Draft reconciled | `draft-reconcile account=<id> mailbox=<addr> draftId=<id> outcome=<still-draft\|sent-by-maxy\|sent-not-by-maxy\|deleted\|unreadable> createdTs=<iso> sentDateTime=<iso\|null> parentFolderId=<id\|null> ageMs=<N>` — plus `sentCopyId=`/`sentCopyTo=`/`sentCopyAt=` on `sent-not-by-maxy`, and `status=`/`code=` on `unreadable`. **In `check-due-events.log`, not `server.log`** |
|
|
133
|
+
| Reconcile census | `draft-reconcile-census account=<id> total=<N> stillDraft=<N> sentByMaxy=<N> sentNotByMaxy=<N> deleted=<N> unreadable=<N>` — **every pass including an all-zero one, so an absent census means the reconcile stopped running** |
|
|
134
|
+
| Reconcile pruned | `draft-reconcile-pruned accounts=<N> removed=<N> kept=<N>` |
|
|
135
|
+
| Reconcile skipped | `draft-reconcile-skipped reason=no-vendor-app` — this brand ships no Outlook app; distinct from "did not run" |
|
|
136
|
+
| Reconcile could not run | `draft-reconcile-failed error=<msg>` — exit 1 |
|
|
120
137
|
|
|
121
138
|
## Diagnostic paths
|
|
122
139
|
|
|
@@ -133,6 +150,19 @@ grep -E "^\[outlook-mcp\] (mail-reply|draft-created)" ~/.maxy/logs/server.log \
|
|
|
133
150
|
| grep -E "threaded=true|op=reply" | grep -E "convId=(null)?( |$)" | head
|
|
134
151
|
```
|
|
135
152
|
|
|
153
|
+
```bash
|
|
154
|
+
# One draft's whole lifeline: created, then a verdict per hourly pass.
|
|
155
|
+
grep -E "op=draft-ledger|op=draft-reconcile" ~/.maxy/logs/check-due-events.log | grep "draftId=<id>"
|
|
156
|
+
|
|
157
|
+
# Did the reconcile stop? An absent census IS the failure signal.
|
|
158
|
+
grep -c "op=draft-reconcile-census" ~/.maxy/logs/check-due-events.log
|
|
159
|
+
|
|
160
|
+
# Confirm a sent-not-by-maxy: this must be EMPTY for the window in question.
|
|
161
|
+
grep -E "op=request tool=outlook-(draft-send|mail-send|mail-reply)" ~/.maxy/logs/mcp-outlook-*.log
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
Attribution triage: `outcome=sent-not-by-maxy` with the send grep above empty means this platform made the draft, never sent it, and it left the folder anyway — an external mail client on the same mailbox. If the send grep is **not** empty for that draft id, suspect a lost ledger row instead and check for `draft-ledger-failed`.
|
|
165
|
+
|
|
136
166
|
Threading triage: **absence of a `convId` on a threaded write means threading was lost.** `draft-created threaded=false convId=null` is correct and expected — a new message has no parent conversation. `draft-created threaded=true convId=null` is a fault: Graph returned a reply draft that names no conversation, and the reply will land detached from the original.
|
|
137
167
|
|
|
138
168
|
Latency triage: `mail-list count=0 elapsedMs<200` consistent → permissions issue; `elapsedMs > 5000` → Graph slowness or DNS.
|
|
@@ -48,6 +48,16 @@ Note: passing an explicit second argument (e.g. `logs-read.sh <key> agent-stream
|
|
|
48
48
|
|
|
49
49
|
**Diagnose if it ever recurs:** grep the per-conversation stream log for `[browser-render]`. `rendered=true domBytes=<n>` is the healthy signal. `rendered=false outcome=cdp-unreachable` means no Chromium is listening on the brand's CDP port — confirm with `curl 127.0.0.1:<cdpPort>/json/version`. Other outcomes (`navigate-failed`, `load-timeout`, `evaluate-failed`) name the failed CDP step.
|
|
50
50
|
|
|
51
|
+
## Stylesheet text is visible on a client document, or a styled box has lost its rules
|
|
52
|
+
|
|
53
|
+
**Symptom:** A client-facing HTML document shows raw CSS as text on the page, usually above the header, and a box further down the same document renders unstyled (no border, no padding). Both are one fault, not two.
|
|
54
|
+
|
|
55
|
+
**Cause:** A `<style>` element opened inside another one. HTML parses style content as raw text, so the two do not nest: the first `</style>` closes the outer element, everything after it becomes body content and renders as visible text, and the rule immediately after the stray opener is eaten as part of an invalid selector.
|
|
56
|
+
|
|
57
|
+
**Resolution:** Delete the stray opener. Put the block in the body as its own `<style>` element, or merge its rules into the one already open. If the document is deployed, redeploy it, then confirm the rule is present in the parsed stylesheet — a changed byte count is not proof.
|
|
58
|
+
|
|
59
|
+
**Diagnose:** `grep -F '[html-structure-census]' ~/.<brand>/logs/server.log | tail -1` reports `accounts=`, `documents=` and `malformed=` from the last standing tick, and each malformed document has its own `op=malformed account=<id8> file="<path>" line=<n>` line naming the stray opener. The summary is emitted on every run including a zero count, so no line at all means the walk is broken rather than the install being clean, and `documents=0` means the same. A write that would produce the shape is refused before it lands, logging `[html-structure-gate] op=refuse` to the same file.
|
|
60
|
+
|
|
51
61
|
## First user-domain write rejected by `[graph-write-gate] reject reason=no-admin-user`
|
|
52
62
|
|
|
53
63
|
**Symptom:** Admin chat reports "couldn't save that — set up your business profile first" or `[graph-write-gate] reject reason=no-admin-user` appears in `server.log` on the operator's first non-bootstrap write (a website, service, opening hours, etc.). Reproduces on Minimal-onboarded installs from before the seed-stamping fix shipped.
|
package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/dispatch-vertical-coverage.test.js
CHANGED
|
@@ -202,7 +202,10 @@ test("dispatch owns the visit, cost and note edges", () => {
|
|
|
202
202
|
const block = patternBlock("schema-dispatch.md");
|
|
203
203
|
for (const edge of [
|
|
204
204
|
"(:Job)-[:HAS_VISIT]->(:Visit)",
|
|
205
|
-
|
|
205
|
+
// Two hops since Task 2512: the attendance is the node that carries one
|
|
206
|
+
// worker's own arrival times.
|
|
207
|
+
"(:Visit)-[:HAS_ATTENDANCE]->(:Attendance)",
|
|
208
|
+
"(:Attendance)-[:BY_ENGINEER]->(:Engineer)",
|
|
206
209
|
"(:Job)-[:HAS_COST]->(:JobCost)",
|
|
207
210
|
"(:Note)-[:ABOUT]->(:Job)",
|
|
208
211
|
]) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispatch-vertical-coverage.test.js","sourceRoot":"","sources":["../../../src/lib/__tests__/dispatch-vertical-coverage.test.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"dispatch-vertical-coverage.test.js","sourceRoot":"","sources":["../../../src/lib/__tests__/dispatch-vertical-coverage.test.ts"],"names":[],"mappings":"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"}
|
package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/relationship-patterns.test.js
CHANGED
|
@@ -184,9 +184,32 @@ describe("real schema-dispatch.md (Task 2499)", () => {
|
|
|
184
184
|
// anchored on :Engineer, so a base :Person write is never newly governed.
|
|
185
185
|
expect(patterns.find((p) => p.source === "Person")).toBeUndefined();
|
|
186
186
|
});
|
|
187
|
+
it("allows AT_ADDRESS from a Site, so a site address is not drift (Task 2514)", () => {
|
|
188
|
+
// :Site is already a governed source label via HAS_ASSET, so before this
|
|
189
|
+
// edge was declared an address write from a site was governed && !allowed
|
|
190
|
+
// and every one of them was logged as drift.
|
|
191
|
+
expect(patterns).toContainEqual({
|
|
192
|
+
source: "Site",
|
|
193
|
+
edgeType: "AT_ADDRESS",
|
|
194
|
+
target: "PostalAddress",
|
|
195
|
+
sourceFile: "schema-dispatch.md",
|
|
196
|
+
});
|
|
197
|
+
expect(checkEdgeAgainstPatterns(["Site"], "AT_ADDRESS", patterns)).toEqual({
|
|
198
|
+
governed: true,
|
|
199
|
+
allowed: true,
|
|
200
|
+
});
|
|
201
|
+
});
|
|
187
202
|
it("governs the visit lifecycle edges", () => {
|
|
188
203
|
expect(checkEdgeAgainstPatterns(["Job"], "HAS_VISIT", patterns).allowed).toBe(true);
|
|
189
|
-
|
|
204
|
+
// Task 2512 replaced (:Visit)-[:ATTENDED_BY]->(:Engineer) with the two hops
|
|
205
|
+
// through :Attendance, so the retired edge must now be governed and refused
|
|
206
|
+
// rather than merely absent — an ungoverned edge would be written silently.
|
|
207
|
+
expect(checkEdgeAgainstPatterns(["Visit"], "HAS_ATTENDANCE", patterns).allowed).toBe(true);
|
|
208
|
+
expect(checkEdgeAgainstPatterns(["Attendance"], "BY_ENGINEER", patterns).allowed).toBe(true);
|
|
209
|
+
expect(checkEdgeAgainstPatterns(["Visit"], "ATTENDED_BY", patterns)).toEqual({
|
|
210
|
+
governed: true,
|
|
211
|
+
allowed: false,
|
|
212
|
+
});
|
|
190
213
|
expect(checkEdgeAgainstPatterns(["Visit"], "USED_VEHICLE", patterns).allowed).toBe(true);
|
|
191
214
|
expect(checkEdgeAgainstPatterns(["Visit"], "INVENTED_EDGE", patterns)).toEqual({
|
|
192
215
|
governed: true,
|
package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/relationship-patterns.test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relationship-patterns.test.js","sourceRoot":"","sources":["../../../src/lib/__tests__/relationship-patterns.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EACL,yBAAyB,EACzB,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,6BAA6B,CAAC;AAErC,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;CAiBpB,CAAC;AAEF,MAAM,IAAI,GAAG;;;;;;CAMZ,CAAC;AAEF,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACzC,EAAE,CAAC,wEAAwE,EAAE,GAAG,EAAE;QAChF,MAAM,GAAG,GAAG,yBAAyB,CAAC,YAAY,EAAE,wBAAwB,CAAC,CAAC;QAC9E,MAAM,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC;YACzB,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,eAAe;YACzB,MAAM,EAAE,WAAW;YACnB,UAAU,EAAE,wBAAwB;SACrC,CAAC,CAAC;QACH,MAAM,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC;YACzB,MAAM,EAAE,OAAO;YACf,QAAQ,EAAE,UAAU;YACpB,MAAM,EAAE,WAAW;YACnB,UAAU,EAAE,wBAAwB;SACrC,CAAC,CAAC;QACH,MAAM,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC;YACzB,MAAM,EAAE,WAAW;YACnB,QAAQ,EAAE,QAAQ;YAClB,MAAM,EAAE,WAAW;YACnB,UAAU,EAAE,wBAAwB;SACrC,CAAC,CAAC;QACH,yDAAyD;QACzD,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,eAAe,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;QACxE,MAAM,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACnE,MAAM,CAAC,yBAAyB,CAAC,gCAAgC,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC1F,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACzC,MAAM,GAAG,GAAG;QACV,GAAG,yBAAyB,CAAC,IAAI,EAAE,gBAAgB,CAAC;QACpD,GAAG,yBAAyB,CAAC,YAAY,EAAE,wBAAwB,CAAC;KACrE,CAAC;IACF,EAAE,CAAC,iEAAiE,EAAE,GAAG,EAAE;QACzE,MAAM,GAAG,GAAG,yBAAyB,CAAC,GAAG,EAAE,CAAC,aAAa,EAAE,qBAAqB,CAAC,CAAC,CAAC;QACnF,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,wBAAwB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChF,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,GAAG,GAAG,yBAAyB,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;QAC5D,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;QACpE,2EAA2E;QAC3E,sEAAsE;QACtE,+CAA+C;QAC/C,MAAM,YAAY,GAAG;YACnB,GAAG,GAAG;YACN,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE;SAC5F,CAAC;QACF,MAAM,GAAG,GAAG,yBAAyB,CAAC,YAAY,EAAE;YAClD,aAAa;YACb,iBAAiB;YACjB,qBAAqB;SACtB,CAAC,CAAC;QACH,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1E,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,wBAAwB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9E,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,MAAM,UAAU,GAAG;YACjB,GAAG,GAAG;YACN,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,wBAAwB,EAAE;SACzG,CAAC;QACF,MAAM,GAAG,GAAG,yBAAyB,CAAC,UAAU,EAAE,CAAC,aAAa,EAAE,qBAAqB,CAAC,CAAC,CAAC;QAC1F,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,wBAAwB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjF,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,gDAAgD,EAAE,GAAG,EAAE;IAC9D,MAAM,QAAQ,GAAG,yBAAyB,CAAC,YAAY,EAAE,wBAAwB,CAAC,CAAC;IAEnF,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;QAClE,MAAM,CAAC,wBAAwB,CAAC,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;YACrE,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;QACH,MAAM,CAAC,wBAAwB,CAAC,CAAC,KAAK,CAAC,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;YAC3E,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC9D,MAAM,CAAC,wBAAwB,CAAC,CAAC,KAAK,CAAC,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;YAC3E,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;QACH,MAAM,CAAC,wBAAwB,CAAC,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;YACxE,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4EAA4E,EAAE,GAAG,EAAE;QACpF,MAAM,CAAC,wBAAwB,CAAC,CAAC,SAAS,CAAC,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;YAC7E,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;QAClE,kEAAkE;QAClE,MAAM,CAAC,wBAAwB,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;YAChF,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,6DAA6D,EAAE,GAAG,EAAE;IAC3E,MAAM,EAAE,GAAG,YAAY,CACrB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,+CAA+C,CAAC,EAC7E,OAAO,CACR,CAAC;IACF,MAAM,QAAQ,GAAG,yBAAyB,CAAC,EAAE,EAAE,wBAAwB,CAAC,CAAC;IAEzE,EAAE,CAAC,iEAAiE,EAAE,GAAG,EAAE;QACzE,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC;YAC9B,MAAM,EAAE,OAAO;YACf,QAAQ,EAAE,UAAU;YACpB,MAAM,EAAE,WAAW;YACnB,UAAU,EAAE,wBAAwB;SACrC,CAAC,CAAC;QACH,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC;YAC9B,MAAM,EAAE,WAAW;YACnB,QAAQ,EAAE,QAAQ;YAClB,MAAM,EAAE,WAAW;YACnB,UAAU,EAAE,wBAAwB;SACrC,CAAC,CAAC;QACH,MAAM,CACJ,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,KAAK,IAAI,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,CACtE,CAAC,aAAa,EAAE,CAAC;IACpB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qEAAqE,EAAE,GAAG,EAAE;QAC7E,MAAM,CAAC,wBAAwB,CAAC,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnF,MAAM,CAAC,wBAAwB,CAAC,CAAC,KAAK,CAAC,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzF,MAAM,CAAC,wBAAwB,CAAC,CAAC,KAAK,CAAC,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxF,MAAM,CAAC,wBAAwB,CAAC,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,GAAG,EAAE;QACtE,wEAAwE;QACxE,4EAA4E;QAC5E,mDAAmD;QACnD,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;QACxE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,aAAa,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;IAC7E,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,qCAAqC,EAAE,GAAG,EAAE;IACnD,MAAM,EAAE,GAAG,YAAY,CACrB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,2CAA2C,CAAC,EACzE,OAAO,CACR,CAAC;IACF,MAAM,QAAQ,GAAG,yBAAyB,CAAC,EAAE,EAAE,oBAAoB,CAAC,CAAC;IAErE,EAAE,CAAC,+FAA+F,EAAE,GAAG,EAAE;QACvG,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC;YAC9B,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,UAAU;YACpB,MAAM,EAAE,SAAS;YACjB,UAAU,EAAE,oBAAoB;SACjC,CAAC,CAAC;QACH,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC;YAC9B,MAAM,EAAE,SAAS;YACjB,QAAQ,EAAE,aAAa;YACvB,MAAM,EAAE,UAAU;YAClB,UAAU,EAAE,oBAAoB;SACjC,CAAC,CAAC;QACH,sEAAsE;QACtE,0EAA0E;QAC1E,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;IACtE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,CAAC,wBAAwB,CAAC,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpF,MAAM,CAAC,wBAAwB,CAAC,CAAC,OAAO,CAAC,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"relationship-patterns.test.js","sourceRoot":"","sources":["../../../src/lib/__tests__/relationship-patterns.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -57,11 +57,25 @@ creation from the job type's configured target; a job type with no target leaves
|
|
|
57
57
|
unset. Never write a sentinel value for an unknown date — omit the property until the real value is
|
|
58
58
|
known.
|
|
59
59
|
|
|
60
|
+
`Site.latitude` and `Site.longitude` are decimal degrees, written by `dispatch-site-location-set`.
|
|
61
|
+
`Site.geofenceRadiusM` is that site's own arrival radius in metres and falls back to the account's
|
|
62
|
+
`vehicles.defaultGeofenceRadiusM`. All three are optional and none is a required property: a site
|
|
63
|
+
without them cannot corroborate an arrival, which `[dispatch-tg-census]` counts as
|
|
64
|
+
`sitesWithoutCoords`.
|
|
65
|
+
|
|
66
|
+
`Visit.cardSentAt`, `Visit.cardMessageId` and `Visit.cardAckedAt` record the assignment card sent to
|
|
67
|
+
the worker's phone: when it was sent, which Telegram message it is, and when he first pressed
|
|
68
|
+
anything on it. They exist because a notification that never arrived triggers nothing at all, so
|
|
69
|
+
only reconciling the first against the third can see one that did not land. All three are optional;
|
|
70
|
+
a visit nobody was notified about carries none of them.
|
|
71
|
+
|
|
60
72
|
---
|
|
61
73
|
|
|
62
74
|
## Arrival is two observations, never one
|
|
63
75
|
|
|
64
|
-
`:
|
|
76
|
+
`:Attendance` carries three optional properties that record when **that** worker reached the site.
|
|
77
|
+
They are properties of the attendance and never of the `:Visit`: a visit two workers share has two
|
|
78
|
+
arrivals, so one set on the visit could only ever describe one of them.
|
|
65
79
|
|
|
66
80
|
| Property | Meaning |
|
|
67
81
|
|---|---|
|
|
@@ -75,7 +89,10 @@ arrival is what somebody said; an observed arrival is what was measured. Collaps
|
|
|
75
89
|
the reference account one engineer closed Monday's jobs on Tuesday morning, so every recorded
|
|
76
90
|
finish time was when a button was pressed, not when work ended.
|
|
77
91
|
|
|
78
|
-
|
|
92
|
+
An attendance may carry an observation with no press. That is stored and flagged, not discarded.
|
|
93
|
+
|
|
94
|
+
An arrival written against a visit two workers share must **name the worker**. Unnamed, the write is
|
|
95
|
+
refused as `ambiguous-attendance`: choosing either attendance would be a silent cross-assignment.
|
|
79
96
|
|
|
80
97
|
---
|
|
81
98
|
|
|
@@ -86,6 +103,11 @@ A visit may carry an observation with no press. That is stored and flagged, not
|
|
|
86
103
|
| Job cost | `JobCost` | `accountId`, `costType` | JobLogic-exact |
|
|
87
104
|
| Contact | `Contact` | `accountId`, `contactId`, `name` | JobLogic-exact |
|
|
88
105
|
| Job note | `Note` | `accountId`, `noteId`, `text`, `author`, `createdAt` | homegrown |
|
|
106
|
+
| Intake draft | `IntakeDraft` | `accountId`, `draftId`, `receivedAt`, `source`, `sourceRef` | authored |
|
|
107
|
+
|
|
108
|
+
`:IntakeDraft` is an inbound request that somebody has read and nobody has decided on. It is a child
|
|
109
|
+
label rather than a top-level one: it is reached through the customer or site it names, it owns no
|
|
110
|
+
folder, and it is not operator-entry.
|
|
89
111
|
|
|
90
112
|
`JobCost.costType` is one of `labour`, `material`, `travel`, `mileage`, `expense`,
|
|
91
113
|
`subcontractor`, `scheduleOfRates` — the JobLogic cost-line taxonomy. A logged labour day is a
|
|
@@ -116,6 +138,12 @@ MERGE keys per label:
|
|
|
116
138
|
- `:Contact` — `(accountId, contactId)` — write-time MERGE
|
|
117
139
|
- `:Note` — `(accountId, noteId)` — child of `:Job` via `(:Note)-[:ABOUT]->(:Job)`, append-only CREATE (a fresh `noteId` per note, not a content MERGE), so a second note never overwrites the first
|
|
118
140
|
- `:Engineer` — `(accountId, engineerId)` — additional label on `:Person`, set via `memory-update`
|
|
141
|
+
- `:IntakeDraft` — `(accountId, draftId)` — write-time MERGE. A draft carries **no `verdict`
|
|
142
|
+
property at all** until it is decided; undecided is the absence of the property, never a written
|
|
143
|
+
value, so a count of the queue is a count of what is missing rather than a filter over a sentinel.
|
|
144
|
+
A decision sets `verdict`, `decidedAt`, `decidedBy`, and then `jobId` on an approval or `reason` on
|
|
145
|
+
a rejection. Only fields that resolved on this account are stored: a job type this account does not
|
|
146
|
+
declare, or a `siteId` naming nothing, is recorded as missing and written nowhere
|
|
119
147
|
|
|
120
148
|
---
|
|
121
149
|
|
|
@@ -126,21 +154,59 @@ MERGE keys per label:
|
|
|
126
154
|
(:Customer)-[:HAS_SITE]->(:Site)
|
|
127
155
|
(:Job)-[:AT_SITE]->(:Site)
|
|
128
156
|
(:Site)-[:HAS_ASSET]->(:Asset)
|
|
157
|
+
(:Site)-[:AT_ADDRESS]->(:PostalAddress)
|
|
129
158
|
(:Job)-[:HAS_VISIT]->(:Visit)
|
|
130
|
-
(:Visit)-[:
|
|
159
|
+
(:Visit)-[:HAS_ATTENDANCE]->(:Attendance)
|
|
160
|
+
(:Attendance)-[:BY_ENGINEER]->(:Engineer)
|
|
131
161
|
(:Visit)-[:USED_VEHICLE]->(:Vehicle)
|
|
132
162
|
(:Visit)-[:FITTED_PART]->(:Part)
|
|
133
163
|
(:Note)-[:ABOUT]->(:Job)
|
|
134
164
|
(:Job)-[:HAS_COST]->(:JobCost)
|
|
135
165
|
(:JobCost)-[:INCURRED_BY]->(:Engineer)
|
|
136
166
|
(:Contact)-[:CONTACT_FOR]->(:Customer)
|
|
167
|
+
(:IntakeDraft)-[:FOR_CUSTOMER]->(:Customer)
|
|
168
|
+
(:IntakeDraft)-[:AT_SITE]->(:Site)
|
|
169
|
+
(:IntakeDraft)-[:BECAME_JOB]->(:Job)
|
|
137
170
|
```
|
|
138
171
|
|
|
172
|
+
A draft's customer and site edges are written only for ids that resolve, and it is refused outright
|
|
173
|
+
when neither does. The graph write path rejects a node with no adjacency, and dispatch creates no
|
|
174
|
+
customer or site, so there is nothing a request naming neither could be attached to.
|
|
175
|
+
|
|
139
176
|
Every `:Job` is the hub for its visits, notes and costs, satisfying the ≥1-adjacency write-gate
|
|
140
177
|
doctrine. A job links to its customer and site; an asset hangs off the site it lives at. Costs link
|
|
141
178
|
to the worker who incurred them. Job notes are append-only — one `:Note` per note, never an
|
|
142
179
|
overwritten scalar.
|
|
143
180
|
|
|
181
|
+
**Attendance is a node, not an edge.** A worker reaches a visit through
|
|
182
|
+
`:Attendance`, keyed `(accountId, attendanceId)` where `attendanceId` is `engineerId + '-' +
|
|
183
|
+
visitId` — the same composite-key shape `:JobCost` uses one line below it, for the same
|
|
184
|
+
per-worker-per-visit reason. Arrival (`arrivedPressedAt`, `arrivedObservedAt`,
|
|
185
|
+
`arrivedObservedDistanceM`) lives **on the attendance**, never on the `:Visit`.
|
|
186
|
+
|
|
187
|
+
The replaced `(:Visit)-[:ATTENDED_BY]->(:Engineer)` could not express two workers on one visit: the
|
|
188
|
+
arrival properties sat on the `:Visit`, so a second attender had nowhere to record their own
|
|
189
|
+
arrival, and a second edge multiplied the visit into two read rows sharing one set of times — which
|
|
190
|
+
is indistinguishable from two separate visits, the failure the reference PRD named. Properties on
|
|
191
|
+
the relationship were rejected rather than deferred: `schema.cypher` declares no relationship
|
|
192
|
+
constraint or index anywhere, so per-attendance times on the edge would carry neither, and the
|
|
193
|
+
≥1-adjacency write gate above has no adjacency to test on a relationship property.
|
|
194
|
+
|
|
195
|
+
A single-worker visit is one attendance, and every read projects it exactly as it did before.
|
|
196
|
+
|
|
197
|
+
`:PostalAddress` is **declared in `schema-base.md`**, referenced here rather than duplicated. It
|
|
198
|
+
carries `streetAddress`, `addressLocality` and `postalCode`. A site's address is written by
|
|
199
|
+
`dispatch-site-upsert`, which stamps `accountId` on the address node and merges on
|
|
200
|
+
`(accountId, streetAddress, postalCode)`. `schema-base.md` exempts `PostalAddress` from `accountId`
|
|
201
|
+
so two entities can share one address node; that sharing is within an account, and a node shared
|
|
202
|
+
across accounts would be an edge from one account's site into another's data. Exempt means the
|
|
203
|
+
property is not required, never that it must be absent.
|
|
204
|
+
|
|
205
|
+
A `:Site` with no `AT_ADDRESS` edge is a site nobody can find. It is counted every fifteen minutes
|
|
206
|
+
as `sitesVisitedTodayWithoutAddress=` on `[dispatch-field-census]`, over the sites actually visited
|
|
207
|
+
that day rather than the whole account, so the number measures harm done rather than data not yet
|
|
208
|
+
entered.
|
|
209
|
+
|
|
144
210
|
`:Vehicle` is **declared in `schema-logistics.md`**, referenced here rather than duplicated. An
|
|
145
211
|
account that assigns vehicles to visits enables the logistics vertical alongside dispatch, and the
|
|
146
212
|
`USED_VEHICLE` edge is written only when its own `config.json` sets `vehicles.enabled`. Duplicating
|
|
@@ -170,7 +236,7 @@ is canonical.
|
|
|
170
236
|
| Folder / artefact | Node | Edge from the job |
|
|
171
237
|
|---|---|---|
|
|
172
238
|
| the job folder itself | `:Job` | — (the hub); `(:Job)-[:FOR_CUSTOMER]->(:Customer)`, `(:Job)-[:AT_SITE]->(:Site)` |
|
|
173
|
-
| `Visits/` — attendance records | `:Visit` | `(:Job)-[:HAS_VISIT]->(:Visit)-[:
|
|
239
|
+
| `Visits/` — attendance records | `:Visit` | `(:Job)-[:HAS_VISIT]->(:Visit)-[:HAS_ATTENDANCE]->(:Attendance)-[:BY_ENGINEER]->(:Engineer)` |
|
|
174
240
|
| `Costs/` — labour days, materials, travel, mileage, expenses, subcontractor | `:JobCost` (by `costType`) | `(:Job)-[:HAS_COST]->(:JobCost)-[:INCURRED_BY]->(:Engineer)` |
|
|
175
241
|
| `Assets/` — serviced plant on the site | `:Asset` | `(:Site)-[:HAS_ASSET]->(:Asset)` |
|
|
176
242
|
|
|
@@ -137,6 +137,7 @@ Microsoft Graph access for Outlook.com / Microsoft 365 mailboxes. Mail is read (
|
|
|
137
137
|
- **Mail (ingest to graph):** `outlook-mail-ingest` writes operator-reviewed messages into the business graph as `:ConversationArchive {source:'email'}` threads, the analogue of the IMAP `email-ingest`. Input is `decisions`: one `{messageId, disposition:'ingest'|'discard'}` per listed message. Each `ingest` message's full body + envelope is fetched via `runMailFetchBody`, threads are grouped by Graph `conversationId`, and participant resolution is closed-set — every From/To/Cc address must already resolve to a `:Person.email` or `:AdminUser.email` for the `accountId`, or its thread is skipped and the address is returned to the operator (no `:Person` auto-create). Resolvable threads dispatch one at a time through the shared `plugins/memory/bin/conversation-archive-ingest.sh --source email` (same RFC822 thread-JSON shape the `email` normaliser consumes). This is the plugin's only Neo4j coupling (`neo4j-driver`). Human-in-the-loop: nothing enters the graph without an explicit per-message decision; the `outlook-mail-ingest` skill drives the list → summarise → ask → ingest loop. Requires `Mail.Read`.
|
|
138
138
|
- **Mail (OTP):** `outlook-mail-otp-extract` polls the inbox for a one-time verification code from a named sender, reading full bodies to extract it — used during service authentication.
|
|
139
139
|
- **Mail (send / draft):** `outlook-mail-send` sends a new message — via `POST /me/sendMail` with no attachments, or composed as a draft, attached, and sent when `attachments` is present (`/me/sendMail` carries attachments inline and cannot fit a large file); `outlook-draft` creates a draft, attaches any files, and returns its id — either a new message (`to` + `subject` required) or, with `replyToMessageId`, a threaded reply created via `POST /me/messages/{id}/createReply` that lands under the original conversation (the only way to draft a reply without sending it; `outlook-mail-reply` threads but always sends). On the threaded path Graph sets the recipients and `RE:` subject from the original and composes the body above its own quote — the same email `outlook-mail-reply` sends — so that path is plain text only and `to`, `subject`, and `isHtml: true` are refused rather than silently dropped; `replyAll` and `cc`/`bcc` work as on reply. The draft result carries `to`, the recipients the draft holds, so the self-addressed case above is visible without fetching the draft back; on this path it is reported rather than refused, because a draft is not sent. `outlook-draft-edit` updates an existing draft in place (Graph drafts are mutable) and edits its attachments — `attachments` adds files, `removeAttachments` takes them off by name or attachment id, and both together replace a file in one call; `outlook-draft-send` sends an existing draft by id. Recipients are to/cc/bcc arrays; body is HTML or plain text via `isHtml`; `attachments` are file paths inside the account directory, capped at 25 MB per file and validated before any Graph write. Success asserted on Graph 202. Requires `Mail.Send` + `Mail.ReadWrite`; a mailbox on the old read-only consent returns an actionable "re-register to grant send" signal.
|
|
140
|
+
- **Draft attribution:** every draft the plugin creates and every draft it sends is recorded in an append-only ledger at `platform/config/outlook-draft-ledger.jsonl`. The `created` row is written the moment Graph returns the draft id, before any attach or send, so a draft stranded by a later failure is still watched; `outlook-mail-send`'s no-attachment route drafts nothing and writes nothing. An hourly reconcile spawned by the scheduling heartbeat classifies each open draft against live mailbox state: `still-draft`, `sent-by-maxy`, `sent-not-by-maxy`, `deleted`, `unreadable`. **An empty Drafts folder beside a copy in Sent Items is not evidence this plugin sent anything** — an external mail client signed in to the same mailbox produces identical folder state, and a message that has left the Drafts folder still fetches by id and still returns `from: null` while it remains a draft object. The reconcile's `outcome=` is the only sanctioned statement; agents must not assert a send from folder state. `parentFolderId` is the discriminator, not `isDraft`, and every mail read now returns both. Naming the external client requires the tenant's Microsoft 365 unified audit log, which these delegated scopes cannot read (see out of scope). See `.docs/outlook-draft-attribution.md`.
|
|
140
141
|
- **Calendar (read + control):** `outlook-calendar-list` and `outlook-calendar-event` read events; `outlook-calendar-create` books an event; `outlook-calendar-update` reschedules or edits one; `outlook-calendar-cancel` cancels a meeting (notifying attendees when the account organises it) or deletes a personal appointment; `outlook-calendar-respond` accepts, declines, or tentatively accepts an invite; `outlook-calendar-freebusy` reports availability for one or more addresses over a window. Writes require the `Calendars.ReadWrite` consent; a mailbox on stale read-only consent returns a distinct signal naming the scope and `outlook-account-register`.
|
|
141
142
|
- **Contacts (read-only):** `outlook-contacts-list` returns contacts.
|
|
142
143
|
- **Health:** `outlook-mailbox-info` reports auth state, refresh-window status, and top-level folder count for one mailbox (name it with `mailbox` when several are attached). `outlook-mailbox-list` lists every attached mailbox with its email, scopes, and token health, reading local stores only, never the network. It reports an `addressable` count and a per-mailbox `status` (`ok` / `blank-email` / `refresh-expired` / `unreadable`) so an authenticated, addressable mailbox is distinguishable from one that is merely present: a bare `count` of 1 is not "connected" unless that mailbox is `status:ok`. Use these to answer "did mailbox X auth?" without grepping logs.
|
|
@@ -151,7 +152,8 @@ Microsoft Graph access for Outlook.com / Microsoft 365 mailboxes. Mail is read (
|
|
|
151
152
|
- OneDrive, Files, Sites — separate plugin; different endpoints.
|
|
152
153
|
- Push notifications via `/subscriptions` — first cut polls.
|
|
153
154
|
- On-premises Exchange — Microsoft Graph deprecated hybrid REST 2023-07. The plugin detects on-prem mailboxes and routes the operator to the IMAP path (`email` plugin).
|
|
154
|
-
- M365 admin scopes (`User.Read.All`, `AuditLog.Read.All`) — separate plugin.
|
|
155
|
+
- M365 admin scopes (`User.Read.All`, `AuditLog.Read.All`) — separate plugin. This is why the draft reconcile can report that a draft left the Drafts folder without a Real Agent send, but cannot name what sent it: the client string lives on a `Send` record in the tenant's unified audit log, which the mailbox owner's M365 administrator pulls.
|
|
156
|
+
- Blocking or refusing a send when the draft ledger disagrees with the mailbox. The reconcile observes; enforcement is deliberately not built.
|
|
155
157
|
|
|
156
158
|
## References
|
|
157
159
|
|
package/payload/platform/plugins/outlook/mcp/dist/__tests__/draft-ledger-write-sites.test.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"draft-ledger-write-sites.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/draft-ledger-write-sites.test.ts"],"names":[],"mappings":""}
|