@rubytech/create-realagent-code 0.1.574 → 0.1.576

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 (800) hide show
  1. package/dist/__tests__/preserve-house-cloudflare.test.js +2 -72
  2. package/dist/index.js +8 -45
  3. package/dist/preserve-house-cloudflare.js +2 -49
  4. package/package.json +1 -1
  5. package/payload/platform/lib/canonical-instant/dist/index.d.ts +57 -0
  6. package/payload/platform/lib/canonical-instant/dist/index.d.ts.map +1 -0
  7. package/payload/platform/lib/canonical-instant/dist/index.js +139 -0
  8. package/payload/platform/lib/canonical-instant/dist/index.js.map +1 -0
  9. package/payload/platform/lib/canonical-instant/src/__tests__/normalise-instant.test.ts +158 -0
  10. package/payload/platform/lib/canonical-instant/src/index.ts +147 -0
  11. package/payload/platform/lib/canonical-instant/tsconfig.json +9 -0
  12. package/payload/platform/lib/canonical-instant/vitest.config.ts +9 -0
  13. package/payload/platform/lib/dispatch-read/dist/geo.d.ts +34 -0
  14. package/payload/platform/lib/dispatch-read/dist/geo.d.ts.map +1 -0
  15. package/payload/platform/lib/dispatch-read/dist/geo.js +27 -0
  16. package/payload/platform/lib/dispatch-read/dist/geo.js.map +1 -0
  17. package/payload/platform/lib/dispatch-read/dist/index.d.ts +6 -2
  18. package/payload/platform/lib/dispatch-read/dist/index.d.ts.map +1 -1
  19. package/payload/platform/lib/dispatch-read/dist/index.js +21 -1
  20. package/payload/platform/lib/dispatch-read/dist/index.js.map +1 -1
  21. package/payload/platform/lib/dispatch-read/dist/keyboard.d.ts +66 -0
  22. package/payload/platform/lib/dispatch-read/dist/keyboard.d.ts.map +1 -0
  23. package/payload/platform/lib/dispatch-read/dist/keyboard.js +64 -0
  24. package/payload/platform/lib/dispatch-read/dist/keyboard.js.map +1 -0
  25. package/payload/platform/lib/dispatch-read/dist/read.d.ts +144 -9
  26. package/payload/platform/lib/dispatch-read/dist/read.d.ts.map +1 -1
  27. package/payload/platform/lib/dispatch-read/dist/read.js +437 -118
  28. package/payload/platform/lib/dispatch-read/dist/read.js.map +1 -1
  29. package/payload/platform/lib/dispatch-read/dist/types.d.ts +80 -11
  30. package/payload/platform/lib/dispatch-read/dist/types.d.ts.map +1 -1
  31. package/payload/platform/lib/dispatch-read/src/__tests__/geo.test.ts +86 -0
  32. package/payload/platform/lib/dispatch-read/src/__tests__/keyboard.test.ts +124 -0
  33. package/payload/platform/lib/dispatch-read/src/__tests__/previous-visit.test.ts +98 -0
  34. package/payload/platform/lib/dispatch-read/src/__tests__/read.test.ts +107 -8
  35. package/payload/platform/lib/dispatch-read/src/__tests__/worker-day.test.ts +215 -10
  36. package/payload/platform/lib/dispatch-read/src/geo.ts +56 -0
  37. package/payload/platform/lib/dispatch-read/src/index.ts +25 -1
  38. package/payload/platform/lib/dispatch-read/src/keyboard.ts +98 -0
  39. package/payload/platform/lib/dispatch-read/src/read.ts +522 -119
  40. package/payload/platform/lib/dispatch-read/src/types.ts +83 -11
  41. package/payload/platform/lib/dispatch-write/dist/write.d.ts +14 -0
  42. package/payload/platform/lib/dispatch-write/dist/write.d.ts.map +1 -1
  43. package/payload/platform/lib/dispatch-write/dist/write.js +50 -11
  44. package/payload/platform/lib/dispatch-write/dist/write.js.map +1 -1
  45. package/payload/platform/lib/dispatch-write/src/__tests__/write.test.ts +72 -2
  46. package/payload/platform/lib/dispatch-write/src/write.ts +79 -14
  47. package/payload/platform/neo4j/schema.cypher +66 -1
  48. package/payload/platform/package.json +2 -2
  49. package/payload/platform/plugins/admin/PLUGIN.md +3 -0
  50. package/payload/platform/plugins/admin/hooks/__tests__/fs-schema-guard-bash.test.sh +106 -0
  51. package/payload/platform/plugins/admin/hooks/__tests__/fs-schema-guard.test.sh +66 -0
  52. package/payload/platform/plugins/admin/hooks/fs-schema-guard-bash-post.sh +85 -12
  53. package/payload/platform/plugins/admin/hooks/fs-schema-guard.sh +18 -0
  54. package/payload/platform/plugins/admin/mcp/dist/index.js +2 -2
  55. package/payload/platform/plugins/admin/mcp/dist/index.js.map +1 -1
  56. package/payload/platform/plugins/admin/skills/admin-user-management/SKILL.md +10 -11
  57. package/payload/platform/plugins/admin/skills/platform-architecture/SKILL.md +106 -36
  58. package/payload/platform/plugins/admin/skills/whats-new/SKILL.md +12 -0
  59. package/payload/platform/plugins/cloudflare/mcp/__tests__/portal-visits-scope.test.ts +130 -1
  60. package/payload/platform/plugins/cloudflare/skills/data-portal/schema.sql +63 -0
  61. package/payload/platform/plugins/cloudflare/skills/data-portal/template/functions/api/visits.ts +104 -3
  62. package/payload/platform/plugins/dispatch/.claude-plugin/plugin.json +1 -1
  63. package/payload/platform/plugins/dispatch/PLUGIN.md +49 -6
  64. package/payload/platform/plugins/dispatch/mcp/dist/index.js +200 -2
  65. package/payload/platform/plugins/dispatch/mcp/dist/index.js.map +1 -1
  66. package/payload/platform/plugins/dispatch/mcp/dist/lib/allocate.d.ts +22 -4
  67. package/payload/platform/plugins/dispatch/mcp/dist/lib/allocate.d.ts.map +1 -1
  68. package/payload/platform/plugins/dispatch/mcp/dist/lib/allocate.js +4 -0
  69. package/payload/platform/plugins/dispatch/mcp/dist/lib/allocate.js.map +1 -1
  70. package/payload/platform/plugins/dispatch/mcp/dist/lib/bot-token.d.ts +10 -0
  71. package/payload/platform/plugins/dispatch/mcp/dist/lib/bot-token.d.ts.map +1 -0
  72. package/payload/platform/plugins/dispatch/mcp/dist/lib/bot-token.js +47 -0
  73. package/payload/platform/plugins/dispatch/mcp/dist/lib/bot-token.js.map +1 -0
  74. package/payload/platform/plugins/dispatch/mcp/dist/lib/config.d.ts.map +1 -1
  75. package/payload/platform/plugins/dispatch/mcp/dist/lib/config.js +12 -0
  76. package/payload/platform/plugins/dispatch/mcp/dist/lib/config.js.map +1 -1
  77. package/payload/platform/plugins/dispatch/mcp/dist/lib/ids.d.ts +1 -0
  78. package/payload/platform/plugins/dispatch/mcp/dist/lib/ids.d.ts.map +1 -1
  79. package/payload/platform/plugins/dispatch/mcp/dist/lib/ids.js +1 -0
  80. package/payload/platform/plugins/dispatch/mcp/dist/lib/ids.js.map +1 -1
  81. package/payload/platform/plugins/dispatch/mcp/dist/lib/intake.d.ts +36 -0
  82. package/payload/platform/plugins/dispatch/mcp/dist/lib/intake.d.ts.map +1 -0
  83. package/payload/platform/plugins/dispatch/mcp/dist/lib/intake.js +36 -0
  84. package/payload/platform/plugins/dispatch/mcp/dist/lib/intake.js.map +1 -0
  85. package/payload/platform/plugins/dispatch/mcp/dist/lib/keyboard.d.ts +11 -0
  86. package/payload/platform/plugins/dispatch/mcp/dist/lib/keyboard.d.ts.map +1 -0
  87. package/payload/platform/plugins/dispatch/mcp/dist/lib/keyboard.js +10 -0
  88. package/payload/platform/plugins/dispatch/mcp/dist/lib/keyboard.js.map +1 -0
  89. package/payload/platform/plugins/dispatch/mcp/dist/lib/read.d.ts +2 -2
  90. package/payload/platform/plugins/dispatch/mcp/dist/lib/read.d.ts.map +1 -1
  91. package/payload/platform/plugins/dispatch/mcp/dist/lib/read.js +9 -1
  92. package/payload/platform/plugins/dispatch/mcp/dist/lib/read.js.map +1 -1
  93. package/payload/platform/plugins/dispatch/mcp/dist/lib/travel.d.ts +43 -0
  94. package/payload/platform/plugins/dispatch/mcp/dist/lib/travel.d.ts.map +1 -0
  95. package/payload/platform/plugins/dispatch/mcp/dist/lib/travel.js +53 -0
  96. package/payload/platform/plugins/dispatch/mcp/dist/lib/travel.js.map +1 -0
  97. package/payload/platform/plugins/dispatch/mcp/dist/lib/types.d.ts +13 -2
  98. package/payload/platform/plugins/dispatch/mcp/dist/lib/types.d.ts.map +1 -1
  99. package/payload/platform/plugins/dispatch/mcp/dist/scripts/converge-visit-instants.d.ts +6 -0
  100. package/payload/platform/plugins/dispatch/mcp/dist/scripts/converge-visit-instants.d.ts.map +1 -0
  101. package/payload/platform/plugins/dispatch/mcp/dist/scripts/converge-visit-instants.js +102 -0
  102. package/payload/platform/plugins/dispatch/mcp/dist/scripts/converge-visit-instants.js.map +1 -0
  103. package/payload/platform/plugins/dispatch/mcp/dist/tools/allocate.d.ts +18 -0
  104. package/payload/platform/plugins/dispatch/mcp/dist/tools/allocate.d.ts.map +1 -1
  105. package/payload/platform/plugins/dispatch/mcp/dist/tools/allocate.js +251 -40
  106. package/payload/platform/plugins/dispatch/mcp/dist/tools/allocate.js.map +1 -1
  107. package/payload/platform/plugins/dispatch/mcp/dist/tools/intake.d.ts +75 -0
  108. package/payload/platform/plugins/dispatch/mcp/dist/tools/intake.d.ts.map +1 -0
  109. package/payload/platform/plugins/dispatch/mcp/dist/tools/intake.js +194 -0
  110. package/payload/platform/plugins/dispatch/mcp/dist/tools/intake.js.map +1 -0
  111. package/payload/platform/plugins/dispatch/mcp/dist/tools/notify-worker.d.ts +61 -0
  112. package/payload/platform/plugins/dispatch/mcp/dist/tools/notify-worker.d.ts.map +1 -0
  113. package/payload/platform/plugins/dispatch/mcp/dist/tools/notify-worker.js +130 -0
  114. package/payload/platform/plugins/dispatch/mcp/dist/tools/notify-worker.js.map +1 -0
  115. package/payload/platform/plugins/dispatch/mcp/dist/tools/site-location-set.d.ts +28 -0
  116. package/payload/platform/plugins/dispatch/mcp/dist/tools/site-location-set.d.ts.map +1 -0
  117. package/payload/platform/plugins/dispatch/mcp/dist/tools/site-location-set.js +44 -0
  118. package/payload/platform/plugins/dispatch/mcp/dist/tools/site-location-set.js.map +1 -0
  119. package/payload/platform/plugins/dispatch/mcp/dist/tools/site-upsert.d.ts +43 -0
  120. package/payload/platform/plugins/dispatch/mcp/dist/tools/site-upsert.d.ts.map +1 -0
  121. package/payload/platform/plugins/dispatch/mcp/dist/tools/site-upsert.js +139 -0
  122. package/payload/platform/plugins/dispatch/mcp/dist/tools/site-upsert.js.map +1 -0
  123. package/payload/platform/plugins/dispatch/skills/dispatch-page/SKILL.md +85 -0
  124. package/payload/platform/plugins/dispatch/skills/dispatch-page/template/planner.css +97 -0
  125. package/payload/platform/plugins/dispatch/skills/dispatch-page/template/planner.html +59 -0
  126. package/payload/platform/plugins/dispatch/skills/dispatch-page/template/planner.js +343 -0
  127. package/payload/platform/plugins/dispatch/skills/dispatch-setup/SKILL.md +9 -4
  128. package/payload/platform/plugins/docs/references/channel-wake-and-prompt.md +11 -20
  129. package/payload/platform/plugins/docs/references/dispatch.md +94 -15
  130. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/dispatch-vertical-coverage.test.js +4 -1
  131. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/dispatch-vertical-coverage.test.js.map +1 -1
  132. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/relationship-patterns.test.js +24 -1
  133. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/relationship-patterns.test.js.map +1 -1
  134. package/payload/platform/plugins/memory/references/schema-dispatch.md +70 -4
  135. package/payload/platform/plugins/scheduling/mcp/dist/lib/time-format.d.ts +2 -35
  136. package/payload/platform/plugins/scheduling/mcp/dist/lib/time-format.d.ts.map +1 -1
  137. package/payload/platform/plugins/scheduling/mcp/dist/lib/time-format.js +6 -114
  138. package/payload/platform/plugins/scheduling/mcp/dist/lib/time-format.js.map +1 -1
  139. package/payload/platform/plugins/scheduling/mcp/dist/scripts/converge-startdate-utc.d.ts +1 -1
  140. package/payload/platform/plugins/scheduling/mcp/dist/scripts/converge-startdate-utc.js +3 -3
  141. package/payload/platform/plugins/scheduling/mcp/dist/scripts/converge-startdate-utc.js.map +1 -1
  142. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-event.js +2 -2
  143. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-event.js.map +1 -1
  144. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-update.js +3 -3
  145. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-update.js.map +1 -1
  146. package/payload/platform/services/claude-session-manager/dist/blocked-tool-census.d.ts +40 -6
  147. package/payload/platform/services/claude-session-manager/dist/blocked-tool-census.d.ts.map +1 -1
  148. package/payload/platform/services/claude-session-manager/dist/blocked-tool-census.js +116 -15
  149. package/payload/platform/services/claude-session-manager/dist/blocked-tool-census.js.map +1 -1
  150. package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.d.ts.map +1 -1
  151. package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.js +6 -0
  152. package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.js.map +1 -1
  153. package/payload/platform/services/claude-session-manager/dist/http-server.d.ts +5 -0
  154. package/payload/platform/services/claude-session-manager/dist/http-server.d.ts.map +1 -1
  155. package/payload/platform/services/claude-session-manager/dist/http-server.js +29 -0
  156. package/payload/platform/services/claude-session-manager/dist/http-server.js.map +1 -1
  157. package/payload/platform/services/telegram-channel/dist/notification.d.ts +0 -12
  158. package/payload/platform/services/telegram-channel/dist/notification.d.ts.map +1 -1
  159. package/payload/platform/services/telegram-channel/dist/notification.js +8 -29
  160. package/payload/platform/services/telegram-channel/dist/notification.js.map +1 -1
  161. package/payload/platform/services/telegram-channel/dist/server.d.ts.map +1 -1
  162. package/payload/platform/services/telegram-channel/dist/server.js +8 -11
  163. package/payload/platform/services/telegram-channel/dist/server.js.map +1 -1
  164. package/payload/server/public/activity.html +7 -7
  165. package/payload/server/public/agents.html +6 -6
  166. package/payload/server/public/assets/{AdminLoginScreens-Dp6k1XgD.js → AdminLoginScreens-BLGZEaKU.js} +1 -1
  167. package/payload/server/public/assets/AdminLoginScreens-BLGZEaKU.js.br +0 -0
  168. package/payload/server/public/assets/AdminLoginScreens-BLGZEaKU.js.gz +0 -0
  169. package/payload/server/public/assets/AdminShell-C_M7YE5Z.js +3 -0
  170. package/payload/server/public/assets/AdminShell-C_M7YE5Z.js.br +0 -0
  171. package/payload/server/public/assets/AdminShell-C_M7YE5Z.js.gz +0 -0
  172. package/payload/server/public/assets/{activity-BJxhblz-.js → activity-BL6qbB9a.js} +1 -1
  173. package/payload/server/public/assets/activity-BL6qbB9a.js.br +0 -0
  174. package/payload/server/public/assets/activity-BL6qbB9a.js.gz +0 -0
  175. package/payload/server/public/assets/admin-jnJ3P2u4.js +1 -0
  176. package/payload/server/public/assets/admin-jnJ3P2u4.js.br +0 -0
  177. package/payload/server/public/assets/admin-jnJ3P2u4.js.gz +0 -0
  178. package/payload/server/public/assets/{agents-DTL8kjfD.js → agents-BzhfKZDN.js} +1 -1
  179. package/payload/server/public/assets/agents-BzhfKZDN.js.br +0 -0
  180. package/payload/server/public/assets/agents-BzhfKZDN.js.gz +0 -0
  181. package/payload/server/public/assets/{arc-CWXBKNZd.js → arc-Bge2fWf4.js} +1 -1
  182. package/payload/server/public/assets/arc-Bge2fWf4.js.br +0 -0
  183. package/payload/server/public/assets/arc-Bge2fWf4.js.gz +0 -0
  184. package/payload/server/public/assets/architecture-YZFGNWBL-B9jqFTbw.js +1 -0
  185. package/payload/server/public/assets/architecture-YZFGNWBL-B9jqFTbw.js.br +0 -0
  186. package/payload/server/public/assets/{architectureDiagram-Q4EWVU46-C-KPMyG4.js → architectureDiagram-Q4EWVU46-BRauf5b8.js} +1 -1
  187. package/payload/server/public/assets/architectureDiagram-Q4EWVU46-BRauf5b8.js.br +0 -0
  188. package/payload/server/public/assets/architectureDiagram-Q4EWVU46-BRauf5b8.js.gz +0 -0
  189. package/payload/server/public/assets/{blockDiagram-DXYQGD6D-DkYbV9Sf.js → blockDiagram-DXYQGD6D-CUJ554WZ.js} +1 -1
  190. package/payload/server/public/assets/blockDiagram-DXYQGD6D-CUJ554WZ.js.br +0 -0
  191. package/payload/server/public/assets/blockDiagram-DXYQGD6D-CUJ554WZ.js.gz +0 -0
  192. package/payload/server/public/assets/{browser-UZp75zhx.js → browser-C-6io2B9.js} +1 -1
  193. package/payload/server/public/assets/browser-C-6io2B9.js.br +0 -0
  194. package/payload/server/public/assets/browser-C-6io2B9.js.gz +0 -0
  195. package/payload/server/public/assets/{c4Diagram-AHTNJAMY-EYW4kdlx.js → c4Diagram-AHTNJAMY-CV9gKsKo.js} +1 -1
  196. package/payload/server/public/assets/c4Diagram-AHTNJAMY-CV9gKsKo.js.br +0 -0
  197. package/payload/server/public/assets/{c4Diagram-AHTNJAMY-EYW4kdlx.js.gz → c4Diagram-AHTNJAMY-CV9gKsKo.js.gz} +0 -0
  198. package/payload/server/public/assets/{calendar-Dfo0O2K_.js → calendar-Dt3gS88s.js} +1 -1
  199. package/payload/server/public/assets/calendar-Dt3gS88s.js.br +0 -0
  200. package/payload/server/public/assets/calendar-Dt3gS88s.js.gz +0 -0
  201. package/payload/server/public/assets/channel-DUwJcjZw.js +1 -0
  202. package/payload/server/public/assets/channel-DUwJcjZw.js.br +0 -0
  203. package/payload/server/public/assets/chat-IUOvVkL-.js +1 -0
  204. package/payload/server/public/assets/chat-IUOvVkL-.js.br +1 -0
  205. package/payload/server/public/assets/chat-IUOvVkL-.js.gz +0 -0
  206. package/payload/server/public/assets/chevron-left-DSzR9zR7.js +1 -0
  207. package/payload/server/public/assets/chevron-left-DSzR9zR7.js.br +0 -0
  208. package/payload/server/public/assets/{chunk-2KRD3SAO-CmAF1UmH.js → chunk-2KRD3SAO-HzWGrran.js} +1 -1
  209. package/payload/server/public/assets/chunk-2KRD3SAO-HzWGrran.js.br +0 -0
  210. package/payload/server/public/assets/chunk-2KRD3SAO-HzWGrran.js.gz +0 -0
  211. package/payload/server/public/assets/{chunk-336JU56O-CyhmJeMM.js → chunk-336JU56O-ChGDYu_S.js} +2 -2
  212. package/payload/server/public/assets/chunk-336JU56O-ChGDYu_S.js.br +0 -0
  213. package/payload/server/public/assets/chunk-336JU56O-ChGDYu_S.js.gz +0 -0
  214. package/payload/server/public/assets/chunk-426QAEUC-DLLi1nAr.js +1 -0
  215. package/payload/server/public/assets/chunk-426QAEUC-DLLi1nAr.js.br +0 -0
  216. package/payload/server/public/assets/chunk-426QAEUC-DLLi1nAr.js.gz +0 -0
  217. package/payload/server/public/assets/{chunk-4BX2VUAB-DCzC40-Y.js → chunk-4BX2VUAB-BJunAy2u.js} +1 -1
  218. package/payload/server/public/assets/chunk-4BX2VUAB-BJunAy2u.js.br +0 -0
  219. package/payload/server/public/assets/chunk-4BX2VUAB-BJunAy2u.js.gz +0 -0
  220. package/payload/server/public/assets/{chunk-4TB4RGXK-D9BXrSA_.js → chunk-4TB4RGXK-Df9Ew0fN.js} +1 -1
  221. package/payload/server/public/assets/chunk-4TB4RGXK-Df9Ew0fN.js.br +0 -0
  222. package/payload/server/public/assets/chunk-4TB4RGXK-Df9Ew0fN.js.gz +0 -0
  223. package/payload/server/public/assets/{chunk-55IACEB6-BwXC-qTZ.js → chunk-55IACEB6-DtquCg7p.js} +1 -1
  224. package/payload/server/public/assets/chunk-55IACEB6-DtquCg7p.js.br +0 -0
  225. package/payload/server/public/assets/chunk-55IACEB6-DtquCg7p.js.gz +0 -0
  226. package/payload/server/public/assets/{chunk-5FUZZQ4R-De7QtXxM.js → chunk-5FUZZQ4R-B3s1YuQa.js} +1 -1
  227. package/payload/server/public/assets/chunk-5FUZZQ4R-B3s1YuQa.js.br +0 -0
  228. package/payload/server/public/assets/chunk-5FUZZQ4R-B3s1YuQa.js.gz +0 -0
  229. package/payload/server/public/assets/{chunk-5PVQY5BW-B5tsJiCq.js → chunk-5PVQY5BW-C0bRnMKQ.js} +1 -1
  230. package/payload/server/public/assets/chunk-5PVQY5BW-C0bRnMKQ.js.br +0 -0
  231. package/payload/server/public/assets/chunk-5PVQY5BW-C0bRnMKQ.js.gz +0 -0
  232. package/payload/server/public/assets/{chunk-67CJDMHE-BjTh9STV.js → chunk-67CJDMHE-B9jxnEpu.js} +1 -1
  233. package/payload/server/public/assets/chunk-67CJDMHE-B9jxnEpu.js.br +0 -0
  234. package/payload/server/public/assets/chunk-67CJDMHE-B9jxnEpu.js.gz +0 -0
  235. package/payload/server/public/assets/{chunk-7N4EOEYR-91klRswn.js → chunk-7N4EOEYR-DaimaIlO.js} +1 -1
  236. package/payload/server/public/assets/chunk-7N4EOEYR-DaimaIlO.js.br +0 -0
  237. package/payload/server/public/assets/chunk-7N4EOEYR-DaimaIlO.js.gz +0 -0
  238. package/payload/server/public/assets/{chunk-AA7GKIK3-XFPGEoBu.js → chunk-AA7GKIK3-htgz4y5z.js} +1 -1
  239. package/payload/server/public/assets/chunk-AA7GKIK3-htgz4y5z.js.br +0 -0
  240. package/payload/server/public/assets/chunk-AA7GKIK3-htgz4y5z.js.gz +0 -0
  241. package/payload/server/public/assets/{chunk-BSJP7CBP-B7wgMyWq.js → chunk-BSJP7CBP-0xBlnKJN.js} +1 -1
  242. package/payload/server/public/assets/chunk-BSJP7CBP-0xBlnKJN.js.br +0 -0
  243. package/payload/server/public/assets/chunk-BSJP7CBP-0xBlnKJN.js.gz +0 -0
  244. package/payload/server/public/assets/{chunk-CIAEETIT-WPy9vcOo.js → chunk-CIAEETIT-HZOrcAzJ.js} +1 -1
  245. package/payload/server/public/assets/chunk-CIAEETIT-HZOrcAzJ.js.br +0 -0
  246. package/payload/server/public/assets/chunk-CIAEETIT-HZOrcAzJ.js.gz +0 -0
  247. package/payload/server/public/assets/{chunk-EDXVE4YY-D_2JIFFG.js → chunk-EDXVE4YY-CC8hCcuU.js} +1 -1
  248. package/payload/server/public/assets/chunk-EDXVE4YY-CC8hCcuU.js.br +0 -0
  249. package/payload/server/public/assets/chunk-EDXVE4YY-CC8hCcuU.js.gz +0 -0
  250. package/payload/server/public/assets/{chunk-ENJZ2VHE-xORReRt0.js → chunk-ENJZ2VHE-BdPfdZYB.js} +1 -1
  251. package/payload/server/public/assets/chunk-ENJZ2VHE-BdPfdZYB.js.br +0 -0
  252. package/payload/server/public/assets/chunk-ENJZ2VHE-BdPfdZYB.js.gz +0 -0
  253. package/payload/server/public/assets/{chunk-FMBD7UC4-BZsDu4nl.js → chunk-FMBD7UC4-MHdn_KgF.js} +1 -1
  254. package/payload/server/public/assets/chunk-FMBD7UC4-MHdn_KgF.js.br +0 -0
  255. package/payload/server/public/assets/chunk-FMBD7UC4-MHdn_KgF.js.gz +0 -0
  256. package/payload/server/public/assets/{chunk-FOC6F5B3-QzUp8wXX.js → chunk-FOC6F5B3-Ti8BlQKX.js} +1 -1
  257. package/payload/server/public/assets/chunk-FOC6F5B3-Ti8BlQKX.js.br +0 -0
  258. package/payload/server/public/assets/chunk-FOC6F5B3-Ti8BlQKX.js.gz +0 -0
  259. package/payload/server/public/assets/{chunk-ICPOFSXX-B64S7i7x.js → chunk-ICPOFSXX-BP8A8zb1.js} +2 -2
  260. package/payload/server/public/assets/chunk-ICPOFSXX-BP8A8zb1.js.br +0 -0
  261. package/payload/server/public/assets/chunk-ICPOFSXX-BP8A8zb1.js.gz +0 -0
  262. package/payload/server/public/assets/{chunk-K5T4RW27-DzPc6X1_.js → chunk-K5T4RW27-F30EnSBL.js} +1 -1
  263. package/payload/server/public/assets/chunk-K5T4RW27-F30EnSBL.js.br +0 -0
  264. package/payload/server/public/assets/chunk-K5T4RW27-F30EnSBL.js.gz +0 -0
  265. package/payload/server/public/assets/{chunk-KGLVRYIC-A2rPnD7k.js → chunk-KGLVRYIC-DNSEkg2Q.js} +1 -1
  266. package/payload/server/public/assets/chunk-KGLVRYIC-DNSEkg2Q.js.br +2 -0
  267. package/payload/server/public/assets/chunk-KGLVRYIC-DNSEkg2Q.js.gz +0 -0
  268. package/payload/server/public/assets/{chunk-LIHQZDEY-CaWX327m.js → chunk-LIHQZDEY-DM7b0dec.js} +1 -1
  269. package/payload/server/public/assets/chunk-LIHQZDEY-DM7b0dec.js.br +0 -0
  270. package/payload/server/public/assets/chunk-LIHQZDEY-DM7b0dec.js.gz +0 -0
  271. package/payload/server/public/assets/{chunk-ORNJ4GCN-zrWhdmnc.js → chunk-ORNJ4GCN-B0qoI_vp.js} +1 -1
  272. package/payload/server/public/assets/chunk-ORNJ4GCN-B0qoI_vp.js.br +0 -0
  273. package/payload/server/public/assets/chunk-ORNJ4GCN-B0qoI_vp.js.gz +0 -0
  274. package/payload/server/public/assets/{chunk-OYMX7WX6-B_2qQir6.js → chunk-OYMX7WX6-Bfzo53eI.js} +1 -1
  275. package/payload/server/public/assets/chunk-OYMX7WX6-Bfzo53eI.js.br +0 -0
  276. package/payload/server/public/assets/chunk-OYMX7WX6-Bfzo53eI.js.gz +0 -0
  277. package/payload/server/public/assets/chunk-QZHKN3VN-A6b8ZN9i.js +1 -0
  278. package/payload/server/public/assets/chunk-QZHKN3VN-A6b8ZN9i.js.br +0 -0
  279. package/payload/server/public/assets/chunk-QZHKN3VN-A6b8ZN9i.js.gz +0 -0
  280. package/payload/server/public/assets/{chunk-U2HBQHQK-B-IYgxsc.js → chunk-U2HBQHQK-DcqGPXEy.js} +1 -1
  281. package/payload/server/public/assets/chunk-U2HBQHQK-DcqGPXEy.js.br +0 -0
  282. package/payload/server/public/assets/chunk-U2HBQHQK-DcqGPXEy.js.gz +0 -0
  283. package/payload/server/public/assets/{chunk-X2U36JSP-Y9Y1_EuG.js → chunk-X2U36JSP-DtRi7n5Z.js} +1 -1
  284. package/payload/server/public/assets/chunk-X2U36JSP-DtRi7n5Z.js.br +0 -0
  285. package/payload/server/public/assets/chunk-X2U36JSP-DtRi7n5Z.js.gz +0 -0
  286. package/payload/server/public/assets/{chunk-XPW4576I-C-6yETG_.js → chunk-XPW4576I-DmuDCcY3.js} +1 -1
  287. package/payload/server/public/assets/chunk-XPW4576I-DmuDCcY3.js.br +0 -0
  288. package/payload/server/public/assets/chunk-XPW4576I-DmuDCcY3.js.gz +0 -0
  289. package/payload/server/public/assets/{chunk-YZCP3GAM-KAuQIU5n.js → chunk-YZCP3GAM-oKk9Gv_e.js} +1 -1
  290. package/payload/server/public/assets/chunk-YZCP3GAM-oKk9Gv_e.js.br +0 -0
  291. package/payload/server/public/assets/chunk-YZCP3GAM-oKk9Gv_e.js.gz +0 -0
  292. package/payload/server/public/assets/{chunk-ZZ45TVLE-BJcH3KDH.js → chunk-ZZ45TVLE-teET41Yh.js} +1 -1
  293. package/payload/server/public/assets/chunk-ZZ45TVLE-teET41Yh.js.br +0 -0
  294. package/payload/server/public/assets/chunk-ZZ45TVLE-teET41Yh.js.gz +0 -0
  295. package/payload/server/public/assets/classDiagram-6PBFFD2Q-CMXajSzA.js +1 -0
  296. package/payload/server/public/assets/classDiagram-6PBFFD2Q-CMXajSzA.js.br +0 -0
  297. package/payload/server/public/assets/classDiagram-6PBFFD2Q-CMXajSzA.js.gz +0 -0
  298. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-Cz5Kib2r.js +1 -0
  299. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-Cz5Kib2r.js.br +0 -0
  300. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-Cz5Kib2r.js.gz +0 -0
  301. package/payload/server/public/assets/clock-C5xE5p2I.js +1 -0
  302. package/payload/server/public/assets/clock-C5xE5p2I.js.br +0 -0
  303. package/payload/server/public/assets/clone-BORhq8On.js +1 -0
  304. package/payload/server/public/assets/clone-BORhq8On.js.br +0 -0
  305. package/payload/server/public/assets/{copy-CGI2jioK.js → copy-TkPJgllS.js} +1 -1
  306. package/payload/server/public/assets/copy-TkPJgllS.js.br +0 -0
  307. package/payload/server/public/assets/copy-TkPJgllS.js.gz +0 -0
  308. package/payload/server/public/assets/{cose-bilkent-S5V4N54A-CcXj8vHa.js → cose-bilkent-S5V4N54A-D1xLpHGm.js} +1 -1
  309. package/payload/server/public/assets/cose-bilkent-S5V4N54A-D1xLpHGm.js.br +0 -0
  310. package/payload/server/public/assets/cose-bilkent-S5V4N54A-D1xLpHGm.js.gz +0 -0
  311. package/payload/server/public/assets/{dagre-KV5264BT-BOhQs4rS.js → dagre-KV5264BT-Byl65NKT.js} +1 -1
  312. package/payload/server/public/assets/dagre-KV5264BT-Byl65NKT.js.br +0 -0
  313. package/payload/server/public/assets/dagre-KV5264BT-Byl65NKT.js.gz +0 -0
  314. package/payload/server/public/assets/{dagre-DOtq9kYX.js → dagre-ZzXkSDir.js} +1 -1
  315. package/payload/server/public/assets/dagre-ZzXkSDir.js.br +0 -0
  316. package/payload/server/public/assets/dagre-ZzXkSDir.js.gz +0 -0
  317. package/payload/server/public/assets/data-Bhv0Pvfl.js +1 -0
  318. package/payload/server/public/assets/data-Bhv0Pvfl.js.br +0 -0
  319. package/payload/server/public/assets/data-Bhv0Pvfl.js.gz +0 -0
  320. package/payload/server/public/assets/{diagram-5BDNPKRD-CqJFt5ZM.js → diagram-5BDNPKRD-BFNkV5GK.js} +1 -1
  321. package/payload/server/public/assets/diagram-5BDNPKRD-BFNkV5GK.js.br +0 -0
  322. package/payload/server/public/assets/diagram-5BDNPKRD-BFNkV5GK.js.gz +0 -0
  323. package/payload/server/public/assets/{diagram-G4DWMVQ6-WQIyAZMn.js → diagram-G4DWMVQ6-1n6vHXzR.js} +1 -1
  324. package/payload/server/public/assets/diagram-G4DWMVQ6-1n6vHXzR.js.br +0 -0
  325. package/payload/server/public/assets/diagram-G4DWMVQ6-1n6vHXzR.js.gz +0 -0
  326. package/payload/server/public/assets/{diagram-MMDJMWI5-jcKc4a2w.js → diagram-MMDJMWI5-D4QOzaw0.js} +1 -1
  327. package/payload/server/public/assets/diagram-MMDJMWI5-D4QOzaw0.js.br +0 -0
  328. package/payload/server/public/assets/diagram-MMDJMWI5-D4QOzaw0.js.gz +0 -0
  329. package/payload/server/public/assets/{diagram-TYMM5635-Bbt2KuWe.js → diagram-TYMM5635-z8lBRsaV.js} +1 -1
  330. package/payload/server/public/assets/diagram-TYMM5635-z8lBRsaV.js.br +0 -0
  331. package/payload/server/public/assets/diagram-TYMM5635-z8lBRsaV.js.gz +0 -0
  332. package/payload/server/public/assets/{dist-9RiN6lky.js → dist-DjYA4E4S.js} +1 -1
  333. package/payload/server/public/assets/dist-DjYA4E4S.js.br +0 -0
  334. package/payload/server/public/assets/dist-DjYA4E4S.js.gz +0 -0
  335. package/payload/server/public/assets/{erDiagram-SMLLAGMA-BBm6azPJ.js → erDiagram-SMLLAGMA-CXj3tbtX.js} +1 -1
  336. package/payload/server/public/assets/erDiagram-SMLLAGMA-CXj3tbtX.js.br +0 -0
  337. package/payload/server/public/assets/erDiagram-SMLLAGMA-CXj3tbtX.js.gz +0 -0
  338. package/payload/server/public/assets/field-B490-evJ.js +1 -0
  339. package/payload/server/public/assets/field-B490-evJ.js.br +0 -0
  340. package/payload/server/public/assets/field-B490-evJ.js.gz +0 -0
  341. package/payload/server/public/assets/{file-text-RWintp9q.js → file-text-DyAL2DCh.js} +1 -1
  342. package/payload/server/public/assets/file-text-DyAL2DCh.js.br +0 -0
  343. package/payload/server/public/assets/file-text-DyAL2DCh.js.gz +0 -0
  344. package/payload/server/public/assets/{flatten-BurGKeIy.js → flatten-UdUTbm8v.js} +1 -1
  345. package/payload/server/public/assets/flatten-UdUTbm8v.js.br +0 -0
  346. package/payload/server/public/assets/flatten-UdUTbm8v.js.gz +0 -0
  347. package/payload/server/public/assets/{flowDiagram-DWJPFMVM-_r45DYJ8.js → flowDiagram-DWJPFMVM-DnySI-I4.js} +1 -1
  348. package/payload/server/public/assets/flowDiagram-DWJPFMVM-DnySI-I4.js.br +0 -0
  349. package/payload/server/public/assets/flowDiagram-DWJPFMVM-DnySI-I4.js.gz +0 -0
  350. package/payload/server/public/assets/{ganttDiagram-T4ZO3ILL-Bjgj9Bej.js → ganttDiagram-T4ZO3ILL-BIE2Q78F.js} +1 -1
  351. package/payload/server/public/assets/ganttDiagram-T4ZO3ILL-BIE2Q78F.js.br +0 -0
  352. package/payload/server/public/assets/ganttDiagram-T4ZO3ILL-BIE2Q78F.js.gz +0 -0
  353. package/payload/server/public/assets/gitGraph-7Q5UKJZL-Ua2z-DNt.js +1 -0
  354. package/payload/server/public/assets/gitGraph-7Q5UKJZL-Ua2z-DNt.js.br +0 -0
  355. package/payload/server/public/assets/{gitGraphDiagram-UUTBAWPF-DTRdhGJA.js → gitGraphDiagram-UUTBAWPF-B2RTRpyG.js} +1 -1
  356. package/payload/server/public/assets/gitGraphDiagram-UUTBAWPF-B2RTRpyG.js.br +0 -0
  357. package/payload/server/public/assets/gitGraphDiagram-UUTBAWPF-B2RTRpyG.js.gz +0 -0
  358. package/payload/server/public/assets/{graph-CpBlfYrJ.js → graph-PiNIcCfX.js} +1 -1
  359. package/payload/server/public/assets/graph-PiNIcCfX.js.br +0 -0
  360. package/payload/server/public/assets/graph-PiNIcCfX.js.gz +0 -0
  361. package/payload/server/public/assets/{graph-labels-BOMyPppX.js → graph-labels-8jKFrLHn.js} +1 -1
  362. package/payload/server/public/assets/graph-labels-8jKFrLHn.js.br +0 -0
  363. package/payload/server/public/assets/graph-labels-8jKFrLHn.js.gz +0 -0
  364. package/payload/server/public/assets/{graphlib-DT4h6-4N.js → graphlib-SOh92ucm.js} +1 -1
  365. package/payload/server/public/assets/graphlib-SOh92ucm.js.br +0 -0
  366. package/payload/server/public/assets/graphlib-SOh92ucm.js.gz +0 -0
  367. package/payload/server/public/assets/info-OMHHGYJF-CNYp42iX.js +1 -0
  368. package/payload/server/public/assets/info-OMHHGYJF-CNYp42iX.js.br +0 -0
  369. package/payload/server/public/assets/infoDiagram-42DDH7IO-DklHffYr.js +2 -0
  370. package/payload/server/public/assets/infoDiagram-42DDH7IO-DklHffYr.js.br +0 -0
  371. package/payload/server/public/assets/infoDiagram-42DDH7IO-DklHffYr.js.gz +0 -0
  372. package/payload/server/public/assets/{isEmpty-C5v0-EY7.js → isEmpty-DY_Xp9Na.js} +1 -1
  373. package/payload/server/public/assets/isEmpty-DY_Xp9Na.js.br +0 -0
  374. package/payload/server/public/assets/isEmpty-DY_Xp9Na.js.gz +0 -0
  375. package/payload/server/public/assets/{ishikawaDiagram-UXIWVN3A-BklHzVHm.js → ishikawaDiagram-UXIWVN3A-KAC06i3M.js} +1 -1
  376. package/payload/server/public/assets/ishikawaDiagram-UXIWVN3A-KAC06i3M.js.br +0 -0
  377. package/payload/server/public/assets/ishikawaDiagram-UXIWVN3A-KAC06i3M.js.gz +0 -0
  378. package/payload/server/public/assets/{journeyDiagram-VCZTEJTY-Ckxx2CmV.js → journeyDiagram-VCZTEJTY-cA37ob8S.js} +1 -1
  379. package/payload/server/public/assets/journeyDiagram-VCZTEJTY-cA37ob8S.js.br +0 -0
  380. package/payload/server/public/assets/journeyDiagram-VCZTEJTY-cA37ob8S.js.gz +0 -0
  381. package/payload/server/public/assets/{jsx-runtime-DxsQ5Y-z.css → jsx-runtime-ChVh0xOm.css} +1 -1
  382. package/payload/server/public/assets/jsx-runtime-ChVh0xOm.css.br +0 -0
  383. package/payload/server/public/assets/{jsx-runtime-DxsQ5Y-z.css.gz → jsx-runtime-ChVh0xOm.css.gz} +0 -0
  384. package/payload/server/public/assets/{jsx-runtime-5lmxFBIw.js → jsx-runtime-YcUntiud.js} +1 -1
  385. package/payload/server/public/assets/jsx-runtime-YcUntiud.js.br +0 -0
  386. package/payload/server/public/assets/jsx-runtime-YcUntiud.js.gz +0 -0
  387. package/payload/server/public/assets/{kanban-definition-6JOO6SKY-BLELXpqn.js → kanban-definition-6JOO6SKY-CBjL70wU.js} +1 -1
  388. package/payload/server/public/assets/kanban-definition-6JOO6SKY-CBjL70wU.js.br +0 -0
  389. package/payload/server/public/assets/kanban-definition-6JOO6SKY-CBjL70wU.js.gz +0 -0
  390. package/payload/server/public/assets/{line-BkI5icOY.js → line-K8229GLG.js} +1 -1
  391. package/payload/server/public/assets/line-K8229GLG.js.br +0 -0
  392. package/payload/server/public/assets/line-K8229GLG.js.gz +0 -0
  393. package/payload/server/public/assets/{linear-B64ANRVs.js → linear-DeX7Wdt6.js} +1 -1
  394. package/payload/server/public/assets/linear-DeX7Wdt6.js.br +0 -0
  395. package/payload/server/public/assets/linear-DeX7Wdt6.js.gz +0 -0
  396. package/payload/server/public/assets/{mermaid-parser.core-qXPKkdJe.js → mermaid-parser.core-OnNOAzPX.js} +2 -2
  397. package/payload/server/public/assets/mermaid-parser.core-OnNOAzPX.js.br +0 -0
  398. package/payload/server/public/assets/mermaid-parser.core-OnNOAzPX.js.gz +0 -0
  399. package/payload/server/public/assets/{mermaid.core-BMsz65Wy.js → mermaid.core-DA-Gezeo.js} +3 -3
  400. package/payload/server/public/assets/mermaid.core-DA-Gezeo.js.br +0 -0
  401. package/payload/server/public/assets/mermaid.core-DA-Gezeo.js.gz +0 -0
  402. package/payload/server/public/assets/{mindmap-definition-QFDTVHPH-DhFTS2sx.js → mindmap-definition-QFDTVHPH-C24TcDyS.js} +1 -1
  403. package/payload/server/public/assets/mindmap-definition-QFDTVHPH-C24TcDyS.js.br +0 -0
  404. package/payload/server/public/assets/mindmap-definition-QFDTVHPH-C24TcDyS.js.gz +0 -0
  405. package/payload/server/public/assets/operator-DKGKGzrb.js +1 -0
  406. package/payload/server/public/assets/operator-DKGKGzrb.js.br +0 -0
  407. package/payload/server/public/assets/operator-DKGKGzrb.js.gz +0 -0
  408. package/payload/server/public/assets/{ordinal-CJ_pL32Z.js → ordinal-gnpqfIHn.js} +1 -1
  409. package/payload/server/public/assets/ordinal-gnpqfIHn.js.br +0 -0
  410. package/payload/server/public/assets/ordinal-gnpqfIHn.js.gz +0 -0
  411. package/payload/server/public/assets/packet-4T2RLAQJ-B3ZAElsg.js +1 -0
  412. package/payload/server/public/assets/packet-4T2RLAQJ-B3ZAElsg.js.br +0 -0
  413. package/payload/server/public/assets/{page-BRShHSH0.js → page-BU5vlY9Y.js} +1 -1
  414. package/payload/server/public/assets/page-BU5vlY9Y.js.br +0 -0
  415. package/payload/server/public/assets/page-BU5vlY9Y.js.gz +0 -0
  416. package/payload/server/public/assets/{page-BbBCu9iP.js → page-DXz_K10G.js} +3 -3
  417. package/payload/server/public/assets/page-DXz_K10G.js.br +0 -0
  418. package/payload/server/public/assets/page-DXz_K10G.js.gz +0 -0
  419. package/payload/server/public/assets/{pdf-render-ynIPXfRA.js → pdf-render-B5af7vu1.js} +1 -1
  420. package/payload/server/public/assets/pdf-render-B5af7vu1.js.br +0 -0
  421. package/payload/server/public/assets/pdf-render-B5af7vu1.js.gz +0 -0
  422. package/payload/server/public/assets/pie-ZZUOXDRM-BWsRCj8p.js +1 -0
  423. package/payload/server/public/assets/pie-ZZUOXDRM-BWsRCj8p.js.br +0 -0
  424. package/payload/server/public/assets/{pieDiagram-DEJITSTG-B2TxkbHK.js → pieDiagram-DEJITSTG-ChS9jalQ.js} +1 -1
  425. package/payload/server/public/assets/pieDiagram-DEJITSTG-ChS9jalQ.js.br +0 -0
  426. package/payload/server/public/assets/pieDiagram-DEJITSTG-ChS9jalQ.js.gz +0 -0
  427. package/payload/server/public/assets/play-CmSyYrB6.js +1 -0
  428. package/payload/server/public/assets/play-CmSyYrB6.js.br +0 -0
  429. package/payload/server/public/assets/play-CmSyYrB6.js.gz +0 -0
  430. package/payload/server/public/assets/{public-DkObqkzL.js → public-BmA3-jLj.js} +1 -1
  431. package/payload/server/public/assets/public-BmA3-jLj.js.br +0 -0
  432. package/payload/server/public/assets/public-BmA3-jLj.js.gz +0 -0
  433. package/payload/server/public/assets/{quadrantDiagram-34T5L4WZ-GsMxIJuS.js → quadrantDiagram-34T5L4WZ-BxLfRK0z.js} +1 -1
  434. package/payload/server/public/assets/quadrantDiagram-34T5L4WZ-BxLfRK0z.js.br +0 -0
  435. package/payload/server/public/assets/quadrantDiagram-34T5L4WZ-BxLfRK0z.js.gz +0 -0
  436. package/payload/server/public/assets/radar-PYXPWWZC-Gxbt2rGT.js +1 -0
  437. package/payload/server/public/assets/radar-PYXPWWZC-Gxbt2rGT.js.br +0 -0
  438. package/payload/server/public/assets/{reduce-CfkEiHc9.js → reduce-BvezuHIe.js} +1 -1
  439. package/payload/server/public/assets/reduce-BvezuHIe.js.br +0 -0
  440. package/payload/server/public/assets/reduce-BvezuHIe.js.gz +0 -0
  441. package/payload/server/public/assets/{requirementDiagram-MS252O5E-DqNprm-1.js → requirementDiagram-MS252O5E-CWy48VI3.js} +1 -1
  442. package/payload/server/public/assets/requirementDiagram-MS252O5E-CWy48VI3.js.br +0 -0
  443. package/payload/server/public/assets/requirementDiagram-MS252O5E-CWy48VI3.js.gz +0 -0
  444. package/payload/server/public/assets/{rotate-ccw-DgMO69nh.js → rotate-ccw-fCH0LSMq.js} +1 -1
  445. package/payload/server/public/assets/rotate-ccw-fCH0LSMq.js.br +0 -0
  446. package/payload/server/public/assets/rotate-ccw-fCH0LSMq.js.gz +0 -0
  447. package/payload/server/public/assets/{routines-D9kvg_Xu.js → routines-BeFrmkls.js} +1 -1
  448. package/payload/server/public/assets/routines-BeFrmkls.js.br +0 -0
  449. package/payload/server/public/assets/routines-BeFrmkls.js.gz +0 -0
  450. package/payload/server/public/assets/{sankeyDiagram-XADWPNL6-B-kRuiuz.js → sankeyDiagram-XADWPNL6-BBCLEJA3.js} +1 -1
  451. package/payload/server/public/assets/sankeyDiagram-XADWPNL6-BBCLEJA3.js.br +0 -0
  452. package/payload/server/public/assets/sankeyDiagram-XADWPNL6-BBCLEJA3.js.gz +0 -0
  453. package/payload/server/public/assets/{sequenceDiagram-FGHM5R23-DEhL9g3K.js → sequenceDiagram-FGHM5R23-wu64F04G.js} +1 -1
  454. package/payload/server/public/assets/sequenceDiagram-FGHM5R23-wu64F04G.js.br +0 -0
  455. package/payload/server/public/assets/sequenceDiagram-FGHM5R23-wu64F04G.js.gz +0 -0
  456. package/payload/server/public/assets/{skills-l5I9HZ3D.js → skills-mjls5HBa.js} +1 -1
  457. package/payload/server/public/assets/skills-mjls5HBa.js.br +0 -0
  458. package/payload/server/public/assets/skills-mjls5HBa.js.gz +0 -0
  459. package/payload/server/public/assets/{src-BrAT6wKv.js → src-BvINb2fL.js} +1 -1
  460. package/payload/server/public/assets/src-BvINb2fL.js.br +0 -0
  461. package/payload/server/public/assets/src-BvINb2fL.js.gz +0 -0
  462. package/payload/server/public/assets/{stateDiagram-FHFEXIEX-Q-g6BHdz.js → stateDiagram-FHFEXIEX-Bq6BFFDC.js} +1 -1
  463. package/payload/server/public/assets/stateDiagram-FHFEXIEX-Bq6BFFDC.js.br +0 -0
  464. package/payload/server/public/assets/stateDiagram-FHFEXIEX-Bq6BFFDC.js.gz +0 -0
  465. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-PxPsWt1r.js +1 -0
  466. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-PxPsWt1r.js.br +0 -0
  467. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-PxPsWt1r.js.gz +0 -0
  468. package/payload/server/public/assets/{tasks-C2qJMv6i.js → tasks-p6puHHD0.js} +1 -1
  469. package/payload/server/public/assets/tasks-p6puHHD0.js.br +0 -0
  470. package/payload/server/public/assets/tasks-p6puHHD0.js.gz +0 -0
  471. package/payload/server/public/assets/{timeline-definition-GMOUNBTQ-B3-52q4Q.js → timeline-definition-GMOUNBTQ-DTdvVZp-.js} +1 -1
  472. package/payload/server/public/assets/timeline-definition-GMOUNBTQ-DTdvVZp-.js.br +0 -0
  473. package/payload/server/public/assets/timeline-definition-GMOUNBTQ-DTdvVZp-.js.gz +0 -0
  474. package/payload/server/public/assets/treeView-SZITEDCU-Bl-aPmE3.js +1 -0
  475. package/payload/server/public/assets/treeView-SZITEDCU-Bl-aPmE3.js.br +0 -0
  476. package/payload/server/public/assets/treemap-W4RFUUIX-CUxE8Ofg.js +1 -0
  477. package/payload/server/public/assets/treemap-W4RFUUIX-CUxE8Ofg.js.br +0 -0
  478. package/payload/server/public/assets/{triangle-alert-BnC67uSs.js → triangle-alert-CrZ1ewbd.js} +1 -1
  479. package/payload/server/public/assets/triangle-alert-CrZ1ewbd.js.br +0 -0
  480. package/payload/server/public/assets/triangle-alert-CrZ1ewbd.js.gz +0 -0
  481. package/payload/server/public/assets/{useCopyFeedback-1RmgkTFh.js → useCopyFeedback-zOQNrIwd.js} +1 -1
  482. package/payload/server/public/assets/useCopyFeedback-zOQNrIwd.js.br +0 -0
  483. package/payload/server/public/assets/useCopyFeedback-zOQNrIwd.js.gz +0 -0
  484. package/payload/server/public/assets/{useMediaQuery-BQslddHQ.js → useMediaQuery-BmG090FR.js} +1 -1
  485. package/payload/server/public/assets/useMediaQuery-BmG090FR.js.br +0 -0
  486. package/payload/server/public/assets/useMediaQuery-BmG090FR.js.gz +0 -0
  487. package/payload/server/public/assets/{useVoiceRecorder-BeZNQEC4.js → useVoiceRecorder-9pf6FFJ-.js} +2 -2
  488. package/payload/server/public/assets/useVoiceRecorder-9pf6FFJ-.js.br +0 -0
  489. package/payload/server/public/assets/useVoiceRecorder-9pf6FFJ-.js.gz +0 -0
  490. package/payload/server/public/assets/{vennDiagram-DHZGUBPP-Bzm1VDi1.js → vennDiagram-DHZGUBPP-CigqIBdl.js} +1 -1
  491. package/payload/server/public/assets/vennDiagram-DHZGUBPP-CigqIBdl.js.br +0 -0
  492. package/payload/server/public/assets/vennDiagram-DHZGUBPP-CigqIBdl.js.gz +0 -0
  493. package/payload/server/public/assets/wardley-RL74JXVD-DPB13D22.js +1 -0
  494. package/payload/server/public/assets/wardley-RL74JXVD-DPB13D22.js.br +0 -0
  495. package/payload/server/public/assets/{wardleyDiagram-NUSXRM2D-DIqGZr4v.js → wardleyDiagram-NUSXRM2D-VhV1plUD.js} +1 -1
  496. package/payload/server/public/assets/wardleyDiagram-NUSXRM2D-VhV1plUD.js.br +0 -0
  497. package/payload/server/public/assets/wardleyDiagram-NUSXRM2D-VhV1plUD.js.gz +0 -0
  498. package/payload/server/public/assets/{wrench-D4ufQG6C.js → wrench-k4GYG5rc.js} +1 -1
  499. package/payload/server/public/assets/wrench-k4GYG5rc.js.br +0 -0
  500. package/payload/server/public/assets/wrench-k4GYG5rc.js.gz +0 -0
  501. package/payload/server/public/assets/{xychartDiagram-5P7HB3ND-0W2L2hQA.js → xychartDiagram-5P7HB3ND-DGkkNLZt.js} +1 -1
  502. package/payload/server/public/assets/xychartDiagram-5P7HB3ND-DGkkNLZt.js.br +0 -0
  503. package/payload/server/public/assets/xychartDiagram-5P7HB3ND-DGkkNLZt.js.gz +0 -0
  504. package/payload/server/public/browser.html +6 -6
  505. package/payload/server/public/calendar.html +9 -9
  506. package/payload/server/public/chat.html +16 -16
  507. package/payload/server/public/data.html +15 -15
  508. package/payload/server/public/field.html +4 -4
  509. package/payload/server/public/graph.html +11 -11
  510. package/payload/server/public/index.html +17 -17
  511. package/payload/server/public/operator.html +17 -17
  512. package/payload/server/public/public.html +16 -16
  513. package/payload/server/public/routines.html +10 -10
  514. package/payload/server/public/skills.html +7 -7
  515. package/payload/server/public/tasks.html +8 -8
  516. package/payload/server/server.js +3111 -2182
  517. package/dist/__tests__/converge-client-admins.test.js +0 -50
  518. package/payload/platform/lib/dispatch-read/src/config.d.ts +0 -26
  519. package/payload/platform/lib/dispatch-read/src/types.d.ts +0 -143
  520. package/payload/server/public/assets/AdminLoginScreens-Dp6k1XgD.js.br +0 -0
  521. package/payload/server/public/assets/AdminLoginScreens-Dp6k1XgD.js.gz +0 -0
  522. package/payload/server/public/assets/AdminShell-D-wB90c3.js +0 -3
  523. package/payload/server/public/assets/AdminShell-D-wB90c3.js.br +0 -0
  524. package/payload/server/public/assets/AdminShell-D-wB90c3.js.gz +0 -0
  525. package/payload/server/public/assets/activity-BJxhblz-.js.br +0 -0
  526. package/payload/server/public/assets/activity-BJxhblz-.js.gz +0 -0
  527. package/payload/server/public/assets/admin-DzEi8shs.js +0 -1
  528. package/payload/server/public/assets/admin-DzEi8shs.js.br +0 -0
  529. package/payload/server/public/assets/admin-DzEi8shs.js.gz +0 -0
  530. package/payload/server/public/assets/agents-DTL8kjfD.js.br +0 -0
  531. package/payload/server/public/assets/agents-DTL8kjfD.js.gz +0 -0
  532. package/payload/server/public/assets/arc-CWXBKNZd.js.br +0 -0
  533. package/payload/server/public/assets/arc-CWXBKNZd.js.gz +0 -0
  534. package/payload/server/public/assets/architecture-YZFGNWBL-CIL4I0fc.js +0 -1
  535. package/payload/server/public/assets/architecture-YZFGNWBL-CIL4I0fc.js.br +0 -0
  536. package/payload/server/public/assets/architectureDiagram-Q4EWVU46-C-KPMyG4.js.br +0 -0
  537. package/payload/server/public/assets/architectureDiagram-Q4EWVU46-C-KPMyG4.js.gz +0 -0
  538. package/payload/server/public/assets/blockDiagram-DXYQGD6D-DkYbV9Sf.js.br +0 -0
  539. package/payload/server/public/assets/blockDiagram-DXYQGD6D-DkYbV9Sf.js.gz +0 -0
  540. package/payload/server/public/assets/browser-UZp75zhx.js.br +0 -0
  541. package/payload/server/public/assets/browser-UZp75zhx.js.gz +0 -0
  542. package/payload/server/public/assets/c4Diagram-AHTNJAMY-EYW4kdlx.js.br +0 -0
  543. package/payload/server/public/assets/calendar-Dfo0O2K_.js.br +0 -0
  544. package/payload/server/public/assets/calendar-Dfo0O2K_.js.gz +0 -0
  545. package/payload/server/public/assets/channel-CbHmRjy_.js +0 -1
  546. package/payload/server/public/assets/channel-CbHmRjy_.js.br +0 -0
  547. package/payload/server/public/assets/chat-ByJAvEWZ.js +0 -1
  548. package/payload/server/public/assets/chat-ByJAvEWZ.js.br +0 -0
  549. package/payload/server/public/assets/chat-ByJAvEWZ.js.gz +0 -0
  550. package/payload/server/public/assets/chevron-left-iG7sYNm7.js +0 -1
  551. package/payload/server/public/assets/chevron-left-iG7sYNm7.js.br +0 -0
  552. package/payload/server/public/assets/chunk-2KRD3SAO-CmAF1UmH.js.br +0 -0
  553. package/payload/server/public/assets/chunk-2KRD3SAO-CmAF1UmH.js.gz +0 -0
  554. package/payload/server/public/assets/chunk-336JU56O-CyhmJeMM.js.br +0 -0
  555. package/payload/server/public/assets/chunk-336JU56O-CyhmJeMM.js.gz +0 -0
  556. package/payload/server/public/assets/chunk-426QAEUC-C2tnHCM7.js +0 -1
  557. package/payload/server/public/assets/chunk-426QAEUC-C2tnHCM7.js.br +0 -0
  558. package/payload/server/public/assets/chunk-426QAEUC-C2tnHCM7.js.gz +0 -0
  559. package/payload/server/public/assets/chunk-4BX2VUAB-DCzC40-Y.js.br +0 -0
  560. package/payload/server/public/assets/chunk-4BX2VUAB-DCzC40-Y.js.gz +0 -0
  561. package/payload/server/public/assets/chunk-4TB4RGXK-D9BXrSA_.js.br +0 -0
  562. package/payload/server/public/assets/chunk-4TB4RGXK-D9BXrSA_.js.gz +0 -0
  563. package/payload/server/public/assets/chunk-55IACEB6-BwXC-qTZ.js.br +0 -0
  564. package/payload/server/public/assets/chunk-55IACEB6-BwXC-qTZ.js.gz +0 -0
  565. package/payload/server/public/assets/chunk-5FUZZQ4R-De7QtXxM.js.br +0 -0
  566. package/payload/server/public/assets/chunk-5FUZZQ4R-De7QtXxM.js.gz +0 -0
  567. package/payload/server/public/assets/chunk-5PVQY5BW-B5tsJiCq.js.br +0 -0
  568. package/payload/server/public/assets/chunk-5PVQY5BW-B5tsJiCq.js.gz +0 -0
  569. package/payload/server/public/assets/chunk-67CJDMHE-BjTh9STV.js.br +0 -0
  570. package/payload/server/public/assets/chunk-67CJDMHE-BjTh9STV.js.gz +0 -0
  571. package/payload/server/public/assets/chunk-7N4EOEYR-91klRswn.js.br +0 -0
  572. package/payload/server/public/assets/chunk-7N4EOEYR-91klRswn.js.gz +0 -0
  573. package/payload/server/public/assets/chunk-AA7GKIK3-XFPGEoBu.js.br +0 -3
  574. package/payload/server/public/assets/chunk-AA7GKIK3-XFPGEoBu.js.gz +0 -0
  575. package/payload/server/public/assets/chunk-BSJP7CBP-B7wgMyWq.js.br +0 -0
  576. package/payload/server/public/assets/chunk-BSJP7CBP-B7wgMyWq.js.gz +0 -0
  577. package/payload/server/public/assets/chunk-CIAEETIT-WPy9vcOo.js.br +0 -0
  578. package/payload/server/public/assets/chunk-CIAEETIT-WPy9vcOo.js.gz +0 -0
  579. package/payload/server/public/assets/chunk-EDXVE4YY-D_2JIFFG.js.br +0 -0
  580. package/payload/server/public/assets/chunk-EDXVE4YY-D_2JIFFG.js.gz +0 -0
  581. package/payload/server/public/assets/chunk-ENJZ2VHE-xORReRt0.js.br +0 -0
  582. package/payload/server/public/assets/chunk-ENJZ2VHE-xORReRt0.js.gz +0 -0
  583. package/payload/server/public/assets/chunk-FMBD7UC4-BZsDu4nl.js.br +0 -0
  584. package/payload/server/public/assets/chunk-FMBD7UC4-BZsDu4nl.js.gz +0 -0
  585. package/payload/server/public/assets/chunk-FOC6F5B3-QzUp8wXX.js.br +0 -0
  586. package/payload/server/public/assets/chunk-FOC6F5B3-QzUp8wXX.js.gz +0 -0
  587. package/payload/server/public/assets/chunk-ICPOFSXX-B64S7i7x.js.br +0 -0
  588. package/payload/server/public/assets/chunk-ICPOFSXX-B64S7i7x.js.gz +0 -0
  589. package/payload/server/public/assets/chunk-K5T4RW27-DzPc6X1_.js.br +0 -0
  590. package/payload/server/public/assets/chunk-K5T4RW27-DzPc6X1_.js.gz +0 -0
  591. package/payload/server/public/assets/chunk-KGLVRYIC-A2rPnD7k.js.br +0 -1
  592. package/payload/server/public/assets/chunk-KGLVRYIC-A2rPnD7k.js.gz +0 -0
  593. package/payload/server/public/assets/chunk-LIHQZDEY-CaWX327m.js.br +0 -0
  594. package/payload/server/public/assets/chunk-LIHQZDEY-CaWX327m.js.gz +0 -0
  595. package/payload/server/public/assets/chunk-ORNJ4GCN-zrWhdmnc.js.br +0 -0
  596. package/payload/server/public/assets/chunk-ORNJ4GCN-zrWhdmnc.js.gz +0 -0
  597. package/payload/server/public/assets/chunk-OYMX7WX6-B_2qQir6.js.br +0 -0
  598. package/payload/server/public/assets/chunk-OYMX7WX6-B_2qQir6.js.gz +0 -0
  599. package/payload/server/public/assets/chunk-QZHKN3VN-BzgrgCTo.js +0 -1
  600. package/payload/server/public/assets/chunk-QZHKN3VN-BzgrgCTo.js.br +0 -0
  601. package/payload/server/public/assets/chunk-QZHKN3VN-BzgrgCTo.js.gz +0 -0
  602. package/payload/server/public/assets/chunk-U2HBQHQK-B-IYgxsc.js.br +0 -0
  603. package/payload/server/public/assets/chunk-U2HBQHQK-B-IYgxsc.js.gz +0 -0
  604. package/payload/server/public/assets/chunk-X2U36JSP-Y9Y1_EuG.js.br +0 -0
  605. package/payload/server/public/assets/chunk-X2U36JSP-Y9Y1_EuG.js.gz +0 -0
  606. package/payload/server/public/assets/chunk-XPW4576I-C-6yETG_.js.br +0 -0
  607. package/payload/server/public/assets/chunk-XPW4576I-C-6yETG_.js.gz +0 -0
  608. package/payload/server/public/assets/chunk-YZCP3GAM-KAuQIU5n.js.br +0 -0
  609. package/payload/server/public/assets/chunk-YZCP3GAM-KAuQIU5n.js.gz +0 -0
  610. package/payload/server/public/assets/chunk-ZZ45TVLE-BJcH3KDH.js.br +0 -0
  611. package/payload/server/public/assets/chunk-ZZ45TVLE-BJcH3KDH.js.gz +0 -0
  612. package/payload/server/public/assets/classDiagram-6PBFFD2Q-BxvqeBEj.js +0 -1
  613. package/payload/server/public/assets/classDiagram-6PBFFD2Q-BxvqeBEj.js.br +0 -0
  614. package/payload/server/public/assets/classDiagram-6PBFFD2Q-BxvqeBEj.js.gz +0 -0
  615. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-R3-NzMRG.js +0 -1
  616. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-R3-NzMRG.js.br +0 -0
  617. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-R3-NzMRG.js.gz +0 -0
  618. package/payload/server/public/assets/clock-xSs0UF10.js +0 -1
  619. package/payload/server/public/assets/clock-xSs0UF10.js.br +0 -0
  620. package/payload/server/public/assets/clock-xSs0UF10.js.gz +0 -0
  621. package/payload/server/public/assets/clone-QdOE5SXR.js +0 -1
  622. package/payload/server/public/assets/copy-CGI2jioK.js.br +0 -0
  623. package/payload/server/public/assets/copy-CGI2jioK.js.gz +0 -0
  624. package/payload/server/public/assets/cose-bilkent-S5V4N54A-CcXj8vHa.js.br +0 -0
  625. package/payload/server/public/assets/cose-bilkent-S5V4N54A-CcXj8vHa.js.gz +0 -0
  626. package/payload/server/public/assets/dagre-DOtq9kYX.js.br +0 -0
  627. package/payload/server/public/assets/dagre-DOtq9kYX.js.gz +0 -0
  628. package/payload/server/public/assets/dagre-KV5264BT-BOhQs4rS.js.br +0 -0
  629. package/payload/server/public/assets/dagre-KV5264BT-BOhQs4rS.js.gz +0 -0
  630. package/payload/server/public/assets/data-dvwK4BcP.js +0 -1
  631. package/payload/server/public/assets/data-dvwK4BcP.js.br +0 -0
  632. package/payload/server/public/assets/data-dvwK4BcP.js.gz +0 -0
  633. package/payload/server/public/assets/diagram-5BDNPKRD-CqJFt5ZM.js.br +0 -0
  634. package/payload/server/public/assets/diagram-5BDNPKRD-CqJFt5ZM.js.gz +0 -0
  635. package/payload/server/public/assets/diagram-G4DWMVQ6-WQIyAZMn.js.br +0 -0
  636. package/payload/server/public/assets/diagram-G4DWMVQ6-WQIyAZMn.js.gz +0 -0
  637. package/payload/server/public/assets/diagram-MMDJMWI5-jcKc4a2w.js.br +0 -0
  638. package/payload/server/public/assets/diagram-MMDJMWI5-jcKc4a2w.js.gz +0 -0
  639. package/payload/server/public/assets/diagram-TYMM5635-Bbt2KuWe.js.br +0 -0
  640. package/payload/server/public/assets/diagram-TYMM5635-Bbt2KuWe.js.gz +0 -0
  641. package/payload/server/public/assets/dispatch-Dx9-ty1K.js +0 -1
  642. package/payload/server/public/assets/dispatch-Dx9-ty1K.js.br +0 -0
  643. package/payload/server/public/assets/dispatch-Dx9-ty1K.js.gz +0 -0
  644. package/payload/server/public/assets/dist-9RiN6lky.js.br +0 -0
  645. package/payload/server/public/assets/dist-9RiN6lky.js.gz +0 -0
  646. package/payload/server/public/assets/erDiagram-SMLLAGMA-BBm6azPJ.js.br +0 -0
  647. package/payload/server/public/assets/erDiagram-SMLLAGMA-BBm6azPJ.js.gz +0 -0
  648. package/payload/server/public/assets/field-D-P6CsWA.js +0 -1
  649. package/payload/server/public/assets/field-D-P6CsWA.js.br +0 -0
  650. package/payload/server/public/assets/field-D-P6CsWA.js.gz +0 -0
  651. package/payload/server/public/assets/file-text-RWintp9q.js.br +0 -0
  652. package/payload/server/public/assets/file-text-RWintp9q.js.gz +0 -0
  653. package/payload/server/public/assets/flatten-BurGKeIy.js.br +0 -0
  654. package/payload/server/public/assets/flatten-BurGKeIy.js.gz +0 -0
  655. package/payload/server/public/assets/flowDiagram-DWJPFMVM-_r45DYJ8.js.br +0 -0
  656. package/payload/server/public/assets/flowDiagram-DWJPFMVM-_r45DYJ8.js.gz +0 -0
  657. package/payload/server/public/assets/ganttDiagram-T4ZO3ILL-Bjgj9Bej.js.br +0 -0
  658. package/payload/server/public/assets/ganttDiagram-T4ZO3ILL-Bjgj9Bej.js.gz +0 -0
  659. package/payload/server/public/assets/gitGraph-7Q5UKJZL-DdbK59od.js +0 -1
  660. package/payload/server/public/assets/gitGraph-7Q5UKJZL-DdbK59od.js.br +0 -0
  661. package/payload/server/public/assets/gitGraphDiagram-UUTBAWPF-DTRdhGJA.js.br +0 -0
  662. package/payload/server/public/assets/gitGraphDiagram-UUTBAWPF-DTRdhGJA.js.gz +0 -0
  663. package/payload/server/public/assets/graph-CpBlfYrJ.js.br +0 -0
  664. package/payload/server/public/assets/graph-CpBlfYrJ.js.gz +0 -0
  665. package/payload/server/public/assets/graph-labels-BOMyPppX.js.br +0 -0
  666. package/payload/server/public/assets/graph-labels-BOMyPppX.js.gz +0 -0
  667. package/payload/server/public/assets/graphlib-DT4h6-4N.js.br +0 -0
  668. package/payload/server/public/assets/graphlib-DT4h6-4N.js.gz +0 -0
  669. package/payload/server/public/assets/info-OMHHGYJF-BR8gm0wj.js +0 -1
  670. package/payload/server/public/assets/info-OMHHGYJF-BR8gm0wj.js.br +0 -0
  671. package/payload/server/public/assets/infoDiagram-42DDH7IO-Cr3Efss6.js +0 -2
  672. package/payload/server/public/assets/infoDiagram-42DDH7IO-Cr3Efss6.js.br +0 -0
  673. package/payload/server/public/assets/infoDiagram-42DDH7IO-Cr3Efss6.js.gz +0 -0
  674. package/payload/server/public/assets/isEmpty-C5v0-EY7.js.br +0 -0
  675. package/payload/server/public/assets/isEmpty-C5v0-EY7.js.gz +0 -0
  676. package/payload/server/public/assets/ishikawaDiagram-UXIWVN3A-BklHzVHm.js.br +0 -0
  677. package/payload/server/public/assets/ishikawaDiagram-UXIWVN3A-BklHzVHm.js.gz +0 -0
  678. package/payload/server/public/assets/journeyDiagram-VCZTEJTY-Ckxx2CmV.js.br +0 -0
  679. package/payload/server/public/assets/journeyDiagram-VCZTEJTY-Ckxx2CmV.js.gz +0 -0
  680. package/payload/server/public/assets/jsx-runtime-5lmxFBIw.js.br +0 -0
  681. package/payload/server/public/assets/jsx-runtime-5lmxFBIw.js.gz +0 -0
  682. package/payload/server/public/assets/jsx-runtime-DxsQ5Y-z.css.br +0 -0
  683. package/payload/server/public/assets/kanban-definition-6JOO6SKY-BLELXpqn.js.br +0 -0
  684. package/payload/server/public/assets/kanban-definition-6JOO6SKY-BLELXpqn.js.gz +0 -0
  685. package/payload/server/public/assets/line-BkI5icOY.js.br +0 -0
  686. package/payload/server/public/assets/line-BkI5icOY.js.gz +0 -0
  687. package/payload/server/public/assets/linear-B64ANRVs.js.br +0 -0
  688. package/payload/server/public/assets/linear-B64ANRVs.js.gz +0 -0
  689. package/payload/server/public/assets/mermaid-parser.core-qXPKkdJe.js.br +0 -0
  690. package/payload/server/public/assets/mermaid-parser.core-qXPKkdJe.js.gz +0 -0
  691. package/payload/server/public/assets/mermaid.core-BMsz65Wy.js.br +0 -0
  692. package/payload/server/public/assets/mermaid.core-BMsz65Wy.js.gz +0 -0
  693. package/payload/server/public/assets/mindmap-definition-QFDTVHPH-DhFTS2sx.js.br +0 -0
  694. package/payload/server/public/assets/mindmap-definition-QFDTVHPH-DhFTS2sx.js.gz +0 -0
  695. package/payload/server/public/assets/operator-DFgW6GiH.js +0 -1
  696. package/payload/server/public/assets/operator-DFgW6GiH.js.br +0 -0
  697. package/payload/server/public/assets/operator-DFgW6GiH.js.gz +0 -0
  698. package/payload/server/public/assets/ordinal-CJ_pL32Z.js.br +0 -0
  699. package/payload/server/public/assets/ordinal-CJ_pL32Z.js.gz +0 -0
  700. package/payload/server/public/assets/packet-4T2RLAQJ-B31PbAeA.js +0 -1
  701. package/payload/server/public/assets/packet-4T2RLAQJ-B31PbAeA.js.br +0 -0
  702. package/payload/server/public/assets/page-BRShHSH0.js.br +0 -0
  703. package/payload/server/public/assets/page-BRShHSH0.js.gz +0 -0
  704. package/payload/server/public/assets/page-BbBCu9iP.js.br +0 -0
  705. package/payload/server/public/assets/page-BbBCu9iP.js.gz +0 -0
  706. package/payload/server/public/assets/pdf-render-ynIPXfRA.js.br +0 -0
  707. package/payload/server/public/assets/pdf-render-ynIPXfRA.js.gz +0 -0
  708. package/payload/server/public/assets/pie-ZZUOXDRM-BbSc1VXl.js +0 -1
  709. package/payload/server/public/assets/pie-ZZUOXDRM-BbSc1VXl.js.br +0 -0
  710. package/payload/server/public/assets/pieDiagram-DEJITSTG-B2TxkbHK.js.br +0 -0
  711. package/payload/server/public/assets/pieDiagram-DEJITSTG-B2TxkbHK.js.gz +0 -0
  712. package/payload/server/public/assets/play-BJxUaf6-.js +0 -1
  713. package/payload/server/public/assets/play-BJxUaf6-.js.br +0 -0
  714. package/payload/server/public/assets/play-BJxUaf6-.js.gz +0 -0
  715. package/payload/server/public/assets/public-DkObqkzL.js.br +0 -0
  716. package/payload/server/public/assets/public-DkObqkzL.js.gz +0 -0
  717. package/payload/server/public/assets/quadrantDiagram-34T5L4WZ-GsMxIJuS.js.br +0 -0
  718. package/payload/server/public/assets/quadrantDiagram-34T5L4WZ-GsMxIJuS.js.gz +0 -0
  719. package/payload/server/public/assets/radar-PYXPWWZC-B0La8_mZ.js +0 -1
  720. package/payload/server/public/assets/radar-PYXPWWZC-B0La8_mZ.js.br +0 -0
  721. package/payload/server/public/assets/reduce-CfkEiHc9.js.br +0 -0
  722. package/payload/server/public/assets/reduce-CfkEiHc9.js.gz +0 -0
  723. package/payload/server/public/assets/requirementDiagram-MS252O5E-DqNprm-1.js.br +0 -0
  724. package/payload/server/public/assets/requirementDiagram-MS252O5E-DqNprm-1.js.gz +0 -0
  725. package/payload/server/public/assets/rotate-ccw-DgMO69nh.js.br +0 -0
  726. package/payload/server/public/assets/rotate-ccw-DgMO69nh.js.gz +0 -0
  727. package/payload/server/public/assets/routines-D9kvg_Xu.js.br +0 -0
  728. package/payload/server/public/assets/routines-D9kvg_Xu.js.gz +0 -0
  729. package/payload/server/public/assets/sankeyDiagram-XADWPNL6-B-kRuiuz.js.br +0 -0
  730. package/payload/server/public/assets/sankeyDiagram-XADWPNL6-B-kRuiuz.js.gz +0 -0
  731. package/payload/server/public/assets/sequenceDiagram-FGHM5R23-DEhL9g3K.js.br +0 -0
  732. package/payload/server/public/assets/sequenceDiagram-FGHM5R23-DEhL9g3K.js.gz +0 -0
  733. package/payload/server/public/assets/skills-l5I9HZ3D.js.br +0 -0
  734. package/payload/server/public/assets/skills-l5I9HZ3D.js.gz +0 -0
  735. package/payload/server/public/assets/src-BrAT6wKv.js.br +0 -0
  736. package/payload/server/public/assets/src-BrAT6wKv.js.gz +0 -0
  737. package/payload/server/public/assets/stateDiagram-FHFEXIEX-Q-g6BHdz.js.br +0 -0
  738. package/payload/server/public/assets/stateDiagram-FHFEXIEX-Q-g6BHdz.js.gz +0 -0
  739. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-ssRWItVj.js +0 -1
  740. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-ssRWItVj.js.br +0 -0
  741. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-ssRWItVj.js.gz +0 -0
  742. package/payload/server/public/assets/tasks-C2qJMv6i.js.br +0 -0
  743. package/payload/server/public/assets/tasks-C2qJMv6i.js.gz +0 -0
  744. package/payload/server/public/assets/timeline-definition-GMOUNBTQ-B3-52q4Q.js.br +0 -0
  745. package/payload/server/public/assets/timeline-definition-GMOUNBTQ-B3-52q4Q.js.gz +0 -0
  746. package/payload/server/public/assets/treeView-SZITEDCU-BBR3hu9P.js +0 -1
  747. package/payload/server/public/assets/treeView-SZITEDCU-BBR3hu9P.js.br +0 -0
  748. package/payload/server/public/assets/treemap-W4RFUUIX-wSQMuzBT.js +0 -1
  749. package/payload/server/public/assets/treemap-W4RFUUIX-wSQMuzBT.js.br +0 -0
  750. package/payload/server/public/assets/triangle-alert-BnC67uSs.js.br +0 -0
  751. package/payload/server/public/assets/triangle-alert-BnC67uSs.js.gz +0 -0
  752. package/payload/server/public/assets/useCopyFeedback-1RmgkTFh.js.br +0 -0
  753. package/payload/server/public/assets/useCopyFeedback-1RmgkTFh.js.gz +0 -0
  754. package/payload/server/public/assets/useMediaQuery-BQslddHQ.js.br +0 -0
  755. package/payload/server/public/assets/useMediaQuery-BQslddHQ.js.gz +0 -0
  756. package/payload/server/public/assets/useVoiceRecorder-BeZNQEC4.js.br +0 -0
  757. package/payload/server/public/assets/useVoiceRecorder-BeZNQEC4.js.gz +0 -0
  758. package/payload/server/public/assets/vennDiagram-DHZGUBPP-Bzm1VDi1.js.br +0 -0
  759. package/payload/server/public/assets/vennDiagram-DHZGUBPP-Bzm1VDi1.js.gz +0 -0
  760. package/payload/server/public/assets/wardley-RL74JXVD-3QaECtQN.js +0 -1
  761. package/payload/server/public/assets/wardley-RL74JXVD-3QaECtQN.js.br +0 -0
  762. package/payload/server/public/assets/wardleyDiagram-NUSXRM2D-DIqGZr4v.js.br +0 -0
  763. package/payload/server/public/assets/wardleyDiagram-NUSXRM2D-DIqGZr4v.js.gz +0 -0
  764. package/payload/server/public/assets/wrench-D4ufQG6C.js.br +0 -0
  765. package/payload/server/public/assets/wrench-D4ufQG6C.js.gz +0 -0
  766. package/payload/server/public/assets/xychartDiagram-5P7HB3ND-0W2L2hQA.js.br +0 -0
  767. package/payload/server/public/assets/xychartDiagram-5P7HB3ND-0W2L2hQA.js.gz +0 -0
  768. package/payload/server/public/dispatch.html +0 -20
  769. /package/payload/server/public/assets/{_baseFor-D1duyODO.js → _baseFor-BApe6Tla.js} +0 -0
  770. /package/payload/server/public/assets/{_baseFor-D1duyODO.js.br → _baseFor-BApe6Tla.js.br} +0 -0
  771. /package/payload/server/public/assets/{_baseFor-D1duyODO.js.gz → _baseFor-BApe6Tla.js.gz} +0 -0
  772. /package/payload/server/public/assets/{array-j7Xa9Fap.js → array-eiH4WfvY.js} +0 -0
  773. /package/payload/server/public/assets/{array-j7Xa9Fap.js.br → array-eiH4WfvY.js.br} +0 -0
  774. /package/payload/server/public/assets/{chunk-DlZTsV_O.js → chunk-BycB0eMI.js} +0 -0
  775. /package/payload/server/public/assets/{chunk-DlZTsV_O.js.br → chunk-BycB0eMI.js.br} +0 -0
  776. /package/payload/server/public/assets/{chunk-DlZTsV_O.js.gz → chunk-BycB0eMI.js.gz} +0 -0
  777. /package/payload/server/public/assets/{cytoscape.esm-Dob3eilA.js → cytoscape.esm-BZ6NYo0w.js} +0 -0
  778. /package/payload/server/public/assets/{cytoscape.esm-Dob3eilA.js.br → cytoscape.esm-BZ6NYo0w.js.br} +0 -0
  779. /package/payload/server/public/assets/{cytoscape.esm-Dob3eilA.js.gz → cytoscape.esm-BZ6NYo0w.js.gz} +0 -0
  780. /package/payload/server/public/assets/{defaultLocale-BNILPWh2.js → defaultLocale-DWHqsa6O.js} +0 -0
  781. /package/payload/server/public/assets/{defaultLocale-BNILPWh2.js.br → defaultLocale-DWHqsa6O.js.br} +0 -0
  782. /package/payload/server/public/assets/{defaultLocale-BNILPWh2.js.gz → defaultLocale-DWHqsa6O.js.gz} +0 -0
  783. /package/payload/server/public/assets/{file-download-CN4H4Eih.js → file-download-B7zwa78w.js} +0 -0
  784. /package/payload/server/public/assets/{file-download-CN4H4Eih.js.br → file-download-B7zwa78w.js.br} +0 -0
  785. /package/payload/server/public/assets/{file-download-CN4H4Eih.js.gz → file-download-B7zwa78w.js.gz} +0 -0
  786. /package/payload/server/public/assets/{init-ve51bpJo.js → init-BdkYWjJJ.js} +0 -0
  787. /package/payload/server/public/assets/{init-ve51bpJo.js.br → init-BdkYWjJJ.js.br} +0 -0
  788. /package/payload/server/public/assets/{init-ve51bpJo.js.gz → init-BdkYWjJJ.js.gz} +0 -0
  789. /package/payload/server/public/assets/{katex-CJNaolDQ.js → katex-BCzoGtFh.js} +0 -0
  790. /package/payload/server/public/assets/{katex-CJNaolDQ.js.br → katex-BCzoGtFh.js.br} +0 -0
  791. /package/payload/server/public/assets/{katex-CJNaolDQ.js.gz → katex-BCzoGtFh.js.gz} +0 -0
  792. /package/payload/server/public/assets/{path-B4emajHp.js → path-DY2qBuPM.js} +0 -0
  793. /package/payload/server/public/assets/{path-B4emajHp.js.br → path-DY2qBuPM.js.br} +0 -0
  794. /package/payload/server/public/assets/{path-B4emajHp.js.gz → path-DY2qBuPM.js.gz} +0 -0
  795. /package/payload/server/public/assets/{preload-helper-3YNEDsJZ.js → preload-helper-eAV8hweq.js} +0 -0
  796. /package/payload/server/public/assets/{preload-helper-3YNEDsJZ.js.br → preload-helper-eAV8hweq.js.br} +0 -0
  797. /package/payload/server/public/assets/{preload-helper-3YNEDsJZ.js.gz → preload-helper-eAV8hweq.js.gz} +0 -0
  798. /package/payload/server/public/assets/{rough.esm-zabqYs6f.js → rough.esm-ec8xsRC7.js} +0 -0
  799. /package/payload/server/public/assets/{rough.esm-zabqYs6f.js.br → rough.esm-ec8xsRC7.js.br} +0 -0
  800. /package/payload/server/public/assets/{rough.esm-zabqYs6f.js.gz → rough.esm-ec8xsRC7.js.gz} +0 -0
@@ -1,11 +1,27 @@
1
1
  ---
2
2
  name: dispatch
3
- description: "Field-work dispatch. Creates a job, allocates it to a qualified worker, moves it through the account's own configured statuses, and records what happened on site. Every status, job type, qualification, checklist, SLA target and operator-facing noun is read from $ACCOUNT_DIR/dispatch/config.json, never hard-coded, so a taxi firm's fare/pickup/driver and a contractor's job/visit/engineer run identical code. Provides dispatch-config-get, dispatch-job-create, dispatch-job-get, dispatch-job-list, dispatch-allocate-candidates, dispatch-allocate, dispatch-visit-status-set, dispatch-visit-record, dispatch-site-history and dispatch-day. Ships the dispatch-setup skill, which elicits and validates the config."
3
+ description: "Field-work dispatch. Holds an inbound request as a reviewable draft, creates a job when somebody approves it, allocates it to a qualified worker with an estimate of how far each candidate has to come, moves it through the account's own configured statuses, sends the worker the card he presses to move it, and records what happened on site. Every status, job type, qualification, checklist, SLA target and operator-facing noun is read from $ACCOUNT_DIR/dispatch/config.json, never hard-coded, so a taxi firm's fare/pickup/driver and a contractor's job/visit/engineer run identical code. Provides dispatch-config-get, dispatch-intake-draft, dispatch-intake-decide, dispatch-intake-list, dispatch-site-upsert, dispatch-site-location-set, dispatch-job-create, dispatch-job-get, dispatch-job-list, dispatch-allocate-candidates, dispatch-allocate, dispatch-visit-status-set, dispatch-visit-record, dispatch-site-history, dispatch-day and dispatch-notify-worker. Ships the dispatch-setup skill, which elicits and validates the config, and the dispatch-page skill, which puts the account's week planner on its own portal domain."
4
4
  tools:
5
5
  - name: dispatch-config-get
6
6
  publicAllowlist: false
7
7
  adminAllowlist: true
8
8
  riskClass: read
9
+ - name: dispatch-intake-draft
10
+ publicAllowlist: false
11
+ adminAllowlist: true
12
+ riskClass: write_local
13
+ - name: dispatch-intake-decide
14
+ publicAllowlist: false
15
+ adminAllowlist: true
16
+ riskClass: write_local
17
+ - name: dispatch-intake-list
18
+ publicAllowlist: false
19
+ adminAllowlist: true
20
+ riskClass: read
21
+ - name: dispatch-site-upsert
22
+ publicAllowlist: false
23
+ adminAllowlist: true
24
+ riskClass: write_local
9
25
  - name: dispatch-job-create
10
26
  publicAllowlist: false
11
27
  adminAllowlist: true
@@ -42,6 +58,14 @@ tools:
42
58
  publicAllowlist: false
43
59
  adminAllowlist: true
44
60
  riskClass: read
61
+ - name: dispatch-notify-worker
62
+ publicAllowlist: false
63
+ adminAllowlist: true
64
+ riskClass: write_local
65
+ - name: dispatch-site-location-set
66
+ publicAllowlist: false
67
+ adminAllowlist: true
68
+ riskClass: write_local
45
69
  always: false
46
70
  embed: false
47
71
  metadata: {"platform":{}}
@@ -67,9 +91,19 @@ A write path for field work. Admin agent only.
67
91
 
68
92
  ## What it does and does not do
69
93
 
70
- It creates a job at a site for a customer, offers the workers who could take it, sends one of them, moves the job and its visits through the statuses this account declared, and records what happened on site: notes, photos, parts fitted, checklist items, signatures, and when the worker arrived.
94
+ It holds an inbound request until somebody decides on it, creates a job at a site for a customer, offers the workers who could take it, sends one of them, moves the job and its visits through the statuses this account declared, and records what happened on site: notes, photos, parts fitted, checklist items, signatures, and when the worker arrived.
95
+
96
+ It does not price work, invoice it, optimise a route, or generate a planned-maintenance schedule. It estimates no travel time; that is separate work. It creates no site, customer, worker or vehicle — it refuses when one of those is missing rather than inventing it, because a job pointing at a site nobody has heard of is worse than no job.
97
+
98
+ ## A request is a draft before it is a job
99
+
100
+ An inbound request becomes an `:IntakeDraft`, not a `:Job`. It records the fields that resolved on this account and names the required ones that did not, so a half-understood request is visible rather than guessed at. A value naming nothing counts as missing exactly like an omitted one; there is one list to act on, not two.
71
101
 
72
- It does not price work, invoice it, optimise a route, or generate a planned-maintenance schedule. It holds no intake queue and estimates no travel time; both are separate work. It creates no site, customer, worker or vehicle it refuses when one of those is missing rather than inventing it, because a job pointing at a site nobody has heard of is worse than no job.
102
+ Approval creates the job through the same write path `dispatch-job-create` uses, so the opening status and the SLA target come from this account's config and nothing reaches the graph by a route the census was never taught about. Rejection records a reason and keeps the draft. A decision is final, because approving twice turns one request into two jobs with no line saying which was real.
103
+
104
+ A draft is deliberately not a `:Job` carrying a flag. A draft that is a `:Job` appears in `dispatch-job-list`, in the census `jobs=` count and in the planner, which is the confusion the queue exists to prevent.
105
+
106
+ The failure that emits nothing here is a draft nobody decided on: nothing was created so there are no write logs, nothing was refused so there are no rejection logs, and the requester never got an answer. Only the census can see it.
73
107
 
74
108
  ## Nothing an operator can name is in the source
75
109
 
@@ -77,6 +111,12 @@ It does not price work, invoice it, optimise a route, or generate a planned-main
77
111
 
78
112
  A test walks every source file in this plugin and fails if any string from either shipped fixture config appears in it. That is the mechanism behind the claim, not a convention. Both fixtures — an electrical contractor and a taxi firm — share no status, job type, qualification or noun, and the same suite drives both from creation to a terminal status.
79
113
 
114
+ ## Two skills: author the config, then put the week on a page
115
+
116
+ `dispatch-setup` elicits and validates `$ACCOUNT_DIR/dispatch/config.json`. Until it exists, every tool here registers and refuses with `reason=no-config`.
117
+
118
+ `dispatch-page` puts the account's week planner on the domain its people already sign in to, as a page inside their existing data portal at `/planner`. It is not a dashboard route and not a second site: the people, the passcodes, the sessions and the scope that decides who may read what are already rows in the portal's own database, and `functions/api/visits.ts` is the one place that filter is written. An office person enrolled `--record-scope account` sees every worker's week; a field worker enrolled `own` sees their own. The device publishes the roster, the nouns, the statuses and the account's timezone with the visits every sixty seconds, so the page renders one account's words with no literal of its own.
119
+
80
120
  ## Legality is data
81
121
 
82
122
  A move from one status to another is legal when the account's own transition list contains that pair, and refused otherwise. There is no state machine in the code. The refusal names both ends, so `op=transition-refused … from=X to=Y reason=not-in-config` says exactly what was attempted and why it did not happen. A move into a terminal status is refused a second way when the visit is missing a field the account requires there, and that refusal names the field.
@@ -97,13 +137,16 @@ A pressed arrival is what somebody said; an observed one is what was measured. T
97
137
 
98
138
  ## The standing checks
99
139
 
100
- Six ways this can fail emit no event at all, because no action occurs: a job created and never allocated, a job past its SLA target, a status no transition reaches, a job type no worker is qualified for, a worker with no qualification recorded, and visits closing hours after the work ended.
140
+ Eight ways this can fail emit no event at all, because no action occurs: a draft nobody decided on, a job created and never allocated, a job past its SLA target, a status no transition reaches, a job type no worker is qualified for, a worker with no qualification recorded, visits closing hours after the work ended, and an assignment card sent to a worker's phone that never arrived.
101
141
 
102
- None can be caught by logging an action. Three standing lines cover them, emitted by the UI server rather than by this plugin, because a plugin only runs when somebody calls it:
142
+ None can be caught by logging an action. Four standing lines cover them, emitted by the UI server rather than by this plugin, because a plugin only runs when somebody calls it:
103
143
 
104
- - `[dispatch-census]`, per account, every 15 minutes: job counts, unallocated count and the age of the oldest, overdue count, open visits and those open over 24 hours.
144
+ - `[dispatch-census]`, per account, every 15 minutes: job counts, unallocated count and the age of the oldest, overdue count, open visits and those open over 24 hours, undecided drafts and the age of the oldest.
105
145
  - `[dispatch-config-audit]`, on config load and each census tick: status and job-type counts, unreachable statuses, job types with no qualified worker, workers with no qualification.
106
146
  - `[dispatch-record-census]`, daily: closed visits, how many carry a note or a photo, and the median and 90th-percentile lag between work ending and the record being written.
147
+ - `[dispatch-tg-census]`, per account, every 15 minutes: cards sent today against cards pressed, the age of the oldest unacknowledged one, live keyboards and how many sit on closed visits, presses and failures, voice notes awaiting transcription, and sites with no coordinates. `op=delivered` proves the server holds the payload, not that the worker received it, so only reconciling sent against pressed sees a card that never landed.
148
+
149
+ Per press and per inbound, the card path emits `[dispatch-tg]`: `op=dispatch-sent`, `op=callback-stale`, `op=callback-applied`, `op=card-redrawn`, `op=location-update`, `op=geofence-enter`, `op=voice-received` then `op=voice-transcribed`, `op=media-attached`, `op=unbound-inbound`, `op=button-too-long`. The absence of `op=voice-transcribed` after an `op=voice-received` is the failure, not an error line.
107
150
 
108
151
  `overdue` is the count the reference account's incumbent system reports as zero, because its response-time targets were never configured. A non-zero and believable number here is the feature working, not a fault.
109
152
 
@@ -7,10 +7,15 @@ import { closeDriver, getSession } from "./lib/neo4j.js";
7
7
  import { auditConfig, formatConfigAudit, loadConfig } from "./lib/config.js";
8
8
  import { configGet } from "./tools/config-get.js";
9
9
  import { jobCreate } from "./tools/job-create.js";
10
+ import { siteUpsert } from "./tools/site-upsert.js";
10
11
  import { allocate, allocateCandidates } from "./tools/allocate.js";
12
+ import { straightLineEstimator } from "./lib/travel.js";
11
13
  import { visitStatusSet } from "./tools/visit-status-set.js";
12
14
  import { visitRecord } from "./tools/visit-record.js";
13
15
  import { day, jobGet, jobList, siteHistory } from "./tools/reads.js";
16
+ import { intakeDecide, intakeDraft, intakeList } from "./tools/intake.js";
17
+ import { notifyWorker, sendCardViaBotApi } from "./tools/notify-worker.js";
18
+ import { siteLocationSet } from "./tools/site-location-set.js";
14
19
  const server = new McpServer({ name: "maxy-dispatch", version: "0.1.0" });
15
20
  // Plugin-system boot tolerance. Module init must never throw: plugin-system
16
21
  // spawn enumerates tools/list with empty env, and a boot throw empties the
@@ -77,6 +82,26 @@ const createdBy = (tool) => ({
77
82
  });
78
83
  // No cast. The params are structurally what graph-write takes.
79
84
  const write = writeNodeWithEdges;
85
+ /**
86
+ * Assumed average road speed for the shipped estimate, in km/h.
87
+ *
88
+ * An assumption about a working day of mixed urban and A-road driving, not a
89
+ * measurement of anybody's fleet. It is a module constant rather than a config
90
+ * key because the figure a straight line needs is a fudge factor, and offering
91
+ * it as a per-account setting would invite an operator to tune it as though the
92
+ * result were a road route. An account that wants real drive times injects a
93
+ * routing estimator instead.
94
+ */
95
+ const ROAD_SPEED_KMH = 48;
96
+ /**
97
+ * The travel estimate at allocation.
98
+ *
99
+ * Straight-line, so it is a lower bound on a drive and never more. The method
100
+ * travels with every reading as `provider=straight-line`, in the log line and
101
+ * in the tool's own JSON, so it stays an assumption a reader can see rather
102
+ * than folklore about how far apart two towns are.
103
+ */
104
+ const estimator = straightLineEstimator(ROAD_SPEED_KMH);
80
105
  const emit = (line) => process.stderr.write(line + "\n");
81
106
  const now = () => Date.now();
82
107
  async function withSession(fn) {
@@ -117,6 +142,116 @@ eagerTool(server, "dispatch-job-create", "Raise a job at a site for a customer.
117
142
  description: args.description,
118
143
  }));
119
144
  });
145
+ eagerTool(server, "dispatch-site-upsert", "Create a site, or give an existing one its street address and postcode. A site with no address is a site the worker cannot find, and it is counted every fifteen minutes until it has one. The three address fields travel together — a postcode with no street reads on a card as a whole address. Refuses a customer that does not exist rather than inventing one, and refuses a region outside East, North, South and West.", {
146
+ siteId: z.string().min(1).describe("siteId of the site — created if it does not exist"),
147
+ name: z.string().optional().describe("Site name — required only when the site is new"),
148
+ region: z
149
+ .string()
150
+ .optional()
151
+ .describe("East, North, South or West — required only when the site is new"),
152
+ customerId: z
153
+ .string()
154
+ .optional()
155
+ .describe("customerId the site belongs to — required when the site is new, and otherwise taken from the site's existing customer"),
156
+ streetAddress: z.string().optional().describe("Street line — all three address fields or none"),
157
+ addressLocality: z.string().optional().describe("Town — all three address fields or none"),
158
+ postalCode: z.string().optional().describe("Postcode — all three address fields or none"),
159
+ }, async (args) => {
160
+ const r = ready("dispatch-site-upsert");
161
+ if (!r.ok)
162
+ return r.result;
163
+ return withSession((session) => siteUpsert({
164
+ session,
165
+ write,
166
+ accountId: r.accountId,
167
+ createdBy: createdBy("dispatch-site-upsert"),
168
+ cfg: r.cfg,
169
+ emit,
170
+ siteId: args.siteId,
171
+ name: args.name,
172
+ region: args.region,
173
+ customerId: args.customerId,
174
+ streetAddress: args.streetAddress,
175
+ addressLocality: args.addressLocality,
176
+ postalCode: args.postalCode,
177
+ }));
178
+ });
179
+ eagerTool(server, "dispatch-intake-draft", "Hold an inbound request as a draft rather than raising it as a job. Stores the fields that resolved on this account and NAMES the required ones that did not, so a half-understood request is visible instead of guessed at. A value that names nothing here counts as missing, exactly like an omitted one. Refuses when neither the site nor the customer exists, because a draft with nothing to attach to cannot be stored and this tool creates neither.", {
180
+ source: z.string().min(1).describe("Where the request came from, e.g. the channel it arrived on"),
181
+ sourceRef: z.string().min(1).describe("The request's identifier in that source, so it can be traced back"),
182
+ type: z.string().optional().describe("Job type — must be one dispatch-config-get lists"),
183
+ siteId: z.string().optional().describe("siteId of an existing Site on this account"),
184
+ customerId: z.string().optional().describe("customerId of an existing Customer on this account"),
185
+ description: z.string().optional().describe("What the work is"),
186
+ }, async (args) => {
187
+ const r = ready("dispatch-intake-draft");
188
+ if (!r.ok)
189
+ return r.result;
190
+ return withSession((session) => intakeDraft({
191
+ session,
192
+ write,
193
+ accountId: r.accountId,
194
+ createdBy: createdBy("dispatch-intake-draft"),
195
+ cfg: r.cfg,
196
+ emit,
197
+ now,
198
+ source: args.source,
199
+ sourceRef: args.sourceRef,
200
+ type: args.type,
201
+ siteId: args.siteId,
202
+ customerId: args.customerId,
203
+ description: args.description,
204
+ }));
205
+ });
206
+ eagerTool(server, "dispatch-intake-decide", "Approve a draft into a job, or reject it with a reason. Approval goes through the same write path dispatch-job-create uses, so the opening status and the SLA target come from this account's own config. A required field still missing is named rather than guessed, and can be supplied on this call. A rejection keeps the draft and records why. A decision is final: a second one is refused rather than raising a duplicate job.", {
207
+ draftId: z.string().min(1).describe("The draft"),
208
+ verdict: z.enum(["approve", "reject"]).describe("What was decided"),
209
+ by: z.string().optional().describe("User id making the decision"),
210
+ reason: z.string().optional().describe("Required on reject: why it was refused"),
211
+ type: z.string().optional().describe("Fills or overrides the draft's job type"),
212
+ siteId: z.string().optional().describe("Fills or overrides the draft's site"),
213
+ customerId: z.string().optional().describe("Fills or overrides the draft's customer"),
214
+ description: z.string().optional().describe("Fills or overrides the draft's description"),
215
+ }, async (args) => {
216
+ const r = ready("dispatch-intake-decide");
217
+ if (!r.ok)
218
+ return r.result;
219
+ return withSession((session) => intakeDecide({
220
+ session,
221
+ write,
222
+ accountId: r.accountId,
223
+ createdBy: createdBy("dispatch-intake-decide"),
224
+ cfg: r.cfg,
225
+ emit,
226
+ now,
227
+ draftId: args.draftId,
228
+ verdict: args.verdict,
229
+ by: args.by ?? agentSlug,
230
+ reason: args.reason,
231
+ type: args.type,
232
+ siteId: args.siteId,
233
+ customerId: args.customerId,
234
+ description: args.description,
235
+ }));
236
+ });
237
+ eagerTool(server, "dispatch-intake-list", "The intake queue, oldest first: requests somebody read and nobody has decided on, each with the fields it carries and the ones it lacks. Naming a verdict returns drafts already decided instead, so a stored rejection reason stays readable. Drafts never appear in dispatch-job-list — they are not jobs until somebody approves one.", {
238
+ verdict: z
239
+ .enum(["approved", "rejected"])
240
+ .optional()
241
+ .describe("Omit for the undecided queue; name one to read decided drafts"),
242
+ limit: z.number().optional().describe("Max rows, 1 to 200, default 50"),
243
+ }, async (args) => {
244
+ const r = ready("dispatch-intake-list");
245
+ if (!r.ok)
246
+ return r.result;
247
+ return withSession((session) => intakeList({
248
+ session,
249
+ accountId: r.accountId,
250
+ cfg: r.cfg,
251
+ verdict: args.verdict,
252
+ limit: args.limit,
253
+ }));
254
+ });
120
255
  eagerTool(server, "dispatch-job-get", "One job with every visit on it: times, status, who attended, what was recorded, and both arrival times where they exist.", { jobId: z.string().min(1).describe("The job id") }, async (args) => {
121
256
  const r = ready("dispatch-job-get");
122
257
  if (!r.ok)
@@ -151,7 +286,7 @@ eagerTool(server, "dispatch-job-list", "Jobs on this account, filtered by status
151
286
  },
152
287
  }));
153
288
  });
154
- eagerTool(server, "dispatch-allocate-candidates", "Who could take this job in this window. Only a missing qualification excludes a worker, and every exclusion is named with its reason. A qualified worker who is already committed is offered WITH the clash shown, not hidden — double-booking is the office's call, not this tool's.", {
289
+ eagerTool(server, "dispatch-allocate-candidates", "Who could take this job in this window. Only a missing qualification excludes a worker, and every exclusion is named with its reason. A qualified worker who is already committed is offered WITH the clash shown, not hidden — double-booking is the office's call, not this tool's. Each candidate also carries travelMinutes from their previous visit that day, or a stated reason there is none. That figure is a STRAIGHT-LINE estimate over an assumed road speed, named in travelProvider: it is a lower bound on the drive, never a route, and a site with no coordinates yields no estimate rather than a guess.", {
155
290
  jobId: z.string().min(1).describe("The job to staff"),
156
291
  start: z.string().min(1).describe("ISO instant the visit would start"),
157
292
  end: z.string().optional().describe("ISO instant it would end; defaults to the job type's duration"),
@@ -164,18 +299,23 @@ eagerTool(server, "dispatch-allocate-candidates", "Who could take this job in th
164
299
  accountId: r.accountId,
165
300
  cfg: r.cfg,
166
301
  emit,
302
+ estimator,
167
303
  jobId: args.jobId,
168
304
  start: args.start,
169
305
  end: args.end,
170
306
  }));
171
307
  });
172
- eagerTool(server, "dispatch-allocate", "Send a worker to a job: creates the visit, attends it, moves the job along its own configured edge, and attaches a vehicle when this account assigns them. Re-checks the qualification rather than trusting the candidate list, which may be minutes old.", {
308
+ eagerTool(server, "dispatch-allocate", "Send a worker to a job: creates the visit, attends it, moves the job along its own configured edge, and attaches a vehicle when this account assigns them. Pass visitId to put a SECOND worker on an existing visit instead of creating another one. Re-checks the qualification rather than trusting the candidate list, which may be minutes old.", {
173
309
  jobId: z.string().min(1).describe("The job"),
174
310
  workerId: z.string().min(1).describe("workerId from this account's roster"),
175
311
  start: z.string().min(1).describe("ISO instant the visit starts"),
176
312
  end: z.string().optional().describe("ISO instant it ends; defaults to the job type's duration"),
177
313
  purpose: z.string().optional().describe("What this visit is for"),
178
314
  vehicleId: z.string().optional().describe("Only when this account has vehicles.enabled"),
315
+ visitId: z
316
+ .string()
317
+ .optional()
318
+ .describe("Add this worker to an existing visit on the same job rather than creating a new one. start, end and purpose are ignored when set — they belong to the visit, which already exists."),
179
319
  }, async (args) => {
180
320
  const r = ready("dispatch-allocate");
181
321
  if (!r.ok)
@@ -193,6 +333,7 @@ eagerTool(server, "dispatch-allocate", "Send a worker to a job: creates the visi
193
333
  end: args.end,
194
334
  purpose: args.purpose,
195
335
  vehicleId: args.vehicleId,
336
+ visitId: args.visitId,
196
337
  }));
197
338
  });
198
339
  eagerTool(server, "dispatch-visit-status-set", "Move a visit to another status. Refuses any move this account's config does not declare, naming both ends, and refuses a terminal status while a required record is missing, naming the field. Closes the job when its last visit reaches a terminal status.", {
@@ -225,6 +366,13 @@ eagerTool(server, "dispatch-visit-record", "Record what happened on a visit: a n
225
366
  partId: z.string().optional().describe("partId of a part fitted"),
226
367
  checklistItem: z.string().optional().describe("A checklist item now done"),
227
368
  signature: z.string().optional().describe("Reference to a captured signature"),
369
+ // Required in practice on a visit two workers share: arrival belongs to the
370
+ // attendance, so an unnamed arrival there is refused as ambiguous-attendance.
371
+ // Without this parameter that refusal names a fix the caller cannot apply.
372
+ workerId: z
373
+ .string()
374
+ .optional()
375
+ .describe("Whose arrival this is. Needed only when more than one worker is on the visit"),
228
376
  arrivedPressedAt: z.string().optional().describe("ISO instant the worker pressed arrive"),
229
377
  arrivedObservedAt: z.string().optional().describe("ISO instant an observation placed them on site"),
230
378
  arrivedObservedDistanceM: z.number().optional().describe("Metres from the site at that observation"),
@@ -243,6 +391,7 @@ eagerTool(server, "dispatch-visit-record", "Record what happened on a visit: a n
243
391
  partId: args.partId,
244
392
  checklistItem: args.checklistItem,
245
393
  signature: args.signature,
394
+ workerId: args.workerId,
246
395
  arrivedPressedAt: args.arrivedPressedAt,
247
396
  arrivedObservedAt: args.arrivedObservedAt,
248
397
  arrivedObservedDistanceM: args.arrivedObservedDistanceM,
@@ -269,6 +418,55 @@ eagerTool(server, "dispatch-day", "One day's dispatch: every worker on the roste
269
418
  return r.result;
270
419
  return withSession((session) => day({ session, accountId: r.accountId, cfg: r.cfg, date: args.date }));
271
420
  });
421
+ eagerTool(server, "dispatch-notify-worker", "Send the worker attending a visit the card for it: one button per move this account allows from where the visit is now, plus a button that opens the job sheet inside Telegram. Refuses a worker whose roster entry carries no telegramUserId rather than sending the card to nobody.", {
422
+ visitId: z.string().min(1).describe("The visit to send"),
423
+ publicOrigin: z
424
+ .string()
425
+ .url()
426
+ .describe("The account's public https origin, for example https://acme.example.com. Origin only — this tool appends the /field path and stamps ?bot= on for you."),
427
+ botId: z
428
+ .string()
429
+ .optional()
430
+ .describe("Which registered bot sends it; defaults to this account's admin bot"),
431
+ }, async (args) => {
432
+ const r = ready("dispatch-notify-worker");
433
+ if (!r.ok)
434
+ return r.result;
435
+ return withSession((session) => notifyWorker({
436
+ session,
437
+ accountId: r.accountId,
438
+ cfg: r.cfg,
439
+ emit,
440
+ platformRoot: process.env.MAXY_PLATFORM_ROOT ?? process.env.PLATFORM_ROOT ?? "",
441
+ visitId: args.visitId,
442
+ publicOrigin: args.publicOrigin,
443
+ botId: args.botId,
444
+ send: sendCardViaBotApi,
445
+ }));
446
+ });
447
+ eagerTool(server, "dispatch-site-location-set", "Give an existing site a latitude and longitude, and optionally its own geofence radius in metres. Without this a worker's shared live location has nothing to be measured against, so an arrival can only ever be what somebody pressed. Refuses a site this account does not hold rather than creating one.", {
448
+ siteId: z.string().min(1).describe("siteId of an existing Site on this account"),
449
+ latitude: z.number().describe("Decimal degrees, -90 to 90"),
450
+ longitude: z.number().describe("Decimal degrees, -180 to 180"),
451
+ geofenceRadiusM: z
452
+ .number()
453
+ .optional()
454
+ .describe("Metres; omit to use this account's vehicles.defaultGeofenceRadiusM"),
455
+ }, async (args) => {
456
+ const r = ready("dispatch-site-location-set");
457
+ if (!r.ok)
458
+ return r.result;
459
+ return withSession((session) => siteLocationSet({
460
+ session,
461
+ accountId: r.accountId,
462
+ cfg: r.cfg,
463
+ emit,
464
+ siteId: args.siteId,
465
+ latitude: args.latitude,
466
+ longitude: args.longitude,
467
+ geofenceRadiusM: args.geofenceRadiusM,
468
+ }));
469
+ });
272
470
  process.on("SIGINT", async () => {
273
471
  await closeDriver();
274
472
  process.exit(0);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -11,10 +11,11 @@
11
11
  * worker and its reason, because `offered=0` with no explanation is the shape a
12
12
  * quiet day and an unstaffable job type share.
13
13
  *
14
- * There is no travel-time estimate here. That is a separate task; a candidate
15
- * carries no `travelMinutes` field and no `op=travel-estimate` line is emitted,
16
- * rather than an estimate of zero or a field set to null, either of which would
17
- * read as a measurement.
14
+ * Task 2509 added the travel estimate. A candidate carries `travelMinutes` when
15
+ * one could be produced and **omits the key** when it could not, with the
16
+ * reason in `travelReason` never a zero and never a null, either of which
17
+ * would read as a measurement. `selectCandidates` below is deliberately
18
+ * untouched by it: no estimator state may change who is offered.
18
19
  */
19
20
  import type { DispatchConfig } from "./types.js";
20
21
  export interface Commitment {
@@ -53,6 +54,23 @@ export declare function overlaps(a: {
53
54
  start: string;
54
55
  end: string;
55
56
  }): boolean;
57
+ /**
58
+ * Why a candidate carries no estimate, or the estimate itself.
59
+ *
60
+ * Three values, not two. `no-previous-visit` is separate from `unavailable`
61
+ * because the task's stated failure signal is *sustained* `result=unavailable`;
62
+ * if a worker with nothing earlier that day reported the same word, that signal
63
+ * would fire on every quiet morning and could no longer be read.
64
+ */
65
+ export type TravelResult = number | "no-previous-visit" | "unavailable";
66
+ export declare function formatTravelEstimate(p: {
67
+ jobId: string;
68
+ /** `none` when the worker has nothing earlier that day. */
69
+ fromVisitId: string | null;
70
+ provider: string;
71
+ result: TravelResult;
72
+ ms: number;
73
+ }): string;
56
74
  export declare function formatAllocateCandidates(p: {
57
75
  jobId: string;
58
76
  required: string;
@@ -1 +1 @@
1
- {"version":3,"file":"allocate.d.ts","sourceRoot":"","sources":["../../src/lib/allocate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,sEAAsE;IACtE,QAAQ,CAAC,SAAS,EAAE,SAAS,UAAU,EAAE,CAAC;CAC3C;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAC;CAC1C;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,GAAG,EAAE,cAAc,CAAC;IAC7B,qEAAqE;IACrE,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,UAAU,EAAE,CAAC,CAAC;CAClE;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,OAAO,EAAE,SAAS,SAAS,EAAE,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,SAAS,SAAS,EAAE,CAAC;IACxC,uEAAuE;IACvE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,sBAAsB,GAAG,kBAAkB,CAuBnF;AAED,2DAA2D;AAC3D,wBAAgB,QAAQ,CACtB,CAAC,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,EACjC,CAAC,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAChC,OAAO,CAET;AAED,wBAAgB,wBAAwB,CAAC,CAAC,EAAE;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,SAAS,SAAS,EAAE,CAAC;CAChC,GAAG,MAAM,CAST"}
1
+ {"version":3,"file":"allocate.d.ts","sourceRoot":"","sources":["../../src/lib/allocate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,sEAAsE;IACtE,QAAQ,CAAC,SAAS,EAAE,SAAS,UAAU,EAAE,CAAC;CAC3C;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAC;CAC1C;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,GAAG,EAAE,cAAc,CAAC;IAC7B,qEAAqE;IACrE,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,UAAU,EAAE,CAAC,CAAC;CAClE;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,OAAO,EAAE,SAAS,SAAS,EAAE,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,SAAS,SAAS,EAAE,CAAC;IACxC,uEAAuE;IACvE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,sBAAsB,GAAG,kBAAkB,CAuBnF;AAED,2DAA2D;AAC3D,wBAAgB,QAAQ,CACtB,CAAC,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,EACjC,CAAC,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAChC,OAAO,CAET;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,mBAAmB,GAAG,aAAa,CAAC;AAExE,wBAAgB,oBAAoB,CAAC,CAAC,EAAE;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,2DAA2D;IAC3D,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,YAAY,CAAC;IACrB,EAAE,EAAE,MAAM,CAAC;CACZ,GAAG,MAAM,CAKT;AAED,wBAAgB,wBAAwB,CAAC,CAAC,EAAE;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,SAAS,SAAS,EAAE,CAAC;CAChC,GAAG,MAAM,CAST"}
@@ -26,6 +26,10 @@ export function selectCandidates(params) {
26
26
  export function overlaps(a, b) {
27
27
  return a.start < b.end && b.start < a.end;
28
28
  }
29
+ export function formatTravelEstimate(p) {
30
+ return (`[dispatch] op=travel-estimate jobId=${p.jobId} fromVisitId=${p.fromVisitId ?? "none"} ` +
31
+ `provider=${p.provider} result=${p.result} ms=${p.ms}`);
32
+ }
29
33
  export function formatAllocateCandidates(p) {
30
34
  const exclusions = p.excluded.length === 0
31
35
  ? "none"
@@ -1 +1 @@
1
- {"version":3,"file":"allocate.js","sourceRoot":"","sources":["../../src/lib/allocate.ts"],"names":[],"mappings":"AAoDA,MAAM,UAAU,gBAAgB,CAAC,MAA8B;IAC7D,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;IAC7C,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;IAC1D,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,2EAA2E;QAC3E,wEAAwE;QACxE,wCAAwC;QACxC,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IACrD,CAAC;IACD,MAAM,OAAO,GAAgB,EAAE,CAAC;IAChC,MAAM,QAAQ,GAAgB,EAAE,CAAC;IACjC,KAAK,MAAM,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QACjC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC;YAChE,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,uBAAuB,EAAE,CAAC,CAAC;YAC9E,SAAS;QACX,CAAC;QACD,OAAO,CAAC,IAAI,CAAC;YACX,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,SAAS,EAAE,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE;SAClD,CAAC,CAAC;IACL,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,qBAAqB,EAAE,CAAC;AACrE,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,QAAQ,CACtB,CAAiC,EACjC,CAAiC;IAEjC,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,CAKxC;IACC,MAAM,UAAU,GACd,CAAC,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;QACrB,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnE,OAAO,CACL,2CAA2C,CAAC,CAAC,KAAK,aAAa,CAAC,CAAC,QAAQ,IAAI,MAAM,GAAG;QACtF,WAAW,CAAC,CAAC,OAAO,aAAa,CAAC,CAAC,QAAQ,CAAC,MAAM,eAAe,UAAU,EAAE,CAC9E,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"allocate.js","sourceRoot":"","sources":["../../src/lib/allocate.ts"],"names":[],"mappings":"AAqDA,MAAM,UAAU,gBAAgB,CAAC,MAA8B;IAC7D,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;IAC7C,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;IAC1D,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,2EAA2E;QAC3E,wEAAwE;QACxE,wCAAwC;QACxC,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IACrD,CAAC;IACD,MAAM,OAAO,GAAgB,EAAE,CAAC;IAChC,MAAM,QAAQ,GAAgB,EAAE,CAAC;IACjC,KAAK,MAAM,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QACjC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC;YAChE,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,uBAAuB,EAAE,CAAC,CAAC;YAC9E,SAAS;QACX,CAAC;QACD,OAAO,CAAC,IAAI,CAAC;YACX,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,SAAS,EAAE,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE;SAClD,CAAC,CAAC;IACL,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,qBAAqB,EAAE,CAAC;AACrE,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,QAAQ,CACtB,CAAiC,EACjC,CAAiC;IAEjC,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC;AAC5C,CAAC;AAYD,MAAM,UAAU,oBAAoB,CAAC,CAOpC;IACC,OAAO,CACL,uCAAuC,CAAC,CAAC,KAAK,gBAAgB,CAAC,CAAC,WAAW,IAAI,MAAM,GAAG;QACxF,YAAY,CAAC,CAAC,QAAQ,WAAW,CAAC,CAAC,MAAM,OAAO,CAAC,CAAC,EAAE,EAAE,CACvD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,CAKxC;IACC,MAAM,UAAU,GACd,CAAC,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;QACrB,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnE,OAAO,CACL,2CAA2C,CAAC,CAAC,KAAK,aAAa,CAAC,CAAC,QAAQ,IAAI,MAAM,GAAG;QACtF,WAAW,CAAC,CAAC,OAAO,aAAa,CAAC,CAAC,QAAQ,CAAC,MAAM,eAAe,UAAU,EAAE,CAC9E,CAAC;AACJ,CAAC"}
@@ -0,0 +1,10 @@
1
+ /** The token for one bot id, or null when the account holds no such entry. */
2
+ export declare function resolveDispatchBotToken(platformRoot: string, accountId: string, botId: string): string | null;
3
+ /**
4
+ * The account's admin bot id, for a caller that must send a card and was given
5
+ * no bot to send it as. Null when none is registered, which is a named refusal
6
+ * rather than a fall back to a public bot: a public bot answers as somebody
7
+ * else's agent, and a worker's card is not that conversation.
8
+ */
9
+ export declare function firstAdminBotId(platformRoot: string, accountId: string): string | null;
10
+ //# sourceMappingURL=bot-token.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bot-token.d.ts","sourceRoot":"","sources":["../../src/lib/bot-token.ts"],"names":[],"mappings":"AAuCA,8EAA8E;AAC9E,wBAAgB,uBAAuB,CACrC,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,GACZ,MAAM,GAAG,IAAI,CAGf;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGtF"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * One bot's token, read from the account's own registry.
3
+ *
4
+ * A deliberate second reader of the file `platform/plugins/telegram/mcp/src/lib/
5
+ * account-token.ts` already reads, and the same duplication `configDirName`
6
+ * carries across the plugin and platform boundary in
7
+ * `platform/ui/server/routes/telegram.ts`. Importing across two independently
8
+ * versioned plugins to make one file readable twice would couple their release
9
+ * cycles for four lines of JSON.
10
+ *
11
+ * Brand-isolated: `account.json` lives under the install's own data/accounts,
12
+ * never under ~/.claude.
13
+ */
14
+ import { existsSync, readFileSync } from "node:fs";
15
+ import { join, resolve } from "node:path";
16
+ function readBots(platformRoot, accountId) {
17
+ const path = join(resolve(platformRoot, "..", "data", "accounts"), accountId, "account.json");
18
+ if (!existsSync(path))
19
+ return [];
20
+ try {
21
+ const config = JSON.parse(readFileSync(path, "utf-8"));
22
+ const bots = config.telegram?.bots;
23
+ return Array.isArray(bots) ? bots : [];
24
+ }
25
+ catch {
26
+ // A corrupt account.json is not this reader's to repair. The caller's
27
+ // refusal names "no bot registered", which sends the operator to the
28
+ // registry either way.
29
+ return [];
30
+ }
31
+ }
32
+ /** The token for one bot id, or null when the account holds no such entry. */
33
+ export function resolveDispatchBotToken(platformRoot, accountId, botId) {
34
+ const hit = readBots(platformRoot, accountId).find((b) => b && b.id === botId);
35
+ return typeof hit?.token === "string" && hit.token.length > 0 ? hit.token : null;
36
+ }
37
+ /**
38
+ * The account's admin bot id, for a caller that must send a card and was given
39
+ * no bot to send it as. Null when none is registered, which is a named refusal
40
+ * rather than a fall back to a public bot: a public bot answers as somebody
41
+ * else's agent, and a worker's card is not that conversation.
42
+ */
43
+ export function firstAdminBotId(platformRoot, accountId) {
44
+ const hit = readBots(platformRoot, accountId).find((b) => b && b.role === "admin");
45
+ return typeof hit?.id === "string" && hit.id.length > 0 ? hit.id : null;
46
+ }
47
+ //# sourceMappingURL=bot-token.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bot-token.js","sourceRoot":"","sources":["../../src/lib/bot-token.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQ1C,SAAS,QAAQ,CAAC,YAAoB,EAAE,SAAiB;IACvD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;IAC9F,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IACjC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAEpD,CAAC;QACF,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC;QACnC,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IACzC,CAAC;IAAC,MAAM,CAAC;QACP,sEAAsE;QACtE,qEAAqE;QACrE,uBAAuB;QACvB,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,uBAAuB,CACrC,YAAoB,EACpB,SAAiB,EACjB,KAAa;IAEb,MAAM,GAAG,GAAG,QAAQ,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC;IAC/E,OAAO,OAAO,GAAG,EAAE,KAAK,KAAK,QAAQ,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACnF,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,YAAoB,EAAE,SAAiB;IACrE,MAAM,GAAG,GAAG,QAAQ,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;IACnF,OAAO,OAAO,GAAG,EAAE,EAAE,KAAK,QAAQ,IAAI,GAAG,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAC1E,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACV,WAAW,EACX,YAAY,EACZ,cAAc,EAEd,UAAU,EAIX,MAAM,YAAY,CAAC;AAIpB;;;;;;;GAOG;AACH,OAAO,EACL,iBAAiB,EACjB,KAAK,eAAe,EACrB,MAAM,gDAAgD,CAAC;AAExD,OAAO,EAAE,iBAAiB,EAAE,KAAK,eAAe,EAAE,CAAC;AAmKnD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,YAAY,CA4HtD;AAED,4DAA4D;AAC5D,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,CAuBzD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,cAAc,GAAG,WAAW,CAiC5D;AAOD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAS5D"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACV,WAAW,EACX,YAAY,EACZ,cAAc,EAEd,UAAU,EAIX,MAAM,YAAY,CAAC;AAIpB;;;;;;;GAOG;AACH,OAAO,EACL,iBAAiB,EACjB,KAAK,eAAe,EACrB,MAAM,gDAAgD,CAAC;AAExD,OAAO,EAAE,iBAAiB,EAAE,KAAK,eAAe,EAAE,CAAC;AA+KnD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,YAAY,CA4HtD;AAED,4DAA4D;AAC5D,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,CAuBzD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,cAAc,GAAG,WAAW,CAiC5D;AAOD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAS5D"}
@@ -153,11 +153,23 @@ function parseWorkers(raw) {
153
153
  if (!isObject(entry.workingHours)) {
154
154
  return { ok: false, reason: `workers "${entry.workerId}" needs workingHours` };
155
155
  }
156
+ // Task 2510 — present-but-empty is refused rather than stored. An empty
157
+ // binding compares equal to nothing and would leave the worker looking
158
+ // bound while every card for him had nowhere to go.
159
+ if (entry.telegramUserId !== undefined && !nonEmptyString(entry.telegramUserId)) {
160
+ return {
161
+ ok: false,
162
+ reason: `workers "${entry.workerId}" telegramUserId must be a non-empty string`,
163
+ };
164
+ }
156
165
  out.push({
157
166
  workerId: entry.workerId,
158
167
  name: entry.name,
159
168
  qualifications: entry.qualifications,
160
169
  workingHours: entry.workingHours,
170
+ ...(entry.telegramUserId === undefined
171
+ ? {}
172
+ : { telegramUserId: entry.telegramUserId }),
161
173
  });
162
174
  }
163
175
  return { ok: true, value: out };