@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.
Files changed (1001) hide show
  1. package/dist/index.js +14 -0
  2. package/package.json +1 -1
  3. package/payload/platform/lib/admins-write/__tests__/index.test.ts +97 -0
  4. package/payload/platform/lib/admins-write/dist/index.d.ts +12 -0
  5. package/payload/platform/lib/admins-write/dist/index.d.ts.map +1 -1
  6. package/payload/platform/lib/admins-write/dist/index.js +27 -5
  7. package/payload/platform/lib/admins-write/dist/index.js.map +1 -1
  8. package/payload/platform/lib/admins-write/src/index.ts +35 -5
  9. package/payload/platform/lib/admins-write/vitest.config.ts +14 -0
  10. package/payload/platform/lib/canonical-instant/dist/index.d.ts +57 -0
  11. package/payload/platform/lib/canonical-instant/dist/index.d.ts.map +1 -0
  12. package/payload/platform/lib/canonical-instant/dist/index.js +139 -0
  13. package/payload/platform/lib/canonical-instant/dist/index.js.map +1 -0
  14. package/payload/platform/lib/canonical-instant/src/__tests__/normalise-instant.test.ts +158 -0
  15. package/payload/platform/lib/canonical-instant/src/index.ts +147 -0
  16. package/payload/platform/lib/canonical-instant/tsconfig.json +9 -0
  17. package/payload/platform/lib/canonical-instant/vitest.config.ts +9 -0
  18. package/payload/platform/lib/dispatch-read/dist/geo.d.ts +34 -0
  19. package/payload/platform/lib/dispatch-read/dist/geo.d.ts.map +1 -0
  20. package/payload/platform/lib/dispatch-read/dist/geo.js +27 -0
  21. package/payload/platform/lib/dispatch-read/dist/geo.js.map +1 -0
  22. package/payload/platform/lib/dispatch-read/dist/index.d.ts +6 -2
  23. package/payload/platform/lib/dispatch-read/dist/index.d.ts.map +1 -1
  24. package/payload/platform/lib/dispatch-read/dist/index.js +21 -1
  25. package/payload/platform/lib/dispatch-read/dist/index.js.map +1 -1
  26. package/payload/platform/lib/dispatch-read/dist/keyboard.d.ts +66 -0
  27. package/payload/platform/lib/dispatch-read/dist/keyboard.d.ts.map +1 -0
  28. package/payload/platform/lib/dispatch-read/dist/keyboard.js +64 -0
  29. package/payload/platform/lib/dispatch-read/dist/keyboard.js.map +1 -0
  30. package/payload/platform/lib/dispatch-read/dist/read.d.ts +144 -9
  31. package/payload/platform/lib/dispatch-read/dist/read.d.ts.map +1 -1
  32. package/payload/platform/lib/dispatch-read/dist/read.js +437 -118
  33. package/payload/platform/lib/dispatch-read/dist/read.js.map +1 -1
  34. package/payload/platform/lib/dispatch-read/dist/session.d.ts.map +1 -1
  35. package/payload/platform/lib/dispatch-read/dist/session.js +19 -4
  36. package/payload/platform/lib/dispatch-read/dist/session.js.map +1 -1
  37. package/payload/platform/lib/dispatch-read/dist/types.d.ts +80 -11
  38. package/payload/platform/lib/dispatch-read/dist/types.d.ts.map +1 -1
  39. package/payload/platform/lib/dispatch-read/src/__tests__/geo.test.ts +86 -0
  40. package/payload/platform/lib/dispatch-read/src/__tests__/keyboard.test.ts +124 -0
  41. package/payload/platform/lib/dispatch-read/src/__tests__/previous-visit.test.ts +98 -0
  42. package/payload/platform/lib/dispatch-read/src/__tests__/read.test.ts +107 -8
  43. package/payload/platform/lib/dispatch-read/src/__tests__/session.test.ts +91 -0
  44. package/payload/platform/lib/dispatch-read/src/__tests__/worker-day.test.ts +215 -10
  45. package/payload/platform/lib/dispatch-read/src/geo.ts +56 -0
  46. package/payload/platform/lib/dispatch-read/src/index.ts +25 -1
  47. package/payload/platform/lib/dispatch-read/src/keyboard.ts +98 -0
  48. package/payload/platform/lib/dispatch-read/src/read.ts +522 -119
  49. package/payload/platform/lib/dispatch-read/src/session.ts +25 -6
  50. package/payload/platform/lib/dispatch-read/src/types.ts +83 -11
  51. package/payload/platform/lib/dispatch-write/dist/write.d.ts +14 -0
  52. package/payload/platform/lib/dispatch-write/dist/write.d.ts.map +1 -1
  53. package/payload/platform/lib/dispatch-write/dist/write.js +50 -11
  54. package/payload/platform/lib/dispatch-write/dist/write.js.map +1 -1
  55. package/payload/platform/lib/dispatch-write/src/__tests__/write.test.ts +72 -2
  56. package/payload/platform/lib/dispatch-write/src/write.ts +79 -14
  57. package/payload/platform/neo4j/schema.cypher +66 -1
  58. package/payload/platform/package.json +2 -2
  59. package/payload/platform/plugins/admin/.claude-plugin/plugin.json +1 -1
  60. package/payload/platform/plugins/admin/PLUGIN.md +11 -3
  61. package/payload/platform/plugins/admin/hooks/__tests__/fs-schema-guard-bash.test.sh +106 -0
  62. package/payload/platform/plugins/admin/hooks/__tests__/fs-schema-guard.test.sh +66 -0
  63. package/payload/platform/plugins/admin/hooks/__tests__/html-structure-gate.test.sh +264 -0
  64. package/payload/platform/plugins/admin/hooks/__tests__/quote-render-pdf-conformance.test.sh +122 -24
  65. package/payload/platform/plugins/admin/hooks/__tests__/specialist-dispatch-gate.test.sh +158 -0
  66. package/payload/platform/plugins/admin/hooks/fs-schema-guard-bash-post.sh +85 -12
  67. package/payload/platform/plugins/admin/hooks/fs-schema-guard.sh +18 -0
  68. package/payload/platform/plugins/admin/hooks/html-structure-gate.sh +165 -0
  69. package/payload/platform/plugins/admin/hooks/quote-render-pdf-conformance.sh +111 -19
  70. package/payload/platform/plugins/admin/hooks/specialist-dispatch-gate.sh +159 -0
  71. package/payload/platform/plugins/admin/mcp/dist/admin-bind-classify.d.ts +27 -0
  72. package/payload/platform/plugins/admin/mcp/dist/admin-bind-classify.d.ts.map +1 -0
  73. package/payload/platform/plugins/admin/mcp/dist/admin-bind-classify.js +29 -0
  74. package/payload/platform/plugins/admin/mcp/dist/admin-bind-classify.js.map +1 -0
  75. package/payload/platform/plugins/admin/mcp/dist/binding-validate.d.ts +11 -0
  76. package/payload/platform/plugins/admin/mcp/dist/binding-validate.d.ts.map +1 -0
  77. package/payload/platform/plugins/admin/mcp/dist/binding-validate.js +20 -0
  78. package/payload/platform/plugins/admin/mcp/dist/binding-validate.js.map +1 -0
  79. package/payload/platform/plugins/admin/mcp/dist/index.js +133 -1
  80. package/payload/platform/plugins/admin/mcp/dist/index.js.map +1 -1
  81. package/payload/platform/plugins/admin/skills/admin-user-management/SKILL.md +31 -2
  82. package/payload/platform/plugins/admin/skills/platform-architecture/SKILL.md +242 -61
  83. package/payload/platform/plugins/admin/skills/whats-new/SKILL.md +16 -0
  84. package/payload/platform/plugins/cloudflare/mcp/__tests__/portal-visits-scope.test.ts +130 -1
  85. package/payload/platform/plugins/cloudflare/skills/data-portal/schema.sql +63 -0
  86. package/payload/platform/plugins/cloudflare/skills/data-portal/template/functions/api/visits.ts +104 -3
  87. package/payload/platform/plugins/dispatch/.claude-plugin/plugin.json +1 -1
  88. package/payload/platform/plugins/dispatch/PLUGIN.md +49 -6
  89. package/payload/platform/plugins/dispatch/mcp/dist/index.js +200 -2
  90. package/payload/platform/plugins/dispatch/mcp/dist/index.js.map +1 -1
  91. package/payload/platform/plugins/dispatch/mcp/dist/lib/allocate.d.ts +22 -4
  92. package/payload/platform/plugins/dispatch/mcp/dist/lib/allocate.d.ts.map +1 -1
  93. package/payload/platform/plugins/dispatch/mcp/dist/lib/allocate.js +4 -0
  94. package/payload/platform/plugins/dispatch/mcp/dist/lib/allocate.js.map +1 -1
  95. package/payload/platform/plugins/dispatch/mcp/dist/lib/bot-token.d.ts +10 -0
  96. package/payload/platform/plugins/dispatch/mcp/dist/lib/bot-token.d.ts.map +1 -0
  97. package/payload/platform/plugins/dispatch/mcp/dist/lib/bot-token.js +47 -0
  98. package/payload/platform/plugins/dispatch/mcp/dist/lib/bot-token.js.map +1 -0
  99. package/payload/platform/plugins/dispatch/mcp/dist/lib/config.d.ts.map +1 -1
  100. package/payload/platform/plugins/dispatch/mcp/dist/lib/config.js +12 -0
  101. package/payload/platform/plugins/dispatch/mcp/dist/lib/config.js.map +1 -1
  102. package/payload/platform/plugins/dispatch/mcp/dist/lib/ids.d.ts +1 -0
  103. package/payload/platform/plugins/dispatch/mcp/dist/lib/ids.d.ts.map +1 -1
  104. package/payload/platform/plugins/dispatch/mcp/dist/lib/ids.js +1 -0
  105. package/payload/platform/plugins/dispatch/mcp/dist/lib/ids.js.map +1 -1
  106. package/payload/platform/plugins/dispatch/mcp/dist/lib/intake.d.ts +36 -0
  107. package/payload/platform/plugins/dispatch/mcp/dist/lib/intake.d.ts.map +1 -0
  108. package/payload/platform/plugins/dispatch/mcp/dist/lib/intake.js +36 -0
  109. package/payload/platform/plugins/dispatch/mcp/dist/lib/intake.js.map +1 -0
  110. package/payload/platform/plugins/dispatch/mcp/dist/lib/keyboard.d.ts +11 -0
  111. package/payload/platform/plugins/dispatch/mcp/dist/lib/keyboard.d.ts.map +1 -0
  112. package/payload/platform/plugins/dispatch/mcp/dist/lib/keyboard.js +10 -0
  113. package/payload/platform/plugins/dispatch/mcp/dist/lib/keyboard.js.map +1 -0
  114. package/payload/platform/plugins/dispatch/mcp/dist/lib/read.d.ts +2 -2
  115. package/payload/platform/plugins/dispatch/mcp/dist/lib/read.d.ts.map +1 -1
  116. package/payload/platform/plugins/dispatch/mcp/dist/lib/read.js +9 -1
  117. package/payload/platform/plugins/dispatch/mcp/dist/lib/read.js.map +1 -1
  118. package/payload/platform/plugins/dispatch/mcp/dist/lib/travel.d.ts +43 -0
  119. package/payload/platform/plugins/dispatch/mcp/dist/lib/travel.d.ts.map +1 -0
  120. package/payload/platform/plugins/dispatch/mcp/dist/lib/travel.js +53 -0
  121. package/payload/platform/plugins/dispatch/mcp/dist/lib/travel.js.map +1 -0
  122. package/payload/platform/plugins/dispatch/mcp/dist/lib/types.d.ts +13 -2
  123. package/payload/platform/plugins/dispatch/mcp/dist/lib/types.d.ts.map +1 -1
  124. package/payload/platform/plugins/dispatch/mcp/dist/scripts/converge-visit-instants.d.ts +6 -0
  125. package/payload/platform/plugins/dispatch/mcp/dist/scripts/converge-visit-instants.d.ts.map +1 -0
  126. package/payload/platform/plugins/dispatch/mcp/dist/scripts/converge-visit-instants.js +102 -0
  127. package/payload/platform/plugins/dispatch/mcp/dist/scripts/converge-visit-instants.js.map +1 -0
  128. package/payload/platform/plugins/dispatch/mcp/dist/tools/allocate.d.ts +18 -0
  129. package/payload/platform/plugins/dispatch/mcp/dist/tools/allocate.d.ts.map +1 -1
  130. package/payload/platform/plugins/dispatch/mcp/dist/tools/allocate.js +251 -40
  131. package/payload/platform/plugins/dispatch/mcp/dist/tools/allocate.js.map +1 -1
  132. package/payload/platform/plugins/dispatch/mcp/dist/tools/intake.d.ts +75 -0
  133. package/payload/platform/plugins/dispatch/mcp/dist/tools/intake.d.ts.map +1 -0
  134. package/payload/platform/plugins/dispatch/mcp/dist/tools/intake.js +194 -0
  135. package/payload/platform/plugins/dispatch/mcp/dist/tools/intake.js.map +1 -0
  136. package/payload/platform/plugins/dispatch/mcp/dist/tools/notify-worker.d.ts +61 -0
  137. package/payload/platform/plugins/dispatch/mcp/dist/tools/notify-worker.d.ts.map +1 -0
  138. package/payload/platform/plugins/dispatch/mcp/dist/tools/notify-worker.js +130 -0
  139. package/payload/platform/plugins/dispatch/mcp/dist/tools/notify-worker.js.map +1 -0
  140. package/payload/platform/plugins/dispatch/mcp/dist/tools/site-location-set.d.ts +28 -0
  141. package/payload/platform/plugins/dispatch/mcp/dist/tools/site-location-set.d.ts.map +1 -0
  142. package/payload/platform/plugins/dispatch/mcp/dist/tools/site-location-set.js +44 -0
  143. package/payload/platform/plugins/dispatch/mcp/dist/tools/site-location-set.js.map +1 -0
  144. package/payload/platform/plugins/dispatch/mcp/dist/tools/site-upsert.d.ts +43 -0
  145. package/payload/platform/plugins/dispatch/mcp/dist/tools/site-upsert.d.ts.map +1 -0
  146. package/payload/platform/plugins/dispatch/mcp/dist/tools/site-upsert.js +139 -0
  147. package/payload/platform/plugins/dispatch/mcp/dist/tools/site-upsert.js.map +1 -0
  148. package/payload/platform/plugins/dispatch/skills/dispatch-page/SKILL.md +85 -0
  149. package/payload/platform/plugins/dispatch/skills/dispatch-page/template/planner.css +97 -0
  150. package/payload/platform/plugins/dispatch/skills/dispatch-page/template/planner.html +59 -0
  151. package/payload/platform/plugins/dispatch/skills/dispatch-page/template/planner.js +343 -0
  152. package/payload/platform/plugins/dispatch/skills/dispatch-setup/SKILL.md +9 -4
  153. package/payload/platform/plugins/docs/references/admin-ui.md +71 -31
  154. package/payload/platform/plugins/docs/references/channel-wake-and-prompt.md +29 -13
  155. package/payload/platform/plugins/docs/references/dispatch.md +94 -15
  156. package/payload/platform/plugins/docs/references/internals.md +6 -0
  157. package/payload/platform/plugins/docs/references/outlook-guide.md +31 -1
  158. package/payload/platform/plugins/docs/references/troubleshooting.md +10 -0
  159. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/dispatch-vertical-coverage.test.js +4 -1
  160. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/dispatch-vertical-coverage.test.js.map +1 -1
  161. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/relationship-patterns.test.js +24 -1
  162. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/relationship-patterns.test.js.map +1 -1
  163. package/payload/platform/plugins/memory/references/schema-dispatch.md +70 -4
  164. package/payload/platform/plugins/outlook/PLUGIN.md +3 -1
  165. package/payload/platform/plugins/outlook/mcp/dist/__tests__/draft-ledger-write-sites.test.d.ts +2 -0
  166. package/payload/platform/plugins/outlook/mcp/dist/__tests__/draft-ledger-write-sites.test.d.ts.map +1 -0
  167. package/payload/platform/plugins/outlook/mcp/dist/__tests__/draft-ledger-write-sites.test.js +177 -0
  168. package/payload/platform/plugins/outlook/mcp/dist/__tests__/draft-ledger-write-sites.test.js.map +1 -0
  169. package/payload/platform/plugins/outlook/mcp/dist/__tests__/draft-ledger.test.d.ts +2 -0
  170. package/payload/platform/plugins/outlook/mcp/dist/__tests__/draft-ledger.test.d.ts.map +1 -0
  171. package/payload/platform/plugins/outlook/mcp/dist/__tests__/draft-ledger.test.js +130 -0
  172. package/payload/platform/plugins/outlook/mcp/dist/__tests__/draft-ledger.test.js.map +1 -0
  173. package/payload/platform/plugins/outlook/mcp/dist/__tests__/draft-reconcile.test.d.ts +2 -0
  174. package/payload/platform/plugins/outlook/mcp/dist/__tests__/draft-reconcile.test.d.ts.map +1 -0
  175. package/payload/platform/plugins/outlook/mcp/dist/__tests__/draft-reconcile.test.js +162 -0
  176. package/payload/platform/plugins/outlook/mcp/dist/__tests__/draft-reconcile.test.js.map +1 -0
  177. package/payload/platform/plugins/outlook/mcp/dist/__tests__/draft-state-fields.test.d.ts +2 -0
  178. package/payload/platform/plugins/outlook/mcp/dist/__tests__/draft-state-fields.test.d.ts.map +1 -0
  179. package/payload/platform/plugins/outlook/mcp/dist/__tests__/draft-state-fields.test.js +168 -0
  180. package/payload/platform/plugins/outlook/mcp/dist/__tests__/draft-state-fields.test.js.map +1 -0
  181. package/payload/platform/plugins/outlook/mcp/dist/lib/draft-ledger.d.ts +64 -0
  182. package/payload/platform/plugins/outlook/mcp/dist/lib/draft-ledger.d.ts.map +1 -0
  183. package/payload/platform/plugins/outlook/mcp/dist/lib/draft-ledger.js +110 -0
  184. package/payload/platform/plugins/outlook/mcp/dist/lib/draft-ledger.js.map +1 -0
  185. package/payload/platform/plugins/outlook/mcp/dist/lib/draft-reconcile.d.ts +119 -0
  186. package/payload/platform/plugins/outlook/mcp/dist/lib/draft-reconcile.d.ts.map +1 -0
  187. package/payload/platform/plugins/outlook/mcp/dist/lib/draft-reconcile.js +0 -0
  188. package/payload/platform/plugins/outlook/mcp/dist/lib/draft-reconcile.js.map +1 -0
  189. package/payload/platform/plugins/outlook/mcp/dist/scripts/draft-reconcile.d.ts +8 -0
  190. package/payload/platform/plugins/outlook/mcp/dist/scripts/draft-reconcile.d.ts.map +1 -0
  191. package/payload/platform/plugins/outlook/mcp/dist/scripts/draft-reconcile.js +247 -0
  192. package/payload/platform/plugins/outlook/mcp/dist/scripts/draft-reconcile.js.map +1 -0
  193. package/payload/platform/plugins/outlook/mcp/dist/tools/draft-send.d.ts.map +1 -1
  194. package/payload/platform/plugins/outlook/mcp/dist/tools/draft-send.js +10 -0
  195. package/payload/platform/plugins/outlook/mcp/dist/tools/draft-send.js.map +1 -1
  196. package/payload/platform/plugins/outlook/mcp/dist/tools/draft.d.ts.map +1 -1
  197. package/payload/platform/plugins/outlook/mcp/dist/tools/draft.js +21 -0
  198. package/payload/platform/plugins/outlook/mcp/dist/tools/draft.js.map +1 -1
  199. package/payload/platform/plugins/outlook/mcp/dist/tools/mail-fetch-body.d.ts +16 -0
  200. package/payload/platform/plugins/outlook/mcp/dist/tools/mail-fetch-body.d.ts.map +1 -1
  201. package/payload/platform/plugins/outlook/mcp/dist/tools/mail-fetch-body.js +5 -1
  202. package/payload/platform/plugins/outlook/mcp/dist/tools/mail-fetch-body.js.map +1 -1
  203. package/payload/platform/plugins/outlook/mcp/dist/tools/mail-list.d.ts +4 -0
  204. package/payload/platform/plugins/outlook/mcp/dist/tools/mail-list.d.ts.map +1 -1
  205. package/payload/platform/plugins/outlook/mcp/dist/tools/mail-list.js +2 -1
  206. package/payload/platform/plugins/outlook/mcp/dist/tools/mail-list.js.map +1 -1
  207. package/payload/platform/plugins/outlook/mcp/dist/tools/mail-reply.d.ts.map +1 -1
  208. package/payload/platform/plugins/outlook/mcp/dist/tools/mail-reply.js +24 -0
  209. package/payload/platform/plugins/outlook/mcp/dist/tools/mail-reply.js.map +1 -1
  210. package/payload/platform/plugins/outlook/mcp/dist/tools/mail-search.d.ts.map +1 -1
  211. package/payload/platform/plugins/outlook/mcp/dist/tools/mail-search.js +2 -1
  212. package/payload/platform/plugins/outlook/mcp/dist/tools/mail-search.js.map +1 -1
  213. package/payload/platform/plugins/outlook/mcp/dist/tools/mail-send.d.ts.map +1 -1
  214. package/payload/platform/plugins/outlook/mcp/dist/tools/mail-send.js +29 -0
  215. package/payload/platform/plugins/outlook/mcp/dist/tools/mail-send.js.map +1 -1
  216. package/payload/platform/plugins/scheduling/mcp/dist/__tests__/draft-reconcile-throttle.test.d.ts +2 -0
  217. package/payload/platform/plugins/scheduling/mcp/dist/__tests__/draft-reconcile-throttle.test.d.ts.map +1 -0
  218. package/payload/platform/plugins/scheduling/mcp/dist/__tests__/draft-reconcile-throttle.test.js +21 -0
  219. package/payload/platform/plugins/scheduling/mcp/dist/__tests__/draft-reconcile-throttle.test.js.map +1 -0
  220. package/payload/platform/plugins/scheduling/mcp/dist/lib/draft-reconcile-throttle.d.ts +13 -0
  221. package/payload/platform/plugins/scheduling/mcp/dist/lib/draft-reconcile-throttle.d.ts.map +1 -0
  222. package/payload/platform/plugins/scheduling/mcp/dist/lib/draft-reconcile-throttle.js +10 -0
  223. package/payload/platform/plugins/scheduling/mcp/dist/lib/draft-reconcile-throttle.js.map +1 -0
  224. package/payload/platform/plugins/scheduling/mcp/dist/lib/time-format.d.ts +2 -35
  225. package/payload/platform/plugins/scheduling/mcp/dist/lib/time-format.d.ts.map +1 -1
  226. package/payload/platform/plugins/scheduling/mcp/dist/lib/time-format.js +6 -114
  227. package/payload/platform/plugins/scheduling/mcp/dist/lib/time-format.js.map +1 -1
  228. package/payload/platform/plugins/scheduling/mcp/dist/scripts/check-due-events.js +54 -0
  229. package/payload/platform/plugins/scheduling/mcp/dist/scripts/check-due-events.js.map +1 -1
  230. package/payload/platform/plugins/scheduling/mcp/dist/scripts/converge-startdate-utc.d.ts +1 -1
  231. package/payload/platform/plugins/scheduling/mcp/dist/scripts/converge-startdate-utc.js +3 -3
  232. package/payload/platform/plugins/scheduling/mcp/dist/scripts/converge-startdate-utc.js.map +1 -1
  233. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-event.js +2 -2
  234. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-event.js.map +1 -1
  235. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-update.js +3 -3
  236. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-update.js.map +1 -1
  237. package/payload/platform/services/claude-session-manager/dist/authored-specialist-tools.d.ts +32 -0
  238. package/payload/platform/services/claude-session-manager/dist/authored-specialist-tools.d.ts.map +1 -0
  239. package/payload/platform/services/claude-session-manager/dist/authored-specialist-tools.js +144 -0
  240. package/payload/platform/services/claude-session-manager/dist/authored-specialist-tools.js.map +1 -0
  241. package/payload/platform/services/claude-session-manager/dist/blocked-tool-census.d.ts +40 -6
  242. package/payload/platform/services/claude-session-manager/dist/blocked-tool-census.d.ts.map +1 -1
  243. package/payload/platform/services/claude-session-manager/dist/blocked-tool-census.js +116 -15
  244. package/payload/platform/services/claude-session-manager/dist/blocked-tool-census.js.map +1 -1
  245. package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.d.ts.map +1 -1
  246. package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.js +7 -0
  247. package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.js.map +1 -1
  248. package/payload/platform/services/claude-session-manager/dist/html-structure-census.d.ts +44 -0
  249. package/payload/platform/services/claude-session-manager/dist/html-structure-census.d.ts.map +1 -0
  250. package/payload/platform/services/claude-session-manager/dist/html-structure-census.js +185 -0
  251. package/payload/platform/services/claude-session-manager/dist/html-structure-census.js.map +1 -0
  252. package/payload/platform/services/claude-session-manager/dist/index.js +125 -0
  253. package/payload/platform/services/claude-session-manager/dist/index.js.map +1 -1
  254. package/payload/platform/services/claude-session-manager/dist/quote-delivery-reconcile.d.ts.map +1 -1
  255. package/payload/platform/services/claude-session-manager/dist/quote-delivery-reconcile.js +7 -0
  256. package/payload/platform/services/claude-session-manager/dist/quote-delivery-reconcile.js.map +1 -1
  257. package/payload/platform/services/claude-session-manager/dist/quote-print-census.d.ts +42 -0
  258. package/payload/platform/services/claude-session-manager/dist/quote-print-census.d.ts.map +1 -0
  259. package/payload/platform/services/claude-session-manager/dist/quote-print-census.js +254 -0
  260. package/payload/platform/services/claude-session-manager/dist/quote-print-census.js.map +1 -0
  261. package/payload/platform/services/claude-session-manager/dist/specialist-census.d.ts +92 -0
  262. package/payload/platform/services/claude-session-manager/dist/specialist-census.d.ts.map +1 -0
  263. package/payload/platform/services/claude-session-manager/dist/specialist-census.js +227 -0
  264. package/payload/platform/services/claude-session-manager/dist/specialist-census.js.map +1 -0
  265. package/payload/platform/services/telegram-channel/dist/notification.d.ts +0 -12
  266. package/payload/platform/services/telegram-channel/dist/notification.d.ts.map +1 -1
  267. package/payload/platform/services/telegram-channel/dist/notification.js +8 -29
  268. package/payload/platform/services/telegram-channel/dist/notification.js.map +1 -1
  269. package/payload/platform/services/telegram-channel/dist/server.d.ts.map +1 -1
  270. package/payload/platform/services/telegram-channel/dist/server.js +8 -11
  271. package/payload/platform/services/telegram-channel/dist/server.js.map +1 -1
  272. package/payload/platform/templates/account-settings.json +8 -4
  273. package/payload/server/public/activity.html +7 -7
  274. package/payload/server/public/agents.html +6 -6
  275. package/payload/server/public/assets/AdminLoginScreens-BLGZEaKU.js +1 -0
  276. package/payload/server/public/assets/AdminLoginScreens-BLGZEaKU.js.br +0 -0
  277. package/payload/server/public/assets/AdminLoginScreens-BLGZEaKU.js.gz +0 -0
  278. package/payload/server/public/assets/AdminShell-C_M7YE5Z.js +3 -0
  279. package/payload/server/public/assets/AdminShell-C_M7YE5Z.js.br +0 -0
  280. package/payload/server/public/assets/AdminShell-C_M7YE5Z.js.gz +0 -0
  281. package/payload/server/public/assets/activity-BL6qbB9a.js +1 -0
  282. package/payload/server/public/assets/activity-BL6qbB9a.js.br +0 -0
  283. package/payload/server/public/assets/activity-BL6qbB9a.js.gz +0 -0
  284. package/payload/server/public/assets/admin-jnJ3P2u4.js +1 -0
  285. package/payload/server/public/assets/admin-jnJ3P2u4.js.br +0 -0
  286. package/payload/server/public/assets/admin-jnJ3P2u4.js.gz +0 -0
  287. package/payload/server/public/assets/agents-BzhfKZDN.js +1 -0
  288. package/payload/server/public/assets/agents-BzhfKZDN.js.br +0 -0
  289. package/payload/server/public/assets/agents-BzhfKZDN.js.gz +0 -0
  290. package/payload/server/public/assets/arc-Bge2fWf4.js +1 -0
  291. package/payload/server/public/assets/arc-Bge2fWf4.js.br +0 -0
  292. package/payload/server/public/assets/arc-Bge2fWf4.js.gz +0 -0
  293. package/payload/server/public/assets/architecture-YZFGNWBL-B9jqFTbw.js +1 -0
  294. package/payload/server/public/assets/architecture-YZFGNWBL-B9jqFTbw.js.br +0 -0
  295. package/payload/server/public/assets/architectureDiagram-Q4EWVU46-BRauf5b8.js +36 -0
  296. package/payload/server/public/assets/architectureDiagram-Q4EWVU46-BRauf5b8.js.br +0 -0
  297. package/payload/server/public/assets/architectureDiagram-Q4EWVU46-BRauf5b8.js.gz +0 -0
  298. package/payload/server/public/assets/blockDiagram-DXYQGD6D-CUJ554WZ.js +132 -0
  299. package/payload/server/public/assets/blockDiagram-DXYQGD6D-CUJ554WZ.js.br +0 -0
  300. package/payload/server/public/assets/blockDiagram-DXYQGD6D-CUJ554WZ.js.gz +0 -0
  301. package/payload/server/public/assets/browser-C-6io2B9.js +1 -0
  302. package/payload/server/public/assets/browser-C-6io2B9.js.br +0 -0
  303. package/payload/server/public/assets/browser-C-6io2B9.js.gz +0 -0
  304. package/payload/server/public/assets/c4Diagram-AHTNJAMY-CV9gKsKo.js +10 -0
  305. package/payload/server/public/assets/c4Diagram-AHTNJAMY-CV9gKsKo.js.br +0 -0
  306. package/payload/server/public/assets/c4Diagram-AHTNJAMY-CV9gKsKo.js.gz +0 -0
  307. package/payload/server/public/assets/calendar-Dt3gS88s.js +1 -0
  308. package/payload/server/public/assets/calendar-Dt3gS88s.js.br +0 -0
  309. package/payload/server/public/assets/calendar-Dt3gS88s.js.gz +0 -0
  310. package/payload/server/public/assets/channel-DUwJcjZw.js +1 -0
  311. package/payload/server/public/assets/channel-DUwJcjZw.js.br +0 -0
  312. package/payload/server/public/assets/chat-IUOvVkL-.js +1 -0
  313. package/payload/server/public/assets/chat-IUOvVkL-.js.br +1 -0
  314. package/payload/server/public/assets/chat-IUOvVkL-.js.gz +0 -0
  315. package/payload/server/public/assets/chevron-left-DSzR9zR7.js +1 -0
  316. package/payload/server/public/assets/chevron-left-DSzR9zR7.js.br +0 -0
  317. package/payload/server/public/assets/chunk-2KRD3SAO-HzWGrran.js +1 -0
  318. package/payload/server/public/assets/chunk-2KRD3SAO-HzWGrran.js.br +0 -0
  319. package/payload/server/public/assets/chunk-2KRD3SAO-HzWGrran.js.gz +0 -0
  320. package/payload/server/public/assets/chunk-336JU56O-ChGDYu_S.js +2 -0
  321. package/payload/server/public/assets/chunk-336JU56O-ChGDYu_S.js.br +0 -0
  322. package/payload/server/public/assets/chunk-336JU56O-ChGDYu_S.js.gz +0 -0
  323. package/payload/server/public/assets/chunk-426QAEUC-DLLi1nAr.js +1 -0
  324. package/payload/server/public/assets/chunk-426QAEUC-DLLi1nAr.js.br +0 -0
  325. package/payload/server/public/assets/chunk-426QAEUC-DLLi1nAr.js.gz +0 -0
  326. package/payload/server/public/assets/chunk-4BX2VUAB-BJunAy2u.js +1 -0
  327. package/payload/server/public/assets/chunk-4BX2VUAB-BJunAy2u.js.br +0 -0
  328. package/payload/server/public/assets/chunk-4BX2VUAB-BJunAy2u.js.gz +0 -0
  329. package/payload/server/public/assets/chunk-4TB4RGXK-Df9Ew0fN.js +206 -0
  330. package/payload/server/public/assets/chunk-4TB4RGXK-Df9Ew0fN.js.br +0 -0
  331. package/payload/server/public/assets/chunk-4TB4RGXK-Df9Ew0fN.js.gz +0 -0
  332. package/payload/server/public/assets/chunk-55IACEB6-DtquCg7p.js +1 -0
  333. package/payload/server/public/assets/chunk-55IACEB6-DtquCg7p.js.br +0 -0
  334. package/payload/server/public/assets/chunk-55IACEB6-DtquCg7p.js.gz +0 -0
  335. package/payload/server/public/assets/chunk-5FUZZQ4R-B3s1YuQa.js +62 -0
  336. package/payload/server/public/assets/chunk-5FUZZQ4R-B3s1YuQa.js.br +0 -0
  337. package/payload/server/public/assets/chunk-5FUZZQ4R-B3s1YuQa.js.gz +0 -0
  338. package/payload/server/public/assets/chunk-5PVQY5BW-C0bRnMKQ.js +2 -0
  339. package/payload/server/public/assets/chunk-5PVQY5BW-C0bRnMKQ.js.br +0 -0
  340. package/payload/server/public/assets/chunk-5PVQY5BW-C0bRnMKQ.js.gz +0 -0
  341. package/payload/server/public/assets/chunk-67CJDMHE-B9jxnEpu.js +1 -0
  342. package/payload/server/public/assets/chunk-67CJDMHE-B9jxnEpu.js.br +0 -0
  343. package/payload/server/public/assets/chunk-67CJDMHE-B9jxnEpu.js.gz +0 -0
  344. package/payload/server/public/assets/chunk-7N4EOEYR-DaimaIlO.js +1 -0
  345. package/payload/server/public/assets/chunk-7N4EOEYR-DaimaIlO.js.br +0 -0
  346. package/payload/server/public/assets/chunk-7N4EOEYR-DaimaIlO.js.gz +0 -0
  347. package/payload/server/public/assets/chunk-AA7GKIK3-htgz4y5z.js +1 -0
  348. package/payload/server/public/assets/chunk-AA7GKIK3-htgz4y5z.js.br +0 -0
  349. package/payload/server/public/assets/chunk-AA7GKIK3-htgz4y5z.js.gz +0 -0
  350. package/payload/server/public/assets/chunk-BSJP7CBP-0xBlnKJN.js +1 -0
  351. package/payload/server/public/assets/chunk-BSJP7CBP-0xBlnKJN.js.br +0 -0
  352. package/payload/server/public/assets/chunk-BSJP7CBP-0xBlnKJN.js.gz +0 -0
  353. package/payload/server/public/assets/chunk-CIAEETIT-HZOrcAzJ.js +1 -0
  354. package/payload/server/public/assets/chunk-CIAEETIT-HZOrcAzJ.js.br +0 -0
  355. package/payload/server/public/assets/chunk-CIAEETIT-HZOrcAzJ.js.gz +0 -0
  356. package/payload/server/public/assets/chunk-EDXVE4YY-CC8hCcuU.js +1 -0
  357. package/payload/server/public/assets/chunk-EDXVE4YY-CC8hCcuU.js.br +0 -0
  358. package/payload/server/public/assets/chunk-EDXVE4YY-CC8hCcuU.js.gz +0 -0
  359. package/payload/server/public/assets/chunk-ENJZ2VHE-BdPfdZYB.js +10 -0
  360. package/payload/server/public/assets/chunk-ENJZ2VHE-BdPfdZYB.js.br +0 -0
  361. package/payload/server/public/assets/chunk-ENJZ2VHE-BdPfdZYB.js.gz +0 -0
  362. package/payload/server/public/assets/chunk-FMBD7UC4-MHdn_KgF.js +15 -0
  363. package/payload/server/public/assets/chunk-FMBD7UC4-MHdn_KgF.js.br +0 -0
  364. package/payload/server/public/assets/chunk-FMBD7UC4-MHdn_KgF.js.gz +0 -0
  365. package/payload/server/public/assets/chunk-FOC6F5B3-Ti8BlQKX.js +1 -0
  366. package/payload/server/public/assets/chunk-FOC6F5B3-Ti8BlQKX.js.br +0 -0
  367. package/payload/server/public/assets/chunk-FOC6F5B3-Ti8BlQKX.js.gz +0 -0
  368. package/payload/server/public/assets/chunk-ICPOFSXX-BP8A8zb1.js +122 -0
  369. package/payload/server/public/assets/chunk-ICPOFSXX-BP8A8zb1.js.br +0 -0
  370. package/payload/server/public/assets/chunk-ICPOFSXX-BP8A8zb1.js.gz +0 -0
  371. package/payload/server/public/assets/chunk-K5T4RW27-F30EnSBL.js +94 -0
  372. package/payload/server/public/assets/chunk-K5T4RW27-F30EnSBL.js.br +0 -0
  373. package/payload/server/public/assets/chunk-K5T4RW27-F30EnSBL.js.gz +0 -0
  374. package/payload/server/public/assets/chunk-KGLVRYIC-DNSEkg2Q.js +1 -0
  375. package/payload/server/public/assets/chunk-KGLVRYIC-DNSEkg2Q.js.br +2 -0
  376. package/payload/server/public/assets/chunk-KGLVRYIC-DNSEkg2Q.js.gz +0 -0
  377. package/payload/server/public/assets/chunk-LIHQZDEY-DM7b0dec.js +1 -0
  378. package/payload/server/public/assets/chunk-LIHQZDEY-DM7b0dec.js.br +0 -0
  379. package/payload/server/public/assets/chunk-LIHQZDEY-DM7b0dec.js.gz +0 -0
  380. package/payload/server/public/assets/chunk-ORNJ4GCN-B0qoI_vp.js +1 -0
  381. package/payload/server/public/assets/chunk-ORNJ4GCN-B0qoI_vp.js.br +0 -0
  382. package/payload/server/public/assets/chunk-ORNJ4GCN-B0qoI_vp.js.gz +0 -0
  383. package/payload/server/public/assets/chunk-OYMX7WX6-Bfzo53eI.js +231 -0
  384. package/payload/server/public/assets/chunk-OYMX7WX6-Bfzo53eI.js.br +0 -0
  385. package/payload/server/public/assets/chunk-OYMX7WX6-Bfzo53eI.js.gz +0 -0
  386. package/payload/server/public/assets/chunk-QZHKN3VN-A6b8ZN9i.js +1 -0
  387. package/payload/server/public/assets/chunk-QZHKN3VN-A6b8ZN9i.js.br +0 -0
  388. package/payload/server/public/assets/chunk-QZHKN3VN-A6b8ZN9i.js.gz +0 -0
  389. package/payload/server/public/assets/chunk-U2HBQHQK-DcqGPXEy.js +70 -0
  390. package/payload/server/public/assets/chunk-U2HBQHQK-DcqGPXEy.js.br +0 -0
  391. package/payload/server/public/assets/chunk-U2HBQHQK-DcqGPXEy.js.gz +0 -0
  392. package/payload/server/public/assets/chunk-X2U36JSP-DtRi7n5Z.js +1 -0
  393. package/payload/server/public/assets/chunk-X2U36JSP-DtRi7n5Z.js.br +0 -0
  394. package/payload/server/public/assets/chunk-X2U36JSP-DtRi7n5Z.js.gz +0 -0
  395. package/payload/server/public/assets/chunk-XPW4576I-DmuDCcY3.js +32 -0
  396. package/payload/server/public/assets/chunk-XPW4576I-DmuDCcY3.js.br +0 -0
  397. package/payload/server/public/assets/chunk-XPW4576I-DmuDCcY3.js.gz +0 -0
  398. package/payload/server/public/assets/chunk-YZCP3GAM-oKk9Gv_e.js +1 -0
  399. package/payload/server/public/assets/chunk-YZCP3GAM-oKk9Gv_e.js.br +0 -0
  400. package/payload/server/public/assets/chunk-YZCP3GAM-oKk9Gv_e.js.gz +0 -0
  401. package/payload/server/public/assets/chunk-ZZ45TVLE-teET41Yh.js +1 -0
  402. package/payload/server/public/assets/chunk-ZZ45TVLE-teET41Yh.js.br +0 -0
  403. package/payload/server/public/assets/chunk-ZZ45TVLE-teET41Yh.js.gz +0 -0
  404. package/payload/server/public/assets/classDiagram-6PBFFD2Q-CMXajSzA.js +1 -0
  405. package/payload/server/public/assets/classDiagram-6PBFFD2Q-CMXajSzA.js.br +0 -0
  406. package/payload/server/public/assets/classDiagram-6PBFFD2Q-CMXajSzA.js.gz +0 -0
  407. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-Cz5Kib2r.js +1 -0
  408. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-Cz5Kib2r.js.br +0 -0
  409. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-Cz5Kib2r.js.gz +0 -0
  410. package/payload/server/public/assets/clock-C5xE5p2I.js +1 -0
  411. package/payload/server/public/assets/clock-C5xE5p2I.js.br +0 -0
  412. package/payload/server/public/assets/clone-BORhq8On.js +1 -0
  413. package/payload/server/public/assets/clone-BORhq8On.js.br +0 -0
  414. package/payload/server/public/assets/copy-TkPJgllS.js +1 -0
  415. package/payload/server/public/assets/copy-TkPJgllS.js.br +0 -0
  416. package/payload/server/public/assets/copy-TkPJgllS.js.gz +0 -0
  417. package/payload/server/public/assets/cose-bilkent-S5V4N54A-D1xLpHGm.js +1 -0
  418. package/payload/server/public/assets/cose-bilkent-S5V4N54A-D1xLpHGm.js.br +0 -0
  419. package/payload/server/public/assets/cose-bilkent-S5V4N54A-D1xLpHGm.js.gz +0 -0
  420. package/payload/server/public/assets/dagre-KV5264BT-Byl65NKT.js +4 -0
  421. package/payload/server/public/assets/dagre-KV5264BT-Byl65NKT.js.br +0 -0
  422. package/payload/server/public/assets/dagre-KV5264BT-Byl65NKT.js.gz +0 -0
  423. package/payload/server/public/assets/dagre-ZzXkSDir.js +1 -0
  424. package/payload/server/public/assets/dagre-ZzXkSDir.js.br +0 -0
  425. package/payload/server/public/assets/dagre-ZzXkSDir.js.gz +0 -0
  426. package/payload/server/public/assets/data-Bhv0Pvfl.js +1 -0
  427. package/payload/server/public/assets/data-Bhv0Pvfl.js.br +0 -0
  428. package/payload/server/public/assets/data-Bhv0Pvfl.js.gz +0 -0
  429. package/payload/server/public/assets/diagram-5BDNPKRD-BFNkV5GK.js +10 -0
  430. package/payload/server/public/assets/diagram-5BDNPKRD-BFNkV5GK.js.br +0 -0
  431. package/payload/server/public/assets/diagram-5BDNPKRD-BFNkV5GK.js.gz +0 -0
  432. package/payload/server/public/assets/diagram-G4DWMVQ6-1n6vHXzR.js +24 -0
  433. package/payload/server/public/assets/diagram-G4DWMVQ6-1n6vHXzR.js.br +0 -0
  434. package/payload/server/public/assets/diagram-G4DWMVQ6-1n6vHXzR.js.gz +0 -0
  435. package/payload/server/public/assets/diagram-MMDJMWI5-D4QOzaw0.js +43 -0
  436. package/payload/server/public/assets/diagram-MMDJMWI5-D4QOzaw0.js.br +0 -0
  437. package/payload/server/public/assets/diagram-MMDJMWI5-D4QOzaw0.js.gz +0 -0
  438. package/payload/server/public/assets/diagram-TYMM5635-z8lBRsaV.js +24 -0
  439. package/payload/server/public/assets/diagram-TYMM5635-z8lBRsaV.js.br +0 -0
  440. package/payload/server/public/assets/diagram-TYMM5635-z8lBRsaV.js.gz +0 -0
  441. package/payload/server/public/assets/dist-DjYA4E4S.js +1 -0
  442. package/payload/server/public/assets/dist-DjYA4E4S.js.br +0 -0
  443. package/payload/server/public/assets/dist-DjYA4E4S.js.gz +0 -0
  444. package/payload/server/public/assets/erDiagram-SMLLAGMA-CXj3tbtX.js +85 -0
  445. package/payload/server/public/assets/erDiagram-SMLLAGMA-CXj3tbtX.js.br +0 -0
  446. package/payload/server/public/assets/erDiagram-SMLLAGMA-CXj3tbtX.js.gz +0 -0
  447. package/payload/server/public/assets/field-B490-evJ.js +1 -0
  448. package/payload/server/public/assets/field-B490-evJ.js.br +0 -0
  449. package/payload/server/public/assets/field-B490-evJ.js.gz +0 -0
  450. package/payload/server/public/assets/file-text-DyAL2DCh.js +1 -0
  451. package/payload/server/public/assets/file-text-DyAL2DCh.js.br +0 -0
  452. package/payload/server/public/assets/file-text-DyAL2DCh.js.gz +0 -0
  453. package/payload/server/public/assets/flatten-UdUTbm8v.js +1 -0
  454. package/payload/server/public/assets/flatten-UdUTbm8v.js.br +0 -0
  455. package/payload/server/public/assets/flatten-UdUTbm8v.js.gz +0 -0
  456. package/payload/server/public/assets/flowDiagram-DWJPFMVM-DnySI-I4.js +162 -0
  457. package/payload/server/public/assets/flowDiagram-DWJPFMVM-DnySI-I4.js.br +0 -0
  458. package/payload/server/public/assets/flowDiagram-DWJPFMVM-DnySI-I4.js.gz +0 -0
  459. package/payload/server/public/assets/ganttDiagram-T4ZO3ILL-BIE2Q78F.js +292 -0
  460. package/payload/server/public/assets/ganttDiagram-T4ZO3ILL-BIE2Q78F.js.br +0 -0
  461. package/payload/server/public/assets/ganttDiagram-T4ZO3ILL-BIE2Q78F.js.gz +0 -0
  462. package/payload/server/public/assets/gitGraph-7Q5UKJZL-Ua2z-DNt.js +1 -0
  463. package/payload/server/public/assets/gitGraph-7Q5UKJZL-Ua2z-DNt.js.br +0 -0
  464. package/payload/server/public/assets/gitGraphDiagram-UUTBAWPF-B2RTRpyG.js +106 -0
  465. package/payload/server/public/assets/gitGraphDiagram-UUTBAWPF-B2RTRpyG.js.br +0 -0
  466. package/payload/server/public/assets/gitGraphDiagram-UUTBAWPF-B2RTRpyG.js.gz +0 -0
  467. package/payload/server/public/assets/graph-PiNIcCfX.js +51 -0
  468. package/payload/server/public/assets/graph-PiNIcCfX.js.br +0 -0
  469. package/payload/server/public/assets/graph-PiNIcCfX.js.gz +0 -0
  470. package/payload/server/public/assets/graph-labels-8jKFrLHn.js +1 -0
  471. package/payload/server/public/assets/graph-labels-8jKFrLHn.js.br +0 -0
  472. package/payload/server/public/assets/graph-labels-8jKFrLHn.js.gz +0 -0
  473. package/payload/server/public/assets/graphlib-SOh92ucm.js +1 -0
  474. package/payload/server/public/assets/graphlib-SOh92ucm.js.br +0 -0
  475. package/payload/server/public/assets/graphlib-SOh92ucm.js.gz +0 -0
  476. package/payload/server/public/assets/info-OMHHGYJF-CNYp42iX.js +1 -0
  477. package/payload/server/public/assets/info-OMHHGYJF-CNYp42iX.js.br +0 -0
  478. package/payload/server/public/assets/infoDiagram-42DDH7IO-DklHffYr.js +2 -0
  479. package/payload/server/public/assets/infoDiagram-42DDH7IO-DklHffYr.js.br +0 -0
  480. package/payload/server/public/assets/infoDiagram-42DDH7IO-DklHffYr.js.gz +0 -0
  481. package/payload/server/public/assets/isEmpty-DY_Xp9Na.js +1 -0
  482. package/payload/server/public/assets/isEmpty-DY_Xp9Na.js.br +0 -0
  483. package/payload/server/public/assets/isEmpty-DY_Xp9Na.js.gz +0 -0
  484. package/payload/server/public/assets/ishikawaDiagram-UXIWVN3A-KAC06i3M.js +70 -0
  485. package/payload/server/public/assets/ishikawaDiagram-UXIWVN3A-KAC06i3M.js.br +0 -0
  486. package/payload/server/public/assets/ishikawaDiagram-UXIWVN3A-KAC06i3M.js.gz +0 -0
  487. package/payload/server/public/assets/journeyDiagram-VCZTEJTY-cA37ob8S.js +139 -0
  488. package/payload/server/public/assets/journeyDiagram-VCZTEJTY-cA37ob8S.js.br +0 -0
  489. package/payload/server/public/assets/journeyDiagram-VCZTEJTY-cA37ob8S.js.gz +0 -0
  490. package/payload/server/public/assets/jsx-runtime-ChVh0xOm.css +1 -0
  491. package/payload/server/public/assets/jsx-runtime-ChVh0xOm.css.br +0 -0
  492. package/payload/server/public/assets/jsx-runtime-ChVh0xOm.css.gz +0 -0
  493. package/payload/server/public/assets/jsx-runtime-YcUntiud.js +9 -0
  494. package/payload/server/public/assets/jsx-runtime-YcUntiud.js.br +0 -0
  495. package/payload/server/public/assets/jsx-runtime-YcUntiud.js.gz +0 -0
  496. package/payload/server/public/assets/kanban-definition-6JOO6SKY-CBjL70wU.js +89 -0
  497. package/payload/server/public/assets/kanban-definition-6JOO6SKY-CBjL70wU.js.br +0 -0
  498. package/payload/server/public/assets/kanban-definition-6JOO6SKY-CBjL70wU.js.gz +0 -0
  499. package/payload/server/public/assets/line-K8229GLG.js +1 -0
  500. package/payload/server/public/assets/line-K8229GLG.js.br +0 -0
  501. package/payload/server/public/assets/line-K8229GLG.js.gz +0 -0
  502. package/payload/server/public/assets/linear-DeX7Wdt6.js +1 -0
  503. package/payload/server/public/assets/linear-DeX7Wdt6.js.br +0 -0
  504. package/payload/server/public/assets/linear-DeX7Wdt6.js.gz +0 -0
  505. package/payload/server/public/assets/mermaid-parser.core-OnNOAzPX.js +4 -0
  506. package/payload/server/public/assets/mermaid-parser.core-OnNOAzPX.js.br +0 -0
  507. package/payload/server/public/assets/mermaid-parser.core-OnNOAzPX.js.gz +0 -0
  508. package/payload/server/public/assets/mermaid.core-DA-Gezeo.js +11 -0
  509. package/payload/server/public/assets/mermaid.core-DA-Gezeo.js.br +0 -0
  510. package/payload/server/public/assets/mermaid.core-DA-Gezeo.js.gz +0 -0
  511. package/payload/server/public/assets/mindmap-definition-QFDTVHPH-C24TcDyS.js +96 -0
  512. package/payload/server/public/assets/mindmap-definition-QFDTVHPH-C24TcDyS.js.br +0 -0
  513. package/payload/server/public/assets/mindmap-definition-QFDTVHPH-C24TcDyS.js.gz +0 -0
  514. package/payload/server/public/assets/operator-DKGKGzrb.js +1 -0
  515. package/payload/server/public/assets/operator-DKGKGzrb.js.br +0 -0
  516. package/payload/server/public/assets/operator-DKGKGzrb.js.gz +0 -0
  517. package/payload/server/public/assets/ordinal-gnpqfIHn.js +1 -0
  518. package/payload/server/public/assets/ordinal-gnpqfIHn.js.br +0 -0
  519. package/payload/server/public/assets/ordinal-gnpqfIHn.js.gz +0 -0
  520. package/payload/server/public/assets/packet-4T2RLAQJ-B3ZAElsg.js +1 -0
  521. package/payload/server/public/assets/packet-4T2RLAQJ-B3ZAElsg.js.br +0 -0
  522. package/payload/server/public/assets/page-BU5vlY9Y.js +1 -0
  523. package/payload/server/public/assets/page-BU5vlY9Y.js.br +0 -0
  524. package/payload/server/public/assets/page-BU5vlY9Y.js.gz +0 -0
  525. package/payload/server/public/assets/page-DXz_K10G.js +32 -0
  526. package/payload/server/public/assets/page-DXz_K10G.js.br +0 -0
  527. package/payload/server/public/assets/page-DXz_K10G.js.gz +0 -0
  528. package/payload/server/public/assets/pdf-render-B5af7vu1.js +11 -0
  529. package/payload/server/public/assets/pdf-render-B5af7vu1.js.br +0 -0
  530. package/payload/server/public/assets/pdf-render-B5af7vu1.js.gz +0 -0
  531. package/payload/server/public/assets/pie-ZZUOXDRM-BWsRCj8p.js +1 -0
  532. package/payload/server/public/assets/pie-ZZUOXDRM-BWsRCj8p.js.br +0 -0
  533. package/payload/server/public/assets/pieDiagram-DEJITSTG-ChS9jalQ.js +30 -0
  534. package/payload/server/public/assets/pieDiagram-DEJITSTG-ChS9jalQ.js.br +0 -0
  535. package/payload/server/public/assets/pieDiagram-DEJITSTG-ChS9jalQ.js.gz +0 -0
  536. package/payload/server/public/assets/play-CmSyYrB6.js +1 -0
  537. package/payload/server/public/assets/play-CmSyYrB6.js.br +0 -0
  538. package/payload/server/public/assets/play-CmSyYrB6.js.gz +0 -0
  539. package/payload/server/public/assets/public-BmA3-jLj.js +1 -0
  540. package/payload/server/public/assets/public-BmA3-jLj.js.br +0 -0
  541. package/payload/server/public/assets/public-BmA3-jLj.js.gz +0 -0
  542. package/payload/server/public/assets/quadrantDiagram-34T5L4WZ-BxLfRK0z.js +7 -0
  543. package/payload/server/public/assets/quadrantDiagram-34T5L4WZ-BxLfRK0z.js.br +0 -0
  544. package/payload/server/public/assets/quadrantDiagram-34T5L4WZ-BxLfRK0z.js.gz +0 -0
  545. package/payload/server/public/assets/radar-PYXPWWZC-Gxbt2rGT.js +1 -0
  546. package/payload/server/public/assets/radar-PYXPWWZC-Gxbt2rGT.js.br +0 -0
  547. package/payload/server/public/assets/reduce-BvezuHIe.js +1 -0
  548. package/payload/server/public/assets/reduce-BvezuHIe.js.br +0 -0
  549. package/payload/server/public/assets/reduce-BvezuHIe.js.gz +0 -0
  550. package/payload/server/public/assets/requirementDiagram-MS252O5E-CWy48VI3.js +84 -0
  551. package/payload/server/public/assets/requirementDiagram-MS252O5E-CWy48VI3.js.br +0 -0
  552. package/payload/server/public/assets/requirementDiagram-MS252O5E-CWy48VI3.js.gz +0 -0
  553. package/payload/server/public/assets/rotate-ccw-fCH0LSMq.js +1 -0
  554. package/payload/server/public/assets/rotate-ccw-fCH0LSMq.js.br +0 -0
  555. package/payload/server/public/assets/rotate-ccw-fCH0LSMq.js.gz +0 -0
  556. package/payload/server/public/assets/routines-BeFrmkls.js +2 -0
  557. package/payload/server/public/assets/routines-BeFrmkls.js.br +0 -0
  558. package/payload/server/public/assets/routines-BeFrmkls.js.gz +0 -0
  559. package/payload/server/public/assets/sankeyDiagram-XADWPNL6-BBCLEJA3.js +10 -0
  560. package/payload/server/public/assets/sankeyDiagram-XADWPNL6-BBCLEJA3.js.br +0 -0
  561. package/payload/server/public/assets/sankeyDiagram-XADWPNL6-BBCLEJA3.js.gz +0 -0
  562. package/payload/server/public/assets/sequenceDiagram-FGHM5R23-wu64F04G.js +157 -0
  563. package/payload/server/public/assets/sequenceDiagram-FGHM5R23-wu64F04G.js.br +0 -0
  564. package/payload/server/public/assets/sequenceDiagram-FGHM5R23-wu64F04G.js.gz +0 -0
  565. package/payload/server/public/assets/skills-mjls5HBa.js +1 -0
  566. package/payload/server/public/assets/skills-mjls5HBa.js.br +0 -0
  567. package/payload/server/public/assets/skills-mjls5HBa.js.gz +0 -0
  568. package/payload/server/public/assets/src-BvINb2fL.js +1 -0
  569. package/payload/server/public/assets/src-BvINb2fL.js.br +0 -0
  570. package/payload/server/public/assets/src-BvINb2fL.js.gz +0 -0
  571. package/payload/server/public/assets/stateDiagram-FHFEXIEX-Bq6BFFDC.js +1 -0
  572. package/payload/server/public/assets/stateDiagram-FHFEXIEX-Bq6BFFDC.js.br +0 -0
  573. package/payload/server/public/assets/stateDiagram-FHFEXIEX-Bq6BFFDC.js.gz +0 -0
  574. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-PxPsWt1r.js +1 -0
  575. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-PxPsWt1r.js.br +0 -0
  576. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-PxPsWt1r.js.gz +0 -0
  577. package/payload/server/public/assets/tasks-p6puHHD0.js +3 -0
  578. package/payload/server/public/assets/tasks-p6puHHD0.js.br +0 -0
  579. package/payload/server/public/assets/tasks-p6puHHD0.js.gz +0 -0
  580. package/payload/server/public/assets/timeline-definition-GMOUNBTQ-DTdvVZp-.js +120 -0
  581. package/payload/server/public/assets/timeline-definition-GMOUNBTQ-DTdvVZp-.js.br +0 -0
  582. package/payload/server/public/assets/timeline-definition-GMOUNBTQ-DTdvVZp-.js.gz +0 -0
  583. package/payload/server/public/assets/treeView-SZITEDCU-Bl-aPmE3.js +1 -0
  584. package/payload/server/public/assets/treeView-SZITEDCU-Bl-aPmE3.js.br +0 -0
  585. package/payload/server/public/assets/treemap-W4RFUUIX-CUxE8Ofg.js +1 -0
  586. package/payload/server/public/assets/treemap-W4RFUUIX-CUxE8Ofg.js.br +0 -0
  587. package/payload/server/public/assets/triangle-alert-CrZ1ewbd.js +1 -0
  588. package/payload/server/public/assets/triangle-alert-CrZ1ewbd.js.br +0 -0
  589. package/payload/server/public/assets/triangle-alert-CrZ1ewbd.js.gz +0 -0
  590. package/payload/server/public/assets/useCopyFeedback-zOQNrIwd.js +1 -0
  591. package/payload/server/public/assets/useCopyFeedback-zOQNrIwd.js.br +0 -0
  592. package/payload/server/public/assets/useCopyFeedback-zOQNrIwd.js.gz +0 -0
  593. package/payload/server/public/assets/useMediaQuery-BmG090FR.js +6 -0
  594. package/payload/server/public/assets/useMediaQuery-BmG090FR.js.br +0 -0
  595. package/payload/server/public/assets/useMediaQuery-BmG090FR.js.gz +0 -0
  596. package/payload/server/public/assets/useVoiceRecorder-9pf6FFJ-.js +2 -0
  597. package/payload/server/public/assets/useVoiceRecorder-9pf6FFJ-.js.br +0 -0
  598. package/payload/server/public/assets/useVoiceRecorder-9pf6FFJ-.js.gz +0 -0
  599. package/payload/server/public/assets/vennDiagram-DHZGUBPP-CigqIBdl.js +34 -0
  600. package/payload/server/public/assets/vennDiagram-DHZGUBPP-CigqIBdl.js.br +0 -0
  601. package/payload/server/public/assets/vennDiagram-DHZGUBPP-CigqIBdl.js.gz +0 -0
  602. package/payload/server/public/assets/wardley-RL74JXVD-DPB13D22.js +1 -0
  603. package/payload/server/public/assets/wardley-RL74JXVD-DPB13D22.js.br +0 -0
  604. package/payload/server/public/assets/wardleyDiagram-NUSXRM2D-VhV1plUD.js +20 -0
  605. package/payload/server/public/assets/wardleyDiagram-NUSXRM2D-VhV1plUD.js.br +0 -0
  606. package/payload/server/public/assets/wardleyDiagram-NUSXRM2D-VhV1plUD.js.gz +0 -0
  607. package/payload/server/public/assets/wrench-k4GYG5rc.js +1 -0
  608. package/payload/server/public/assets/wrench-k4GYG5rc.js.br +0 -0
  609. package/payload/server/public/assets/wrench-k4GYG5rc.js.gz +0 -0
  610. package/payload/server/public/assets/xychartDiagram-5P7HB3ND-DGkkNLZt.js +7 -0
  611. package/payload/server/public/assets/xychartDiagram-5P7HB3ND-DGkkNLZt.js.br +0 -0
  612. package/payload/server/public/assets/xychartDiagram-5P7HB3ND-DGkkNLZt.js.gz +0 -0
  613. package/payload/server/public/browser.html +6 -6
  614. package/payload/server/public/calendar.html +9 -9
  615. package/payload/server/public/chat.html +16 -16
  616. package/payload/server/public/data.html +15 -15
  617. package/payload/server/public/field.html +4 -4
  618. package/payload/server/public/graph.html +11 -11
  619. package/payload/server/public/index.html +17 -17
  620. package/payload/server/public/operator.html +17 -17
  621. package/payload/server/public/public.html +16 -16
  622. package/payload/server/public/routines.html +10 -10
  623. package/payload/server/public/skills.html +7 -7
  624. package/payload/server/public/tasks.html +8 -8
  625. package/payload/server/server.js +2894 -1985
  626. package/payload/platform/lib/dispatch-read/src/config.d.ts +0 -26
  627. package/payload/platform/lib/dispatch-read/src/types.d.ts +0 -143
  628. package/payload/server/public/assets/AdminLoginScreens-Dp6k1XgD.js +0 -1
  629. package/payload/server/public/assets/AdminLoginScreens-Dp6k1XgD.js.br +0 -0
  630. package/payload/server/public/assets/AdminLoginScreens-Dp6k1XgD.js.gz +0 -0
  631. package/payload/server/public/assets/AdminShell-D-wB90c3.js +0 -3
  632. package/payload/server/public/assets/AdminShell-D-wB90c3.js.br +0 -0
  633. package/payload/server/public/assets/AdminShell-D-wB90c3.js.gz +0 -0
  634. package/payload/server/public/assets/activity-BJxhblz-.js +0 -1
  635. package/payload/server/public/assets/activity-BJxhblz-.js.br +0 -0
  636. package/payload/server/public/assets/activity-BJxhblz-.js.gz +0 -0
  637. package/payload/server/public/assets/admin-DzEi8shs.js +0 -1
  638. package/payload/server/public/assets/admin-DzEi8shs.js.br +0 -0
  639. package/payload/server/public/assets/admin-DzEi8shs.js.gz +0 -0
  640. package/payload/server/public/assets/agents-DTL8kjfD.js +0 -1
  641. package/payload/server/public/assets/agents-DTL8kjfD.js.br +0 -0
  642. package/payload/server/public/assets/agents-DTL8kjfD.js.gz +0 -0
  643. package/payload/server/public/assets/arc-CWXBKNZd.js +0 -1
  644. package/payload/server/public/assets/arc-CWXBKNZd.js.br +0 -0
  645. package/payload/server/public/assets/arc-CWXBKNZd.js.gz +0 -0
  646. package/payload/server/public/assets/architecture-YZFGNWBL-CIL4I0fc.js +0 -1
  647. package/payload/server/public/assets/architecture-YZFGNWBL-CIL4I0fc.js.br +0 -0
  648. package/payload/server/public/assets/architectureDiagram-Q4EWVU46-C-KPMyG4.js +0 -36
  649. package/payload/server/public/assets/architectureDiagram-Q4EWVU46-C-KPMyG4.js.br +0 -0
  650. package/payload/server/public/assets/architectureDiagram-Q4EWVU46-C-KPMyG4.js.gz +0 -0
  651. package/payload/server/public/assets/blockDiagram-DXYQGD6D-DkYbV9Sf.js +0 -132
  652. package/payload/server/public/assets/blockDiagram-DXYQGD6D-DkYbV9Sf.js.br +0 -0
  653. package/payload/server/public/assets/blockDiagram-DXYQGD6D-DkYbV9Sf.js.gz +0 -0
  654. package/payload/server/public/assets/browser-UZp75zhx.js +0 -1
  655. package/payload/server/public/assets/browser-UZp75zhx.js.br +0 -0
  656. package/payload/server/public/assets/browser-UZp75zhx.js.gz +0 -0
  657. package/payload/server/public/assets/c4Diagram-AHTNJAMY-EYW4kdlx.js +0 -10
  658. package/payload/server/public/assets/c4Diagram-AHTNJAMY-EYW4kdlx.js.br +0 -0
  659. package/payload/server/public/assets/c4Diagram-AHTNJAMY-EYW4kdlx.js.gz +0 -0
  660. package/payload/server/public/assets/calendar-Dfo0O2K_.js +0 -1
  661. package/payload/server/public/assets/calendar-Dfo0O2K_.js.br +0 -0
  662. package/payload/server/public/assets/calendar-Dfo0O2K_.js.gz +0 -0
  663. package/payload/server/public/assets/channel-CbHmRjy_.js +0 -1
  664. package/payload/server/public/assets/channel-CbHmRjy_.js.br +0 -0
  665. package/payload/server/public/assets/chat-ByJAvEWZ.js +0 -1
  666. package/payload/server/public/assets/chat-ByJAvEWZ.js.br +0 -0
  667. package/payload/server/public/assets/chat-ByJAvEWZ.js.gz +0 -0
  668. package/payload/server/public/assets/chevron-left-iG7sYNm7.js +0 -1
  669. package/payload/server/public/assets/chevron-left-iG7sYNm7.js.br +0 -0
  670. package/payload/server/public/assets/chunk-2KRD3SAO-CmAF1UmH.js +0 -1
  671. package/payload/server/public/assets/chunk-2KRD3SAO-CmAF1UmH.js.br +0 -0
  672. package/payload/server/public/assets/chunk-2KRD3SAO-CmAF1UmH.js.gz +0 -0
  673. package/payload/server/public/assets/chunk-336JU56O-CyhmJeMM.js +0 -2
  674. package/payload/server/public/assets/chunk-336JU56O-CyhmJeMM.js.br +0 -0
  675. package/payload/server/public/assets/chunk-336JU56O-CyhmJeMM.js.gz +0 -0
  676. package/payload/server/public/assets/chunk-426QAEUC-C2tnHCM7.js +0 -1
  677. package/payload/server/public/assets/chunk-426QAEUC-C2tnHCM7.js.br +0 -0
  678. package/payload/server/public/assets/chunk-426QAEUC-C2tnHCM7.js.gz +0 -0
  679. package/payload/server/public/assets/chunk-4BX2VUAB-DCzC40-Y.js +0 -1
  680. package/payload/server/public/assets/chunk-4BX2VUAB-DCzC40-Y.js.br +0 -0
  681. package/payload/server/public/assets/chunk-4BX2VUAB-DCzC40-Y.js.gz +0 -0
  682. package/payload/server/public/assets/chunk-4TB4RGXK-D9BXrSA_.js +0 -206
  683. package/payload/server/public/assets/chunk-4TB4RGXK-D9BXrSA_.js.br +0 -0
  684. package/payload/server/public/assets/chunk-4TB4RGXK-D9BXrSA_.js.gz +0 -0
  685. package/payload/server/public/assets/chunk-55IACEB6-BwXC-qTZ.js +0 -1
  686. package/payload/server/public/assets/chunk-55IACEB6-BwXC-qTZ.js.br +0 -0
  687. package/payload/server/public/assets/chunk-55IACEB6-BwXC-qTZ.js.gz +0 -0
  688. package/payload/server/public/assets/chunk-5FUZZQ4R-De7QtXxM.js +0 -62
  689. package/payload/server/public/assets/chunk-5FUZZQ4R-De7QtXxM.js.br +0 -0
  690. package/payload/server/public/assets/chunk-5FUZZQ4R-De7QtXxM.js.gz +0 -0
  691. package/payload/server/public/assets/chunk-5PVQY5BW-B5tsJiCq.js +0 -2
  692. package/payload/server/public/assets/chunk-5PVQY5BW-B5tsJiCq.js.br +0 -0
  693. package/payload/server/public/assets/chunk-5PVQY5BW-B5tsJiCq.js.gz +0 -0
  694. package/payload/server/public/assets/chunk-67CJDMHE-BjTh9STV.js +0 -1
  695. package/payload/server/public/assets/chunk-67CJDMHE-BjTh9STV.js.br +0 -0
  696. package/payload/server/public/assets/chunk-67CJDMHE-BjTh9STV.js.gz +0 -0
  697. package/payload/server/public/assets/chunk-7N4EOEYR-91klRswn.js +0 -1
  698. package/payload/server/public/assets/chunk-7N4EOEYR-91klRswn.js.br +0 -0
  699. package/payload/server/public/assets/chunk-7N4EOEYR-91klRswn.js.gz +0 -0
  700. package/payload/server/public/assets/chunk-AA7GKIK3-XFPGEoBu.js +0 -1
  701. package/payload/server/public/assets/chunk-AA7GKIK3-XFPGEoBu.js.br +0 -3
  702. package/payload/server/public/assets/chunk-AA7GKIK3-XFPGEoBu.js.gz +0 -0
  703. package/payload/server/public/assets/chunk-BSJP7CBP-B7wgMyWq.js +0 -1
  704. package/payload/server/public/assets/chunk-BSJP7CBP-B7wgMyWq.js.br +0 -0
  705. package/payload/server/public/assets/chunk-BSJP7CBP-B7wgMyWq.js.gz +0 -0
  706. package/payload/server/public/assets/chunk-CIAEETIT-WPy9vcOo.js +0 -1
  707. package/payload/server/public/assets/chunk-CIAEETIT-WPy9vcOo.js.br +0 -0
  708. package/payload/server/public/assets/chunk-CIAEETIT-WPy9vcOo.js.gz +0 -0
  709. package/payload/server/public/assets/chunk-EDXVE4YY-D_2JIFFG.js +0 -1
  710. package/payload/server/public/assets/chunk-EDXVE4YY-D_2JIFFG.js.br +0 -0
  711. package/payload/server/public/assets/chunk-EDXVE4YY-D_2JIFFG.js.gz +0 -0
  712. package/payload/server/public/assets/chunk-ENJZ2VHE-xORReRt0.js +0 -10
  713. package/payload/server/public/assets/chunk-ENJZ2VHE-xORReRt0.js.br +0 -0
  714. package/payload/server/public/assets/chunk-ENJZ2VHE-xORReRt0.js.gz +0 -0
  715. package/payload/server/public/assets/chunk-FMBD7UC4-BZsDu4nl.js +0 -15
  716. package/payload/server/public/assets/chunk-FMBD7UC4-BZsDu4nl.js.br +0 -0
  717. package/payload/server/public/assets/chunk-FMBD7UC4-BZsDu4nl.js.gz +0 -0
  718. package/payload/server/public/assets/chunk-FOC6F5B3-QzUp8wXX.js +0 -1
  719. package/payload/server/public/assets/chunk-FOC6F5B3-QzUp8wXX.js.br +0 -0
  720. package/payload/server/public/assets/chunk-FOC6F5B3-QzUp8wXX.js.gz +0 -0
  721. package/payload/server/public/assets/chunk-ICPOFSXX-B64S7i7x.js +0 -122
  722. package/payload/server/public/assets/chunk-ICPOFSXX-B64S7i7x.js.br +0 -0
  723. package/payload/server/public/assets/chunk-ICPOFSXX-B64S7i7x.js.gz +0 -0
  724. package/payload/server/public/assets/chunk-K5T4RW27-DzPc6X1_.js +0 -94
  725. package/payload/server/public/assets/chunk-K5T4RW27-DzPc6X1_.js.br +0 -0
  726. package/payload/server/public/assets/chunk-K5T4RW27-DzPc6X1_.js.gz +0 -0
  727. package/payload/server/public/assets/chunk-KGLVRYIC-A2rPnD7k.js +0 -1
  728. package/payload/server/public/assets/chunk-KGLVRYIC-A2rPnD7k.js.br +0 -1
  729. package/payload/server/public/assets/chunk-KGLVRYIC-A2rPnD7k.js.gz +0 -0
  730. package/payload/server/public/assets/chunk-LIHQZDEY-CaWX327m.js +0 -1
  731. package/payload/server/public/assets/chunk-LIHQZDEY-CaWX327m.js.br +0 -0
  732. package/payload/server/public/assets/chunk-LIHQZDEY-CaWX327m.js.gz +0 -0
  733. package/payload/server/public/assets/chunk-ORNJ4GCN-zrWhdmnc.js +0 -1
  734. package/payload/server/public/assets/chunk-ORNJ4GCN-zrWhdmnc.js.br +0 -0
  735. package/payload/server/public/assets/chunk-ORNJ4GCN-zrWhdmnc.js.gz +0 -0
  736. package/payload/server/public/assets/chunk-OYMX7WX6-B_2qQir6.js +0 -231
  737. package/payload/server/public/assets/chunk-OYMX7WX6-B_2qQir6.js.br +0 -0
  738. package/payload/server/public/assets/chunk-OYMX7WX6-B_2qQir6.js.gz +0 -0
  739. package/payload/server/public/assets/chunk-QZHKN3VN-BzgrgCTo.js +0 -1
  740. package/payload/server/public/assets/chunk-QZHKN3VN-BzgrgCTo.js.br +0 -0
  741. package/payload/server/public/assets/chunk-QZHKN3VN-BzgrgCTo.js.gz +0 -0
  742. package/payload/server/public/assets/chunk-U2HBQHQK-B-IYgxsc.js +0 -70
  743. package/payload/server/public/assets/chunk-U2HBQHQK-B-IYgxsc.js.br +0 -0
  744. package/payload/server/public/assets/chunk-U2HBQHQK-B-IYgxsc.js.gz +0 -0
  745. package/payload/server/public/assets/chunk-X2U36JSP-Y9Y1_EuG.js +0 -1
  746. package/payload/server/public/assets/chunk-X2U36JSP-Y9Y1_EuG.js.br +0 -0
  747. package/payload/server/public/assets/chunk-X2U36JSP-Y9Y1_EuG.js.gz +0 -0
  748. package/payload/server/public/assets/chunk-XPW4576I-C-6yETG_.js +0 -32
  749. package/payload/server/public/assets/chunk-XPW4576I-C-6yETG_.js.br +0 -0
  750. package/payload/server/public/assets/chunk-XPW4576I-C-6yETG_.js.gz +0 -0
  751. package/payload/server/public/assets/chunk-YZCP3GAM-KAuQIU5n.js +0 -1
  752. package/payload/server/public/assets/chunk-YZCP3GAM-KAuQIU5n.js.br +0 -0
  753. package/payload/server/public/assets/chunk-YZCP3GAM-KAuQIU5n.js.gz +0 -0
  754. package/payload/server/public/assets/chunk-ZZ45TVLE-BJcH3KDH.js +0 -1
  755. package/payload/server/public/assets/chunk-ZZ45TVLE-BJcH3KDH.js.br +0 -0
  756. package/payload/server/public/assets/chunk-ZZ45TVLE-BJcH3KDH.js.gz +0 -0
  757. package/payload/server/public/assets/classDiagram-6PBFFD2Q-BxvqeBEj.js +0 -1
  758. package/payload/server/public/assets/classDiagram-6PBFFD2Q-BxvqeBEj.js.br +0 -0
  759. package/payload/server/public/assets/classDiagram-6PBFFD2Q-BxvqeBEj.js.gz +0 -0
  760. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-R3-NzMRG.js +0 -1
  761. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-R3-NzMRG.js.br +0 -0
  762. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-R3-NzMRG.js.gz +0 -0
  763. package/payload/server/public/assets/clock-xSs0UF10.js +0 -1
  764. package/payload/server/public/assets/clock-xSs0UF10.js.br +0 -0
  765. package/payload/server/public/assets/clock-xSs0UF10.js.gz +0 -0
  766. package/payload/server/public/assets/clone-QdOE5SXR.js +0 -1
  767. package/payload/server/public/assets/copy-CGI2jioK.js +0 -1
  768. package/payload/server/public/assets/copy-CGI2jioK.js.br +0 -0
  769. package/payload/server/public/assets/copy-CGI2jioK.js.gz +0 -0
  770. package/payload/server/public/assets/cose-bilkent-S5V4N54A-CcXj8vHa.js +0 -1
  771. package/payload/server/public/assets/cose-bilkent-S5V4N54A-CcXj8vHa.js.br +0 -0
  772. package/payload/server/public/assets/cose-bilkent-S5V4N54A-CcXj8vHa.js.gz +0 -0
  773. package/payload/server/public/assets/dagre-DOtq9kYX.js +0 -1
  774. package/payload/server/public/assets/dagre-DOtq9kYX.js.br +0 -0
  775. package/payload/server/public/assets/dagre-DOtq9kYX.js.gz +0 -0
  776. package/payload/server/public/assets/dagre-KV5264BT-BOhQs4rS.js +0 -4
  777. package/payload/server/public/assets/dagre-KV5264BT-BOhQs4rS.js.br +0 -0
  778. package/payload/server/public/assets/dagre-KV5264BT-BOhQs4rS.js.gz +0 -0
  779. package/payload/server/public/assets/data-dvwK4BcP.js +0 -1
  780. package/payload/server/public/assets/data-dvwK4BcP.js.br +0 -0
  781. package/payload/server/public/assets/data-dvwK4BcP.js.gz +0 -0
  782. package/payload/server/public/assets/diagram-5BDNPKRD-CqJFt5ZM.js +0 -10
  783. package/payload/server/public/assets/diagram-5BDNPKRD-CqJFt5ZM.js.br +0 -0
  784. package/payload/server/public/assets/diagram-5BDNPKRD-CqJFt5ZM.js.gz +0 -0
  785. package/payload/server/public/assets/diagram-G4DWMVQ6-WQIyAZMn.js +0 -24
  786. package/payload/server/public/assets/diagram-G4DWMVQ6-WQIyAZMn.js.br +0 -0
  787. package/payload/server/public/assets/diagram-G4DWMVQ6-WQIyAZMn.js.gz +0 -0
  788. package/payload/server/public/assets/diagram-MMDJMWI5-jcKc4a2w.js +0 -43
  789. package/payload/server/public/assets/diagram-MMDJMWI5-jcKc4a2w.js.br +0 -0
  790. package/payload/server/public/assets/diagram-MMDJMWI5-jcKc4a2w.js.gz +0 -0
  791. package/payload/server/public/assets/diagram-TYMM5635-Bbt2KuWe.js +0 -24
  792. package/payload/server/public/assets/diagram-TYMM5635-Bbt2KuWe.js.br +0 -0
  793. package/payload/server/public/assets/diagram-TYMM5635-Bbt2KuWe.js.gz +0 -0
  794. package/payload/server/public/assets/dispatch-Dx9-ty1K.js +0 -1
  795. package/payload/server/public/assets/dispatch-Dx9-ty1K.js.br +0 -0
  796. package/payload/server/public/assets/dispatch-Dx9-ty1K.js.gz +0 -0
  797. package/payload/server/public/assets/dist-9RiN6lky.js +0 -1
  798. package/payload/server/public/assets/dist-9RiN6lky.js.br +0 -0
  799. package/payload/server/public/assets/dist-9RiN6lky.js.gz +0 -0
  800. package/payload/server/public/assets/erDiagram-SMLLAGMA-BBm6azPJ.js +0 -85
  801. package/payload/server/public/assets/erDiagram-SMLLAGMA-BBm6azPJ.js.br +0 -0
  802. package/payload/server/public/assets/erDiagram-SMLLAGMA-BBm6azPJ.js.gz +0 -0
  803. package/payload/server/public/assets/field-D-P6CsWA.js +0 -1
  804. package/payload/server/public/assets/field-D-P6CsWA.js.br +0 -0
  805. package/payload/server/public/assets/field-D-P6CsWA.js.gz +0 -0
  806. package/payload/server/public/assets/file-text-RWintp9q.js +0 -1
  807. package/payload/server/public/assets/file-text-RWintp9q.js.br +0 -0
  808. package/payload/server/public/assets/file-text-RWintp9q.js.gz +0 -0
  809. package/payload/server/public/assets/flatten-BurGKeIy.js +0 -1
  810. package/payload/server/public/assets/flatten-BurGKeIy.js.br +0 -0
  811. package/payload/server/public/assets/flatten-BurGKeIy.js.gz +0 -0
  812. package/payload/server/public/assets/flowDiagram-DWJPFMVM-_r45DYJ8.js +0 -162
  813. package/payload/server/public/assets/flowDiagram-DWJPFMVM-_r45DYJ8.js.br +0 -0
  814. package/payload/server/public/assets/flowDiagram-DWJPFMVM-_r45DYJ8.js.gz +0 -0
  815. package/payload/server/public/assets/ganttDiagram-T4ZO3ILL-Bjgj9Bej.js +0 -292
  816. package/payload/server/public/assets/ganttDiagram-T4ZO3ILL-Bjgj9Bej.js.br +0 -0
  817. package/payload/server/public/assets/ganttDiagram-T4ZO3ILL-Bjgj9Bej.js.gz +0 -0
  818. package/payload/server/public/assets/gitGraph-7Q5UKJZL-DdbK59od.js +0 -1
  819. package/payload/server/public/assets/gitGraph-7Q5UKJZL-DdbK59od.js.br +0 -0
  820. package/payload/server/public/assets/gitGraphDiagram-UUTBAWPF-DTRdhGJA.js +0 -106
  821. package/payload/server/public/assets/gitGraphDiagram-UUTBAWPF-DTRdhGJA.js.br +0 -0
  822. package/payload/server/public/assets/gitGraphDiagram-UUTBAWPF-DTRdhGJA.js.gz +0 -0
  823. package/payload/server/public/assets/graph-CpBlfYrJ.js +0 -51
  824. package/payload/server/public/assets/graph-CpBlfYrJ.js.br +0 -0
  825. package/payload/server/public/assets/graph-CpBlfYrJ.js.gz +0 -0
  826. package/payload/server/public/assets/graph-labels-BOMyPppX.js +0 -1
  827. package/payload/server/public/assets/graph-labels-BOMyPppX.js.br +0 -0
  828. package/payload/server/public/assets/graph-labels-BOMyPppX.js.gz +0 -0
  829. package/payload/server/public/assets/graphlib-DT4h6-4N.js +0 -1
  830. package/payload/server/public/assets/graphlib-DT4h6-4N.js.br +0 -0
  831. package/payload/server/public/assets/graphlib-DT4h6-4N.js.gz +0 -0
  832. package/payload/server/public/assets/info-OMHHGYJF-BR8gm0wj.js +0 -1
  833. package/payload/server/public/assets/info-OMHHGYJF-BR8gm0wj.js.br +0 -0
  834. package/payload/server/public/assets/infoDiagram-42DDH7IO-Cr3Efss6.js +0 -2
  835. package/payload/server/public/assets/infoDiagram-42DDH7IO-Cr3Efss6.js.br +0 -0
  836. package/payload/server/public/assets/infoDiagram-42DDH7IO-Cr3Efss6.js.gz +0 -0
  837. package/payload/server/public/assets/isEmpty-C5v0-EY7.js +0 -1
  838. package/payload/server/public/assets/isEmpty-C5v0-EY7.js.br +0 -0
  839. package/payload/server/public/assets/isEmpty-C5v0-EY7.js.gz +0 -0
  840. package/payload/server/public/assets/ishikawaDiagram-UXIWVN3A-BklHzVHm.js +0 -70
  841. package/payload/server/public/assets/ishikawaDiagram-UXIWVN3A-BklHzVHm.js.br +0 -0
  842. package/payload/server/public/assets/ishikawaDiagram-UXIWVN3A-BklHzVHm.js.gz +0 -0
  843. package/payload/server/public/assets/journeyDiagram-VCZTEJTY-Ckxx2CmV.js +0 -139
  844. package/payload/server/public/assets/journeyDiagram-VCZTEJTY-Ckxx2CmV.js.br +0 -0
  845. package/payload/server/public/assets/journeyDiagram-VCZTEJTY-Ckxx2CmV.js.gz +0 -0
  846. package/payload/server/public/assets/jsx-runtime-5lmxFBIw.js +0 -9
  847. package/payload/server/public/assets/jsx-runtime-5lmxFBIw.js.br +0 -0
  848. package/payload/server/public/assets/jsx-runtime-5lmxFBIw.js.gz +0 -0
  849. package/payload/server/public/assets/jsx-runtime-DxsQ5Y-z.css +0 -1
  850. package/payload/server/public/assets/jsx-runtime-DxsQ5Y-z.css.br +0 -0
  851. package/payload/server/public/assets/jsx-runtime-DxsQ5Y-z.css.gz +0 -0
  852. package/payload/server/public/assets/kanban-definition-6JOO6SKY-BLELXpqn.js +0 -89
  853. package/payload/server/public/assets/kanban-definition-6JOO6SKY-BLELXpqn.js.br +0 -0
  854. package/payload/server/public/assets/kanban-definition-6JOO6SKY-BLELXpqn.js.gz +0 -0
  855. package/payload/server/public/assets/line-BkI5icOY.js +0 -1
  856. package/payload/server/public/assets/line-BkI5icOY.js.br +0 -0
  857. package/payload/server/public/assets/line-BkI5icOY.js.gz +0 -0
  858. package/payload/server/public/assets/linear-B64ANRVs.js +0 -1
  859. package/payload/server/public/assets/linear-B64ANRVs.js.br +0 -0
  860. package/payload/server/public/assets/linear-B64ANRVs.js.gz +0 -0
  861. package/payload/server/public/assets/mermaid-parser.core-qXPKkdJe.js +0 -4
  862. package/payload/server/public/assets/mermaid-parser.core-qXPKkdJe.js.br +0 -0
  863. package/payload/server/public/assets/mermaid-parser.core-qXPKkdJe.js.gz +0 -0
  864. package/payload/server/public/assets/mermaid.core-BMsz65Wy.js +0 -11
  865. package/payload/server/public/assets/mermaid.core-BMsz65Wy.js.br +0 -0
  866. package/payload/server/public/assets/mermaid.core-BMsz65Wy.js.gz +0 -0
  867. package/payload/server/public/assets/mindmap-definition-QFDTVHPH-DhFTS2sx.js +0 -96
  868. package/payload/server/public/assets/mindmap-definition-QFDTVHPH-DhFTS2sx.js.br +0 -0
  869. package/payload/server/public/assets/mindmap-definition-QFDTVHPH-DhFTS2sx.js.gz +0 -0
  870. package/payload/server/public/assets/operator-DFgW6GiH.js +0 -1
  871. package/payload/server/public/assets/operator-DFgW6GiH.js.br +0 -0
  872. package/payload/server/public/assets/operator-DFgW6GiH.js.gz +0 -0
  873. package/payload/server/public/assets/ordinal-CJ_pL32Z.js +0 -1
  874. package/payload/server/public/assets/ordinal-CJ_pL32Z.js.br +0 -0
  875. package/payload/server/public/assets/ordinal-CJ_pL32Z.js.gz +0 -0
  876. package/payload/server/public/assets/packet-4T2RLAQJ-B31PbAeA.js +0 -1
  877. package/payload/server/public/assets/packet-4T2RLAQJ-B31PbAeA.js.br +0 -0
  878. package/payload/server/public/assets/page-BRShHSH0.js +0 -1
  879. package/payload/server/public/assets/page-BRShHSH0.js.br +0 -0
  880. package/payload/server/public/assets/page-BRShHSH0.js.gz +0 -0
  881. package/payload/server/public/assets/page-BbBCu9iP.js +0 -32
  882. package/payload/server/public/assets/page-BbBCu9iP.js.br +0 -0
  883. package/payload/server/public/assets/page-BbBCu9iP.js.gz +0 -0
  884. package/payload/server/public/assets/pdf-render-ynIPXfRA.js +0 -11
  885. package/payload/server/public/assets/pdf-render-ynIPXfRA.js.br +0 -0
  886. package/payload/server/public/assets/pdf-render-ynIPXfRA.js.gz +0 -0
  887. package/payload/server/public/assets/pie-ZZUOXDRM-BbSc1VXl.js +0 -1
  888. package/payload/server/public/assets/pie-ZZUOXDRM-BbSc1VXl.js.br +0 -0
  889. package/payload/server/public/assets/pieDiagram-DEJITSTG-B2TxkbHK.js +0 -30
  890. package/payload/server/public/assets/pieDiagram-DEJITSTG-B2TxkbHK.js.br +0 -0
  891. package/payload/server/public/assets/pieDiagram-DEJITSTG-B2TxkbHK.js.gz +0 -0
  892. package/payload/server/public/assets/play-BJxUaf6-.js +0 -1
  893. package/payload/server/public/assets/play-BJxUaf6-.js.br +0 -0
  894. package/payload/server/public/assets/play-BJxUaf6-.js.gz +0 -0
  895. package/payload/server/public/assets/public-DkObqkzL.js +0 -1
  896. package/payload/server/public/assets/public-DkObqkzL.js.br +0 -0
  897. package/payload/server/public/assets/public-DkObqkzL.js.gz +0 -0
  898. package/payload/server/public/assets/quadrantDiagram-34T5L4WZ-GsMxIJuS.js +0 -7
  899. package/payload/server/public/assets/quadrantDiagram-34T5L4WZ-GsMxIJuS.js.br +0 -0
  900. package/payload/server/public/assets/quadrantDiagram-34T5L4WZ-GsMxIJuS.js.gz +0 -0
  901. package/payload/server/public/assets/radar-PYXPWWZC-B0La8_mZ.js +0 -1
  902. package/payload/server/public/assets/radar-PYXPWWZC-B0La8_mZ.js.br +0 -0
  903. package/payload/server/public/assets/reduce-CfkEiHc9.js +0 -1
  904. package/payload/server/public/assets/reduce-CfkEiHc9.js.br +0 -0
  905. package/payload/server/public/assets/reduce-CfkEiHc9.js.gz +0 -0
  906. package/payload/server/public/assets/requirementDiagram-MS252O5E-DqNprm-1.js +0 -84
  907. package/payload/server/public/assets/requirementDiagram-MS252O5E-DqNprm-1.js.br +0 -0
  908. package/payload/server/public/assets/requirementDiagram-MS252O5E-DqNprm-1.js.gz +0 -0
  909. package/payload/server/public/assets/rotate-ccw-DgMO69nh.js +0 -1
  910. package/payload/server/public/assets/rotate-ccw-DgMO69nh.js.br +0 -0
  911. package/payload/server/public/assets/rotate-ccw-DgMO69nh.js.gz +0 -0
  912. package/payload/server/public/assets/routines-D9kvg_Xu.js +0 -2
  913. package/payload/server/public/assets/routines-D9kvg_Xu.js.br +0 -0
  914. package/payload/server/public/assets/routines-D9kvg_Xu.js.gz +0 -0
  915. package/payload/server/public/assets/sankeyDiagram-XADWPNL6-B-kRuiuz.js +0 -10
  916. package/payload/server/public/assets/sankeyDiagram-XADWPNL6-B-kRuiuz.js.br +0 -0
  917. package/payload/server/public/assets/sankeyDiagram-XADWPNL6-B-kRuiuz.js.gz +0 -0
  918. package/payload/server/public/assets/sequenceDiagram-FGHM5R23-DEhL9g3K.js +0 -157
  919. package/payload/server/public/assets/sequenceDiagram-FGHM5R23-DEhL9g3K.js.br +0 -0
  920. package/payload/server/public/assets/sequenceDiagram-FGHM5R23-DEhL9g3K.js.gz +0 -0
  921. package/payload/server/public/assets/skills-l5I9HZ3D.js +0 -1
  922. package/payload/server/public/assets/skills-l5I9HZ3D.js.br +0 -0
  923. package/payload/server/public/assets/skills-l5I9HZ3D.js.gz +0 -0
  924. package/payload/server/public/assets/src-BrAT6wKv.js +0 -1
  925. package/payload/server/public/assets/src-BrAT6wKv.js.br +0 -0
  926. package/payload/server/public/assets/src-BrAT6wKv.js.gz +0 -0
  927. package/payload/server/public/assets/stateDiagram-FHFEXIEX-Q-g6BHdz.js +0 -1
  928. package/payload/server/public/assets/stateDiagram-FHFEXIEX-Q-g6BHdz.js.br +0 -0
  929. package/payload/server/public/assets/stateDiagram-FHFEXIEX-Q-g6BHdz.js.gz +0 -0
  930. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-ssRWItVj.js +0 -1
  931. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-ssRWItVj.js.br +0 -0
  932. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-ssRWItVj.js.gz +0 -0
  933. package/payload/server/public/assets/tasks-C2qJMv6i.js +0 -3
  934. package/payload/server/public/assets/tasks-C2qJMv6i.js.br +0 -0
  935. package/payload/server/public/assets/tasks-C2qJMv6i.js.gz +0 -0
  936. package/payload/server/public/assets/timeline-definition-GMOUNBTQ-B3-52q4Q.js +0 -120
  937. package/payload/server/public/assets/timeline-definition-GMOUNBTQ-B3-52q4Q.js.br +0 -0
  938. package/payload/server/public/assets/timeline-definition-GMOUNBTQ-B3-52q4Q.js.gz +0 -0
  939. package/payload/server/public/assets/treeView-SZITEDCU-BBR3hu9P.js +0 -1
  940. package/payload/server/public/assets/treeView-SZITEDCU-BBR3hu9P.js.br +0 -0
  941. package/payload/server/public/assets/treemap-W4RFUUIX-wSQMuzBT.js +0 -1
  942. package/payload/server/public/assets/treemap-W4RFUUIX-wSQMuzBT.js.br +0 -0
  943. package/payload/server/public/assets/triangle-alert-BnC67uSs.js +0 -1
  944. package/payload/server/public/assets/triangle-alert-BnC67uSs.js.br +0 -0
  945. package/payload/server/public/assets/triangle-alert-BnC67uSs.js.gz +0 -0
  946. package/payload/server/public/assets/useCopyFeedback-1RmgkTFh.js +0 -1
  947. package/payload/server/public/assets/useCopyFeedback-1RmgkTFh.js.br +0 -0
  948. package/payload/server/public/assets/useCopyFeedback-1RmgkTFh.js.gz +0 -0
  949. package/payload/server/public/assets/useMediaQuery-BQslddHQ.js +0 -6
  950. package/payload/server/public/assets/useMediaQuery-BQslddHQ.js.br +0 -0
  951. package/payload/server/public/assets/useMediaQuery-BQslddHQ.js.gz +0 -0
  952. package/payload/server/public/assets/useVoiceRecorder-BeZNQEC4.js +0 -2
  953. package/payload/server/public/assets/useVoiceRecorder-BeZNQEC4.js.br +0 -0
  954. package/payload/server/public/assets/useVoiceRecorder-BeZNQEC4.js.gz +0 -0
  955. package/payload/server/public/assets/vennDiagram-DHZGUBPP-Bzm1VDi1.js +0 -34
  956. package/payload/server/public/assets/vennDiagram-DHZGUBPP-Bzm1VDi1.js.br +0 -0
  957. package/payload/server/public/assets/vennDiagram-DHZGUBPP-Bzm1VDi1.js.gz +0 -0
  958. package/payload/server/public/assets/wardley-RL74JXVD-3QaECtQN.js +0 -1
  959. package/payload/server/public/assets/wardley-RL74JXVD-3QaECtQN.js.br +0 -0
  960. package/payload/server/public/assets/wardleyDiagram-NUSXRM2D-DIqGZr4v.js +0 -20
  961. package/payload/server/public/assets/wardleyDiagram-NUSXRM2D-DIqGZr4v.js.br +0 -0
  962. package/payload/server/public/assets/wardleyDiagram-NUSXRM2D-DIqGZr4v.js.gz +0 -0
  963. package/payload/server/public/assets/wrench-D4ufQG6C.js +0 -1
  964. package/payload/server/public/assets/wrench-D4ufQG6C.js.br +0 -0
  965. package/payload/server/public/assets/wrench-D4ufQG6C.js.gz +0 -0
  966. package/payload/server/public/assets/xychartDiagram-5P7HB3ND-0W2L2hQA.js +0 -7
  967. package/payload/server/public/assets/xychartDiagram-5P7HB3ND-0W2L2hQA.js.br +0 -0
  968. package/payload/server/public/assets/xychartDiagram-5P7HB3ND-0W2L2hQA.js.gz +0 -0
  969. package/payload/server/public/dispatch.html +0 -20
  970. /package/payload/server/public/assets/{_baseFor-D1duyODO.js → _baseFor-BApe6Tla.js} +0 -0
  971. /package/payload/server/public/assets/{_baseFor-D1duyODO.js.br → _baseFor-BApe6Tla.js.br} +0 -0
  972. /package/payload/server/public/assets/{_baseFor-D1duyODO.js.gz → _baseFor-BApe6Tla.js.gz} +0 -0
  973. /package/payload/server/public/assets/{array-j7Xa9Fap.js → array-eiH4WfvY.js} +0 -0
  974. /package/payload/server/public/assets/{array-j7Xa9Fap.js.br → array-eiH4WfvY.js.br} +0 -0
  975. /package/payload/server/public/assets/{chunk-DlZTsV_O.js → chunk-BycB0eMI.js} +0 -0
  976. /package/payload/server/public/assets/{chunk-DlZTsV_O.js.br → chunk-BycB0eMI.js.br} +0 -0
  977. /package/payload/server/public/assets/{chunk-DlZTsV_O.js.gz → chunk-BycB0eMI.js.gz} +0 -0
  978. /package/payload/server/public/assets/{cytoscape.esm-Dob3eilA.js → cytoscape.esm-BZ6NYo0w.js} +0 -0
  979. /package/payload/server/public/assets/{cytoscape.esm-Dob3eilA.js.br → cytoscape.esm-BZ6NYo0w.js.br} +0 -0
  980. /package/payload/server/public/assets/{cytoscape.esm-Dob3eilA.js.gz → cytoscape.esm-BZ6NYo0w.js.gz} +0 -0
  981. /package/payload/server/public/assets/{defaultLocale-BNILPWh2.js → defaultLocale-DWHqsa6O.js} +0 -0
  982. /package/payload/server/public/assets/{defaultLocale-BNILPWh2.js.br → defaultLocale-DWHqsa6O.js.br} +0 -0
  983. /package/payload/server/public/assets/{defaultLocale-BNILPWh2.js.gz → defaultLocale-DWHqsa6O.js.gz} +0 -0
  984. /package/payload/server/public/assets/{file-download-CN4H4Eih.js → file-download-B7zwa78w.js} +0 -0
  985. /package/payload/server/public/assets/{file-download-CN4H4Eih.js.br → file-download-B7zwa78w.js.br} +0 -0
  986. /package/payload/server/public/assets/{file-download-CN4H4Eih.js.gz → file-download-B7zwa78w.js.gz} +0 -0
  987. /package/payload/server/public/assets/{init-ve51bpJo.js → init-BdkYWjJJ.js} +0 -0
  988. /package/payload/server/public/assets/{init-ve51bpJo.js.br → init-BdkYWjJJ.js.br} +0 -0
  989. /package/payload/server/public/assets/{init-ve51bpJo.js.gz → init-BdkYWjJJ.js.gz} +0 -0
  990. /package/payload/server/public/assets/{katex-CJNaolDQ.js → katex-BCzoGtFh.js} +0 -0
  991. /package/payload/server/public/assets/{katex-CJNaolDQ.js.br → katex-BCzoGtFh.js.br} +0 -0
  992. /package/payload/server/public/assets/{katex-CJNaolDQ.js.gz → katex-BCzoGtFh.js.gz} +0 -0
  993. /package/payload/server/public/assets/{path-B4emajHp.js → path-DY2qBuPM.js} +0 -0
  994. /package/payload/server/public/assets/{path-B4emajHp.js.br → path-DY2qBuPM.js.br} +0 -0
  995. /package/payload/server/public/assets/{path-B4emajHp.js.gz → path-DY2qBuPM.js.gz} +0 -0
  996. /package/payload/server/public/assets/{preload-helper-3YNEDsJZ.js → preload-helper-eAV8hweq.js} +0 -0
  997. /package/payload/server/public/assets/{preload-helper-3YNEDsJZ.js.br → preload-helper-eAV8hweq.js.br} +0 -0
  998. /package/payload/server/public/assets/{preload-helper-3YNEDsJZ.js.gz → preload-helper-eAV8hweq.js.gz} +0 -0
  999. /package/payload/server/public/assets/{rough.esm-zabqYs6f.js → rough.esm-ec8xsRC7.js} +0 -0
  1000. /package/payload/server/public/assets/{rough.esm-zabqYs6f.js.br → rough.esm-ec8xsRC7.js.br} +0 -0
  1001. /package/payload/server/public/assets/{rough.esm-zabqYs6f.js.gz → rough.esm-ec8xsRC7.js.gz} +0 -0
@@ -0,0 +1,158 @@
1
+ // Task 2213. The due predicate compares startDate lexically against
2
+ // new Date().toISOString(), so every stored value must share that exact shape.
3
+ import { describe, it, expect } from "vitest";
4
+ import { CANONICAL_INSTANT_PATTERN, normaliseInstant, isCanonicalInstant } from "../index.js";
5
+
6
+ describe("normaliseInstant — offset-bearing input", () => {
7
+ it("converts a BST offset to the equivalent UTC instant", () => {
8
+ expect(normaliseInstant("2026-07-30T11:45:00+01:00", "Europe/London")).toBe(
9
+ "2026-07-30T10:45:00.000Z"
10
+ );
11
+ });
12
+ it("leaves an already-canonical value byte-identical", () => {
13
+ expect(normaliseInstant("2026-06-28T05:00:00.000Z", "UTC")).toBe("2026-06-28T05:00:00.000Z");
14
+ });
15
+ it("adds the missing .000 to a Z value that lacks it", () => {
16
+ expect(normaliseInstant("2026-07-28T10:00:00Z", "UTC")).toBe("2026-07-28T10:00:00.000Z");
17
+ });
18
+ it("handles the milliseconds-plus-offset shape", () => {
19
+ expect(normaliseInstant("2026-08-02T19:00:00.000+01:00", "Europe/London")).toBe(
20
+ "2026-08-02T18:00:00.000Z"
21
+ );
22
+ });
23
+ it("ignores the zone argument entirely when the value carries one", () => {
24
+ expect(normaliseInstant("2026-07-30T11:45:00+01:00", "America/New_York")).toBe(
25
+ "2026-07-30T10:45:00.000Z"
26
+ );
27
+ });
28
+ });
29
+
30
+ describe("normaliseInstant — zoneless wall clock", () => {
31
+ it("reads a summer wall clock in the given zone", () => {
32
+ expect(normaliseInstant("2026-07-20T09:00:00", "Europe/London")).toBe(
33
+ "2026-07-20T08:00:00.000Z"
34
+ );
35
+ });
36
+ it("reads a winter wall clock in the given zone", () => {
37
+ expect(normaliseInstant("2026-01-15T09:00:00", "Europe/London")).toBe(
38
+ "2026-01-15T09:00:00.000Z"
39
+ );
40
+ });
41
+ it("reads a non-UK zone", () => {
42
+ expect(normaliseInstant("2026-07-20T09:00:00", "America/New_York")).toBe(
43
+ "2026-07-20T13:00:00.000Z"
44
+ );
45
+ });
46
+ it("shifts a spring-forward gap wall clock past the gap", () => {
47
+ // 01:30 on 29 Mar 2026 does not exist in Europe/London; 01:00 GMT -> 02:00 BST.
48
+ expect(normaliseInstant("2026-03-29T01:30:00", "Europe/London")).toBe(
49
+ "2026-03-29T01:30:00.000Z"
50
+ );
51
+ });
52
+ it("takes the earlier occurrence of an ambiguous autumn wall clock", () => {
53
+ // 01:30 on 25 Oct 2026 happens twice; the earlier one is BST at 00:30Z.
54
+ expect(normaliseInstant("2026-10-25T01:30:00", "Europe/London")).toBe(
55
+ "2026-10-25T00:30:00.000Z"
56
+ );
57
+ });
58
+ it("takes the earlier occurrence of an ambiguous US wall clock", () => {
59
+ expect(normaliseInstant("2026-11-01T01:30:00", "America/New_York")).toBe(
60
+ "2026-11-01T05:30:00.000Z"
61
+ );
62
+ });
63
+ });
64
+
65
+ describe("normaliseInstant — partial and sub-second precision", () => {
66
+ it("keeps the fractional second on a zoneless value", () => {
67
+ // Intl resolves only to seconds. Differencing its reconstruction against a
68
+ // millisecond-bearing instant used to fold the fraction into the offset and
69
+ // land a full second out (09:00:00.5 BST came back as 08:00:01.000Z).
70
+ expect(normaliseInstant("2026-07-20T09:00:00.5", "Europe/London")).toBe(
71
+ "2026-07-20T08:00:00.500Z"
72
+ );
73
+ expect(normaliseInstant("2026-01-15T09:00:00.123", "Europe/London")).toBe(
74
+ "2026-01-15T09:00:00.123Z"
75
+ );
76
+ });
77
+
78
+ it("reads a minute-precision value in the zone", () => {
79
+ expect(normaliseInstant("2026-07-20T09:00", "Europe/London")).toBe(
80
+ "2026-07-20T08:00:00.000Z"
81
+ );
82
+ });
83
+
84
+ it("reads a date-only value as midnight in the zone", () => {
85
+ // Midnight on 20 July in London is 23:00Z on the 19th.
86
+ expect(normaliseInstant("2026-07-20", "Europe/London")).toBe("2026-07-19T23:00:00.000Z");
87
+ expect(normaliseInstant("2026-01-15", "Europe/London")).toBe("2026-01-15T00:00:00.000Z");
88
+ });
89
+
90
+ it("accepts an offset written without a colon", () => {
91
+ expect(normaliseInstant("2026-07-20T09:00:00+0100", "Europe/London")).toBe(
92
+ "2026-07-20T08:00:00.000Z"
93
+ );
94
+ });
95
+ });
96
+
97
+ describe("normaliseInstant — refusals", () => {
98
+ it("throws on a zoneless value with a null zone, naming the value", () => {
99
+ expect(() => normaliseInstant("2026-07-20T09:00:00", null)).toThrow(/2026-07-20T09:00:00/);
100
+ });
101
+ it("throws on a zoneless value with an invalid zone", () => {
102
+ expect(() => normaliseInstant("2026-07-20T09:00:00", "Not/AZone")).toThrow(/Not\/AZone/);
103
+ });
104
+ it("throws on an unparseable value, naming it", () => {
105
+ expect(() => normaliseInstant("next tuesday", "Europe/London")).toThrow(/next tuesday/);
106
+ });
107
+ });
108
+
109
+ describe("normaliseInstant — server timezone independence", () => {
110
+ it("gives the same answer whatever the process TZ is", () => {
111
+ // A server-local reading (new Date("2026-07-20T09:00:00")) would differ here.
112
+ const before = process.env.TZ;
113
+ try {
114
+ process.env.TZ = "Asia/Tokyo";
115
+ expect(normaliseInstant("2026-07-20T09:00:00", "Europe/London")).toBe(
116
+ "2026-07-20T08:00:00.000Z"
117
+ );
118
+ process.env.TZ = "America/Los_Angeles";
119
+ expect(normaliseInstant("2026-07-20T09:00:00", "Europe/London")).toBe(
120
+ "2026-07-20T08:00:00.000Z"
121
+ );
122
+ } finally {
123
+ process.env.TZ = before;
124
+ }
125
+ });
126
+ });
127
+
128
+ describe("isCanonicalInstant", () => {
129
+ it("accepts only the full 24-character shape", () => {
130
+ expect(isCanonicalInstant("2026-07-30T10:45:00.000Z")).toBe(true);
131
+ // Right instant, wrong shape: "…00.000Z" sorts BEFORE "…00Z", so a mixed
132
+ // corpus breaks the ordering the whole fix restores.
133
+ expect(isCanonicalInstant("2026-07-30T10:45:00Z")).toBe(false);
134
+ expect(isCanonicalInstant("2026-07-30T11:45:00+01:00")).toBe(false);
135
+ expect(isCanonicalInstant("2026-07-20T09:00:00")).toBe(false);
136
+ });
137
+ });
138
+
139
+ describe("CANONICAL_INSTANT_PATTERN", () => {
140
+ // The pattern is also handed to Cypher as a `=~` parameter. 2213's review
141
+ // found its audit regex was never executed by any test, the session being
142
+ // mocked. This executes the exact exported string.
143
+ const re = new RegExp(`^${CANONICAL_INSTANT_PATTERN}$`);
144
+
145
+ it("accepts exactly what isCanonicalInstant accepts", () => {
146
+ for (const v of ["2026-08-07T09:00:00.000Z", "2026-01-15T23:59:59.999Z"]) {
147
+ expect(re.test(v)).toBe(true);
148
+ expect(isCanonicalInstant(v)).toBe(true);
149
+ }
150
+ });
151
+
152
+ it("rejects the three non-canonical forms", () => {
153
+ for (const v of ["2026-08-07T09:00:00+01:00", "2026-08-07T09:00:00Z", "2026-08-07T09:00:00"]) {
154
+ expect(re.test(v)).toBe(false);
155
+ expect(isCanonicalInstant(v)).toBe(false);
156
+ }
157
+ });
158
+ });
@@ -0,0 +1,147 @@
1
+ /**
2
+ * The single definition of a canonical stored instant.
3
+ *
4
+ * Extracted from `plugins/scheduling/mcp/src/lib/time-format.ts` by Task 2513,
5
+ * unchanged, so the dispatch writer, the dispatch migration and the two
6
+ * scheduling writers cannot disagree about what canonical means. Task 2213
7
+ * stated the invariant as "One function, three callers, no drift possible"; a
8
+ * second copy in the dispatch tree would have broken it.
9
+ *
10
+ * Pure. No database, no driver, no plugin import.
11
+ */
12
+
13
+ /**
14
+ * Validates an IANA timezone string. Throws with a clear message if invalid.
15
+ */
16
+ export function validateTimezone(tz: string): void {
17
+ if (!tz || tz.trim().length === 0) {
18
+ throw new Error("Timezone is required but was empty");
19
+ }
20
+ try {
21
+ // Intl.DateTimeFormat throws RangeError for invalid IANA timezone identifiers
22
+ new Intl.DateTimeFormat("en-GB", { timeZone: tz });
23
+ } catch {
24
+ throw new Error(
25
+ `Invalid timezone: "${tz}" — expected IANA format like "Europe/London" or "America/New_York"`,
26
+ );
27
+ }
28
+ }
29
+
30
+ /** Ends with `Z` or a numeric UTC offset, e.g. `+01:00`, `-0500`. */
31
+ const HAS_ZONE = /(?:Z|[+-]\d{2}:?\d{2})$/;
32
+
33
+ /** The zone's wall-clock parts at a given instant. */
34
+ function partsAt(ms: number, zone: string): Record<string, string> {
35
+ const dtf = new Intl.DateTimeFormat("en-GB", {
36
+ timeZone: zone,
37
+ hour12: false,
38
+ year: "numeric",
39
+ month: "2-digit",
40
+ day: "2-digit",
41
+ hour: "2-digit",
42
+ minute: "2-digit",
43
+ second: "2-digit",
44
+ });
45
+ return Object.fromEntries(dtf.formatToParts(new Date(ms)).map((p) => [p.type, p.value]));
46
+ }
47
+
48
+ /**
49
+ * Milliseconds the zone is ahead of UTC at `ms`.
50
+ *
51
+ * Subtracted against the SECOND-truncated instant, never `ms` itself.
52
+ * `Intl.DateTimeFormat` resolves only to seconds, so differencing its
53
+ * reconstruction against a millisecond-bearing instant folds the fractional part
54
+ * into the offset: at `09:00:00.500` the offset came back as 3_599_500 rather
55
+ * than 3_600_000, and the caller's `naive - offset` then landed a full second
56
+ * out. A real zone offset is always a whole number of minutes, so truncating is
57
+ * lossless here and keeps the caller's sub-second precision intact.
58
+ */
59
+ function offsetMsAt(ms: number, zone: string): number {
60
+ const p = partsAt(ms, zone);
61
+ // `hour` renders as "24" for midnight in en-GB; % 24 folds it back to 0.
62
+ const wallUtc = Date.UTC(+p.year, +p.month - 1, +p.day, +p.hour % 24, +p.minute, +p.second);
63
+ return wallUtc - Math.floor(ms / 1000) * 1000;
64
+ }
65
+
66
+ /** The zone's wall clock at `ms`, in the same shape as a zoneless input. */
67
+ function wallAt(ms: number, zone: string): string {
68
+ const p = partsAt(ms, zone);
69
+ const hh = String(+p.hour % 24).padStart(2, "0");
70
+ return `${p.year}-${p.month}-${p.day}T${hh}:${p.minute}:${p.second}`;
71
+ }
72
+
73
+ /**
74
+ * The exact 24-character shape `toISOString()` produces, as a regex source.
75
+ *
76
+ * Exported as a string rather than a `RegExp` because it is also passed to
77
+ * Cypher as a `=~` parameter. One source, so the standing audit's predicate and
78
+ * this module's predicate cannot drift; passing it as a parameter also removes
79
+ * the backslash-escaping ambiguity of an inlined Cypher literal.
80
+ */
81
+ export const CANONICAL_INSTANT_PATTERN = "\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z";
82
+
83
+ /**
84
+ * Task 2213, generalised by Task 2513 — the single definition of a canonical
85
+ * stored instant.
86
+ *
87
+ * Stored instants are compared as STRINGS, lexically, in Cypher: the scheduling
88
+ * dispatcher on `e.startDate <= $now`, and the dispatch planner on
89
+ * `v.startDate >= $from AND v.startDate < $to`. An offset suffix is never
90
+ * parsed, so a `+01:00` value sorts by its wall-clock digits — 60 minutes out
91
+ * under BST, and correct under GMT, which is why the defect self-heals every
92
+ * October and returns every March.
93
+ *
94
+ * The output is therefore always the exact 24-character shape `toISOString()`
95
+ * produces. The fixed width is the point: lexical order equals instant order
96
+ * only when every stored value shares one shape. That is also why this is not
97
+ * done in Cypher — `toString(datetime(...))` omits `.000` at a zero-millisecond
98
+ * instant, and `"…00.000Z"` sorts BEFORE `"…00Z"`.
99
+ *
100
+ * A zoneless wall clock is read in `zone`, never in the server's zone: a
101
+ * server-local reading makes the stored instant depend on which machine wrote
102
+ * it, which is the same fault class one layer down. With no usable zone this
103
+ * throws rather than guessing.
104
+ *
105
+ * DST is resolved the way `Temporal`'s `disambiguation: 'compatible'` resolves
106
+ * it. Take the offsets in force a day either side, giving two candidate
107
+ * instants; keep those that render back to exactly the input wall clock. If any
108
+ * survive, take the earliest (the earlier occurrence of an ambiguous autumn
109
+ * time). If none survive, the wall clock is inside a spring-forward gap and does
110
+ * not exist, so take the later candidate, which shifts it past the gap.
111
+ */
112
+ export function normaliseInstant(raw: string, zone: string | null): string {
113
+ const trimmed = raw.trim();
114
+
115
+ if (HAS_ZONE.test(trimmed)) {
116
+ const ms = Date.parse(trimmed);
117
+ if (Number.isNaN(ms)) {
118
+ throw new Error(`Unparseable instant: "${raw}" — expected an ISO 8601 date-time`);
119
+ }
120
+ return new Date(ms).toISOString();
121
+ }
122
+
123
+ if (!zone) {
124
+ throw new Error(
125
+ `Instant "${raw}" carries no timezone offset and no timezone is available to read it in — ` +
126
+ `pass an IANA timezone, or write the offset into the value`,
127
+ );
128
+ }
129
+ validateTimezone(zone);
130
+
131
+ const naive = Date.parse(`${trimmed}Z`);
132
+ if (Number.isNaN(naive)) {
133
+ throw new Error(`Unparseable instant: "${raw}" — expected an ISO 8601 date-time`);
134
+ }
135
+
136
+ const DAY_MS = 86_400_000;
137
+ const before = naive - offsetMsAt(naive - DAY_MS, zone);
138
+ const after = naive - offsetMsAt(naive + DAY_MS, zone);
139
+ const valid = [before, after].filter((ms) => wallAt(ms, zone) === trimmed);
140
+ const chosen = valid.length > 0 ? Math.min(...valid) : Math.max(before, after);
141
+ return new Date(chosen).toISOString();
142
+ }
143
+
144
+ /** True when `value` is already in the canonical form above. */
145
+ export function isCanonicalInstant(value: string): boolean {
146
+ return new RegExp(`^${CANONICAL_INSTANT_PATTERN}$`).test(value);
147
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "extends": "../../tsconfig.base.json",
3
+ "compilerOptions": {
4
+ "outDir": "dist",
5
+ "rootDir": "src"
6
+ },
7
+ "include": ["src"],
8
+ "exclude": ["src/__tests__"]
9
+ }
@@ -0,0 +1,9 @@
1
+ import { defineConfig } from "vitest/config";
2
+
3
+ export default defineConfig({
4
+ test: {
5
+ environment: "node",
6
+ globals: false,
7
+ include: ["src/__tests__/**/*.test.ts"],
8
+ },
9
+ });
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Distance to a site, and whether that counts as being there.
3
+ *
4
+ * The verdict names why it could not fire rather than returning a bare false.
5
+ * "This site has no coordinates", "this account configured no radius" and "the
6
+ * worker is four kilometres away" are three different problems with three
7
+ * different fixes, and a single boolean sends an operator to the wrong one.
8
+ */
9
+ import type { DispatchConfig, SiteLocation } from "./types.js";
10
+ /** Great-circle distance in metres, rounded. */
11
+ export declare function distanceM(a: {
12
+ latitude: number;
13
+ longitude: number;
14
+ }, b: {
15
+ latitude: number;
16
+ longitude: number;
17
+ }): number;
18
+ export interface GeofenceVerdict {
19
+ siteHasCoords: boolean;
20
+ /** The site's own radius, else the account default, else null. */
21
+ radiusM: number | null;
22
+ /** Null when there is nothing to measure against. */
23
+ distanceM: number | null;
24
+ inside: boolean;
25
+ }
26
+ export declare function geofenceVerdict(p: {
27
+ site: SiteLocation | null;
28
+ cfg: DispatchConfig;
29
+ at: {
30
+ latitude: number;
31
+ longitude: number;
32
+ };
33
+ }): GeofenceVerdict;
34
+ //# sourceMappingURL=geo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"geo.d.ts","sourceRoot":"","sources":["../src/geo.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAM/D,gDAAgD;AAChD,wBAAgB,SAAS,CACvB,CAAC,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,EAC1C,CAAC,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACzC,MAAM,CAQR;AAED,MAAM,WAAW,eAAe;IAC9B,aAAa,EAAE,OAAO,CAAC;IACvB,kEAAkE;IAClE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,qDAAqD;IACrD,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE;IACjC,IAAI,EAAE,YAAY,GAAG,IAAI,CAAC;IAC1B,GAAG,EAAE,cAAc,CAAC;IACpB,EAAE,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7C,GAAG,eAAe,CAclB"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.distanceM = distanceM;
4
+ exports.geofenceVerdict = geofenceVerdict;
5
+ const EARTH_RADIUS_M = 6_371_000;
6
+ const toRad = (deg) => (deg * Math.PI) / 180;
7
+ /** Great-circle distance in metres, rounded. */
8
+ function distanceM(a, b) {
9
+ const dLat = toRad(b.latitude - a.latitude);
10
+ const dLon = toRad(b.longitude - a.longitude);
11
+ const lat1 = toRad(a.latitude);
12
+ const lat2 = toRad(b.latitude);
13
+ const h = Math.sin(dLat / 2) ** 2 + Math.sin(dLon / 2) ** 2 * Math.cos(lat1) * Math.cos(lat2);
14
+ return Math.round(2 * EARTH_RADIUS_M * Math.asin(Math.sqrt(h)));
15
+ }
16
+ function geofenceVerdict(p) {
17
+ const siteHasCoords = p.site !== null && p.site.latitude !== null && p.site.longitude !== null;
18
+ const radiusM = p.site?.geofenceRadiusM ?? p.cfg.vehicles?.defaultGeofenceRadiusM ?? null;
19
+ if (!siteHasCoords) {
20
+ return { siteHasCoords: false, radiusM, distanceM: null, inside: false };
21
+ }
22
+ const d = distanceM({ latitude: p.site.latitude, longitude: p.site.longitude }, p.at);
23
+ // A distance with no radius to compare it against cannot say whether anybody
24
+ // arrived. Reported, never assumed.
25
+ return { siteHasCoords: true, radiusM, distanceM: d, inside: radiusM !== null && d <= radiusM };
26
+ }
27
+ //# sourceMappingURL=geo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"geo.js","sourceRoot":"","sources":["../src/geo.ts"],"names":[],"mappings":";;AAeA,8BAWC;AAWD,0CAkBC;AA7CD,MAAM,cAAc,GAAG,SAAS,CAAC;AAEjC,MAAM,KAAK,GAAG,CAAC,GAAW,EAAU,EAAE,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;AAE7D,gDAAgD;AAChD,SAAgB,SAAS,CACvB,CAA0C,EAC1C,CAA0C;IAE1C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;IAC9C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC/B,MAAM,CAAC,GACL,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACtF,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC;AAWD,SAAgB,eAAe,CAAC,CAI/B;IACC,MAAM,aAAa,GACjB,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC;IAC3E,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,eAAe,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,sBAAsB,IAAI,IAAI,CAAC;IAC1F,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAC3E,CAAC;IACD,MAAM,CAAC,GAAG,SAAS,CACjB,EAAE,QAAQ,EAAE,CAAC,CAAC,IAAK,CAAC,QAAkB,EAAE,SAAS,EAAE,CAAC,CAAC,IAAK,CAAC,SAAmB,EAAE,EAChF,CAAC,CAAC,EAAE,CACL,CAAC;IACF,6EAA6E;IAC7E,oCAAoC;IACpC,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,IAAI,CAAC,IAAI,OAAO,EAAE,CAAC;AAClG,CAAC"}
@@ -12,11 +12,15 @@
12
12
  */
13
13
  export { RECORDABLE_FIELDS, loadDispatchConfig, terminalJobStatuses, terminalVisitStatuses, workerForTelegramUser, } from "./config.js";
14
14
  export type { RecordableField } from "./config.js";
15
+ export { CALLBACK_DATA_MAX_BYTES, buildVisitKeyboard, dispatchCallbackData, parseDispatchCallback, } from "./keyboard.js";
16
+ export type { DispatchButton, VisitKeyboard } from "./keyboard.js";
15
17
  export { withSession } from "./session.js";
16
18
  export { resolveAccountZone } from "./zone.js";
17
19
  export { MAX_RANGE_DAYS, addDaysYmd, currentWeekYmd, daysBetween, minutesIntoDay, ymdInZone, zonedDayStartUtc, zonedRangeBounds, } from "./window.js";
18
- export { buildJobListQuery, projectJob, projectVisit, readCommitments, readJob, readJobs, readNodeId, readSiteHistory, readVisit, readVisitRecordState, readVisitsForJob, readVisitsInWindow, } from "./read.js";
20
+ export { buildJobListQuery, projectFieldVisit, projectJob, projectVisit, readCommitments, readDraft, readDrafts, readFieldVisit, readJob, readJobs, readNodeId, readOpenVisitsForWorker, readPreviousVisits, readSiteHistory, readSiteLocation, readVisit, readVisitRecordState, readVisitsForJob, readVisitsInWindow, } from "./read.js";
21
+ export { distanceM, geofenceVerdict } from "./geo.js";
22
+ export type { GeofenceVerdict } from "./geo.js";
19
23
  export { nonZuluStarts, readCounts, readDay, readJobList, readWorkerDay } from "./read.js";
20
- export type { Commitment, VisitRecordState } from "./read.js";
24
+ export type { Commitment, DraftRow, PreviousVisit, VisitRecordState } from "./read.js";
21
25
  export type * from "./types.js";
22
26
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EACL,cAAc,EACd,UAAU,EACV,cAAc,EACd,WAAW,EACX,cAAc,EACd,SAAS,EACT,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,iBAAiB,EACjB,UAAU,EACV,YAAY,EACZ,eAAe,EACf,OAAO,EACP,QAAQ,EACR,UAAU,EACV,eAAe,EACf,SAAS,EACT,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,WAAW,CAAC;AAGnB,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE3F,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC9D,mBAAmB,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAKnD,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EACL,cAAc,EACd,UAAU,EACV,cAAc,EACd,WAAW,EACX,cAAc,EACd,SAAS,EACT,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,UAAU,EACV,YAAY,EACZ,eAAe,EACf,SAAS,EACT,UAAU,EACV,cAAc,EACd,OAAO,EACP,QAAQ,EACR,UAAU,EACV,uBAAuB,EACvB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,SAAS,EACT,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,WAAW,CAAC;AAInB,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AACtD,YAAY,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAGhD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE3F,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AACvF,mBAAmB,YAAY,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.readWorkerDay = exports.readJobList = exports.readDay = exports.readCounts = exports.nonZuluStarts = exports.readVisitsInWindow = exports.readVisitsForJob = exports.readVisitRecordState = exports.readVisit = exports.readSiteHistory = exports.readNodeId = exports.readJobs = exports.readJob = exports.readCommitments = exports.projectVisit = exports.projectJob = exports.buildJobListQuery = exports.zonedRangeBounds = exports.zonedDayStartUtc = exports.ymdInZone = exports.minutesIntoDay = exports.daysBetween = exports.currentWeekYmd = exports.addDaysYmd = exports.MAX_RANGE_DAYS = exports.resolveAccountZone = exports.withSession = exports.workerForTelegramUser = exports.terminalVisitStatuses = exports.terminalJobStatuses = exports.loadDispatchConfig = exports.RECORDABLE_FIELDS = void 0;
3
+ exports.readWorkerDay = exports.readJobList = exports.readDay = exports.readCounts = exports.nonZuluStarts = exports.geofenceVerdict = exports.distanceM = exports.readVisitsInWindow = exports.readVisitsForJob = exports.readVisitRecordState = exports.readVisit = exports.readSiteLocation = exports.readSiteHistory = exports.readPreviousVisits = exports.readOpenVisitsForWorker = exports.readNodeId = exports.readJobs = exports.readJob = exports.readFieldVisit = exports.readDrafts = exports.readDraft = exports.readCommitments = exports.projectVisit = exports.projectJob = exports.projectFieldVisit = exports.buildJobListQuery = exports.zonedRangeBounds = exports.zonedDayStartUtc = exports.ymdInZone = exports.minutesIntoDay = exports.daysBetween = exports.currentWeekYmd = exports.addDaysYmd = exports.MAX_RANGE_DAYS = exports.resolveAccountZone = exports.withSession = exports.parseDispatchCallback = exports.dispatchCallbackData = exports.buildVisitKeyboard = exports.CALLBACK_DATA_MAX_BYTES = exports.workerForTelegramUser = exports.terminalVisitStatuses = exports.terminalJobStatuses = exports.loadDispatchConfig = exports.RECORDABLE_FIELDS = void 0;
4
4
  /**
5
5
  * Dispatch reads, shared by the MCP tools and the office planner.
6
6
  *
@@ -19,6 +19,14 @@ Object.defineProperty(exports, "loadDispatchConfig", { enumerable: true, get: fu
19
19
  Object.defineProperty(exports, "terminalJobStatuses", { enumerable: true, get: function () { return config_js_1.terminalJobStatuses; } });
20
20
  Object.defineProperty(exports, "terminalVisitStatuses", { enumerable: true, get: function () { return config_js_1.terminalVisitStatuses; } });
21
21
  Object.defineProperty(exports, "workerForTelegramUser", { enumerable: true, get: function () { return config_js_1.workerForTelegramUser; } });
22
+ // Task 2510 — the card's buttons and the press's wire format. Config-derived
23
+ // and pure, so the plugin that draws a card and the route that reads a press
24
+ // share one implementation rather than two encoders that can drift.
25
+ var keyboard_js_1 = require("./keyboard.js");
26
+ Object.defineProperty(exports, "CALLBACK_DATA_MAX_BYTES", { enumerable: true, get: function () { return keyboard_js_1.CALLBACK_DATA_MAX_BYTES; } });
27
+ Object.defineProperty(exports, "buildVisitKeyboard", { enumerable: true, get: function () { return keyboard_js_1.buildVisitKeyboard; } });
28
+ Object.defineProperty(exports, "dispatchCallbackData", { enumerable: true, get: function () { return keyboard_js_1.dispatchCallbackData; } });
29
+ Object.defineProperty(exports, "parseDispatchCallback", { enumerable: true, get: function () { return keyboard_js_1.parseDispatchCallback; } });
22
30
  var session_js_1 = require("./session.js");
23
31
  Object.defineProperty(exports, "withSession", { enumerable: true, get: function () { return session_js_1.withSession; } });
24
32
  var zone_js_1 = require("./zone.js");
@@ -35,17 +43,29 @@ Object.defineProperty(exports, "zonedRangeBounds", { enumerable: true, get: func
35
43
  // Session-taking reads: the dispatch plugin's, moved here unchanged.
36
44
  var read_js_1 = require("./read.js");
37
45
  Object.defineProperty(exports, "buildJobListQuery", { enumerable: true, get: function () { return read_js_1.buildJobListQuery; } });
46
+ Object.defineProperty(exports, "projectFieldVisit", { enumerable: true, get: function () { return read_js_1.projectFieldVisit; } });
38
47
  Object.defineProperty(exports, "projectJob", { enumerable: true, get: function () { return read_js_1.projectJob; } });
39
48
  Object.defineProperty(exports, "projectVisit", { enumerable: true, get: function () { return read_js_1.projectVisit; } });
40
49
  Object.defineProperty(exports, "readCommitments", { enumerable: true, get: function () { return read_js_1.readCommitments; } });
50
+ Object.defineProperty(exports, "readDraft", { enumerable: true, get: function () { return read_js_1.readDraft; } });
51
+ Object.defineProperty(exports, "readDrafts", { enumerable: true, get: function () { return read_js_1.readDrafts; } });
52
+ Object.defineProperty(exports, "readFieldVisit", { enumerable: true, get: function () { return read_js_1.readFieldVisit; } });
41
53
  Object.defineProperty(exports, "readJob", { enumerable: true, get: function () { return read_js_1.readJob; } });
42
54
  Object.defineProperty(exports, "readJobs", { enumerable: true, get: function () { return read_js_1.readJobs; } });
43
55
  Object.defineProperty(exports, "readNodeId", { enumerable: true, get: function () { return read_js_1.readNodeId; } });
56
+ Object.defineProperty(exports, "readOpenVisitsForWorker", { enumerable: true, get: function () { return read_js_1.readOpenVisitsForWorker; } });
57
+ Object.defineProperty(exports, "readPreviousVisits", { enumerable: true, get: function () { return read_js_1.readPreviousVisits; } });
44
58
  Object.defineProperty(exports, "readSiteHistory", { enumerable: true, get: function () { return read_js_1.readSiteHistory; } });
59
+ Object.defineProperty(exports, "readSiteLocation", { enumerable: true, get: function () { return read_js_1.readSiteLocation; } });
45
60
  Object.defineProperty(exports, "readVisit", { enumerable: true, get: function () { return read_js_1.readVisit; } });
46
61
  Object.defineProperty(exports, "readVisitRecordState", { enumerable: true, get: function () { return read_js_1.readVisitRecordState; } });
47
62
  Object.defineProperty(exports, "readVisitsForJob", { enumerable: true, get: function () { return read_js_1.readVisitsForJob; } });
48
63
  Object.defineProperty(exports, "readVisitsInWindow", { enumerable: true, get: function () { return read_js_1.readVisitsInWindow; } });
64
+ // Task 2510 — the geofence maths. Pure, so it is asserted against real
65
+ // coordinates rather than against a mocked graph.
66
+ var geo_js_1 = require("./geo.js");
67
+ Object.defineProperty(exports, "distanceM", { enumerable: true, get: function () { return geo_js_1.distanceM; } });
68
+ Object.defineProperty(exports, "geofenceVerdict", { enumerable: true, get: function () { return geo_js_1.geofenceVerdict; } });
49
69
  // Session-owning reads: the planner's, so a route holds no graph access.
50
70
  var read_js_2 = require("./read.js");
51
71
  Object.defineProperty(exports, "nonZuluStarts", { enumerable: true, get: function () { return read_js_2.nonZuluStarts; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;GAWG;AACH,yCAMqB;AALnB,8GAAA,iBAAiB,OAAA;AACjB,+GAAA,kBAAkB,OAAA;AAClB,gHAAA,mBAAmB,OAAA;AACnB,kHAAA,qBAAqB,OAAA;AACrB,kHAAA,qBAAqB,OAAA;AAGvB,2CAA2C;AAAlC,yGAAA,WAAW,OAAA;AACpB,qCAA+C;AAAtC,6GAAA,kBAAkB,OAAA;AAC3B,yCASqB;AARnB,2GAAA,cAAc,OAAA;AACd,uGAAA,UAAU,OAAA;AACV,2GAAA,cAAc,OAAA;AACd,wGAAA,WAAW,OAAA;AACX,2GAAA,cAAc,OAAA;AACd,sGAAA,SAAS,OAAA;AACT,6GAAA,gBAAgB,OAAA;AAChB,6GAAA,gBAAgB,OAAA;AAGlB,qEAAqE;AACrE,qCAamB;AAZjB,4GAAA,iBAAiB,OAAA;AACjB,qGAAA,UAAU,OAAA;AACV,uGAAA,YAAY,OAAA;AACZ,0GAAA,eAAe,OAAA;AACf,kGAAA,OAAO,OAAA;AACP,mGAAA,QAAQ,OAAA;AACR,qGAAA,UAAU,OAAA;AACV,0GAAA,eAAe,OAAA;AACf,oGAAA,SAAS,OAAA;AACT,+GAAA,oBAAoB,OAAA;AACpB,2GAAA,gBAAgB,OAAA;AAChB,6GAAA,kBAAkB,OAAA;AAGpB,yEAAyE;AACzE,qCAA2F;AAAlF,wGAAA,aAAa,OAAA;AAAE,qGAAA,UAAU,OAAA;AAAE,kGAAA,OAAO,OAAA;AAAE,sGAAA,WAAW,OAAA;AAAE,wGAAA,aAAa,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;GAWG;AACH,yCAMqB;AALnB,8GAAA,iBAAiB,OAAA;AACjB,+GAAA,kBAAkB,OAAA;AAClB,gHAAA,mBAAmB,OAAA;AACnB,kHAAA,qBAAqB,OAAA;AACrB,kHAAA,qBAAqB,OAAA;AAIvB,6EAA6E;AAC7E,6EAA6E;AAC7E,oEAAoE;AACpE,6CAKuB;AAJrB,sHAAA,uBAAuB,OAAA;AACvB,iHAAA,kBAAkB,OAAA;AAClB,mHAAA,oBAAoB,OAAA;AACpB,oHAAA,qBAAqB,OAAA;AAIvB,2CAA2C;AAAlC,yGAAA,WAAW,OAAA;AACpB,qCAA+C;AAAtC,6GAAA,kBAAkB,OAAA;AAC3B,yCASqB;AARnB,2GAAA,cAAc,OAAA;AACd,uGAAA,UAAU,OAAA;AACV,2GAAA,cAAc,OAAA;AACd,wGAAA,WAAW,OAAA;AACX,2GAAA,cAAc,OAAA;AACd,sGAAA,SAAS,OAAA;AACT,6GAAA,gBAAgB,OAAA;AAChB,6GAAA,gBAAgB,OAAA;AAGlB,qEAAqE;AACrE,qCAoBmB;AAnBjB,4GAAA,iBAAiB,OAAA;AACjB,4GAAA,iBAAiB,OAAA;AACjB,qGAAA,UAAU,OAAA;AACV,uGAAA,YAAY,OAAA;AACZ,0GAAA,eAAe,OAAA;AACf,oGAAA,SAAS,OAAA;AACT,qGAAA,UAAU,OAAA;AACV,yGAAA,cAAc,OAAA;AACd,kGAAA,OAAO,OAAA;AACP,mGAAA,QAAQ,OAAA;AACR,qGAAA,UAAU,OAAA;AACV,kHAAA,uBAAuB,OAAA;AACvB,6GAAA,kBAAkB,OAAA;AAClB,0GAAA,eAAe,OAAA;AACf,2GAAA,gBAAgB,OAAA;AAChB,oGAAA,SAAS,OAAA;AACT,+GAAA,oBAAoB,OAAA;AACpB,2GAAA,gBAAgB,OAAA;AAChB,6GAAA,kBAAkB,OAAA;AAGpB,uEAAuE;AACvE,kDAAkD;AAClD,mCAAsD;AAA7C,mGAAA,SAAS,OAAA;AAAE,yGAAA,eAAe,OAAA;AAGnC,yEAAyE;AACzE,qCAA2F;AAAlF,wGAAA,aAAa,OAAA;AAAE,qGAAA,UAAU,OAAA;AAAE,kGAAA,OAAO,OAAA;AAAE,sGAAA,WAAW,OAAA;AAAE,wGAAA,aAAa,OAAA"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * The buttons on a dispatch card, and the wire format a press comes back on.
3
+ *
4
+ * One implementation for two processes. The dispatch MCP plugin draws the card;
5
+ * the UI server's webhook route reads the press and redraws it. Two encoders
6
+ * would be two authorities for one wire format, and the failure would be a
7
+ * button that does nothing with no line anywhere saying why.
8
+ *
9
+ * No status string appears below. The buttons are the account's own configured
10
+ * transitions out of the visit's current status, labelled with the account's own
11
+ * status names.
12
+ */
13
+ import type { DispatchConfig } from "./types.js";
14
+ /** Bot API: "Data to be sent in a callback query to the bot when the button is
15
+ * pressed, UTF-8 1-64 bytes." Telegram refuses a longer button at send time
16
+ * with nothing in our logs to explain it, so the builder measures instead. */
17
+ export declare const CALLBACK_DATA_MAX_BYTES = 64;
18
+ export interface DispatchButton {
19
+ text: string;
20
+ callbackData?: string;
21
+ webAppUrl?: string;
22
+ }
23
+ export interface VisitKeyboard {
24
+ rows: DispatchButton[][];
25
+ /** Transitions whose encoded data exceeded the cap. Named, never silent: a
26
+ * dropped button is a worker who cannot close a job. */
27
+ dropped: Array<{
28
+ status: string;
29
+ bytes: number;
30
+ }>;
31
+ }
32
+ /**
33
+ * `d:<visitId>:<to>:<drawnFor>`.
34
+ *
35
+ * Status NAMES rather than indices into `cfg.statuses.visit`. Indices always fit
36
+ * the 64 bytes, but an operator reordering the status list would silently
37
+ * repoint every live button, and the stale check exists to catch a visit that
38
+ * moved on, not a config that did.
39
+ */
40
+ export declare function dispatchCallbackData(p: {
41
+ visitId: string;
42
+ to: string;
43
+ drawnFor: string;
44
+ }): string;
45
+ /** Null means "not ours". A status name containing a colon would split wrongly,
46
+ * so the parse requires exactly four parts rather than joining the tail. */
47
+ export declare function parseDispatchCallback(data: string | null): {
48
+ visitId: string;
49
+ to: string;
50
+ drawnFor: string;
51
+ } | null;
52
+ /**
53
+ * The card's buttons for a visit at `status`.
54
+ *
55
+ * One button per legal transition out of `status`, plus one `web_app` button
56
+ * opening the job sheet. `web_app` and never `url`: a `url` button sends the
57
+ * worker to the device browser, where Telegram has signed nothing and the sheet
58
+ * refuses him.
59
+ */
60
+ export declare function buildVisitKeyboard(p: {
61
+ cfg: DispatchConfig;
62
+ visitId: string;
63
+ status: string;
64
+ sheetUrl: string;
65
+ }): VisitKeyboard;
66
+ //# sourceMappingURL=keyboard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyboard.d.ts","sourceRoot":"","sources":["../src/keyboard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD;;+EAE+E;AAC/E,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAQ1C,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,cAAc,EAAE,EAAE,CAAC;IACzB;6DACyD;IACzD,OAAO,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACnD;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EAAE;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,MAAM,CAET;AAED;6EAC6E;AAC7E,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,GAAG,IAAI,GAClB;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAO1D;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE;IACpC,GAAG,EAAE,cAAc,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,aAAa,CAiBhB"}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CALLBACK_DATA_MAX_BYTES = void 0;
4
+ exports.dispatchCallbackData = dispatchCallbackData;
5
+ exports.parseDispatchCallback = parseDispatchCallback;
6
+ exports.buildVisitKeyboard = buildVisitKeyboard;
7
+ /** Bot API: "Data to be sent in a callback query to the bot when the button is
8
+ * pressed, UTF-8 1-64 bytes." Telegram refuses a longer button at send time
9
+ * with nothing in our logs to explain it, so the builder measures instead. */
10
+ exports.CALLBACK_DATA_MAX_BYTES = 64;
11
+ /** The prefix that makes a press ours. A press without it belongs to some other
12
+ * keyboard and falls through the route untouched. */
13
+ const PREFIX = "d";
14
+ const SEP = ":";
15
+ /**
16
+ * `d:<visitId>:<to>:<drawnFor>`.
17
+ *
18
+ * Status NAMES rather than indices into `cfg.statuses.visit`. Indices always fit
19
+ * the 64 bytes, but an operator reordering the status list would silently
20
+ * repoint every live button, and the stale check exists to catch a visit that
21
+ * moved on, not a config that did.
22
+ */
23
+ function dispatchCallbackData(p) {
24
+ return [PREFIX, p.visitId, p.to, p.drawnFor].join(SEP);
25
+ }
26
+ /** Null means "not ours". A status name containing a colon would split wrongly,
27
+ * so the parse requires exactly four parts rather than joining the tail. */
28
+ function parseDispatchCallback(data) {
29
+ if (data === null)
30
+ return null;
31
+ const parts = data.split(SEP);
32
+ if (parts.length !== 4 || parts[0] !== PREFIX)
33
+ return null;
34
+ const [, visitId, to, drawnFor] = parts;
35
+ if (!visitId || !to || !drawnFor)
36
+ return null;
37
+ return { visitId, to, drawnFor };
38
+ }
39
+ /**
40
+ * The card's buttons for a visit at `status`.
41
+ *
42
+ * One button per legal transition out of `status`, plus one `web_app` button
43
+ * opening the job sheet. `web_app` and never `url`: a `url` button sends the
44
+ * worker to the device browser, where Telegram has signed nothing and the sheet
45
+ * refuses him.
46
+ */
47
+ function buildVisitKeyboard(p) {
48
+ const rows = [];
49
+ const dropped = [];
50
+ for (const [from, to] of p.cfg.statuses.visitTransitions) {
51
+ if (from !== p.status)
52
+ continue;
53
+ const callbackData = dispatchCallbackData({ visitId: p.visitId, to, drawnFor: p.status });
54
+ const bytes = Buffer.byteLength(callbackData, "utf8");
55
+ if (bytes > exports.CALLBACK_DATA_MAX_BYTES) {
56
+ dropped.push({ status: to, bytes });
57
+ continue;
58
+ }
59
+ rows.push([{ text: to, callbackData }]);
60
+ }
61
+ rows.push([{ text: p.cfg.vocabulary.visit, webAppUrl: p.sheetUrl }]);
62
+ return { rows, dropped };
63
+ }
64
+ //# sourceMappingURL=keyboard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyboard.js","sourceRoot":"","sources":["../src/keyboard.ts"],"names":[],"mappings":";;;AA8CA,oDAMC;AAID,sDASC;AAUD,gDAsBC;AAnFD;;+EAE+E;AAClE,QAAA,uBAAuB,GAAG,EAAE,CAAC;AAE1C;sDACsD;AACtD,MAAM,MAAM,GAAG,GAAG,CAAC;AAEnB,MAAM,GAAG,GAAG,GAAG,CAAC;AAehB;;;;;;;GAOG;AACH,SAAgB,oBAAoB,CAAC,CAIpC;IACC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzD,CAAC;AAED;6EAC6E;AAC7E,SAAgB,qBAAqB,CACnC,IAAmB;IAEnB,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IAC3D,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC;IACxC,IAAI,CAAC,OAAO,IAAI,CAAC,EAAE,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC9C,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC;AACnC,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,kBAAkB,CAAC,CAKlC;IACC,MAAM,IAAI,GAAuB,EAAE,CAAC;IACpC,MAAM,OAAO,GAA6C,EAAE,CAAC;IAE7D,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC;QACzD,IAAI,IAAI,KAAK,CAAC,CAAC,MAAM;YAAE,SAAS;QAChC,MAAM,YAAY,GAAG,oBAAoB,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1F,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QACtD,IAAI,KAAK,GAAG,+BAAuB,EAAE,CAAC;YACpC,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YACpC,SAAS;QACX,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IACrE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AAC3B,CAAC"}