@polderlabs/bizar 9.0.0 → 10.0.7

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 (1306) hide show
  1. package/bizar-dash/BROWSER_VERIFICATION.md +190 -0
  2. package/bizar-dash/CHANGELOG.md +572 -0
  3. package/bizar-dash/CONTROL_SURFACES.md +157 -0
  4. package/bizar-dash/SETTINGS_AUDIT.md +225 -0
  5. package/bizar-dash/dist/assets/ActivityFeed-Da-JCrE6.js +11 -0
  6. package/bizar-dash/dist/assets/ActivityFeed-Da-JCrE6.js.map +1 -0
  7. package/bizar-dash/dist/assets/ActivityView-nIRsSETb.js +2 -0
  8. package/bizar-dash/dist/assets/ActivityView-nIRsSETb.js.map +1 -0
  9. package/bizar-dash/dist/assets/AdminView-DP1NMxmG.js +11 -0
  10. package/bizar-dash/dist/assets/AdminView-DP1NMxmG.js.map +1 -0
  11. package/bizar-dash/dist/assets/AgentActivity-lSPkOr-O.js +67 -0
  12. package/bizar-dash/dist/assets/AgentActivity-lSPkOr-O.js.map +1 -0
  13. package/bizar-dash/dist/assets/AgentsView-BIWGkz7w.js +13 -0
  14. package/bizar-dash/dist/assets/AgentsView-BIWGkz7w.js.map +1 -0
  15. package/bizar-dash/dist/assets/Alert-DN0UysMg.js +6 -0
  16. package/bizar-dash/dist/assets/Alert-DN0UysMg.js.map +1 -0
  17. package/bizar-dash/dist/assets/ArtifactsView-CDIhPBAx.js +6 -0
  18. package/bizar-dash/dist/assets/ArtifactsView-CDIhPBAx.js.map +1 -0
  19. package/bizar-dash/dist/assets/AuthView-DW5cs7ma.js +16 -0
  20. package/bizar-dash/dist/assets/AuthView-DW5cs7ma.js.map +1 -0
  21. package/bizar-dash/dist/assets/Avatar-DZPv9pvd.js +6 -0
  22. package/bizar-dash/dist/assets/Avatar-DZPv9pvd.js.map +1 -0
  23. package/bizar-dash/dist/assets/BackgroundJobsView-D8O-EyMD.js +1 -0
  24. package/bizar-dash/dist/assets/BackgroundJobsView-D8O-EyMD.js.map +1 -0
  25. package/bizar-dash/dist/assets/BackupView-uwXkhxOV.js +1 -0
  26. package/bizar-dash/dist/assets/BackupView-uwXkhxOV.js.map +1 -0
  27. package/bizar-dash/dist/assets/Card-Tyboihu7.js +1 -0
  28. package/bizar-dash/dist/assets/Card-Tyboihu7.js.map +1 -0
  29. package/bizar-dash/dist/assets/ChatView-DRBHzgay.js +9 -0
  30. package/bizar-dash/dist/assets/ChatView-DRBHzgay.js.map +1 -0
  31. package/bizar-dash/dist/assets/Chip-BrXIlR9w.js +1 -0
  32. package/bizar-dash/dist/assets/Chip-BrXIlR9w.js.map +1 -0
  33. package/bizar-dash/dist/assets/ClaudeSessionsView-Ck62jaOr.js +1 -0
  34. package/bizar-dash/dist/assets/ClaudeSessionsView-Ck62jaOr.js.map +1 -0
  35. package/bizar-dash/dist/assets/ClipboardView-DfND6xL6.js +1 -0
  36. package/bizar-dash/dist/assets/ClipboardView-DfND6xL6.js.map +1 -0
  37. package/bizar-dash/dist/assets/ConfigView-DjJmSrOJ.js +1 -0
  38. package/bizar-dash/dist/assets/ConfigView-DjJmSrOJ.js.map +1 -0
  39. package/bizar-dash/dist/assets/DiagnosticsView-CKgItf0J.js +2 -0
  40. package/bizar-dash/dist/assets/DiagnosticsView-CKgItf0J.js.map +1 -0
  41. package/bizar-dash/dist/assets/DialogsView-DHYF8dE1.js +6 -0
  42. package/bizar-dash/dist/assets/DialogsView-DHYF8dE1.js.map +1 -0
  43. package/bizar-dash/dist/assets/DoctorView-DDLHrSKk.js +6 -0
  44. package/bizar-dash/dist/assets/DoctorView-DDLHrSKk.js.map +1 -0
  45. package/bizar-dash/dist/assets/EmptyState-DZ2ouKwd.js +1 -0
  46. package/bizar-dash/dist/assets/EmptyState-DZ2ouKwd.js.map +1 -0
  47. package/bizar-dash/dist/assets/EnvVarsView-D1cx83mB.js +8 -0
  48. package/bizar-dash/dist/assets/EnvVarsView-D1cx83mB.js.map +1 -0
  49. package/bizar-dash/dist/assets/ErrorState-DwwJ2-Jq.js +1 -0
  50. package/bizar-dash/dist/assets/ErrorState-DwwJ2-Jq.js.map +1 -0
  51. package/bizar-dash/dist/assets/EvalView-C9aYixXW.js +1 -0
  52. package/bizar-dash/dist/assets/EvalView-C9aYixXW.js.map +1 -0
  53. package/bizar-dash/dist/assets/GoalsView-DZa_mGmh.js +6 -0
  54. package/bizar-dash/dist/assets/GoalsView-DZa_mGmh.js.map +1 -0
  55. package/bizar-dash/dist/assets/Grid-CiRyhAgR.js +1 -0
  56. package/bizar-dash/dist/assets/Grid-CiRyhAgR.js.map +1 -0
  57. package/bizar-dash/dist/assets/HeadroomView-CNc-TI7u.js +11 -0
  58. package/bizar-dash/dist/assets/HeadroomView-CNc-TI7u.js.map +1 -0
  59. package/bizar-dash/dist/assets/HistoryView-Dv7aPxJE.js +1 -0
  60. package/bizar-dash/dist/assets/HistoryView-Dv7aPxJE.js.map +1 -0
  61. package/bizar-dash/dist/assets/Input-BbFUDQnS.js +1 -0
  62. package/bizar-dash/dist/assets/Input-BbFUDQnS.js.map +1 -0
  63. package/bizar-dash/dist/assets/LibrariesView-DBQ83TNa.js +6 -0
  64. package/bizar-dash/dist/assets/LibrariesView-DBQ83TNa.js.map +1 -0
  65. package/bizar-dash/dist/assets/LightRAGView-JYpE5u9p.js +6 -0
  66. package/bizar-dash/dist/assets/LightRAGView-JYpE5u9p.js.map +1 -0
  67. package/bizar-dash/dist/assets/ListHeader-BGjm11Z0.js +1 -0
  68. package/bizar-dash/dist/assets/ListHeader-BGjm11Z0.js.map +1 -0
  69. package/bizar-dash/dist/assets/MemoryView-CnOP2MvM.js +8 -0
  70. package/bizar-dash/dist/assets/MemoryView-CnOP2MvM.js.map +1 -0
  71. package/bizar-dash/dist/assets/MessageBubble-5vUAquDx.js +29 -0
  72. package/bizar-dash/dist/assets/MessageBubble-5vUAquDx.js.map +1 -0
  73. package/bizar-dash/dist/assets/MiscView-BBcpUbZZ.js +1 -0
  74. package/bizar-dash/dist/assets/MiscView-BBcpUbZZ.js.map +1 -0
  75. package/bizar-dash/dist/assets/ModsView-CU4cAmIz.js +6 -0
  76. package/bizar-dash/dist/assets/ModsView-CU4cAmIz.js.map +1 -0
  77. package/bizar-dash/dist/assets/NotificationsView-BYffvthq.js +6 -0
  78. package/bizar-dash/dist/assets/NotificationsView-BYffvthq.js.map +1 -0
  79. package/bizar-dash/dist/assets/ObsidianView-D3bI0row.js +1 -0
  80. package/bizar-dash/dist/assets/ObsidianView-D3bI0row.js.map +1 -0
  81. package/bizar-dash/dist/assets/OverviewView-0tq8f-Y0.js +1 -0
  82. package/bizar-dash/dist/assets/OverviewView-0tq8f-Y0.js.map +1 -0
  83. package/bizar-dash/dist/assets/ProgressBar-B-h60LKA.js +1 -0
  84. package/bizar-dash/dist/assets/ProgressBar-B-h60LKA.js.map +1 -0
  85. package/bizar-dash/dist/assets/ProjectsView-DhX5lzHS.js +11 -0
  86. package/bizar-dash/dist/assets/ProjectsView-DhX5lzHS.js.map +1 -0
  87. package/bizar-dash/dist/assets/ProvidersView-CJMX7jm9.js +11 -0
  88. package/bizar-dash/dist/assets/ProvidersView-CJMX7jm9.js.map +1 -0
  89. package/bizar-dash/dist/assets/SchedulesView-CcwDQ9Nm.js +1 -0
  90. package/bizar-dash/dist/assets/SchedulesView-CcwDQ9Nm.js.map +1 -0
  91. package/bizar-dash/dist/assets/Select-Cw7Qtz2M.js +6 -0
  92. package/bizar-dash/dist/assets/Select-Cw7Qtz2M.js.map +1 -0
  93. package/bizar-dash/dist/assets/SettingsRow-DgsgbPSI.js +1 -0
  94. package/bizar-dash/dist/assets/SettingsRow-DgsgbPSI.js.map +1 -0
  95. package/bizar-dash/dist/assets/SettingsView-DTAFdKyK.js +18 -0
  96. package/bizar-dash/dist/assets/SettingsView-DTAFdKyK.js.map +1 -0
  97. package/bizar-dash/dist/assets/Sheet-DH-WNJ3Y.js +1 -0
  98. package/bizar-dash/dist/assets/Sheet-DH-WNJ3Y.js.map +1 -0
  99. package/bizar-dash/dist/assets/Slider-DXbJuQ7y.js +1 -0
  100. package/bizar-dash/dist/assets/Slider-DXbJuQ7y.js.map +1 -0
  101. package/bizar-dash/dist/assets/Sparkline-CYtAn82j.js +1 -0
  102. package/bizar-dash/dist/assets/Sparkline-CYtAn82j.js.map +1 -0
  103. package/bizar-dash/dist/assets/Switch-BItGrPqr.js +10 -0
  104. package/bizar-dash/dist/assets/Switch-BItGrPqr.js.map +1 -0
  105. package/bizar-dash/dist/assets/TasksView-i5tm6CkX.js +6 -0
  106. package/bizar-dash/dist/assets/TasksView-i5tm6CkX.js.map +1 -0
  107. package/bizar-dash/dist/assets/Textarea-qYDf3yds.js +1 -0
  108. package/bizar-dash/dist/assets/Textarea-qYDf3yds.js.map +1 -0
  109. package/bizar-dash/dist/assets/UpdateView-Xln-ej26.js +6 -0
  110. package/bizar-dash/dist/assets/UpdateView-Xln-ej26.js.map +1 -0
  111. package/bizar-dash/dist/assets/UsageView-BGuZSUZ6.js +1 -0
  112. package/bizar-dash/dist/assets/UsageView-BGuZSUZ6.js.map +1 -0
  113. package/bizar-dash/dist/assets/ViewHeader-BqIPVKuG.js +6 -0
  114. package/bizar-dash/dist/assets/ViewHeader-BqIPVKuG.js.map +1 -0
  115. package/bizar-dash/dist/assets/VoiceView-CWUOCQs_.js +1 -0
  116. package/bizar-dash/dist/assets/VoiceView-CWUOCQs_.js.map +1 -0
  117. package/bizar-dash/dist/assets/brain-fsBSDl2g.js +6 -0
  118. package/bizar-dash/dist/assets/brain-fsBSDl2g.js.map +1 -0
  119. package/bizar-dash/dist/assets/calendar-DsHTZoCU.js +6 -0
  120. package/bizar-dash/dist/assets/calendar-DsHTZoCU.js.map +1 -0
  121. package/bizar-dash/dist/assets/circle-CqSxqqeJ.js +6 -0
  122. package/bizar-dash/dist/assets/circle-CqSxqqeJ.js.map +1 -0
  123. package/bizar-dash/dist/assets/circle-alert-BsLl001l.js +6 -0
  124. package/bizar-dash/dist/assets/circle-alert-BsLl001l.js.map +1 -0
  125. package/bizar-dash/dist/assets/circle-check-rVKMQmZp.js +6 -0
  126. package/bizar-dash/dist/assets/circle-check-rVKMQmZp.js.map +1 -0
  127. package/bizar-dash/dist/assets/clock-OuficfgH.js +6 -0
  128. package/bizar-dash/dist/assets/clock-OuficfgH.js.map +1 -0
  129. package/bizar-dash/dist/assets/cmdk-DVxytz9i.js +80 -0
  130. package/bizar-dash/dist/assets/cmdk-DVxytz9i.js.map +1 -0
  131. package/bizar-dash/dist/assets/dnd-kit-DrHErSkw.js +5 -0
  132. package/bizar-dash/dist/assets/dnd-kit-DrHErSkw.js.map +1 -0
  133. package/bizar-dash/dist/assets/download-BdHlstUY.js +6 -0
  134. package/bizar-dash/dist/assets/download-BdHlstUY.js.map +1 -0
  135. package/bizar-dash/dist/assets/external-link-DA3_VGm-.js +6 -0
  136. package/bizar-dash/dist/assets/external-link-DA3_VGm-.js.map +1 -0
  137. package/bizar-dash/dist/assets/file-text-B-g8H227.js +6 -0
  138. package/bizar-dash/dist/assets/file-text-B-g8H227.js.map +1 -0
  139. package/bizar-dash/dist/assets/filter-D9B8s5CG.js +6 -0
  140. package/bizar-dash/dist/assets/filter-D9B8s5CG.js.map +1 -0
  141. package/bizar-dash/dist/assets/git-pull-request-ByH0YuVz.js +11 -0
  142. package/bizar-dash/dist/assets/git-pull-request-ByH0YuVz.js.map +1 -0
  143. package/bizar-dash/dist/assets/index-C4Vq_2LM.js +1 -0
  144. package/bizar-dash/dist/assets/index-C4Vq_2LM.js.map +1 -0
  145. package/bizar-dash/dist/assets/index-CASP1n-5.js +1 -0
  146. package/bizar-dash/dist/assets/index-CASP1n-5.js.map +1 -0
  147. package/bizar-dash/dist/assets/main-CdOm1Pj9.js +249 -0
  148. package/bizar-dash/dist/assets/main-CdOm1Pj9.js.map +1 -0
  149. package/bizar-dash/dist/assets/pause-C9hgd8wX.js +6 -0
  150. package/bizar-dash/dist/assets/pause-C9hgd8wX.js.map +1 -0
  151. package/bizar-dash/dist/assets/pencil-BanqaMw7.js +6 -0
  152. package/bizar-dash/dist/assets/pencil-BanqaMw7.js.map +1 -0
  153. package/bizar-dash/dist/assets/play-CawUZ02_.js +6 -0
  154. package/bizar-dash/dist/assets/play-CawUZ02_.js.map +1 -0
  155. package/bizar-dash/dist/assets/plug-Cmv0-T_e.js +6 -0
  156. package/bizar-dash/dist/assets/plug-Cmv0-T_e.js.map +1 -0
  157. package/bizar-dash/dist/assets/plus-M6LYiKX8.js +6 -0
  158. package/bizar-dash/dist/assets/plus-M6LYiKX8.js.map +1 -0
  159. package/bizar-dash/dist/assets/power-DP5x_SRF.js +6 -0
  160. package/bizar-dash/dist/assets/power-DP5x_SRF.js.map +1 -0
  161. package/bizar-dash/dist/assets/power-off-NOJRLAIs.js +6 -0
  162. package/bizar-dash/dist/assets/power-off-NOJRLAIs.js.map +1 -0
  163. package/bizar-dash/dist/assets/refresh-ccw-CHMprsm5.js +6 -0
  164. package/bizar-dash/dist/assets/refresh-ccw-CHMprsm5.js.map +1 -0
  165. package/bizar-dash/dist/assets/refresh-cw-1RBqDKgJ.js +6 -0
  166. package/bizar-dash/dist/assets/refresh-cw-1RBqDKgJ.js.map +1 -0
  167. package/bizar-dash/dist/assets/rotate-ccw-DJRekBbi.js +6 -0
  168. package/bizar-dash/dist/assets/rotate-ccw-DJRekBbi.js.map +1 -0
  169. package/bizar-dash/dist/assets/rotate-cw-DHooc0Tx.js +6 -0
  170. package/bizar-dash/dist/assets/rotate-cw-DHooc0Tx.js.map +1 -0
  171. package/bizar-dash/dist/assets/save-DQKCKyZK.js +6 -0
  172. package/bizar-dash/dist/assets/save-DQKCKyZK.js.map +1 -0
  173. package/bizar-dash/dist/assets/send-xgy3RAi7.js +6 -0
  174. package/bizar-dash/dist/assets/send-xgy3RAi7.js.map +1 -0
  175. package/bizar-dash/dist/assets/shield-alert-CWV2F5ab.js +6 -0
  176. package/bizar-dash/dist/assets/shield-alert-CWV2F5ab.js.map +1 -0
  177. package/bizar-dash/dist/assets/trash-2-CL4khSRv.js +6 -0
  178. package/bizar-dash/dist/assets/trash-2-CL4khSRv.js.map +1 -0
  179. package/bizar-dash/dist/assets/trending-up-CSJJhWTS.js +6 -0
  180. package/bizar-dash/dist/assets/trending-up-CSJJhWTS.js.map +1 -0
  181. package/bizar-dash/dist/assets/triangle-alert-BPLb7uLt.js +6 -0
  182. package/bizar-dash/dist/assets/triangle-alert-BPLb7uLt.js.map +1 -0
  183. package/bizar-dash/dist/assets/upload-Cww6MvFq.js +6 -0
  184. package/bizar-dash/dist/assets/upload-Cww6MvFq.js.map +1 -0
  185. package/bizar-dash/dist/assets/zap-DmhVUzRA.js +6 -0
  186. package/bizar-dash/dist/assets/zap-DmhVUzRA.js.map +1 -0
  187. package/bizar-dash/dist/index.html +19 -0
  188. package/bizar-dash/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -1
  189. package/bizar-dash/src/server/agents-store.mjs +1 -0
  190. package/bizar-dash/src/server/api.mjs +7 -2
  191. package/bizar-dash/src/server/artifact-mint.mjs +69 -0
  192. package/bizar-dash/src/server/claude-runner.mjs +5 -0
  193. package/bizar-dash/src/server/dialog-store.mjs +84 -2
  194. package/bizar-dash/src/server/memory-lightrag.mjs +14 -9
  195. package/bizar-dash/src/server/progress-parser.mjs +13 -1
  196. package/bizar-dash/src/server/progress-parser.test.mjs +24 -0
  197. package/bizar-dash/src/server/routes/activity.mjs +22 -2
  198. package/bizar-dash/src/server/routes/admin.mjs +163 -0
  199. package/bizar-dash/src/server/routes/agents-cc.mjs +196 -26
  200. package/bizar-dash/src/server/routes/agents.mjs +20 -5
  201. package/bizar-dash/src/server/routes/claude-session-detail.mjs +38 -0
  202. package/bizar-dash/src/server/routes/dialogs.mjs +49 -1
  203. package/bizar-dash/src/server/routes/goals.mjs +125 -4
  204. package/bizar-dash/src/server/routes/overview.mjs +131 -4
  205. package/bizar-dash/src/server/routes/overview.test.mjs +65 -0
  206. package/bizar-dash/src/server/routes/providers.mjs +53 -0
  207. package/bizar-dash/src/server/routes/skills.mjs +6 -1
  208. package/bizar-dash/src/server/routes/tasks.mjs +51 -1
  209. package/bizar-dash/src/server/server.mjs +20 -9
  210. package/bizar-dash/src/server/skills-store.mjs +2 -0
  211. package/bizar-dash/src/web/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -1
  212. package/bizar-dash/src/web/v8/App.tsx +113 -1
  213. package/bizar-dash/src/web/v8/__tests__/admin-view.test.tsx +105 -0
  214. package/bizar-dash/src/web/v8/__tests__/agent-card-metrics.test.tsx +54 -0
  215. package/bizar-dash/src/web/v8/__tests__/agent-detail-tasks.test.tsx +68 -0
  216. package/bizar-dash/src/web/v8/__tests__/agent-hierarchy.test.tsx +79 -0
  217. package/bizar-dash/src/web/v8/__tests__/agents-stuck-banner.test.tsx +142 -0
  218. package/bizar-dash/src/web/v8/__tests__/artifacts-view.test.tsx +102 -0
  219. package/bizar-dash/src/web/v8/__tests__/audit-fixes.test.tsx +139 -0
  220. package/bizar-dash/src/web/v8/__tests__/auth-view.test.tsx +94 -0
  221. package/bizar-dash/src/web/v8/__tests__/chat-types.test.ts +55 -0
  222. package/bizar-dash/src/web/v8/__tests__/chat-view.test.tsx +142 -0
  223. package/bizar-dash/src/web/v8/__tests__/claude-sessions-view.test.tsx +159 -0
  224. package/bizar-dash/src/web/v8/__tests__/clipboard-view.test.tsx +90 -0
  225. package/bizar-dash/src/web/v8/__tests__/config-view.test.tsx +111 -0
  226. package/bizar-dash/src/web/v8/__tests__/dialogs-view.test.tsx +81 -0
  227. package/bizar-dash/src/web/v8/__tests__/env-vars-view.test.tsx +123 -0
  228. package/bizar-dash/src/web/v8/__tests__/goals-cc-roundtrip.test.tsx +94 -0
  229. package/bizar-dash/src/web/v8/__tests__/history-view.test.tsx +96 -0
  230. package/bizar-dash/src/web/v8/__tests__/lightrag-view.test.tsx +90 -0
  231. package/bizar-dash/src/web/v8/__tests__/misc-view.test.tsx +79 -0
  232. package/bizar-dash/src/web/v8/__tests__/mods-view.test.tsx +123 -0
  233. package/bizar-dash/src/web/v8/__tests__/new-views.test.tsx +177 -0
  234. package/bizar-dash/src/web/v8/__tests__/obsidian-view.test.tsx +82 -0
  235. package/bizar-dash/src/web/v8/__tests__/overview-trends.test.tsx +87 -0
  236. package/bizar-dash/src/web/v8/__tests__/projects-view.test.tsx +134 -0
  237. package/bizar-dash/src/web/v8/__tests__/providers-view.test.tsx +100 -0
  238. package/bizar-dash/src/web/v8/__tests__/update-view.test.tsx +89 -0
  239. package/bizar-dash/src/web/v8/__tests__/voice-view.test.tsx +80 -0
  240. package/bizar-dash/src/web/v8/data/types.ts +86 -3
  241. package/bizar-dash/src/web/v8/data/useViewNavigate.ts +54 -0
  242. package/bizar-dash/src/web/v8/data/useWebSocket.ts +45 -0
  243. package/bizar-dash/src/web/v8/shell/Sidebar.tsx +111 -14
  244. package/bizar-dash/src/web/v8/shell/Topbar.tsx +100 -8
  245. package/bizar-dash/src/web/v8/ui/activity/ActivityLane.tsx +315 -0
  246. package/bizar-dash/src/web/v8/ui/activity/ActivityLanes.tsx +51 -0
  247. package/bizar-dash/src/web/v8/ui/agents/AgentCard.tsx +96 -15
  248. package/bizar-dash/src/web/v8/ui/agents/AgentDetail.tsx +168 -12
  249. package/bizar-dash/src/web/v8/ui/agents/AgentLiveOutput.tsx +252 -0
  250. package/bizar-dash/src/web/v8/ui/chat/ChatDrawer.tsx +208 -0
  251. package/bizar-dash/src/web/v8/ui/chat/EventStream.tsx +83 -0
  252. package/bizar-dash/src/web/v8/ui/chat/MessageBubble.tsx +174 -0
  253. package/bizar-dash/src/web/v8/ui/data/ListHeader.tsx +94 -0
  254. package/bizar-dash/src/web/v8/ui/feedback/ErrorState.tsx +116 -0
  255. package/bizar-dash/src/web/v8/ui/goals/GoalDetail.tsx +27 -0
  256. package/bizar-dash/src/web/v8/ui/index.ts +49 -2
  257. package/bizar-dash/src/web/v8/ui/kanban/KanbanBoard.tsx +61 -27
  258. package/bizar-dash/src/web/v8/ui/kanban/KanbanCard.tsx +156 -12
  259. package/bizar-dash/src/web/v8/ui/kanban/KanbanColumn.tsx +5 -10
  260. package/bizar-dash/src/web/v8/ui/kanban/KanbanContextMenu.tsx +4 -0
  261. package/bizar-dash/src/web/v8/ui/kanban/KanbanDetailDialog.tsx +638 -0
  262. package/bizar-dash/src/web/v8/ui/tasks/TaskDetail.tsx +313 -0
  263. package/bizar-dash/src/web/v8/views/Activity/ActivityView.tsx +203 -178
  264. package/bizar-dash/src/web/v8/views/Admin/AdminView.tsx +210 -0
  265. package/bizar-dash/src/web/v8/views/Agents/AgentHierarchy.tsx +212 -0
  266. package/bizar-dash/src/web/v8/views/Agents/AgentsView.tsx +328 -21
  267. package/bizar-dash/src/web/v8/views/Artifacts/ArtifactsView.tsx +241 -0
  268. package/bizar-dash/src/web/v8/views/Auth/AuthView.tsx +175 -0
  269. package/bizar-dash/src/web/v8/views/BackgroundJobs/BackgroundJobsView.tsx +1 -1
  270. package/bizar-dash/src/web/v8/views/Backup/BackupView.tsx +204 -0
  271. package/bizar-dash/src/web/v8/views/Chat/ChatView.tsx +356 -0
  272. package/bizar-dash/src/web/v8/views/ClaudeSessions/ClaudeSessionDetail.tsx +133 -0
  273. package/bizar-dash/src/web/v8/views/ClaudeSessions/ClaudeSessionsView.tsx +331 -0
  274. package/bizar-dash/src/web/v8/views/Clipboard/ClipboardView.tsx +210 -0
  275. package/bizar-dash/src/web/v8/views/Config/ConfigView.tsx +364 -0
  276. package/bizar-dash/src/web/v8/views/Diagnostics/DiagnosticsView.tsx +160 -0
  277. package/bizar-dash/src/web/v8/views/Dialogs/DialogsView.tsx +196 -0
  278. package/bizar-dash/src/web/v8/views/Doctor/DoctorView.tsx +181 -0
  279. package/bizar-dash/src/web/v8/views/EnvVars/EnvVarsView.tsx +365 -0
  280. package/bizar-dash/src/web/v8/views/Eval/EvalView.tsx +278 -0
  281. package/bizar-dash/src/web/v8/views/Goals/GoalsView.tsx +168 -10
  282. package/bizar-dash/src/web/v8/views/Headroom/HeadroomView.tsx +201 -0
  283. package/bizar-dash/src/web/v8/views/History/HistoryView.tsx +227 -0
  284. package/bizar-dash/src/web/v8/views/Libraries/LibrariesView.tsx +13 -3
  285. package/bizar-dash/src/web/v8/views/LightRAG/LightRAGView.tsx +183 -0
  286. package/bizar-dash/src/web/v8/views/Memory/MemoryView.tsx +30 -3
  287. package/bizar-dash/src/web/v8/views/Misc/MiscView.tsx +159 -0
  288. package/bizar-dash/src/web/v8/views/Mods/ModsView.tsx +348 -0
  289. package/bizar-dash/src/web/v8/views/Notifications/NotificationsView.tsx +178 -0
  290. package/bizar-dash/src/web/v8/views/Obsidian/ObsidianView.tsx +193 -0
  291. package/bizar-dash/src/web/v8/views/Overview/OverviewView.tsx +114 -11
  292. package/bizar-dash/src/web/v8/views/Projects/ProjectsView.tsx +253 -0
  293. package/bizar-dash/src/web/v8/views/Providers/ProvidersView.tsx +371 -0
  294. package/bizar-dash/src/web/v8/views/Router.tsx +125 -0
  295. package/bizar-dash/src/web/v8/views/Schedules/SchedulesView.tsx +46 -14
  296. package/bizar-dash/src/web/v8/views/Settings/SettingsView.tsx +322 -29
  297. package/bizar-dash/src/web/v8/views/Tasks/TasksView.tsx +229 -10
  298. package/bizar-dash/src/web/v8/views/Update/UpdateView.tsx +270 -0
  299. package/bizar-dash/src/web/v8/views/Usage/UsageView.tsx +210 -0
  300. package/bizar-dash/src/web/v8/views/Voice/VoiceView.tsx +192 -0
  301. package/bizar-dash/tests/tasks-patch-routes.test.mjs +194 -0
  302. package/bizar-dash/vite.config.ts +11 -3
  303. package/cli/__tests__/esm-no-require.test.mjs +97 -0
  304. package/cli/commands/tailscale.mjs +1 -3
  305. package/cli/commands/voice.mjs +2 -2
  306. package/cli/service-env.mjs +4 -5
  307. package/package.json +13 -3
  308. package/packages/sdk/dist/agent-registry.d.ts +134 -0
  309. package/packages/sdk/dist/agent-registry.js +228 -0
  310. package/packages/sdk/dist/consensus/byzantine.d.ts +159 -0
  311. package/packages/sdk/dist/consensus/byzantine.js +507 -0
  312. package/packages/sdk/dist/consensus/index.d.ts +60 -0
  313. package/packages/sdk/dist/consensus/index.js +76 -0
  314. package/packages/sdk/dist/consensus/queen.d.ts +86 -0
  315. package/packages/sdk/dist/consensus/queen.js +158 -0
  316. package/packages/sdk/dist/consensus/types.d.ts +155 -0
  317. package/packages/sdk/dist/consensus/types.js +29 -0
  318. package/packages/sdk/dist/dangerous-patterns.d.ts +27 -0
  319. package/packages/sdk/dist/dangerous-patterns.js +107 -0
  320. package/packages/sdk/dist/federation/audit.d.ts +71 -0
  321. package/packages/sdk/dist/federation/audit.js +133 -0
  322. package/packages/sdk/dist/federation/budget.d.ts +111 -0
  323. package/packages/sdk/dist/federation/budget.js +227 -0
  324. package/packages/sdk/dist/federation/envelope.d.ts +83 -0
  325. package/packages/sdk/dist/federation/envelope.js +92 -0
  326. package/packages/sdk/dist/federation/hmac.d.ts +61 -0
  327. package/packages/sdk/dist/federation/hmac.js +120 -0
  328. package/packages/sdk/dist/federation/index.d.ts +108 -0
  329. package/packages/sdk/dist/federation/index.js +275 -0
  330. package/packages/sdk/dist/federation/pii.d.ts +72 -0
  331. package/packages/sdk/dist/federation/pii.js +178 -0
  332. package/packages/sdk/dist/federation/policy.d.ts +50 -0
  333. package/packages/sdk/dist/federation/policy.js +76 -0
  334. package/packages/sdk/dist/federation/trust.d.ts +80 -0
  335. package/packages/sdk/dist/federation/trust.js +126 -0
  336. package/packages/sdk/dist/fingerprint.d.ts +18 -0
  337. package/packages/sdk/dist/fingerprint.js +0 -0
  338. package/packages/sdk/dist/index.d.ts +25 -0
  339. package/packages/sdk/dist/index.js +25 -0
  340. package/packages/sdk/dist/mcp/bin.d.ts +16 -0
  341. package/packages/sdk/dist/mcp/bin.js +46 -0
  342. package/packages/sdk/dist/mcp/server.d.ts +105 -0
  343. package/packages/sdk/dist/mcp/server.js +682 -0
  344. package/packages/sdk/dist/memory/index.d.ts +43 -0
  345. package/packages/sdk/dist/memory/index.js +159 -0
  346. package/packages/sdk/dist/router/codemod-intent.d.ts +68 -0
  347. package/packages/sdk/dist/router/codemod-intent.js +112 -0
  348. package/packages/sdk/dist/router/index.d.ts +100 -0
  349. package/packages/sdk/dist/router/index.js +149 -0
  350. package/packages/sdk/dist/router/memory-distillation.d.ts +58 -0
  351. package/packages/sdk/dist/router/memory-distillation.js +195 -0
  352. package/packages/sdk/dist/router/model-router.d.ts +83 -0
  353. package/packages/sdk/dist/router/model-router.js +207 -0
  354. package/packages/sdk/dist/router/q-learning-router.d.ts +85 -0
  355. package/packages/sdk/dist/router/q-learning-router.js +273 -0
  356. package/packages/sdk/dist/swarm-topology.d.ts +87 -0
  357. package/packages/sdk/dist/swarm-topology.js +219 -0
  358. package/packages/sdk/dist/version.d.ts +5 -0
  359. package/packages/sdk/dist/version.js +5 -0
  360. package/packages/sdk/package.json +1 -1
  361. package/plugins/bizar/dist/index.d.ts +25 -0
  362. package/plugins/bizar/dist/index.js +32 -0
  363. package/plugins/bizar/package.json +18 -0
  364. package/.claude/CLAUDE.md +0 -15
  365. package/.claude/agents/_shared/AGENT_BASELINE.md +0 -168
  366. package/.claude/agents/_shared/CLAUDE_TOOLS.md +0 -412
  367. package/.claude/agents/_shared/SKILLS.md +0 -109
  368. package/.claude/agents/agent-browser.md +0 -80
  369. package/.claude/agents/baldr.md +0 -49
  370. package/.claude/agents/forseti.md +0 -51
  371. package/.claude/agents/frigg.md +0 -42
  372. package/.claude/agents/heimdall.md +0 -33
  373. package/.claude/agents/hermod.md +0 -53
  374. package/.claude/agents/mimir.md +0 -49
  375. package/.claude/agents/odin.md +0 -287
  376. package/.claude/agents/quick.md +0 -34
  377. package/.claude/agents/semble-search.md +0 -50
  378. package/.claude/agents/thor.md +0 -53
  379. package/.claude/agents/tyr.md +0 -56
  380. package/.claude/agents/vidarr.md +0 -54
  381. package/.claude/agents/vor.md +0 -53
  382. package/.claude/commands/audit.md +0 -25
  383. package/.claude/commands/bizar.md +0 -22
  384. package/.claude/commands/explain.md +0 -17
  385. package/.claude/commands/goal.md +0 -98
  386. package/.claude/commands/init.md +0 -29
  387. package/.claude/commands/learn.md +0 -44
  388. package/.claude/commands/plan.md +0 -35
  389. package/.claude/commands/plow-through.md +0 -50
  390. package/.claude/commands/pr-review.md +0 -49
  391. package/.claude/commands/setup-provider.md +0 -96
  392. package/.claude/commands/tailscale-serve.md +0 -100
  393. package/.claude/commands/team.md +0 -132
  394. package/.claude/commands/test.md +0 -62
  395. package/.claude/commands/validate.md +0 -68
  396. package/.claude/commands/visual-plan.md +0 -24
  397. package/.claude/hooks/README.md +0 -92
  398. package/.claude/hooks/posttooluse-editwrite.mjs +0 -91
  399. package/.claude/hooks/pretooluse-bash.mjs +0 -81
  400. package/.claude/hooks/pretooluse-editwrite.mjs +0 -139
  401. package/.claude/hooks/sessionend-recall.mjs +0 -74
  402. package/.claude/hooks/sessionstart-prime.mjs +0 -80
  403. package/.claude/hooks/userpromptsubmit-tag.mjs +0 -80
  404. package/.claude/hooks/worker-suggest.mjs +0 -110
  405. package/.claude/settings.json +0 -125
  406. package/.claude/settings.local.json +0 -7
  407. package/.claude/skills/9router/SKILL.md +0 -80
  408. package/.claude/skills/9router-chat/SKILL.md +0 -73
  409. package/.claude/skills/9router-embeddings/SKILL.md +0 -69
  410. package/.claude/skills/9router-image/SKILL.md +0 -86
  411. package/.claude/skills/9router-stt/SKILL.md +0 -79
  412. package/.claude/skills/9router-tts/SKILL.md +0 -80
  413. package/.claude/skills/9router-web-fetch/SKILL.md +0 -99
  414. package/.claude/skills/9router-web-search/SKILL.md +0 -91
  415. package/.claude/skills/bizar/README.md +0 -9
  416. package/.claude/skills/bizar/SKILL.md +0 -450
  417. package/.claude/skills/cpp-coding-standards/README.md +0 -28
  418. package/.claude/skills/cpp-coding-standards/SKILL.md +0 -634
  419. package/.claude/skills/cpp-coding-standards/references/concurrency.md +0 -320
  420. package/.claude/skills/cpp-coding-standards/references/error-handling.md +0 -229
  421. package/.claude/skills/cpp-coding-standards/references/memory-safety.md +0 -216
  422. package/.claude/skills/cpp-coding-standards/references/modern-idioms.md +0 -282
  423. package/.claude/skills/cpp-coding-standards/references/review-checklist.md +0 -96
  424. package/.claude/skills/cpp-testing/README.md +0 -28
  425. package/.claude/skills/cpp-testing/SKILL.md +0 -304
  426. package/.claude/skills/cpp-testing/references/coverage.md +0 -370
  427. package/.claude/skills/cpp-testing/references/framework-compare.md +0 -175
  428. package/.claude/skills/cpp-testing/references/host-test-for-embedded.md +0 -499
  429. package/.claude/skills/cpp-testing/references/mocking.md +0 -364
  430. package/.claude/skills/cpp-testing/references/tdd-workflow.md +0 -308
  431. package/.claude/skills/cubesandbox/SKILL.md +0 -148
  432. package/.claude/skills/embedded-esp-idf/README.md +0 -41
  433. package/.claude/skills/embedded-esp-idf/SKILL.md +0 -439
  434. package/.claude/skills/embedded-esp-idf/references/freertos-patterns.md +0 -214
  435. package/.claude/skills/embedded-esp-idf/references/host-tests.md +0 -164
  436. package/.claude/skills/embedded-esp-idf/references/idf-py-commands.md +0 -157
  437. package/.claude/skills/embedded-esp-idf/references/kconfig.md +0 -159
  438. package/.claude/skills/embedded-esp-idf/references/logging-discipline.md +0 -118
  439. package/.claude/skills/embedded-esp-idf/references/memory-and-iram.md +0 -137
  440. package/.claude/skills/embedded-esp-idf/references/nvs.md +0 -121
  441. package/.claude/skills/embedded-esp-idf/references/packed-structs.md +0 -192
  442. package/.claude/skills/embedded-esp-idf/scripts/idf_env.sh +0 -47
  443. package/.claude/skills/embedded-esp-idf/scripts/size_check.sh +0 -77
  444. package/.claude/skills/glyph/SKILL.md +0 -163
  445. package/.claude/skills/harness-engineering/SKILL.md +0 -143
  446. package/.claude/skills/lightrag/SKILL.md +0 -81
  447. package/.claude/skills/memory-protocol/SKILL.md +0 -105
  448. package/.claude/skills/obsidian/SKILL.md +0 -306
  449. package/.claude/skills/read-the-damn-docs/SKILL.md +0 -113
  450. package/.claude/skills/self-improvement/SKILL.md +0 -64
  451. package/.claude/worktrees/kanban-overhaul/.claude/CLAUDE.md +0 -15
  452. package/.claude/worktrees/kanban-overhaul/.claude/agents/_shared/AGENT_BASELINE.md +0 -168
  453. package/.claude/worktrees/kanban-overhaul/.claude/agents/_shared/CLAUDE_TOOLS.md +0 -412
  454. package/.claude/worktrees/kanban-overhaul/.claude/agents/_shared/SKILLS.md +0 -109
  455. package/.claude/worktrees/kanban-overhaul/.claude/agents/agent-browser.md +0 -80
  456. package/.claude/worktrees/kanban-overhaul/.claude/agents/baldr.md +0 -49
  457. package/.claude/worktrees/kanban-overhaul/.claude/agents/forseti.md +0 -51
  458. package/.claude/worktrees/kanban-overhaul/.claude/agents/frigg.md +0 -42
  459. package/.claude/worktrees/kanban-overhaul/.claude/agents/heimdall.md +0 -33
  460. package/.claude/worktrees/kanban-overhaul/.claude/agents/hermod.md +0 -53
  461. package/.claude/worktrees/kanban-overhaul/.claude/agents/mimir.md +0 -49
  462. package/.claude/worktrees/kanban-overhaul/.claude/agents/odin.md +0 -287
  463. package/.claude/worktrees/kanban-overhaul/.claude/agents/quick.md +0 -34
  464. package/.claude/worktrees/kanban-overhaul/.claude/agents/semble-search.md +0 -50
  465. package/.claude/worktrees/kanban-overhaul/.claude/agents/thor.md +0 -53
  466. package/.claude/worktrees/kanban-overhaul/.claude/agents/tyr.md +0 -56
  467. package/.claude/worktrees/kanban-overhaul/.claude/agents/vidarr.md +0 -54
  468. package/.claude/worktrees/kanban-overhaul/.claude/agents/vor.md +0 -53
  469. package/.claude/worktrees/kanban-overhaul/.claude/commands/audit.md +0 -25
  470. package/.claude/worktrees/kanban-overhaul/.claude/commands/bizar.md +0 -22
  471. package/.claude/worktrees/kanban-overhaul/.claude/commands/explain.md +0 -17
  472. package/.claude/worktrees/kanban-overhaul/.claude/commands/init.md +0 -29
  473. package/.claude/worktrees/kanban-overhaul/.claude/commands/learn.md +0 -44
  474. package/.claude/worktrees/kanban-overhaul/.claude/commands/plan.md +0 -35
  475. package/.claude/worktrees/kanban-overhaul/.claude/commands/plow-through.md +0 -50
  476. package/.claude/worktrees/kanban-overhaul/.claude/commands/pr-review.md +0 -49
  477. package/.claude/worktrees/kanban-overhaul/.claude/commands/setup-provider.md +0 -96
  478. package/.claude/worktrees/kanban-overhaul/.claude/commands/tailscale-serve.md +0 -100
  479. package/.claude/worktrees/kanban-overhaul/.claude/commands/team.md +0 -132
  480. package/.claude/worktrees/kanban-overhaul/.claude/commands/test.md +0 -62
  481. package/.claude/worktrees/kanban-overhaul/.claude/commands/validate.md +0 -68
  482. package/.claude/worktrees/kanban-overhaul/.claude/commands/visual-plan.md +0 -24
  483. package/.claude/worktrees/kanban-overhaul/.claude/hooks/README.md +0 -92
  484. package/.claude/worktrees/kanban-overhaul/.claude/hooks/posttooluse-editwrite.mjs +0 -91
  485. package/.claude/worktrees/kanban-overhaul/.claude/hooks/pretooluse-bash.mjs +0 -81
  486. package/.claude/worktrees/kanban-overhaul/.claude/hooks/pretooluse-editwrite.mjs +0 -139
  487. package/.claude/worktrees/kanban-overhaul/.claude/hooks/sessionend-recall.mjs +0 -74
  488. package/.claude/worktrees/kanban-overhaul/.claude/hooks/sessionstart-prime.mjs +0 -80
  489. package/.claude/worktrees/kanban-overhaul/.claude/hooks/userpromptsubmit-tag.mjs +0 -80
  490. package/.claude/worktrees/kanban-overhaul/.claude/hooks/worker-suggest.mjs +0 -110
  491. package/.claude/worktrees/kanban-overhaul/.claude/settings.json +0 -125
  492. package/.claude/worktrees/kanban-overhaul/.claude/settings.local.json +0 -8
  493. package/.claude/worktrees/kanban-overhaul/.claude/skills/9router/SKILL.md +0 -80
  494. package/.claude/worktrees/kanban-overhaul/.claude/skills/9router-chat/SKILL.md +0 -73
  495. package/.claude/worktrees/kanban-overhaul/.claude/skills/9router-embeddings/SKILL.md +0 -69
  496. package/.claude/worktrees/kanban-overhaul/.claude/skills/9router-image/SKILL.md +0 -86
  497. package/.claude/worktrees/kanban-overhaul/.claude/skills/9router-stt/SKILL.md +0 -79
  498. package/.claude/worktrees/kanban-overhaul/.claude/skills/9router-tts/SKILL.md +0 -80
  499. package/.claude/worktrees/kanban-overhaul/.claude/skills/9router-web-fetch/SKILL.md +0 -99
  500. package/.claude/worktrees/kanban-overhaul/.claude/skills/9router-web-search/SKILL.md +0 -91
  501. package/.claude/worktrees/kanban-overhaul/.claude/skills/bizar/README.md +0 -9
  502. package/.claude/worktrees/kanban-overhaul/.claude/skills/bizar/SKILL.md +0 -450
  503. package/.claude/worktrees/kanban-overhaul/.claude/skills/cpp-coding-standards/README.md +0 -28
  504. package/.claude/worktrees/kanban-overhaul/.claude/skills/cpp-coding-standards/SKILL.md +0 -634
  505. package/.claude/worktrees/kanban-overhaul/.claude/skills/cpp-coding-standards/references/concurrency.md +0 -320
  506. package/.claude/worktrees/kanban-overhaul/.claude/skills/cpp-coding-standards/references/error-handling.md +0 -229
  507. package/.claude/worktrees/kanban-overhaul/.claude/skills/cpp-coding-standards/references/memory-safety.md +0 -216
  508. package/.claude/worktrees/kanban-overhaul/.claude/skills/cpp-coding-standards/references/modern-idioms.md +0 -282
  509. package/.claude/worktrees/kanban-overhaul/.claude/skills/cpp-coding-standards/references/review-checklist.md +0 -96
  510. package/.claude/worktrees/kanban-overhaul/.claude/skills/cpp-testing/README.md +0 -28
  511. package/.claude/worktrees/kanban-overhaul/.claude/skills/cpp-testing/SKILL.md +0 -304
  512. package/.claude/worktrees/kanban-overhaul/.claude/skills/cpp-testing/references/coverage.md +0 -370
  513. package/.claude/worktrees/kanban-overhaul/.claude/skills/cpp-testing/references/framework-compare.md +0 -175
  514. package/.claude/worktrees/kanban-overhaul/.claude/skills/cpp-testing/references/host-test-for-embedded.md +0 -499
  515. package/.claude/worktrees/kanban-overhaul/.claude/skills/cpp-testing/references/mocking.md +0 -364
  516. package/.claude/worktrees/kanban-overhaul/.claude/skills/cpp-testing/references/tdd-workflow.md +0 -308
  517. package/.claude/worktrees/kanban-overhaul/.claude/skills/cubesandbox/SKILL.md +0 -148
  518. package/.claude/worktrees/kanban-overhaul/.claude/skills/embedded-esp-idf/README.md +0 -41
  519. package/.claude/worktrees/kanban-overhaul/.claude/skills/embedded-esp-idf/SKILL.md +0 -439
  520. package/.claude/worktrees/kanban-overhaul/.claude/skills/embedded-esp-idf/references/freertos-patterns.md +0 -214
  521. package/.claude/worktrees/kanban-overhaul/.claude/skills/embedded-esp-idf/references/host-tests.md +0 -164
  522. package/.claude/worktrees/kanban-overhaul/.claude/skills/embedded-esp-idf/references/idf-py-commands.md +0 -157
  523. package/.claude/worktrees/kanban-overhaul/.claude/skills/embedded-esp-idf/references/kconfig.md +0 -159
  524. package/.claude/worktrees/kanban-overhaul/.claude/skills/embedded-esp-idf/references/logging-discipline.md +0 -118
  525. package/.claude/worktrees/kanban-overhaul/.claude/skills/embedded-esp-idf/references/memory-and-iram.md +0 -137
  526. package/.claude/worktrees/kanban-overhaul/.claude/skills/embedded-esp-idf/references/nvs.md +0 -121
  527. package/.claude/worktrees/kanban-overhaul/.claude/skills/embedded-esp-idf/references/packed-structs.md +0 -192
  528. package/.claude/worktrees/kanban-overhaul/.claude/skills/embedded-esp-idf/scripts/idf_env.sh +0 -47
  529. package/.claude/worktrees/kanban-overhaul/.claude/skills/embedded-esp-idf/scripts/size_check.sh +0 -77
  530. package/.claude/worktrees/kanban-overhaul/.claude/skills/glyph/SKILL.md +0 -163
  531. package/.claude/worktrees/kanban-overhaul/.claude/skills/harness-engineering/SKILL.md +0 -143
  532. package/.claude/worktrees/kanban-overhaul/.claude/skills/lightrag/SKILL.md +0 -81
  533. package/.claude/worktrees/kanban-overhaul/.claude/skills/memory-protocol/SKILL.md +0 -105
  534. package/.claude/worktrees/kanban-overhaul/.claude/skills/obsidian/SKILL.md +0 -306
  535. package/.claude/worktrees/kanban-overhaul/.claude/skills/read-the-damn-docs/SKILL.md +0 -113
  536. package/.claude/worktrees/kanban-overhaul/.claude/skills/self-improvement/SKILL.md +0 -64
  537. package/.claude/worktrees/kanban-overhaul/.dockerignore +0 -31
  538. package/.claude/worktrees/kanban-overhaul/.gitattributes +0 -27
  539. package/.claude/worktrees/kanban-overhaul/.harness/agents.json +0 -17
  540. package/.claude/worktrees/kanban-overhaul/.harness/arch-rules.json +0 -69
  541. package/.claude/worktrees/kanban-overhaul/.harness/topology.json +0 -4
  542. package/.claude/worktrees/kanban-overhaul/.nvmrc +0 -1
  543. package/.claude/worktrees/kanban-overhaul/.serena/project.yml +0 -159
  544. package/.claude/worktrees/kanban-overhaul/AGENTS.md +0 -250
  545. package/.claude/worktrees/kanban-overhaul/CHANGELOG.md +0 -5410
  546. package/.claude/worktrees/kanban-overhaul/CLAUDE.md +0 -260
  547. package/.claude/worktrees/kanban-overhaul/CURRENT_ISSUES_ AND_NEW_FEATURES.md +0 -18
  548. package/.claude/worktrees/kanban-overhaul/DECISIONS.md +0 -66
  549. package/.claude/worktrees/kanban-overhaul/Dockerfile +0 -48
  550. package/.claude/worktrees/kanban-overhaul/FINAL_GOAL.md +0 -397
  551. package/.claude/worktrees/kanban-overhaul/IMPLEMENTATION_PLAN.md +0 -250
  552. package/.claude/worktrees/kanban-overhaul/MILESTONES.md +0 -257
  553. package/.claude/worktrees/kanban-overhaul/Makefile +0 -93
  554. package/.claude/worktrees/kanban-overhaul/PROGRESS.md +0 -1406
  555. package/.claude/worktrees/kanban-overhaul/README.md +0 -483
  556. package/.claude/worktrees/kanban-overhaul/ROADMAP.md +0 -609
  557. package/.claude/worktrees/kanban-overhaul/bizar-dash/.graphifyignore +0 -40
  558. package/.claude/worktrees/kanban-overhaul/bizar-dash/.obsidian/README.md +0 -14
  559. package/.claude/worktrees/kanban-overhaul/bizar-dash/.obsidian/daily/2026-06-25.md +0 -9
  560. package/.claude/worktrees/kanban-overhaul/bizar-dash/.obsidian/vault.json +0 -7
  561. package/.claude/worktrees/kanban-overhaul/bizar-dash/.od-skills/web-prototype-e1429c1737/SKILL.md +0 -103
  562. package/.claude/worktrees/kanban-overhaul/bizar-dash/.od-skills/web-prototype-e1429c1737/assets/template.html +0 -338
  563. package/.claude/worktrees/kanban-overhaul/bizar-dash/.od-skills/web-prototype-e1429c1737/example.html +0 -81
  564. package/.claude/worktrees/kanban-overhaul/bizar-dash/.od-skills/web-prototype-e1429c1737/open-design.json +0 -172
  565. package/.claude/worktrees/kanban-overhaul/bizar-dash/.od-skills/web-prototype-e1429c1737/references/checklist.md +0 -44
  566. package/.claude/worktrees/kanban-overhaul/bizar-dash/.od-skills/web-prototype-e1429c1737/references/layouts.md +0 -247
  567. package/.claude/worktrees/kanban-overhaul/bizar-dash/ARCHITECTURE.md +0 -197
  568. package/.claude/worktrees/kanban-overhaul/bizar-dash/CHANGELOG.md +0 -235
  569. package/.claude/worktrees/kanban-overhaul/bizar-dash/DESIGN.md +0 -912
  570. package/.claude/worktrees/kanban-overhaul/bizar-dash/GLYPH.md +0 -418
  571. package/.claude/worktrees/kanban-overhaul/bizar-dash/PLAN.md +0 -1135
  572. package/.claude/worktrees/kanban-overhaul/bizar-dash/critique.json +0 -26
  573. package/.claude/worktrees/kanban-overhaul/bizar-dash/plans/debug-plan/comments.json +0 -1
  574. package/.claude/worktrees/kanban-overhaul/bizar-dash/plans/debug-plan/meta.json +0 -10
  575. package/.claude/worktrees/kanban-overhaul/bizar-dash/plans/debug-plan/plan.json +0 -174
  576. package/.claude/worktrees/kanban-overhaul/bizar-dash/scripts/smoke-bg-retry.mjs +0 -246
  577. package/.claude/worktrees/kanban-overhaul/bizar-dash/skills/agent-baseline/SKILL.md +0 -80
  578. package/.claude/worktrees/kanban-overhaul/bizar-dash/skills/agent-browser/SKILL.md +0 -181
  579. package/.claude/worktrees/kanban-overhaul/bizar-dash/skills/bizar/SKILL.md +0 -116
  580. package/.claude/worktrees/kanban-overhaul/bizar-dash/skills/chat/SKILL.md +0 -74
  581. package/.claude/worktrees/kanban-overhaul/bizar-dash/skills/eval/SKILL.md +0 -237
  582. package/.claude/worktrees/kanban-overhaul/bizar-dash/skills/headroom/SKILL.md +0 -94
  583. package/.claude/worktrees/kanban-overhaul/bizar-dash/skills/lightrag/SKILL.md +0 -86
  584. package/.claude/worktrees/kanban-overhaul/bizar-dash/skills/minimax/SKILL.md +0 -80
  585. package/.claude/worktrees/kanban-overhaul/bizar-dash/skills/obsidian/SKILL.md +0 -68
  586. package/.claude/worktrees/kanban-overhaul/bizar-dash/skills/providers/SKILL.md +0 -75
  587. package/.claude/worktrees/kanban-overhaul/bizar-dash/skills/publishing/SKILL.md +0 -146
  588. package/.claude/worktrees/kanban-overhaul/bizar-dash/skills/sdk/SKILL.md +0 -138
  589. package/.claude/worktrees/kanban-overhaul/bizar-dash/skills/self-improvement/SKILL.md +0 -53
  590. package/.claude/worktrees/kanban-overhaul/bizar-dash/skills/skills-cli/SKILL.md +0 -94
  591. package/.claude/worktrees/kanban-overhaul/bizar-dash/skills/usage/SKILL.md +0 -62
  592. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/cli/dashboard-ports.mjs +0 -488
  593. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/cli.mjs +0 -537
  594. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/activity-log.mjs +0 -174
  595. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/agents-store.mjs +0 -465
  596. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/api.mjs +0 -223
  597. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/artifact-template.html +0 -810
  598. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/artifacts-store.mjs +0 -733
  599. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/auth.mjs +0 -548
  600. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/background-store.mjs +0 -446
  601. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/backup-store.mjs +0 -530
  602. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/bg-poller.mjs +0 -375
  603. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/bg-retry.mjs +0 -446
  604. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/bg-spawner.mjs +0 -390
  605. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/browser.mjs +0 -40
  606. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/claude-bg-spawner.mjs +0 -390
  607. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/claude-info.mjs +0 -412
  608. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/claude-runner.mjs +0 -284
  609. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/claude-sdk.mjs +0 -191
  610. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/diagnostics-store.mjs +0 -598
  611. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/dialog-poller.mjs +0 -105
  612. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/dialog-store.mjs +0 -177
  613. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/digest-store.mjs +0 -558
  614. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/eval-store.mjs +0 -281
  615. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/eval.mjs +0 -500
  616. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/glyphs/mdx-compiler.mjs +0 -596
  617. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/headroom.mjs +0 -649
  618. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/lib/path-safe.mjs +0 -283
  619. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/lib/rate-limit.mjs +0 -122
  620. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/logger.mjs +0 -71
  621. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/memory-consolidator.mjs +0 -225
  622. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/memory-distillation.mjs +0 -296
  623. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/memory-git.mjs +0 -473
  624. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/memory-lightrag.mjs +0 -1478
  625. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/memory-obsidian.mjs +0 -230
  626. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/memory-schema.mjs +0 -145
  627. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/memory-secrets.mjs +0 -84
  628. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/memory-store.mjs +0 -1093
  629. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/metrics.mjs +0 -268
  630. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/minimax-usage-store.mjs +0 -372
  631. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/minimax.mjs +0 -683
  632. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/mod-security.mjs +0 -398
  633. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/mods-loader.mjs +0 -1243
  634. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/notifications-store.mjs +0 -243
  635. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/obsidian-store.mjs +0 -318
  636. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/ocr.mjs +0 -55
  637. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/otel.mjs +0 -260
  638. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/pair-store.mjs +0 -138
  639. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/progress-parser.mjs +0 -221
  640. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/projects-store.mjs +0 -364
  641. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/providers-store.mjs +0 -1801
  642. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/_shared.mjs +0 -447
  643. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/activity.mjs +0 -195
  644. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/agents-cc.mjs +0 -194
  645. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/agents.mjs +0 -134
  646. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/artifacts.mjs +0 -279
  647. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/auth.mjs +0 -69
  648. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/background.mjs +0 -422
  649. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/backup.mjs +0 -112
  650. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/chat.mjs +0 -727
  651. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/claude-session-detail.mjs +0 -329
  652. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/claude-sessions.mjs +0 -259
  653. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/clipboard.mjs +0 -173
  654. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/config.mjs +0 -180
  655. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/diagnostics.mjs +0 -50
  656. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/dialogs.mjs +0 -86
  657. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/digests.mjs +0 -82
  658. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/distill.mjs +0 -129
  659. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/doctor.mjs +0 -71
  660. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/env-vars.mjs +0 -231
  661. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/eval.mjs +0 -187
  662. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/fs.mjs +0 -429
  663. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/goal-planner.mjs +0 -236
  664. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/goals.mjs +0 -212
  665. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/headroom.mjs +0 -126
  666. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/history.mjs +0 -78
  667. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/lightrag.mjs +0 -169
  668. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/memory.mjs +0 -1524
  669. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/minimax.mjs +0 -133
  670. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/misc.mjs +0 -90
  671. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/mods.mjs +0 -359
  672. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/notifications.mjs +0 -54
  673. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/obsidian.mjs +0 -239
  674. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/ocr.mjs +0 -182
  675. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/overview.mjs +0 -92
  676. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/pair.mjs +0 -67
  677. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/projects.mjs +0 -175
  678. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/providers.mjs +0 -308
  679. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/schedules.mjs +0 -159
  680. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/settings.mjs +0 -51
  681. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/skills.mjs +0 -65
  682. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/tailscale.mjs +0 -46
  683. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/tasks.mjs +0 -518
  684. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/themes.mjs +0 -51
  685. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/update.mjs +0 -340
  686. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/usage.mjs +0 -136
  687. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/users.mjs +0 -102
  688. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/voice.mjs +0 -167
  689. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/workspaces.mjs +0 -299
  690. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes-v2/auth.mjs +0 -59
  691. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes-v2/events.mjs +0 -121
  692. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes-v2/health.mjs +0 -21
  693. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes-v2/index.mjs +0 -90
  694. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes-v2/sessions.mjs +0 -111
  695. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/schedules-runner.mjs +0 -556
  696. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/schedules-store.mjs +0 -268
  697. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/search-store.mjs +0 -220
  698. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/serve-info.mjs +0 -1110
  699. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/server.mjs +0 -966
  700. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/settings-store.mjs +0 -45
  701. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/skills-store.mjs +0 -190
  702. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/state.mjs +0 -437
  703. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/tailscale-store.mjs +0 -113
  704. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/task-delegator.mjs +0 -969
  705. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/tasks-store.mjs +0 -556
  706. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/tui.mjs +0 -923
  707. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/update-store.mjs +0 -168
  708. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/v2-auth-file.mjs +0 -99
  709. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/v2-event-bus.mjs +0 -128
  710. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/voice-store.mjs +0 -229
  711. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/voice-transcribe.mjs +0 -72
  712. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/watcher.mjs +0 -81
  713. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/workers/transcription-worker.mjs +0 -213
  714. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/workspaces.mjs +0 -626
  715. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/yaml.mjs +0 -238
  716. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/App.tsx +0 -200
  717. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/data/fetcher.ts +0 -59
  718. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/data/types.ts +0 -168
  719. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/data/useFetch.ts +0 -62
  720. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/data/useWebSocket.ts +0 -153
  721. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/main.tsx +0 -28
  722. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/shell/AppShell.tsx +0 -90
  723. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/shell/PageSkeleton.tsx +0 -29
  724. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/shell/Sidebar.tsx +0 -361
  725. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/shell/StatusBar.tsx +0 -63
  726. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/shell/Topbar.tsx +0 -113
  727. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/shell/index.ts +0 -15
  728. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/activity/ActivityFeed.tsx +0 -137
  729. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/agents/AgentActivity.tsx +0 -101
  730. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/agents/AgentCard.tsx +0 -158
  731. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/agents/AgentDetail.tsx +0 -232
  732. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/controls/Button.tsx +0 -141
  733. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/controls/ButtonGroup.tsx +0 -32
  734. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/controls/Checkbox.tsx +0 -49
  735. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/controls/Field.tsx +0 -78
  736. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/controls/Form.tsx +0 -23
  737. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/controls/IconButton.tsx +0 -112
  738. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/controls/Input.tsx +0 -94
  739. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/controls/RadioGroup.tsx +0 -74
  740. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/controls/Select.tsx +0 -171
  741. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/controls/Slider.tsx +0 -68
  742. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/controls/Switch.tsx +0 -56
  743. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/controls/Textarea.tsx +0 -64
  744. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/controls/Toggle.tsx +0 -36
  745. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/controls/ToggleGroup.tsx +0 -85
  746. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/data/Accordion.tsx +0 -134
  747. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/data/Avatar.tsx +0 -175
  748. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/data/Badge.tsx +0 -93
  749. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/data/BarList.tsx +0 -101
  750. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/data/Card.tsx +0 -140
  751. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/data/Chip.tsx +0 -96
  752. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/data/Kbd.tsx +0 -42
  753. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/data/ProgressBar.tsx +0 -93
  754. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/data/Sparkline.tsx +0 -98
  755. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/data/StatTile.tsx +0 -150
  756. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/data/Table.tsx +0 -170
  757. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/data/Timeline.tsx +0 -130
  758. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/data/ViewHeader.tsx +0 -122
  759. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/feedback/Alert.tsx +0 -95
  760. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/feedback/Banner.tsx +0 -39
  761. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/feedback/ContextMenu.tsx +0 -143
  762. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/feedback/Dialog.tsx +0 -149
  763. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/feedback/Drawer.tsx +0 -8
  764. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/feedback/DropdownMenu.tsx +0 -231
  765. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/feedback/EmptyState.tsx +0 -48
  766. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/feedback/Popover.tsx +0 -56
  767. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/feedback/Sheet.tsx +0 -103
  768. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/feedback/Skeleton.tsx +0 -67
  769. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/feedback/Spinner.tsx +0 -30
  770. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/feedback/Toast.tsx +0 -66
  771. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/feedback/Tooltip.tsx +0 -89
  772. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/goals/GoalCard.tsx +0 -176
  773. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/goals/GoalDetail.tsx +0 -245
  774. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/goals/KeyResult.tsx +0 -115
  775. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/index.ts +0 -349
  776. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/kanban/KanbanBoard.tsx +0 -115
  777. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/kanban/KanbanCard.tsx +0 -391
  778. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/kanban/KanbanColumn.tsx +0 -181
  779. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/kanban/KanbanContextMenu.tsx +0 -126
  780. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/kanban/KanbanDetailDialog.tsx +0 -638
  781. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/kanban/KanbanQuickAdd.tsx +0 -141
  782. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/libraries/LibraryGrid.tsx +0 -30
  783. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/libraries/LibraryItem.tsx +0 -161
  784. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/memory/MemoryVault.tsx +0 -144
  785. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/navigation/CommandPalette.tsx +0 -224
  786. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/navigation/NavLink.tsx +0 -81
  787. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/navigation/Pagination.tsx +0 -164
  788. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/navigation/Tabs.tsx +0 -128
  789. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/primitives/Box.tsx +0 -144
  790. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/primitives/Center.tsx +0 -40
  791. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/primitives/Cluster.tsx +0 -67
  792. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/primitives/Grid.tsx +0 -104
  793. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/primitives/Inline.tsx +0 -77
  794. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/primitives/Portal.tsx +0 -33
  795. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/primitives/ScrollArea.tsx +0 -62
  796. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/primitives/Separator.tsx +0 -42
  797. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/primitives/Stack.tsx +0 -73
  798. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/primitives/VisuallyHidden.tsx +0 -49
  799. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/settings/SettingsNav.tsx +0 -91
  800. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/settings/SettingsRow.tsx +0 -88
  801. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/settings/SettingsSection.tsx +0 -109
  802. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/styles/globals.css +0 -220
  803. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/styles/reset.css +0 -57
  804. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/styles/tokens.css +0 -217
  805. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/theme/DensityProvider.tsx +0 -66
  806. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/theme/ThemeProvider.tsx +0 -94
  807. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/theme/ThemeToggle.tsx +0 -88
  808. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/theme/useDensity.ts +0 -15
  809. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/theme/useTheme.ts +0 -16
  810. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/utils/cx.ts +0 -19
  811. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/views/Activity/ActivityView.tsx +0 -71
  812. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/views/Agents/AgentsView.tsx +0 -172
  813. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/views/CommandPalette/AppCommandPalette.tsx +0 -247
  814. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/views/Goals/GoalsView.tsx +0 -137
  815. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/views/Libraries/LibrariesView.tsx +0 -108
  816. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/views/Memory/MemoryView.tsx +0 -77
  817. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/views/Overview/OverviewView.tsx +0 -152
  818. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/views/Router.tsx +0 -72
  819. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/views/Settings/SettingsView.tsx +0 -330
  820. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/views/Tasks/CommandPalettePlaceholder.tsx +0 -106
  821. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/views/Tasks/TasksView.tsx +0 -792
  822. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/vite-env.d.ts +0 -15
  823. package/.claude/worktrees/kanban-overhaul/bizar-dash/templates/mod/FORMAT.md +0 -76
  824. package/.claude/worktrees/kanban-overhaul/bizar-dash/templates/mod/hello-mod/README.md +0 -19
  825. package/.claude/worktrees/kanban-overhaul/bizar-dash/templates/mod/hello-mod/agents/greeter.md +0 -8
  826. package/.claude/worktrees/kanban-overhaul/bizar-dash/templates/mod/hello-mod/commands/hello.md +0 -6
  827. package/.claude/worktrees/kanban-overhaul/bizar-dash/templates/mod/hello-mod/mod.json +0 -20
  828. package/.claude/worktrees/kanban-overhaul/bizar-dash/templates/mod/hello-mod/routes/ping.mjs +0 -9
  829. package/.claude/worktrees/kanban-overhaul/bizar-dash/templates/mod/hello-mod/views/HelloView.tsx +0 -10
  830. package/.claude/worktrees/kanban-overhaul/bizar-dash/tests/setup.ts +0 -63
  831. package/.claude/worktrees/kanban-overhaul/bizar-dash/tests/smoke-v2.mjs +0 -212
  832. package/.claude/worktrees/kanban-overhaul/bizar-dash/tsconfig.json +0 -23
  833. package/.claude/worktrees/kanban-overhaul/bizar-dash/vite.config.ts +0 -66
  834. package/.claude/worktrees/kanban-overhaul/bizar-dash/vitest.config.ts +0 -20
  835. package/.claude/worktrees/kanban-overhaul/bizar-plugins/registry.json +0 -62
  836. package/.claude/worktrees/kanban-overhaul/bookmarklet/bizar-clipper.js +0 -48
  837. package/.claude/worktrees/kanban-overhaul/browser-extensions/bizar-clipper/README.md +0 -43
  838. package/.claude/worktrees/kanban-overhaul/browser-extensions/bizar-clipper/background.js +0 -95
  839. package/.claude/worktrees/kanban-overhaul/browser-extensions/bizar-clipper/content.js +0 -170
  840. package/.claude/worktrees/kanban-overhaul/browser-extensions/bizar-clipper/icons/icon-128.png +0 -0
  841. package/.claude/worktrees/kanban-overhaul/browser-extensions/bizar-clipper/icons/icon-16.png +0 -0
  842. package/.claude/worktrees/kanban-overhaul/browser-extensions/bizar-clipper/icons/icon-48.png +0 -0
  843. package/.claude/worktrees/kanban-overhaul/browser-extensions/bizar-clipper/icons/icon.svg +0 -4
  844. package/.claude/worktrees/kanban-overhaul/browser-extensions/bizar-clipper/manifest.json +0 -32
  845. package/.claude/worktrees/kanban-overhaul/browser-extensions/bizar-clipper/popup.html +0 -66
  846. package/.claude/worktrees/kanban-overhaul/browser-extensions/bizar-clipper/popup.js +0 -110
  847. package/.claude/worktrees/kanban-overhaul/bun.lock +0 -1558
  848. package/.claude/worktrees/kanban-overhaul/cli/agent-browser-up.sh +0 -152
  849. package/.claude/worktrees/kanban-overhaul/cli/agent-browser-update.mjs +0 -322
  850. package/.claude/worktrees/kanban-overhaul/cli/artifact-cli.mjs +0 -605
  851. package/.claude/worktrees/kanban-overhaul/cli/artifact-render.mjs +0 -621
  852. package/.claude/worktrees/kanban-overhaul/cli/artifact-server.mjs +0 -847
  853. package/.claude/worktrees/kanban-overhaul/cli/artifact-templates.mjs +0 -523
  854. package/.claude/worktrees/kanban-overhaul/cli/artifact.mjs +0 -63
  855. package/.claude/worktrees/kanban-overhaul/cli/atomic.mjs +0 -73
  856. package/.claude/worktrees/kanban-overhaul/cli/audit.mjs +0 -141
  857. package/.claude/worktrees/kanban-overhaul/cli/banner.mjs +0 -41
  858. package/.claude/worktrees/kanban-overhaul/cli/bg.mjs +0 -471
  859. package/.claude/worktrees/kanban-overhaul/cli/bin.mjs +0 -698
  860. package/.claude/worktrees/kanban-overhaul/cli/bootstrap.mjs +0 -77
  861. package/.claude/worktrees/kanban-overhaul/cli/commands/artifact.mjs +0 -20
  862. package/.claude/worktrees/kanban-overhaul/cli/commands/claim.mjs +0 -282
  863. package/.claude/worktrees/kanban-overhaul/cli/commands/claude-cmd.mjs +0 -348
  864. package/.claude/worktrees/kanban-overhaul/cli/commands/clip.mjs +0 -163
  865. package/.claude/worktrees/kanban-overhaul/cli/commands/cost.mjs +0 -279
  866. package/.claude/worktrees/kanban-overhaul/cli/commands/dash.mjs +0 -193
  867. package/.claude/worktrees/kanban-overhaul/cli/commands/deploy/cloudflare.mjs +0 -250
  868. package/.claude/worktrees/kanban-overhaul/cli/commands/deploy/docker.mjs +0 -222
  869. package/.claude/worktrees/kanban-overhaul/cli/commands/deploy/fly.mjs +0 -161
  870. package/.claude/worktrees/kanban-overhaul/cli/commands/deploy/vercel.mjs +0 -225
  871. package/.claude/worktrees/kanban-overhaul/cli/commands/deploy.mjs +0 -240
  872. package/.claude/worktrees/kanban-overhaul/cli/commands/eval.mjs +0 -396
  873. package/.claude/worktrees/kanban-overhaul/cli/commands/headroom.mjs +0 -204
  874. package/.claude/worktrees/kanban-overhaul/cli/commands/install.mjs +0 -170
  875. package/.claude/worktrees/kanban-overhaul/cli/commands/lightrag.mjs +0 -170
  876. package/.claude/worktrees/kanban-overhaul/cli/commands/marketplace.mjs +0 -64
  877. package/.claude/worktrees/kanban-overhaul/cli/commands/memory.mjs +0 -25
  878. package/.claude/worktrees/kanban-overhaul/cli/commands/minimax.mjs +0 -288
  879. package/.claude/worktrees/kanban-overhaul/cli/commands/mod.mjs +0 -185
  880. package/.claude/worktrees/kanban-overhaul/cli/commands/ocr.mjs +0 -182
  881. package/.claude/worktrees/kanban-overhaul/cli/commands/plugin.mjs +0 -358
  882. package/.claude/worktrees/kanban-overhaul/cli/commands/rca.mjs +0 -198
  883. package/.claude/worktrees/kanban-overhaul/cli/commands/sandbox.mjs +0 -220
  884. package/.claude/worktrees/kanban-overhaul/cli/commands/service.mjs +0 -79
  885. package/.claude/worktrees/kanban-overhaul/cli/commands/setup-provider.mjs +0 -466
  886. package/.claude/worktrees/kanban-overhaul/cli/commands/tailscale.mjs +0 -258
  887. package/.claude/worktrees/kanban-overhaul/cli/commands/usage.mjs +0 -113
  888. package/.claude/worktrees/kanban-overhaul/cli/commands/util.mjs +0 -577
  889. package/.claude/worktrees/kanban-overhaul/cli/commands/validate.mjs +0 -541
  890. package/.claude/worktrees/kanban-overhaul/cli/commands/voice.mjs +0 -211
  891. package/.claude/worktrees/kanban-overhaul/cli/commands/workspace.mjs +0 -247
  892. package/.claude/worktrees/kanban-overhaul/cli/copy.mjs +0 -586
  893. package/.claude/worktrees/kanban-overhaul/cli/cost-gate.mjs +0 -501
  894. package/.claude/worktrees/kanban-overhaul/cli/dev-link.mjs +0 -191
  895. package/.claude/worktrees/kanban-overhaul/cli/digest.mjs +0 -149
  896. package/.claude/worktrees/kanban-overhaul/cli/doctor.mjs +0 -217
  897. package/.claude/worktrees/kanban-overhaul/cli/export.mjs +0 -95
  898. package/.claude/worktrees/kanban-overhaul/cli/feature-list-bridge.mjs +0 -400
  899. package/.claude/worktrees/kanban-overhaul/cli/heads-up.mjs +0 -295
  900. package/.claude/worktrees/kanban-overhaul/cli/init.mjs +0 -368
  901. package/.claude/worktrees/kanban-overhaul/cli/install.mjs +0 -640
  902. package/.claude/worktrees/kanban-overhaul/cli/memory-constants.mjs +0 -76
  903. package/.claude/worktrees/kanban-overhaul/cli/memory.mjs +0 -1850
  904. package/.claude/worktrees/kanban-overhaul/cli/plugin-runtime-deps.mjs +0 -250
  905. package/.claude/worktrees/kanban-overhaul/cli/post-install-smoke.mjs +0 -256
  906. package/.claude/worktrees/kanban-overhaul/cli/prompts.mjs +0 -168
  907. package/.claude/worktrees/kanban-overhaul/cli/providers-detect.mjs +0 -233
  908. package/.claude/worktrees/kanban-overhaul/cli/provision-claude.mjs +0 -1176
  909. package/.claude/worktrees/kanban-overhaul/cli/provision.mjs +0 -2233
  910. package/.claude/worktrees/kanban-overhaul/cli/repair.mjs +0 -209
  911. package/.claude/worktrees/kanban-overhaul/cli/service-controller.mjs +0 -927
  912. package/.claude/worktrees/kanban-overhaul/cli/service-env.mjs +0 -139
  913. package/.claude/worktrees/kanban-overhaul/cli/service.mjs +0 -492
  914. package/.claude/worktrees/kanban-overhaul/cli/update.mjs +0 -29
  915. package/.claude/worktrees/kanban-overhaul/cli/utils.mjs +0 -221
  916. package/.claude/worktrees/kanban-overhaul/cli/worker-dispatcher.mjs +0 -259
  917. package/.claude/worktrees/kanban-overhaul/config/AGENTS.md +0 -595
  918. package/.claude/worktrees/kanban-overhaul/config/agents/_shared/AGENT_BASELINE.md +0 -155
  919. package/.claude/worktrees/kanban-overhaul/config/agents/_shared/CLINE_TOOLS.md +0 -398
  920. package/.claude/worktrees/kanban-overhaul/config/agents/_shared/SKILLS.md +0 -109
  921. package/.claude/worktrees/kanban-overhaul/config/agents/agent-browser.md +0 -90
  922. package/.claude/worktrees/kanban-overhaul/config/agents/baldr.md +0 -60
  923. package/.claude/worktrees/kanban-overhaul/config/agents/forseti.md +0 -60
  924. package/.claude/worktrees/kanban-overhaul/config/agents/frigg.md +0 -52
  925. package/.claude/worktrees/kanban-overhaul/config/agents/heimdall.md +0 -44
  926. package/.claude/worktrees/kanban-overhaul/config/agents/hermod.md +0 -64
  927. package/.claude/worktrees/kanban-overhaul/config/agents/mimir.md +0 -60
  928. package/.claude/worktrees/kanban-overhaul/config/agents/odin.md +0 -310
  929. package/.claude/worktrees/kanban-overhaul/config/agents/quick.md +0 -47
  930. package/.claude/worktrees/kanban-overhaul/config/agents/semble-search.md +0 -59
  931. package/.claude/worktrees/kanban-overhaul/config/agents/thor.md +0 -64
  932. package/.claude/worktrees/kanban-overhaul/config/agents/tyr.md +0 -67
  933. package/.claude/worktrees/kanban-overhaul/config/agents/vidarr.md +0 -65
  934. package/.claude/worktrees/kanban-overhaul/config/agents/vor.md +0 -62
  935. package/.claude/worktrees/kanban-overhaul/config/commands/audit.md +0 -5
  936. package/.claude/worktrees/kanban-overhaul/config/commands/bizar.md +0 -22
  937. package/.claude/worktrees/kanban-overhaul/config/commands/explain.md +0 -5
  938. package/.claude/worktrees/kanban-overhaul/config/commands/init.md +0 -26
  939. package/.claude/worktrees/kanban-overhaul/config/commands/learn.md +0 -5
  940. package/.claude/worktrees/kanban-overhaul/config/commands/plan.md +0 -30
  941. package/.claude/worktrees/kanban-overhaul/config/commands/plow-through.md +0 -47
  942. package/.claude/worktrees/kanban-overhaul/config/commands/pr-review.md +0 -5
  943. package/.claude/worktrees/kanban-overhaul/config/commands/setup-provider.md +0 -95
  944. package/.claude/worktrees/kanban-overhaul/config/commands/tailscale-serve.md +0 -97
  945. package/.claude/worktrees/kanban-overhaul/config/commands/team.md +0 -124
  946. package/.claude/worktrees/kanban-overhaul/config/commands/test.md +0 -60
  947. package/.claude/worktrees/kanban-overhaul/config/commands/validate.md +0 -66
  948. package/.claude/worktrees/kanban-overhaul/config/commands/visual-plan.md +0 -19
  949. package/.claude/worktrees/kanban-overhaul/config/hooks/PostToolUse +0 -66
  950. package/.claude/worktrees/kanban-overhaul/config/hooks/PreToolUse +0 -82
  951. package/.claude/worktrees/kanban-overhaul/config/hooks/README.md +0 -68
  952. package/.claude/worktrees/kanban-overhaul/config/hooks/TaskResume +0 -48
  953. package/.claude/worktrees/kanban-overhaul/config/hooks/TaskStart +0 -47
  954. package/.claude/worktrees/kanban-overhaul/config/hooks/UserPromptSubmit +0 -55
  955. package/.claude/worktrees/kanban-overhaul/config/rules/general.md +0 -9
  956. package/.claude/worktrees/kanban-overhaul/config/rules/git.md +0 -11
  957. package/.claude/worktrees/kanban-overhaul/config/rules/javascript.md +0 -10
  958. package/.claude/worktrees/kanban-overhaul/config/rules/python.md +0 -10
  959. package/.claude/worktrees/kanban-overhaul/config/rules/testing.md +0 -10
  960. package/.claude/worktrees/kanban-overhaul/config/rules/thinking.md +0 -56
  961. package/.claude/worktrees/kanban-overhaul/config/rules/uncertainty.md +0 -70
  962. package/.claude/worktrees/kanban-overhaul/config/skills/9router/SKILL.md +0 -80
  963. package/.claude/worktrees/kanban-overhaul/config/skills/9router-chat/SKILL.md +0 -73
  964. package/.claude/worktrees/kanban-overhaul/config/skills/9router-embeddings/SKILL.md +0 -69
  965. package/.claude/worktrees/kanban-overhaul/config/skills/9router-image/SKILL.md +0 -86
  966. package/.claude/worktrees/kanban-overhaul/config/skills/9router-stt/SKILL.md +0 -79
  967. package/.claude/worktrees/kanban-overhaul/config/skills/9router-tts/SKILL.md +0 -80
  968. package/.claude/worktrees/kanban-overhaul/config/skills/9router-web-fetch/SKILL.md +0 -99
  969. package/.claude/worktrees/kanban-overhaul/config/skills/9router-web-search/SKILL.md +0 -91
  970. package/.claude/worktrees/kanban-overhaul/config/skills/bizar/README.md +0 -9
  971. package/.claude/worktrees/kanban-overhaul/config/skills/bizar/SKILL.md +0 -447
  972. package/.claude/worktrees/kanban-overhaul/config/skills/cpp-coding-standards/README.md +0 -28
  973. package/.claude/worktrees/kanban-overhaul/config/skills/cpp-coding-standards/SKILL.md +0 -634
  974. package/.claude/worktrees/kanban-overhaul/config/skills/cpp-coding-standards/agents/openai.yaml +0 -4
  975. package/.claude/worktrees/kanban-overhaul/config/skills/cpp-coding-standards/references/concurrency.md +0 -320
  976. package/.claude/worktrees/kanban-overhaul/config/skills/cpp-coding-standards/references/error-handling.md +0 -229
  977. package/.claude/worktrees/kanban-overhaul/config/skills/cpp-coding-standards/references/memory-safety.md +0 -216
  978. package/.claude/worktrees/kanban-overhaul/config/skills/cpp-coding-standards/references/modern-idioms.md +0 -282
  979. package/.claude/worktrees/kanban-overhaul/config/skills/cpp-coding-standards/references/review-checklist.md +0 -96
  980. package/.claude/worktrees/kanban-overhaul/config/skills/cpp-testing/README.md +0 -28
  981. package/.claude/worktrees/kanban-overhaul/config/skills/cpp-testing/SKILL.md +0 -304
  982. package/.claude/worktrees/kanban-overhaul/config/skills/cpp-testing/agents/openai.yaml +0 -4
  983. package/.claude/worktrees/kanban-overhaul/config/skills/cpp-testing/references/coverage.md +0 -370
  984. package/.claude/worktrees/kanban-overhaul/config/skills/cpp-testing/references/framework-compare.md +0 -175
  985. package/.claude/worktrees/kanban-overhaul/config/skills/cpp-testing/references/host-test-for-embedded.md +0 -499
  986. package/.claude/worktrees/kanban-overhaul/config/skills/cpp-testing/references/mocking.md +0 -364
  987. package/.claude/worktrees/kanban-overhaul/config/skills/cpp-testing/references/tdd-workflow.md +0 -308
  988. package/.claude/worktrees/kanban-overhaul/config/skills/cubesandbox/SKILL.md +0 -148
  989. package/.claude/worktrees/kanban-overhaul/config/skills/embedded-esp-idf/README.md +0 -41
  990. package/.claude/worktrees/kanban-overhaul/config/skills/embedded-esp-idf/SKILL.md +0 -439
  991. package/.claude/worktrees/kanban-overhaul/config/skills/embedded-esp-idf/agents/openai.yaml +0 -4
  992. package/.claude/worktrees/kanban-overhaul/config/skills/embedded-esp-idf/references/freertos-patterns.md +0 -214
  993. package/.claude/worktrees/kanban-overhaul/config/skills/embedded-esp-idf/references/host-tests.md +0 -164
  994. package/.claude/worktrees/kanban-overhaul/config/skills/embedded-esp-idf/references/idf-py-commands.md +0 -157
  995. package/.claude/worktrees/kanban-overhaul/config/skills/embedded-esp-idf/references/kconfig.md +0 -159
  996. package/.claude/worktrees/kanban-overhaul/config/skills/embedded-esp-idf/references/logging-discipline.md +0 -118
  997. package/.claude/worktrees/kanban-overhaul/config/skills/embedded-esp-idf/references/memory-and-iram.md +0 -137
  998. package/.claude/worktrees/kanban-overhaul/config/skills/embedded-esp-idf/references/nvs.md +0 -121
  999. package/.claude/worktrees/kanban-overhaul/config/skills/embedded-esp-idf/references/packed-structs.md +0 -192
  1000. package/.claude/worktrees/kanban-overhaul/config/skills/embedded-esp-idf/scripts/idf_env.sh +0 -47
  1001. package/.claude/worktrees/kanban-overhaul/config/skills/embedded-esp-idf/scripts/size_check.sh +0 -77
  1002. package/.claude/worktrees/kanban-overhaul/config/skills/glyph/SKILL.md +0 -163
  1003. package/.claude/worktrees/kanban-overhaul/config/skills/harness-engineering/SKILL.md +0 -142
  1004. package/.claude/worktrees/kanban-overhaul/config/skills/lightrag/SKILL.md +0 -81
  1005. package/.claude/worktrees/kanban-overhaul/config/skills/memory-protocol/SKILL.md +0 -105
  1006. package/.claude/worktrees/kanban-overhaul/config/skills/obsidian/SKILL.md +0 -306
  1007. package/.claude/worktrees/kanban-overhaul/config/skills/read-the-damn-docs/SKILL.md +0 -113
  1008. package/.claude/worktrees/kanban-overhaul/config/skills/self-improvement/SKILL.md +0 -64
  1009. package/.claude/worktrees/kanban-overhaul/config/trigger-patterns.json +0 -186
  1010. package/.claude/worktrees/kanban-overhaul/docker-compose.yml +0 -50
  1011. package/.claude/worktrees/kanban-overhaul/docs/A11Y.md +0 -81
  1012. package/.claude/worktrees/kanban-overhaul/docs/DEPLOY.md +0 -360
  1013. package/.claude/worktrees/kanban-overhaul/docs/DOCKER.md +0 -250
  1014. package/.claude/worktrees/kanban-overhaul/docs/INDEX.md +0 -223
  1015. package/.claude/worktrees/kanban-overhaul/docs/PLUGIN_REGISTRY.md +0 -107
  1016. package/.claude/worktrees/kanban-overhaul/docs/RELEASING.md +0 -693
  1017. package/.claude/worktrees/kanban-overhaul/docs/architecture.md +0 -317
  1018. package/.claude/worktrees/kanban-overhaul/docs/code-review.md +0 -242
  1019. package/.claude/worktrees/kanban-overhaul/docs/curator.md +0 -144
  1020. package/.claude/worktrees/kanban-overhaul/docs/dashboard-ui-migration.md +0 -807
  1021. package/.claude/worktrees/kanban-overhaul/docs/decisions/DEC-001-cline-rewrite.md +0 -114
  1022. package/.claude/worktrees/kanban-overhaul/docs/decisions/DEC-002-in-process-clinecore.md +0 -139
  1023. package/.claude/worktrees/kanban-overhaul/docs/decisions/DEC-003-in-process-memory-vault.md +0 -101
  1024. package/.claude/worktrees/kanban-overhaul/docs/decisions/DEC-004-cline-agent-teams.md +0 -112
  1025. package/.claude/worktrees/kanban-overhaul/docs/decisions/DEC-005-bg-agents-via-dashboard.md +0 -77
  1026. package/.claude/worktrees/kanban-overhaul/docs/decisions/DEC-006-kanban-board.md +0 -69
  1027. package/.claude/worktrees/kanban-overhaul/docs/decisions/DEC-007-tool-approval-gate.md +0 -147
  1028. package/.claude/worktrees/kanban-overhaul/docs/decisions/DEC-008-skill-curator.md +0 -100
  1029. package/.claude/worktrees/kanban-overhaul/docs/decisions/DEC-009-pre-compaction-flush.md +0 -106
  1030. package/.claude/worktrees/kanban-overhaul/docs/decisions/DEC-010-knowledge-graph-tools.md +0 -95
  1031. package/.claude/worktrees/kanban-overhaul/docs/decisions/DEC-011-claude-code-migration.md +0 -172
  1032. package/.claude/worktrees/kanban-overhaul/docs/graph-tools.md +0 -130
  1033. package/.claude/worktrees/kanban-overhaul/docs/migration-guide.md +0 -471
  1034. package/.claude/worktrees/kanban-overhaul/docs/migrations/cline-replacement.md +0 -118
  1035. package/.claude/worktrees/kanban-overhaul/docs/postmortems/2026-06-18-plugin-state-deadlock.md +0 -250
  1036. package/.claude/worktrees/kanban-overhaul/docs/quality-document.md +0 -74
  1037. package/.claude/worktrees/kanban-overhaul/docs/releases/v0.5.2.md +0 -66
  1038. package/.claude/worktrees/kanban-overhaul/docs/releases/v0.5.4.md +0 -85
  1039. package/.claude/worktrees/kanban-overhaul/docs/releases/v2.3.0.md +0 -96
  1040. package/.claude/worktrees/kanban-overhaul/docs/releases/v3.24.0.md +0 -155
  1041. package/.claude/worktrees/kanban-overhaul/docs/releases/v4.0.0.md +0 -123
  1042. package/.claude/worktrees/kanban-overhaul/docs/releases/v7.0.0.md +0 -173
  1043. package/.claude/worktrees/kanban-overhaul/docs/safety.md +0 -216
  1044. package/.claude/worktrees/kanban-overhaul/feature_list.json +0 -1297
  1045. package/.claude/worktrees/kanban-overhaul/init.sh +0 -211
  1046. package/.claude/worktrees/kanban-overhaul/install.sh +0 -498
  1047. package/.claude/worktrees/kanban-overhaul/mods-examples/impeccable/INSTRUCTIONS.md +0 -82
  1048. package/.claude/worktrees/kanban-overhaul/mods-examples/impeccable/mod.json +0 -37
  1049. package/.claude/worktrees/kanban-overhaul/mods-examples/impeccable/route.mjs +0 -136
  1050. package/.claude/worktrees/kanban-overhaul/mods-examples/impeccable/web/index.html +0 -180
  1051. package/.claude/worktrees/kanban-overhaul/mods-examples/lightrag/INSTRUCTIONS.md +0 -81
  1052. package/.claude/worktrees/kanban-overhaul/mods-examples/lightrag/mod.json +0 -61
  1053. package/.claude/worktrees/kanban-overhaul/mods-examples/lightrag/route.mjs +0 -461
  1054. package/.claude/worktrees/kanban-overhaul/mods-examples/lightrag/web/index.html +0 -263
  1055. package/.claude/worktrees/kanban-overhaul/mods-examples/ponytail/INSTRUCTIONS.md +0 -87
  1056. package/.claude/worktrees/kanban-overhaul/mods-examples/ponytail/agents/thor.md +0 -64
  1057. package/.claude/worktrees/kanban-overhaul/mods-examples/ponytail/mod.json +0 -36
  1058. package/.claude/worktrees/kanban-overhaul/mods-examples/ponytail/route.mjs +0 -98
  1059. package/.claude/worktrees/kanban-overhaul/mods-examples/ponytail/web/index.html +0 -126
  1060. package/.claude/worktrees/kanban-overhaul/package.json +0 -154
  1061. package/.claude/worktrees/kanban-overhaul/packages/sdk/ARCHITECTURE.md +0 -70
  1062. package/.claude/worktrees/kanban-overhaul/packages/sdk/LICENSE +0 -21
  1063. package/.claude/worktrees/kanban-overhaul/packages/sdk/README.md +0 -80
  1064. package/.claude/worktrees/kanban-overhaul/packages/sdk/package.json +0 -30
  1065. package/.claude/worktrees/kanban-overhaul/packages/sdk/src/agent-registry.ts +0 -304
  1066. package/.claude/worktrees/kanban-overhaul/packages/sdk/src/consensus/byzantine.ts +0 -587
  1067. package/.claude/worktrees/kanban-overhaul/packages/sdk/src/consensus/index.ts +0 -147
  1068. package/.claude/worktrees/kanban-overhaul/packages/sdk/src/consensus/queen.ts +0 -173
  1069. package/.claude/worktrees/kanban-overhaul/packages/sdk/src/consensus/types.ts +0 -199
  1070. package/.claude/worktrees/kanban-overhaul/packages/sdk/src/dangerous-patterns.ts +0 -127
  1071. package/.claude/worktrees/kanban-overhaul/packages/sdk/src/federation/audit.ts +0 -156
  1072. package/.claude/worktrees/kanban-overhaul/packages/sdk/src/federation/budget.ts +0 -269
  1073. package/.claude/worktrees/kanban-overhaul/packages/sdk/src/federation/envelope.ts +0 -144
  1074. package/.claude/worktrees/kanban-overhaul/packages/sdk/src/federation/hmac.ts +0 -160
  1075. package/.claude/worktrees/kanban-overhaul/packages/sdk/src/federation/index.ts +0 -443
  1076. package/.claude/worktrees/kanban-overhaul/packages/sdk/src/federation/pii.ts +0 -241
  1077. package/.claude/worktrees/kanban-overhaul/packages/sdk/src/federation/policy.ts +0 -112
  1078. package/.claude/worktrees/kanban-overhaul/packages/sdk/src/federation/trust.ts +0 -146
  1079. package/.claude/worktrees/kanban-overhaul/packages/sdk/src/fingerprint.ts +0 -0
  1080. package/.claude/worktrees/kanban-overhaul/packages/sdk/src/index.ts +0 -114
  1081. package/.claude/worktrees/kanban-overhaul/packages/sdk/src/mcp/bin.ts +0 -51
  1082. package/.claude/worktrees/kanban-overhaul/packages/sdk/src/mcp/server.ts +0 -848
  1083. package/.claude/worktrees/kanban-overhaul/packages/sdk/src/memory/index.ts +0 -160
  1084. package/.claude/worktrees/kanban-overhaul/packages/sdk/src/router/codemod-intent.ts +0 -125
  1085. package/.claude/worktrees/kanban-overhaul/packages/sdk/src/router/index.ts +0 -247
  1086. package/.claude/worktrees/kanban-overhaul/packages/sdk/src/router/memory-distillation-shim.mjs +0 -18
  1087. package/.claude/worktrees/kanban-overhaul/packages/sdk/src/router/memory-distillation.ts +0 -249
  1088. package/.claude/worktrees/kanban-overhaul/packages/sdk/src/router/model-router.ts +0 -235
  1089. package/.claude/worktrees/kanban-overhaul/packages/sdk/src/router/q-learning-router.ts +0 -304
  1090. package/.claude/worktrees/kanban-overhaul/packages/sdk/src/swarm-topology.ts +0 -279
  1091. package/.claude/worktrees/kanban-overhaul/packages/sdk/src/version.ts +0 -4
  1092. package/.claude/worktrees/kanban-overhaul/packages/sdk/tsconfig.json +0 -25
  1093. package/.claude/worktrees/kanban-overhaul/packages/sdk/vitest.config.ts +0 -9
  1094. package/.claude/worktrees/kanban-overhaul/plugins/bizar/ARCHITECTURE.md +0 -72
  1095. package/.claude/worktrees/kanban-overhaul/plugins/bizar/CONSTRAINTS.md +0 -62
  1096. package/.claude/worktrees/kanban-overhaul/plugins/bizar/LICENSE +0 -21
  1097. package/.claude/worktrees/kanban-overhaul/plugins/bizar/README.md +0 -46
  1098. package/.claude/worktrees/kanban-overhaul/plugins/bizar/index.ts +0 -50
  1099. package/.claude/worktrees/kanban-overhaul/plugins/bizar/package.json +0 -18
  1100. package/.claude/worktrees/kanban-overhaul/plugins/bizar/tsconfig.json +0 -29
  1101. package/.claude/worktrees/kanban-overhaul/scripts/bh-full-e2e.mjs +0 -298
  1102. package/.claude/worktrees/kanban-overhaul/scripts/check-agents.mjs +0 -73
  1103. package/.claude/worktrees/kanban-overhaul/scripts/check-arch.sh +0 -80
  1104. package/.claude/worktrees/kanban-overhaul/scripts/check-deps.mjs +0 -492
  1105. package/.claude/worktrees/kanban-overhaul/scripts/clean-state-check.sh +0 -81
  1106. package/.claude/worktrees/kanban-overhaul/scripts/git-hooks/pre-commit +0 -59
  1107. package/.claude/worktrees/kanban-overhaul/scripts/git-hooks/pre-push +0 -54
  1108. package/.claude/worktrees/kanban-overhaul/scripts/install-hooks.sh +0 -29
  1109. package/.claude/worktrees/kanban-overhaul/scripts/install-service.mjs +0 -190
  1110. package/.claude/worktrees/kanban-overhaul/scripts/mirror-claude-md.sh +0 -78
  1111. package/.claude/worktrees/kanban-overhaul/scripts/session-trace.sh +0 -52
  1112. package/.claude/worktrees/kanban-overhaul/scripts/test-in-container.sh +0 -157
  1113. package/.claude/worktrees/kanban-overhaul/scripts/verify-feature.sh +0 -102
  1114. package/.claude/worktrees/kanban-overhaul/skills-lock.json +0 -11
  1115. package/.claude/worktrees/kanban-overhaul/templates/clean-state-checklist.md +0 -55
  1116. package/.claude/worktrees/kanban-overhaul/templates/deploy/cloudflare/README.md +0 -32
  1117. package/.claude/worktrees/kanban-overhaul/templates/deploy/cloudflare/functions-index.template.js +0 -15
  1118. package/.claude/worktrees/kanban-overhaul/templates/deploy/cloudflare/wrangler.toml.template +0 -9
  1119. package/.claude/worktrees/kanban-overhaul/templates/deploy/docker/.env.template +0 -16
  1120. package/.claude/worktrees/kanban-overhaul/templates/deploy/docker/README.md +0 -58
  1121. package/.claude/worktrees/kanban-overhaul/templates/deploy/docker/docker-compose.template.yml +0 -23
  1122. package/.claude/worktrees/kanban-overhaul/templates/deploy/fly/README.md +0 -35
  1123. package/.claude/worktrees/kanban-overhaul/templates/deploy/fly/fly.toml.template +0 -28
  1124. package/.claude/worktrees/kanban-overhaul/templates/deploy/vercel/README.md +0 -29
  1125. package/.claude/worktrees/kanban-overhaul/templates/deploy/vercel/api-index.template.js +0 -18
  1126. package/.claude/worktrees/kanban-overhaul/templates/deploy/vercel/vercel.json.template +0 -16
  1127. package/.claude/worktrees/kanban-overhaul/templates/eval-fixtures/README.md +0 -58
  1128. package/.claude/worktrees/kanban-overhaul/templates/eval-fixtures/citation.json +0 -16
  1129. package/.claude/worktrees/kanban-overhaul/templates/eval-fixtures/code-review.json +0 -16
  1130. package/.claude/worktrees/kanban-overhaul/templates/eval-fixtures/code-search-basic.json +0 -28
  1131. package/.claude/worktrees/kanban-overhaul/templates/eval-fixtures/concise-output.json +0 -16
  1132. package/.claude/worktrees/kanban-overhaul/templates/eval-fixtures/context-window.json +0 -16
  1133. package/.claude/worktrees/kanban-overhaul/templates/eval-fixtures/error-recovery.json +0 -16
  1134. package/.claude/worktrees/kanban-overhaul/templates/eval-fixtures/json-output.json +0 -20
  1135. package/.claude/worktrees/kanban-overhaul/templates/eval-fixtures/latency-bounds.json +0 -16
  1136. package/.claude/worktrees/kanban-overhaul/templates/eval-fixtures/multi-language.json +0 -16
  1137. package/.claude/worktrees/kanban-overhaul/templates/eval-fixtures/regression-suite.json +0 -79
  1138. package/.claude/worktrees/kanban-overhaul/templates/eval-fixtures/response-format.json +0 -30
  1139. package/.claude/worktrees/kanban-overhaul/templates/eval-fixtures/safe-paths.json +0 -16
  1140. package/.claude/worktrees/kanban-overhaul/templates/eval-fixtures/tool-call-correctness.json +0 -24
  1141. package/.claude/worktrees/kanban-overhaul/templates/eval-fixtures/tool-call-multi-step.json +0 -18
  1142. package/.claude/worktrees/kanban-overhaul/templates/eval-fixtures/unicode-handling.json +0 -16
  1143. package/.claude/worktrees/kanban-overhaul/templates/evaluator-rubric.md +0 -50
  1144. package/.claude/worktrees/kanban-overhaul/templates/plan/htmx.min.js +0 -1
  1145. package/.claude/worktrees/kanban-overhaul/templates/plan/library/bug-investigation.mdx +0 -79
  1146. package/.claude/worktrees/kanban-overhaul/templates/plan/library/decision-record.mdx +0 -71
  1147. package/.claude/worktrees/kanban-overhaul/templates/plan/library/feature-design.mdx +0 -92
  1148. package/.claude/worktrees/kanban-overhaul/templates/plan/meta.json.template +0 -8
  1149. package/.claude/worktrees/kanban-overhaul/templates/plan/plan.mdx.template +0 -46
  1150. package/.claude/worktrees/kanban-overhaul/templates/plugin-template/README.md +0 -121
  1151. package/.claude/worktrees/kanban-overhaul/templates/plugin-template/index.js +0 -66
  1152. package/.claude/worktrees/kanban-overhaul/templates/plugin-template/plugin.json +0 -42
  1153. package/.claude/worktrees/kanban-overhaul/templates/plugin-template/tests/plugin.test.js +0 -83
  1154. package/.claude/worktrees/kanban-overhaul/templates/schedules/daily-backup.json +0 -12
  1155. package/.claude/worktrees/kanban-overhaul/templates/schedules/daily-cleanup.json +0 -12
  1156. package/.claude/worktrees/kanban-overhaul/templates/schedules/hourly-health-check.json +0 -12
  1157. package/.claude/worktrees/kanban-overhaul/templates/schedules/webhook-on-push.json +0 -13
  1158. package/.claude/worktrees/kanban-overhaul/templates/schedules/weekly-digest.json +0 -13
  1159. package/.claude/worktrees/kanban-overhaul/templates/sprint-contract.md +0 -47
  1160. package/.claude/worktrees/kanban-overhaul/tsconfig.json +0 -44
  1161. package/.claude/worktrees/kanban-overhaul/vite.config.ts +0 -51
  1162. package/bizar-dash/dist/assets/ActivityFeed-BXIkGGQ1.js +0 -16
  1163. package/bizar-dash/dist/assets/ActivityFeed-BXIkGGQ1.js.map +0 -1
  1164. package/bizar-dash/dist/assets/ActivityView-CBxNNrZa.js +0 -12
  1165. package/bizar-dash/dist/assets/ActivityView-CBxNNrZa.js.map +0 -1
  1166. package/bizar-dash/dist/assets/AgentsView-uv4l21AH.js +0 -23
  1167. package/bizar-dash/dist/assets/AgentsView-uv4l21AH.js.map +0 -1
  1168. package/bizar-dash/dist/assets/BackgroundJobsView-CB4WXIpk.js +0 -6
  1169. package/bizar-dash/dist/assets/BackgroundJobsView-CB4WXIpk.js.map +0 -1
  1170. package/bizar-dash/dist/assets/Card-CeZsWlcP.js +0 -1
  1171. package/bizar-dash/dist/assets/Card-CeZsWlcP.js.map +0 -1
  1172. package/bizar-dash/dist/assets/Chip-OPjSKl2I.js +0 -1
  1173. package/bizar-dash/dist/assets/Chip-OPjSKl2I.js.map +0 -1
  1174. package/bizar-dash/dist/assets/EmptyState-BrLA8mbE.js +0 -1
  1175. package/bizar-dash/dist/assets/EmptyState-BrLA8mbE.js.map +0 -1
  1176. package/bizar-dash/dist/assets/GoalsView-B8R-kxQr.js +0 -11
  1177. package/bizar-dash/dist/assets/GoalsView-B8R-kxQr.js.map +0 -1
  1178. package/bizar-dash/dist/assets/Grid-B7NgNtff.js +0 -1
  1179. package/bizar-dash/dist/assets/Grid-B7NgNtff.js.map +0 -1
  1180. package/bizar-dash/dist/assets/Input-BW_5Sl6N.js +0 -1
  1181. package/bizar-dash/dist/assets/Input-BW_5Sl6N.js.map +0 -1
  1182. package/bizar-dash/dist/assets/KanbanCard-B-NOSfMN.js +0 -21
  1183. package/bizar-dash/dist/assets/KanbanCard-B-NOSfMN.js.map +0 -1
  1184. package/bizar-dash/dist/assets/LibrariesView-D6eB7B2A.js +0 -67
  1185. package/bizar-dash/dist/assets/LibrariesView-D6eB7B2A.js.map +0 -1
  1186. package/bizar-dash/dist/assets/MemoryView-MK4m1KbR.js +0 -13
  1187. package/bizar-dash/dist/assets/MemoryView-MK4m1KbR.js.map +0 -1
  1188. package/bizar-dash/dist/assets/OverviewView-CHavfYBa.js +0 -1
  1189. package/bizar-dash/dist/assets/OverviewView-CHavfYBa.js.map +0 -1
  1190. package/bizar-dash/dist/assets/SchedulesView-zV-0pbsz.js +0 -1
  1191. package/bizar-dash/dist/assets/SchedulesView-zV-0pbsz.js.map +0 -1
  1192. package/bizar-dash/dist/assets/Select-B6Ho36Tq.js +0 -11
  1193. package/bizar-dash/dist/assets/Select-B6Ho36Tq.js.map +0 -1
  1194. package/bizar-dash/dist/assets/SettingsRow-Br21uRFz.js +0 -1
  1195. package/bizar-dash/dist/assets/SettingsRow-Br21uRFz.js.map +0 -1
  1196. package/bizar-dash/dist/assets/SettingsView-Cx3uJrus.js +0 -38
  1197. package/bizar-dash/dist/assets/SettingsView-Cx3uJrus.js.map +0 -1
  1198. package/bizar-dash/dist/assets/Sheet-Cmu_4Zea.js +0 -1
  1199. package/bizar-dash/dist/assets/Sheet-Cmu_4Zea.js.map +0 -1
  1200. package/bizar-dash/dist/assets/Slider-B_jPr-SR.js +0 -1
  1201. package/bizar-dash/dist/assets/Slider-B_jPr-SR.js.map +0 -1
  1202. package/bizar-dash/dist/assets/Sparkline-Cmqw0N39.js +0 -1
  1203. package/bizar-dash/dist/assets/Sparkline-Cmqw0N39.js.map +0 -1
  1204. package/bizar-dash/dist/assets/Switch-C7Qyu50Y.js +0 -10
  1205. package/bizar-dash/dist/assets/Switch-C7Qyu50Y.js.map +0 -1
  1206. package/bizar-dash/dist/assets/TasksView-BXADmjgb.js +0 -1
  1207. package/bizar-dash/dist/assets/TasksView-BXADmjgb.js.map +0 -1
  1208. package/bizar-dash/dist/assets/Textarea-KIN98DVH.js +0 -1
  1209. package/bizar-dash/dist/assets/Textarea-KIN98DVH.js.map +0 -1
  1210. package/bizar-dash/dist/assets/ViewHeader-CPbqI-w8.js +0 -6
  1211. package/bizar-dash/dist/assets/ViewHeader-CPbqI-w8.js.map +0 -1
  1212. package/bizar-dash/dist/assets/brain-jN_ldx3U.js +0 -6
  1213. package/bizar-dash/dist/assets/brain-jN_ldx3U.js.map +0 -1
  1214. package/bizar-dash/dist/assets/calendar-DZGgPP2_.js +0 -6
  1215. package/bizar-dash/dist/assets/calendar-DZGgPP2_.js.map +0 -1
  1216. package/bizar-dash/dist/assets/circle-check-XhUtiACZ.js +0 -6
  1217. package/bizar-dash/dist/assets/circle-check-XhUtiACZ.js.map +0 -1
  1218. package/bizar-dash/dist/assets/clock-BXBnSbox.js +0 -6
  1219. package/bizar-dash/dist/assets/clock-BXBnSbox.js.map +0 -1
  1220. package/bizar-dash/dist/assets/cmdk-D15rXxc5.js +0 -80
  1221. package/bizar-dash/dist/assets/cmdk-D15rXxc5.js.map +0 -1
  1222. package/bizar-dash/dist/assets/dnd-kit-Bormfg7j.js +0 -5
  1223. package/bizar-dash/dist/assets/dnd-kit-Bormfg7j.js.map +0 -1
  1224. package/bizar-dash/dist/assets/git-pull-request-BCt0CEjc.js +0 -11
  1225. package/bizar-dash/dist/assets/git-pull-request-BCt0CEjc.js.map +0 -1
  1226. package/bizar-dash/dist/assets/index-C0JBGB5M.js +0 -1
  1227. package/bizar-dash/dist/assets/index-C0JBGB5M.js.map +0 -1
  1228. package/bizar-dash/dist/assets/index-CrWI7sQR.js +0 -1
  1229. package/bizar-dash/dist/assets/index-CrWI7sQR.js.map +0 -1
  1230. package/bizar-dash/dist/assets/main-CCimEcWH.js +0 -134
  1231. package/bizar-dash/dist/assets/main-CCimEcWH.js.map +0 -1
  1232. package/bizar-dash/dist/assets/play-B0rTjpSg.js +0 -6
  1233. package/bizar-dash/dist/assets/play-B0rTjpSg.js.map +0 -1
  1234. package/bizar-dash/dist/assets/plus-BaTQsS9G.js +0 -6
  1235. package/bizar-dash/dist/assets/plus-BaTQsS9G.js.map +0 -1
  1236. package/bizar-dash/dist/assets/refresh-cw-CoatVcs3.js +0 -6
  1237. package/bizar-dash/dist/assets/refresh-cw-CoatVcs3.js.map +0 -1
  1238. package/bizar-dash/dist/assets/terminal-k-1HFHcN.js +0 -11
  1239. package/bizar-dash/dist/assets/terminal-k-1HFHcN.js.map +0 -1
  1240. package/bizar-dash/dist/assets/trash-2-DtpKnAn2.js +0 -6
  1241. package/bizar-dash/dist/assets/trash-2-DtpKnAn2.js.map +0 -1
  1242. package/bizar-dash/dist/assets/triangle-alert-FHSs_e5b.js +0 -6
  1243. package/bizar-dash/dist/assets/triangle-alert-FHSs_e5b.js.map +0 -1
  1244. package/bizar-dash/dist/assets/wrench-CbBE0oQ0.js +0 -6
  1245. package/bizar-dash/dist/assets/wrench-CbBE0oQ0.js.map +0 -1
  1246. package/bizar-dash/dist/v8.html +0 -19
  1247. package/bizar-dash/src/web/v8/views/Tasks/CommandPalettePlaceholder.tsx +0 -106
  1248. package/bizar-dash/src/web/v8/views/Tasks/TasksKanbanPlaceholder.tsx +0 -62
  1249. package/bizar-dash/src/web/v8.html +0 -17
  1250. package/packages/sdk/.harness/agents.json +0 -17
  1251. package/packages/sdk/.harness/topology.json +0 -4
  1252. package/packages/sdk/ARCHITECTURE.md +0 -70
  1253. package/packages/sdk/README.md +0 -80
  1254. package/packages/sdk/src/agent-registry.ts +0 -304
  1255. package/packages/sdk/src/consensus/byzantine.ts +0 -587
  1256. package/packages/sdk/src/consensus/index.ts +0 -147
  1257. package/packages/sdk/src/consensus/queen.ts +0 -173
  1258. package/packages/sdk/src/consensus/types.ts +0 -199
  1259. package/packages/sdk/src/dangerous-patterns.ts +0 -127
  1260. package/packages/sdk/src/federation/audit.ts +0 -156
  1261. package/packages/sdk/src/federation/budget.ts +0 -269
  1262. package/packages/sdk/src/federation/envelope.ts +0 -144
  1263. package/packages/sdk/src/federation/hmac.ts +0 -160
  1264. package/packages/sdk/src/federation/index.ts +0 -443
  1265. package/packages/sdk/src/federation/pii.ts +0 -241
  1266. package/packages/sdk/src/federation/policy.ts +0 -112
  1267. package/packages/sdk/src/federation/trust.ts +0 -146
  1268. package/packages/sdk/src/fingerprint.ts +0 -0
  1269. package/packages/sdk/src/index.ts +0 -114
  1270. package/packages/sdk/src/mcp/bin.ts +0 -51
  1271. package/packages/sdk/src/mcp/server.ts +0 -848
  1272. package/packages/sdk/src/memory/index.ts +0 -160
  1273. package/packages/sdk/src/router/codemod-intent.ts +0 -125
  1274. package/packages/sdk/src/router/index.ts +0 -247
  1275. package/packages/sdk/src/router/memory-distillation-shim.mjs +0 -18
  1276. package/packages/sdk/src/router/memory-distillation.ts +0 -249
  1277. package/packages/sdk/src/router/model-router.ts +0 -235
  1278. package/packages/sdk/src/router/q-learning-router.ts +0 -304
  1279. package/packages/sdk/src/swarm-topology.ts +0 -279
  1280. package/packages/sdk/src/version.ts +0 -4
  1281. package/packages/sdk/tests/agent-registry.test.ts +0 -285
  1282. package/packages/sdk/tests/consensus.test.ts +0 -376
  1283. package/packages/sdk/tests/federation/audit.test.ts +0 -164
  1284. package/packages/sdk/tests/federation/budget.test.ts +0 -189
  1285. package/packages/sdk/tests/federation/envelope.test.ts +0 -120
  1286. package/packages/sdk/tests/federation/hmac.test.ts +0 -194
  1287. package/packages/sdk/tests/federation/orchestrator.test.ts +0 -176
  1288. package/packages/sdk/tests/federation/pii.test.ts +0 -106
  1289. package/packages/sdk/tests/federation/policy.test.ts +0 -140
  1290. package/packages/sdk/tests/federation/trust.test.ts +0 -124
  1291. package/packages/sdk/tests/mcp-tools.test.ts +0 -204
  1292. package/packages/sdk/tests/memory-distillation.test.mjs +0 -186
  1293. package/packages/sdk/tests/model-router.test.mjs +0 -108
  1294. package/packages/sdk/tests/q-learning-router.test.mjs +0 -100
  1295. package/packages/sdk/tests/router-orchestrator.test.mjs +0 -172
  1296. package/packages/sdk/tests/router.test.mjs +0 -91
  1297. package/packages/sdk/tests/sdk.test.mjs +0 -172
  1298. package/packages/sdk/tests/swarm-topology.test.ts +0 -258
  1299. package/packages/sdk/tsconfig.json +0 -25
  1300. /package/{.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8.html → bizar-dash/src/web/index.html} +0 -0
  1301. /package/{.claude/worktrees/kanban-overhaul/bizar-dash → bizar-dash}/src/web/v8/ui/kanban/KanbanCardBadges.tsx +0 -0
  1302. /package/{.claude/worktrees/kanban-overhaul/bizar-dash → bizar-dash}/src/web/v8/ui/kanban/KanbanEmptyColumn.tsx +0 -0
  1303. /package/{.claude/worktrees/kanban-overhaul/bizar-dash → bizar-dash}/src/web/v8/ui/kanban/KanbanProgress.tsx +0 -0
  1304. /package/{.claude/worktrees/kanban-overhaul/bizar-dash → bizar-dash}/src/web/v8/ui/kanban/KanbanToolbar.tsx +0 -0
  1305. /package/{.claude/worktrees/kanban-overhaul/bizar-dash → bizar-dash}/src/web/v8/ui/kanban/useKanbanSelection.ts +0 -0
  1306. /package/{.claude/worktrees/kanban-overhaul → plugins/bizar}/LICENSE +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dnd-kit-DrHErSkw.js","sources":["../../../node_modules/@dnd-kit/utilities/dist/utilities.esm.js","../../../node_modules/@dnd-kit/accessibility/dist/accessibility.esm.js","../../../node_modules/@dnd-kit/core/dist/core.esm.js","../../../node_modules/@dnd-kit/sortable/dist/sortable.esm.js"],"sourcesContent":["import { useMemo, useLayoutEffect, useEffect, useRef, useCallback } from 'react';\n\nfunction useCombinedRefs() {\n for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n refs[_key] = arguments[_key];\n }\n\n return useMemo(() => node => {\n refs.forEach(ref => ref(node));\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n refs);\n}\n\n// https://github.com/facebook/react/blob/master/packages/shared/ExecutionEnvironment.js\nconst canUseDOM = typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined';\n\nfunction isWindow(element) {\n const elementString = Object.prototype.toString.call(element);\n return elementString === '[object Window]' || // In Electron context the Window object serializes to [object global]\n elementString === '[object global]';\n}\n\nfunction isNode(node) {\n return 'nodeType' in node;\n}\n\nfunction getWindow(target) {\n var _target$ownerDocument, _target$ownerDocument2;\n\n if (!target) {\n return window;\n }\n\n if (isWindow(target)) {\n return target;\n }\n\n if (!isNode(target)) {\n return window;\n }\n\n return (_target$ownerDocument = (_target$ownerDocument2 = target.ownerDocument) == null ? void 0 : _target$ownerDocument2.defaultView) != null ? _target$ownerDocument : window;\n}\n\nfunction isDocument(node) {\n const {\n Document\n } = getWindow(node);\n return node instanceof Document;\n}\n\nfunction isHTMLElement(node) {\n if (isWindow(node)) {\n return false;\n }\n\n return node instanceof getWindow(node).HTMLElement;\n}\n\nfunction isSVGElement(node) {\n return node instanceof getWindow(node).SVGElement;\n}\n\nfunction getOwnerDocument(target) {\n if (!target) {\n return document;\n }\n\n if (isWindow(target)) {\n return target.document;\n }\n\n if (!isNode(target)) {\n return document;\n }\n\n if (isDocument(target)) {\n return target;\n }\n\n if (isHTMLElement(target) || isSVGElement(target)) {\n return target.ownerDocument;\n }\n\n return document;\n}\n\n/**\r\n * A hook that resolves to useEffect on the server and useLayoutEffect on the client\r\n * @param callback {function} Callback function that is invoked when the dependencies of the hook change\r\n */\n\nconst useIsomorphicLayoutEffect = canUseDOM ? useLayoutEffect : useEffect;\n\nfunction useEvent(handler) {\n const handlerRef = useRef(handler);\n useIsomorphicLayoutEffect(() => {\n handlerRef.current = handler;\n });\n return useCallback(function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return handlerRef.current == null ? void 0 : handlerRef.current(...args);\n }, []);\n}\n\nfunction useInterval() {\n const intervalRef = useRef(null);\n const set = useCallback((listener, duration) => {\n intervalRef.current = setInterval(listener, duration);\n }, []);\n const clear = useCallback(() => {\n if (intervalRef.current !== null) {\n clearInterval(intervalRef.current);\n intervalRef.current = null;\n }\n }, []);\n return [set, clear];\n}\n\nfunction useLatestValue(value, dependencies) {\n if (dependencies === void 0) {\n dependencies = [value];\n }\n\n const valueRef = useRef(value);\n useIsomorphicLayoutEffect(() => {\n if (valueRef.current !== value) {\n valueRef.current = value;\n }\n }, dependencies);\n return valueRef;\n}\n\nfunction useLazyMemo(callback, dependencies) {\n const valueRef = useRef();\n return useMemo(() => {\n const newValue = callback(valueRef.current);\n valueRef.current = newValue;\n return newValue;\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [...dependencies]);\n}\n\nfunction useNodeRef(onChange) {\n const onChangeHandler = useEvent(onChange);\n const node = useRef(null);\n const setNodeRef = useCallback(element => {\n if (element !== node.current) {\n onChangeHandler == null ? void 0 : onChangeHandler(element, node.current);\n }\n\n node.current = element;\n }, //eslint-disable-next-line\n []);\n return [node, setNodeRef];\n}\n\nfunction usePrevious(value) {\n const ref = useRef();\n useEffect(() => {\n ref.current = value;\n }, [value]);\n return ref.current;\n}\n\nlet ids = {};\nfunction useUniqueId(prefix, value) {\n return useMemo(() => {\n if (value) {\n return value;\n }\n\n const id = ids[prefix] == null ? 0 : ids[prefix] + 1;\n ids[prefix] = id;\n return prefix + \"-\" + id;\n }, [prefix, value]);\n}\n\nfunction createAdjustmentFn(modifier) {\n return function (object) {\n for (var _len = arguments.length, adjustments = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n adjustments[_key - 1] = arguments[_key];\n }\n\n return adjustments.reduce((accumulator, adjustment) => {\n const entries = Object.entries(adjustment);\n\n for (const [key, valueAdjustment] of entries) {\n const value = accumulator[key];\n\n if (value != null) {\n accumulator[key] = value + modifier * valueAdjustment;\n }\n }\n\n return accumulator;\n }, { ...object\n });\n };\n}\n\nconst add = /*#__PURE__*/createAdjustmentFn(1);\nconst subtract = /*#__PURE__*/createAdjustmentFn(-1);\n\nfunction hasViewportRelativeCoordinates(event) {\n return 'clientX' in event && 'clientY' in event;\n}\n\nfunction isKeyboardEvent(event) {\n if (!event) {\n return false;\n }\n\n const {\n KeyboardEvent\n } = getWindow(event.target);\n return KeyboardEvent && event instanceof KeyboardEvent;\n}\n\nfunction isTouchEvent(event) {\n if (!event) {\n return false;\n }\n\n const {\n TouchEvent\n } = getWindow(event.target);\n return TouchEvent && event instanceof TouchEvent;\n}\n\n/**\r\n * Returns the normalized x and y coordinates for mouse and touch events.\r\n */\n\nfunction getEventCoordinates(event) {\n if (isTouchEvent(event)) {\n if (event.touches && event.touches.length) {\n const {\n clientX: x,\n clientY: y\n } = event.touches[0];\n return {\n x,\n y\n };\n } else if (event.changedTouches && event.changedTouches.length) {\n const {\n clientX: x,\n clientY: y\n } = event.changedTouches[0];\n return {\n x,\n y\n };\n }\n }\n\n if (hasViewportRelativeCoordinates(event)) {\n return {\n x: event.clientX,\n y: event.clientY\n };\n }\n\n return null;\n}\n\nconst CSS = /*#__PURE__*/Object.freeze({\n Translate: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n const {\n x,\n y\n } = transform;\n return \"translate3d(\" + (x ? Math.round(x) : 0) + \"px, \" + (y ? Math.round(y) : 0) + \"px, 0)\";\n }\n\n },\n Scale: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n const {\n scaleX,\n scaleY\n } = transform;\n return \"scaleX(\" + scaleX + \") scaleY(\" + scaleY + \")\";\n }\n\n },\n Transform: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n return [CSS.Translate.toString(transform), CSS.Scale.toString(transform)].join(' ');\n }\n\n },\n Transition: {\n toString(_ref) {\n let {\n property,\n duration,\n easing\n } = _ref;\n return property + \" \" + duration + \"ms \" + easing;\n }\n\n }\n});\n\nconst SELECTOR = 'a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]';\nfunction findFirstFocusableNode(element) {\n if (element.matches(SELECTOR)) {\n return element;\n }\n\n return element.querySelector(SELECTOR);\n}\n\nexport { CSS, add, canUseDOM, findFirstFocusableNode, getEventCoordinates, getOwnerDocument, getWindow, hasViewportRelativeCoordinates, isDocument, isHTMLElement, isKeyboardEvent, isNode, isSVGElement, isTouchEvent, isWindow, subtract, useCombinedRefs, useEvent, useInterval, useIsomorphicLayoutEffect, useLatestValue, useLazyMemo, useNodeRef, usePrevious, useUniqueId };\n//# sourceMappingURL=utilities.esm.js.map\n","import React, { useState, useCallback } from 'react';\n\nconst hiddenStyles = {\n display: 'none'\n};\nfunction HiddenText(_ref) {\n let {\n id,\n value\n } = _ref;\n return React.createElement(\"div\", {\n id: id,\n style: hiddenStyles\n }, value);\n}\n\nfunction LiveRegion(_ref) {\n let {\n id,\n announcement,\n ariaLiveType = \"assertive\"\n } = _ref;\n // Hide element visually but keep it readable by screen readers\n const visuallyHidden = {\n position: 'fixed',\n top: 0,\n left: 0,\n width: 1,\n height: 1,\n margin: -1,\n border: 0,\n padding: 0,\n overflow: 'hidden',\n clip: 'rect(0 0 0 0)',\n clipPath: 'inset(100%)',\n whiteSpace: 'nowrap'\n };\n return React.createElement(\"div\", {\n id: id,\n style: visuallyHidden,\n role: \"status\",\n \"aria-live\": ariaLiveType,\n \"aria-atomic\": true\n }, announcement);\n}\n\nfunction useAnnouncement() {\n const [announcement, setAnnouncement] = useState('');\n const announce = useCallback(value => {\n if (value != null) {\n setAnnouncement(value);\n }\n }, []);\n return {\n announce,\n announcement\n };\n}\n\nexport { HiddenText, LiveRegion, useAnnouncement };\n//# sourceMappingURL=accessibility.esm.js.map\n","import React, { createContext, useContext, useEffect, useState, useCallback, useMemo, useRef, memo, useReducer, cloneElement, forwardRef } from 'react';\nimport { createPortal, unstable_batchedUpdates } from 'react-dom';\nimport { useUniqueId, getEventCoordinates, getWindow, isDocument, isHTMLElement, isSVGElement, canUseDOM, isWindow, isNode, getOwnerDocument, add, isKeyboardEvent, subtract, useLazyMemo, useInterval, usePrevious, useLatestValue, useEvent, useIsomorphicLayoutEffect, useNodeRef, findFirstFocusableNode, CSS } from '@dnd-kit/utilities';\nimport { useAnnouncement, HiddenText, LiveRegion } from '@dnd-kit/accessibility';\n\nconst DndMonitorContext = /*#__PURE__*/createContext(null);\n\nfunction useDndMonitor(listener) {\n const registerListener = useContext(DndMonitorContext);\n useEffect(() => {\n if (!registerListener) {\n throw new Error('useDndMonitor must be used within a children of <DndContext>');\n }\n\n const unsubscribe = registerListener(listener);\n return unsubscribe;\n }, [listener, registerListener]);\n}\n\nfunction useDndMonitorProvider() {\n const [listeners] = useState(() => new Set());\n const registerListener = useCallback(listener => {\n listeners.add(listener);\n return () => listeners.delete(listener);\n }, [listeners]);\n const dispatch = useCallback(_ref => {\n let {\n type,\n event\n } = _ref;\n listeners.forEach(listener => {\n var _listener$type;\n\n return (_listener$type = listener[type]) == null ? void 0 : _listener$type.call(listener, event);\n });\n }, [listeners]);\n return [dispatch, registerListener];\n}\n\nconst defaultScreenReaderInstructions = {\n draggable: \"\\n To pick up a draggable item, press the space bar.\\n While dragging, use the arrow keys to move the item.\\n Press space again to drop the item in its new position, or press escape to cancel.\\n \"\n};\nconst defaultAnnouncements = {\n onDragStart(_ref) {\n let {\n active\n } = _ref;\n return \"Picked up draggable item \" + active.id + \".\";\n },\n\n onDragOver(_ref2) {\n let {\n active,\n over\n } = _ref2;\n\n if (over) {\n return \"Draggable item \" + active.id + \" was moved over droppable area \" + over.id + \".\";\n }\n\n return \"Draggable item \" + active.id + \" is no longer over a droppable area.\";\n },\n\n onDragEnd(_ref3) {\n let {\n active,\n over\n } = _ref3;\n\n if (over) {\n return \"Draggable item \" + active.id + \" was dropped over droppable area \" + over.id;\n }\n\n return \"Draggable item \" + active.id + \" was dropped.\";\n },\n\n onDragCancel(_ref4) {\n let {\n active\n } = _ref4;\n return \"Dragging was cancelled. Draggable item \" + active.id + \" was dropped.\";\n }\n\n};\n\nfunction Accessibility(_ref) {\n let {\n announcements = defaultAnnouncements,\n container,\n hiddenTextDescribedById,\n screenReaderInstructions = defaultScreenReaderInstructions\n } = _ref;\n const {\n announce,\n announcement\n } = useAnnouncement();\n const liveRegionId = useUniqueId(\"DndLiveRegion\");\n const [mounted, setMounted] = useState(false);\n useEffect(() => {\n setMounted(true);\n }, []);\n useDndMonitor(useMemo(() => ({\n onDragStart(_ref2) {\n let {\n active\n } = _ref2;\n announce(announcements.onDragStart({\n active\n }));\n },\n\n onDragMove(_ref3) {\n let {\n active,\n over\n } = _ref3;\n\n if (announcements.onDragMove) {\n announce(announcements.onDragMove({\n active,\n over\n }));\n }\n },\n\n onDragOver(_ref4) {\n let {\n active,\n over\n } = _ref4;\n announce(announcements.onDragOver({\n active,\n over\n }));\n },\n\n onDragEnd(_ref5) {\n let {\n active,\n over\n } = _ref5;\n announce(announcements.onDragEnd({\n active,\n over\n }));\n },\n\n onDragCancel(_ref6) {\n let {\n active,\n over\n } = _ref6;\n announce(announcements.onDragCancel({\n active,\n over\n }));\n }\n\n }), [announce, announcements]));\n\n if (!mounted) {\n return null;\n }\n\n const markup = React.createElement(React.Fragment, null, React.createElement(HiddenText, {\n id: hiddenTextDescribedById,\n value: screenReaderInstructions.draggable\n }), React.createElement(LiveRegion, {\n id: liveRegionId,\n announcement: announcement\n }));\n return container ? createPortal(markup, container) : markup;\n}\n\nvar Action;\n\n(function (Action) {\n Action[\"DragStart\"] = \"dragStart\";\n Action[\"DragMove\"] = \"dragMove\";\n Action[\"DragEnd\"] = \"dragEnd\";\n Action[\"DragCancel\"] = \"dragCancel\";\n Action[\"DragOver\"] = \"dragOver\";\n Action[\"RegisterDroppable\"] = \"registerDroppable\";\n Action[\"SetDroppableDisabled\"] = \"setDroppableDisabled\";\n Action[\"UnregisterDroppable\"] = \"unregisterDroppable\";\n})(Action || (Action = {}));\n\nfunction noop() {}\n\nfunction useSensor(sensor, options) {\n return useMemo(() => ({\n sensor,\n options: options != null ? options : {}\n }), // eslint-disable-next-line react-hooks/exhaustive-deps\n [sensor, options]);\n}\n\nfunction useSensors() {\n for (var _len = arguments.length, sensors = new Array(_len), _key = 0; _key < _len; _key++) {\n sensors[_key] = arguments[_key];\n }\n\n return useMemo(() => [...sensors].filter(sensor => sensor != null), // eslint-disable-next-line react-hooks/exhaustive-deps\n [...sensors]);\n}\n\nconst defaultCoordinates = /*#__PURE__*/Object.freeze({\n x: 0,\n y: 0\n});\n\n/**\r\n * Returns the distance between two points\r\n */\nfunction distanceBetween(p1, p2) {\n return Math.sqrt(Math.pow(p1.x - p2.x, 2) + Math.pow(p1.y - p2.y, 2));\n}\n\nfunction getRelativeTransformOrigin(event, rect) {\n const eventCoordinates = getEventCoordinates(event);\n\n if (!eventCoordinates) {\n return '0 0';\n }\n\n const transformOrigin = {\n x: (eventCoordinates.x - rect.left) / rect.width * 100,\n y: (eventCoordinates.y - rect.top) / rect.height * 100\n };\n return transformOrigin.x + \"% \" + transformOrigin.y + \"%\";\n}\n\n/**\r\n * Sort collisions from smallest to greatest value\r\n */\nfunction sortCollisionsAsc(_ref, _ref2) {\n let {\n data: {\n value: a\n }\n } = _ref;\n let {\n data: {\n value: b\n }\n } = _ref2;\n return a - b;\n}\n/**\r\n * Sort collisions from greatest to smallest value\r\n */\n\nfunction sortCollisionsDesc(_ref3, _ref4) {\n let {\n data: {\n value: a\n }\n } = _ref3;\n let {\n data: {\n value: b\n }\n } = _ref4;\n return b - a;\n}\n/**\r\n * Returns the coordinates of the corners of a given rectangle:\r\n * [TopLeft {x, y}, TopRight {x, y}, BottomLeft {x, y}, BottomRight {x, y}]\r\n */\n\nfunction cornersOfRectangle(_ref5) {\n let {\n left,\n top,\n height,\n width\n } = _ref5;\n return [{\n x: left,\n y: top\n }, {\n x: left + width,\n y: top\n }, {\n x: left,\n y: top + height\n }, {\n x: left + width,\n y: top + height\n }];\n}\nfunction getFirstCollision(collisions, property) {\n if (!collisions || collisions.length === 0) {\n return null;\n }\n\n const [firstCollision] = collisions;\n return property ? firstCollision[property] : firstCollision;\n}\n\n/**\r\n * Returns the coordinates of the center of a given ClientRect\r\n */\n\nfunction centerOfRectangle(rect, left, top) {\n if (left === void 0) {\n left = rect.left;\n }\n\n if (top === void 0) {\n top = rect.top;\n }\n\n return {\n x: left + rect.width * 0.5,\n y: top + rect.height * 0.5\n };\n}\n/**\r\n * Returns the closest rectangles from an array of rectangles to the center of a given\r\n * rectangle.\r\n */\n\n\nconst closestCenter = _ref => {\n let {\n collisionRect,\n droppableRects,\n droppableContainers\n } = _ref;\n const centerRect = centerOfRectangle(collisionRect, collisionRect.left, collisionRect.top);\n const collisions = [];\n\n for (const droppableContainer of droppableContainers) {\n const {\n id\n } = droppableContainer;\n const rect = droppableRects.get(id);\n\n if (rect) {\n const distBetween = distanceBetween(centerOfRectangle(rect), centerRect);\n collisions.push({\n id,\n data: {\n droppableContainer,\n value: distBetween\n }\n });\n }\n }\n\n return collisions.sort(sortCollisionsAsc);\n};\n\n/**\r\n * Returns the closest rectangles from an array of rectangles to the corners of\r\n * another rectangle.\r\n */\n\nconst closestCorners = _ref => {\n let {\n collisionRect,\n droppableRects,\n droppableContainers\n } = _ref;\n const corners = cornersOfRectangle(collisionRect);\n const collisions = [];\n\n for (const droppableContainer of droppableContainers) {\n const {\n id\n } = droppableContainer;\n const rect = droppableRects.get(id);\n\n if (rect) {\n const rectCorners = cornersOfRectangle(rect);\n const distances = corners.reduce((accumulator, corner, index) => {\n return accumulator + distanceBetween(rectCorners[index], corner);\n }, 0);\n const effectiveDistance = Number((distances / 4).toFixed(4));\n collisions.push({\n id,\n data: {\n droppableContainer,\n value: effectiveDistance\n }\n });\n }\n }\n\n return collisions.sort(sortCollisionsAsc);\n};\n\n/**\r\n * Returns the intersecting rectangle area between two rectangles\r\n */\n\nfunction getIntersectionRatio(entry, target) {\n const top = Math.max(target.top, entry.top);\n const left = Math.max(target.left, entry.left);\n const right = Math.min(target.left + target.width, entry.left + entry.width);\n const bottom = Math.min(target.top + target.height, entry.top + entry.height);\n const width = right - left;\n const height = bottom - top;\n\n if (left < right && top < bottom) {\n const targetArea = target.width * target.height;\n const entryArea = entry.width * entry.height;\n const intersectionArea = width * height;\n const intersectionRatio = intersectionArea / (targetArea + entryArea - intersectionArea);\n return Number(intersectionRatio.toFixed(4));\n } // Rectangles do not overlap, or overlap has an area of zero (edge/corner overlap)\n\n\n return 0;\n}\n/**\r\n * Returns the rectangles that has the greatest intersection area with a given\r\n * rectangle in an array of rectangles.\r\n */\n\nconst rectIntersection = _ref => {\n let {\n collisionRect,\n droppableRects,\n droppableContainers\n } = _ref;\n const collisions = [];\n\n for (const droppableContainer of droppableContainers) {\n const {\n id\n } = droppableContainer;\n const rect = droppableRects.get(id);\n\n if (rect) {\n const intersectionRatio = getIntersectionRatio(rect, collisionRect);\n\n if (intersectionRatio > 0) {\n collisions.push({\n id,\n data: {\n droppableContainer,\n value: intersectionRatio\n }\n });\n }\n }\n }\n\n return collisions.sort(sortCollisionsDesc);\n};\n\n/**\r\n * Check if a given point is contained within a bounding rectangle\r\n */\n\nfunction isPointWithinRect(point, rect) {\n const {\n top,\n left,\n bottom,\n right\n } = rect;\n return top <= point.y && point.y <= bottom && left <= point.x && point.x <= right;\n}\n/**\r\n * Returns the rectangles that the pointer is hovering over\r\n */\n\n\nconst pointerWithin = _ref => {\n let {\n droppableContainers,\n droppableRects,\n pointerCoordinates\n } = _ref;\n\n if (!pointerCoordinates) {\n return [];\n }\n\n const collisions = [];\n\n for (const droppableContainer of droppableContainers) {\n const {\n id\n } = droppableContainer;\n const rect = droppableRects.get(id);\n\n if (rect && isPointWithinRect(pointerCoordinates, rect)) {\n /* There may be more than a single rectangle intersecting\r\n * with the pointer coordinates. In order to sort the\r\n * colliding rectangles, we measure the distance between\r\n * the pointer and the corners of the intersecting rectangle\r\n */\n const corners = cornersOfRectangle(rect);\n const distances = corners.reduce((accumulator, corner) => {\n return accumulator + distanceBetween(pointerCoordinates, corner);\n }, 0);\n const effectiveDistance = Number((distances / 4).toFixed(4));\n collisions.push({\n id,\n data: {\n droppableContainer,\n value: effectiveDistance\n }\n });\n }\n }\n\n return collisions.sort(sortCollisionsAsc);\n};\n\nfunction adjustScale(transform, rect1, rect2) {\n return { ...transform,\n scaleX: rect1 && rect2 ? rect1.width / rect2.width : 1,\n scaleY: rect1 && rect2 ? rect1.height / rect2.height : 1\n };\n}\n\nfunction getRectDelta(rect1, rect2) {\n return rect1 && rect2 ? {\n x: rect1.left - rect2.left,\n y: rect1.top - rect2.top\n } : defaultCoordinates;\n}\n\nfunction createRectAdjustmentFn(modifier) {\n return function adjustClientRect(rect) {\n for (var _len = arguments.length, adjustments = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n adjustments[_key - 1] = arguments[_key];\n }\n\n return adjustments.reduce((acc, adjustment) => ({ ...acc,\n top: acc.top + modifier * adjustment.y,\n bottom: acc.bottom + modifier * adjustment.y,\n left: acc.left + modifier * adjustment.x,\n right: acc.right + modifier * adjustment.x\n }), { ...rect\n });\n };\n}\nconst getAdjustedRect = /*#__PURE__*/createRectAdjustmentFn(1);\n\nfunction parseTransform(transform) {\n if (transform.startsWith('matrix3d(')) {\n const transformArray = transform.slice(9, -1).split(/, /);\n return {\n x: +transformArray[12],\n y: +transformArray[13],\n scaleX: +transformArray[0],\n scaleY: +transformArray[5]\n };\n } else if (transform.startsWith('matrix(')) {\n const transformArray = transform.slice(7, -1).split(/, /);\n return {\n x: +transformArray[4],\n y: +transformArray[5],\n scaleX: +transformArray[0],\n scaleY: +transformArray[3]\n };\n }\n\n return null;\n}\n\nfunction inverseTransform(rect, transform, transformOrigin) {\n const parsedTransform = parseTransform(transform);\n\n if (!parsedTransform) {\n return rect;\n }\n\n const {\n scaleX,\n scaleY,\n x: translateX,\n y: translateY\n } = parsedTransform;\n const x = rect.left - translateX - (1 - scaleX) * parseFloat(transformOrigin);\n const y = rect.top - translateY - (1 - scaleY) * parseFloat(transformOrigin.slice(transformOrigin.indexOf(' ') + 1));\n const w = scaleX ? rect.width / scaleX : rect.width;\n const h = scaleY ? rect.height / scaleY : rect.height;\n return {\n width: w,\n height: h,\n top: y,\n right: x + w,\n bottom: y + h,\n left: x\n };\n}\n\nconst defaultOptions = {\n ignoreTransform: false\n};\n/**\r\n * Returns the bounding client rect of an element relative to the viewport.\r\n */\n\nfunction getClientRect(element, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n let rect = element.getBoundingClientRect();\n\n if (options.ignoreTransform) {\n const {\n transform,\n transformOrigin\n } = getWindow(element).getComputedStyle(element);\n\n if (transform) {\n rect = inverseTransform(rect, transform, transformOrigin);\n }\n }\n\n const {\n top,\n left,\n width,\n height,\n bottom,\n right\n } = rect;\n return {\n top,\n left,\n width,\n height,\n bottom,\n right\n };\n}\n/**\r\n * Returns the bounding client rect of an element relative to the viewport.\r\n *\r\n * @remarks\r\n * The ClientRect returned by this method does not take into account transforms\r\n * applied to the element it measures.\r\n *\r\n */\n\nfunction getTransformAgnosticClientRect(element) {\n return getClientRect(element, {\n ignoreTransform: true\n });\n}\n\nfunction getWindowClientRect(element) {\n const width = element.innerWidth;\n const height = element.innerHeight;\n return {\n top: 0,\n left: 0,\n right: width,\n bottom: height,\n width,\n height\n };\n}\n\nfunction isFixed(node, computedStyle) {\n if (computedStyle === void 0) {\n computedStyle = getWindow(node).getComputedStyle(node);\n }\n\n return computedStyle.position === 'fixed';\n}\n\nfunction isScrollable(element, computedStyle) {\n if (computedStyle === void 0) {\n computedStyle = getWindow(element).getComputedStyle(element);\n }\n\n const overflowRegex = /(auto|scroll|overlay)/;\n const properties = ['overflow', 'overflowX', 'overflowY'];\n return properties.some(property => {\n const value = computedStyle[property];\n return typeof value === 'string' ? overflowRegex.test(value) : false;\n });\n}\n\nfunction getScrollableAncestors(element, limit) {\n const scrollParents = [];\n\n function findScrollableAncestors(node) {\n if (limit != null && scrollParents.length >= limit) {\n return scrollParents;\n }\n\n if (!node) {\n return scrollParents;\n }\n\n if (isDocument(node) && node.scrollingElement != null && !scrollParents.includes(node.scrollingElement)) {\n scrollParents.push(node.scrollingElement);\n return scrollParents;\n }\n\n if (!isHTMLElement(node) || isSVGElement(node)) {\n return scrollParents;\n }\n\n if (scrollParents.includes(node)) {\n return scrollParents;\n }\n\n const computedStyle = getWindow(element).getComputedStyle(node);\n\n if (node !== element) {\n if (isScrollable(node, computedStyle)) {\n scrollParents.push(node);\n }\n }\n\n if (isFixed(node, computedStyle)) {\n return scrollParents;\n }\n\n return findScrollableAncestors(node.parentNode);\n }\n\n if (!element) {\n return scrollParents;\n }\n\n return findScrollableAncestors(element);\n}\nfunction getFirstScrollableAncestor(node) {\n const [firstScrollableAncestor] = getScrollableAncestors(node, 1);\n return firstScrollableAncestor != null ? firstScrollableAncestor : null;\n}\n\nfunction getScrollableElement(element) {\n if (!canUseDOM || !element) {\n return null;\n }\n\n if (isWindow(element)) {\n return element;\n }\n\n if (!isNode(element)) {\n return null;\n }\n\n if (isDocument(element) || element === getOwnerDocument(element).scrollingElement) {\n return window;\n }\n\n if (isHTMLElement(element)) {\n return element;\n }\n\n return null;\n}\n\nfunction getScrollXCoordinate(element) {\n if (isWindow(element)) {\n return element.scrollX;\n }\n\n return element.scrollLeft;\n}\nfunction getScrollYCoordinate(element) {\n if (isWindow(element)) {\n return element.scrollY;\n }\n\n return element.scrollTop;\n}\nfunction getScrollCoordinates(element) {\n return {\n x: getScrollXCoordinate(element),\n y: getScrollYCoordinate(element)\n };\n}\n\nvar Direction;\n\n(function (Direction) {\n Direction[Direction[\"Forward\"] = 1] = \"Forward\";\n Direction[Direction[\"Backward\"] = -1] = \"Backward\";\n})(Direction || (Direction = {}));\n\nfunction isDocumentScrollingElement(element) {\n if (!canUseDOM || !element) {\n return false;\n }\n\n return element === document.scrollingElement;\n}\n\nfunction getScrollPosition(scrollingContainer) {\n const minScroll = {\n x: 0,\n y: 0\n };\n const dimensions = isDocumentScrollingElement(scrollingContainer) ? {\n height: window.innerHeight,\n width: window.innerWidth\n } : {\n height: scrollingContainer.clientHeight,\n width: scrollingContainer.clientWidth\n };\n const maxScroll = {\n x: scrollingContainer.scrollWidth - dimensions.width,\n y: scrollingContainer.scrollHeight - dimensions.height\n };\n const isTop = scrollingContainer.scrollTop <= minScroll.y;\n const isLeft = scrollingContainer.scrollLeft <= minScroll.x;\n const isBottom = scrollingContainer.scrollTop >= maxScroll.y;\n const isRight = scrollingContainer.scrollLeft >= maxScroll.x;\n return {\n isTop,\n isLeft,\n isBottom,\n isRight,\n maxScroll,\n minScroll\n };\n}\n\nconst defaultThreshold = {\n x: 0.2,\n y: 0.2\n};\nfunction getScrollDirectionAndSpeed(scrollContainer, scrollContainerRect, _ref, acceleration, thresholdPercentage) {\n let {\n top,\n left,\n right,\n bottom\n } = _ref;\n\n if (acceleration === void 0) {\n acceleration = 10;\n }\n\n if (thresholdPercentage === void 0) {\n thresholdPercentage = defaultThreshold;\n }\n\n const {\n isTop,\n isBottom,\n isLeft,\n isRight\n } = getScrollPosition(scrollContainer);\n const direction = {\n x: 0,\n y: 0\n };\n const speed = {\n x: 0,\n y: 0\n };\n const threshold = {\n height: scrollContainerRect.height * thresholdPercentage.y,\n width: scrollContainerRect.width * thresholdPercentage.x\n };\n\n if (!isTop && top <= scrollContainerRect.top + threshold.height) {\n // Scroll Up\n direction.y = Direction.Backward;\n speed.y = acceleration * Math.abs((scrollContainerRect.top + threshold.height - top) / threshold.height);\n } else if (!isBottom && bottom >= scrollContainerRect.bottom - threshold.height) {\n // Scroll Down\n direction.y = Direction.Forward;\n speed.y = acceleration * Math.abs((scrollContainerRect.bottom - threshold.height - bottom) / threshold.height);\n }\n\n if (!isRight && right >= scrollContainerRect.right - threshold.width) {\n // Scroll Right\n direction.x = Direction.Forward;\n speed.x = acceleration * Math.abs((scrollContainerRect.right - threshold.width - right) / threshold.width);\n } else if (!isLeft && left <= scrollContainerRect.left + threshold.width) {\n // Scroll Left\n direction.x = Direction.Backward;\n speed.x = acceleration * Math.abs((scrollContainerRect.left + threshold.width - left) / threshold.width);\n }\n\n return {\n direction,\n speed\n };\n}\n\nfunction getScrollElementRect(element) {\n if (element === document.scrollingElement) {\n const {\n innerWidth,\n innerHeight\n } = window;\n return {\n top: 0,\n left: 0,\n right: innerWidth,\n bottom: innerHeight,\n width: innerWidth,\n height: innerHeight\n };\n }\n\n const {\n top,\n left,\n right,\n bottom\n } = element.getBoundingClientRect();\n return {\n top,\n left,\n right,\n bottom,\n width: element.clientWidth,\n height: element.clientHeight\n };\n}\n\nfunction getScrollOffsets(scrollableAncestors) {\n return scrollableAncestors.reduce((acc, node) => {\n return add(acc, getScrollCoordinates(node));\n }, defaultCoordinates);\n}\nfunction getScrollXOffset(scrollableAncestors) {\n return scrollableAncestors.reduce((acc, node) => {\n return acc + getScrollXCoordinate(node);\n }, 0);\n}\nfunction getScrollYOffset(scrollableAncestors) {\n return scrollableAncestors.reduce((acc, node) => {\n return acc + getScrollYCoordinate(node);\n }, 0);\n}\n\nfunction scrollIntoViewIfNeeded(element, measure) {\n if (measure === void 0) {\n measure = getClientRect;\n }\n\n if (!element) {\n return;\n }\n\n const {\n top,\n left,\n bottom,\n right\n } = measure(element);\n const firstScrollableAncestor = getFirstScrollableAncestor(element);\n\n if (!firstScrollableAncestor) {\n return;\n }\n\n if (bottom <= 0 || right <= 0 || top >= window.innerHeight || left >= window.innerWidth) {\n element.scrollIntoView({\n block: 'center',\n inline: 'center'\n });\n }\n}\n\nconst properties = [['x', ['left', 'right'], getScrollXOffset], ['y', ['top', 'bottom'], getScrollYOffset]];\nclass Rect {\n constructor(rect, element) {\n this.rect = void 0;\n this.width = void 0;\n this.height = void 0;\n this.top = void 0;\n this.bottom = void 0;\n this.right = void 0;\n this.left = void 0;\n const scrollableAncestors = getScrollableAncestors(element);\n const scrollOffsets = getScrollOffsets(scrollableAncestors);\n this.rect = { ...rect\n };\n this.width = rect.width;\n this.height = rect.height;\n\n for (const [axis, keys, getScrollOffset] of properties) {\n for (const key of keys) {\n Object.defineProperty(this, key, {\n get: () => {\n const currentOffsets = getScrollOffset(scrollableAncestors);\n const scrollOffsetsDeltla = scrollOffsets[axis] - currentOffsets;\n return this.rect[key] + scrollOffsetsDeltla;\n },\n enumerable: true\n });\n }\n }\n\n Object.defineProperty(this, 'rect', {\n enumerable: false\n });\n }\n\n}\n\nclass Listeners {\n constructor(target) {\n this.target = void 0;\n this.listeners = [];\n\n this.removeAll = () => {\n this.listeners.forEach(listener => {\n var _this$target;\n\n return (_this$target = this.target) == null ? void 0 : _this$target.removeEventListener(...listener);\n });\n };\n\n this.target = target;\n }\n\n add(eventName, handler, options) {\n var _this$target2;\n\n (_this$target2 = this.target) == null ? void 0 : _this$target2.addEventListener(eventName, handler, options);\n this.listeners.push([eventName, handler, options]);\n }\n\n}\n\nfunction getEventListenerTarget(target) {\n // If the `event.target` element is removed from the document events will still be targeted\n // at it, and hence won't always bubble up to the window or document anymore.\n // If there is any risk of an element being removed while it is being dragged,\n // the best practice is to attach the event listeners directly to the target.\n // https://developer.mozilla.org/en-US/docs/Web/API/EventTarget\n const {\n EventTarget\n } = getWindow(target);\n return target instanceof EventTarget ? target : getOwnerDocument(target);\n}\n\nfunction hasExceededDistance(delta, measurement) {\n const dx = Math.abs(delta.x);\n const dy = Math.abs(delta.y);\n\n if (typeof measurement === 'number') {\n return Math.sqrt(dx ** 2 + dy ** 2) > measurement;\n }\n\n if ('x' in measurement && 'y' in measurement) {\n return dx > measurement.x && dy > measurement.y;\n }\n\n if ('x' in measurement) {\n return dx > measurement.x;\n }\n\n if ('y' in measurement) {\n return dy > measurement.y;\n }\n\n return false;\n}\n\nvar EventName;\n\n(function (EventName) {\n EventName[\"Click\"] = \"click\";\n EventName[\"DragStart\"] = \"dragstart\";\n EventName[\"Keydown\"] = \"keydown\";\n EventName[\"ContextMenu\"] = \"contextmenu\";\n EventName[\"Resize\"] = \"resize\";\n EventName[\"SelectionChange\"] = \"selectionchange\";\n EventName[\"VisibilityChange\"] = \"visibilitychange\";\n})(EventName || (EventName = {}));\n\nfunction preventDefault(event) {\n event.preventDefault();\n}\nfunction stopPropagation(event) {\n event.stopPropagation();\n}\n\nvar KeyboardCode;\n\n(function (KeyboardCode) {\n KeyboardCode[\"Space\"] = \"Space\";\n KeyboardCode[\"Down\"] = \"ArrowDown\";\n KeyboardCode[\"Right\"] = \"ArrowRight\";\n KeyboardCode[\"Left\"] = \"ArrowLeft\";\n KeyboardCode[\"Up\"] = \"ArrowUp\";\n KeyboardCode[\"Esc\"] = \"Escape\";\n KeyboardCode[\"Enter\"] = \"Enter\";\n KeyboardCode[\"Tab\"] = \"Tab\";\n})(KeyboardCode || (KeyboardCode = {}));\n\nconst defaultKeyboardCodes = {\n start: [KeyboardCode.Space, KeyboardCode.Enter],\n cancel: [KeyboardCode.Esc],\n end: [KeyboardCode.Space, KeyboardCode.Enter, KeyboardCode.Tab]\n};\nconst defaultKeyboardCoordinateGetter = (event, _ref) => {\n let {\n currentCoordinates\n } = _ref;\n\n switch (event.code) {\n case KeyboardCode.Right:\n return { ...currentCoordinates,\n x: currentCoordinates.x + 25\n };\n\n case KeyboardCode.Left:\n return { ...currentCoordinates,\n x: currentCoordinates.x - 25\n };\n\n case KeyboardCode.Down:\n return { ...currentCoordinates,\n y: currentCoordinates.y + 25\n };\n\n case KeyboardCode.Up:\n return { ...currentCoordinates,\n y: currentCoordinates.y - 25\n };\n }\n\n return undefined;\n};\n\nclass KeyboardSensor {\n constructor(props) {\n this.props = void 0;\n this.autoScrollEnabled = false;\n this.referenceCoordinates = void 0;\n this.listeners = void 0;\n this.windowListeners = void 0;\n this.props = props;\n const {\n event: {\n target\n }\n } = props;\n this.props = props;\n this.listeners = new Listeners(getOwnerDocument(target));\n this.windowListeners = new Listeners(getWindow(target));\n this.handleKeyDown = this.handleKeyDown.bind(this);\n this.handleCancel = this.handleCancel.bind(this);\n this.attach();\n }\n\n attach() {\n this.handleStart();\n this.windowListeners.add(EventName.Resize, this.handleCancel);\n this.windowListeners.add(EventName.VisibilityChange, this.handleCancel);\n setTimeout(() => this.listeners.add(EventName.Keydown, this.handleKeyDown));\n }\n\n handleStart() {\n const {\n activeNode,\n onStart\n } = this.props;\n const node = activeNode.node.current;\n\n if (node) {\n scrollIntoViewIfNeeded(node);\n }\n\n onStart(defaultCoordinates);\n }\n\n handleKeyDown(event) {\n if (isKeyboardEvent(event)) {\n const {\n active,\n context,\n options\n } = this.props;\n const {\n keyboardCodes = defaultKeyboardCodes,\n coordinateGetter = defaultKeyboardCoordinateGetter,\n scrollBehavior = 'smooth'\n } = options;\n const {\n code\n } = event;\n\n if (keyboardCodes.end.includes(code)) {\n this.handleEnd(event);\n return;\n }\n\n if (keyboardCodes.cancel.includes(code)) {\n this.handleCancel(event);\n return;\n }\n\n const {\n collisionRect\n } = context.current;\n const currentCoordinates = collisionRect ? {\n x: collisionRect.left,\n y: collisionRect.top\n } : defaultCoordinates;\n\n if (!this.referenceCoordinates) {\n this.referenceCoordinates = currentCoordinates;\n }\n\n const newCoordinates = coordinateGetter(event, {\n active,\n context: context.current,\n currentCoordinates\n });\n\n if (newCoordinates) {\n const coordinatesDelta = subtract(newCoordinates, currentCoordinates);\n const scrollDelta = {\n x: 0,\n y: 0\n };\n const {\n scrollableAncestors\n } = context.current;\n\n for (const scrollContainer of scrollableAncestors) {\n const direction = event.code;\n const {\n isTop,\n isRight,\n isLeft,\n isBottom,\n maxScroll,\n minScroll\n } = getScrollPosition(scrollContainer);\n const scrollElementRect = getScrollElementRect(scrollContainer);\n const clampedCoordinates = {\n x: Math.min(direction === KeyboardCode.Right ? scrollElementRect.right - scrollElementRect.width / 2 : scrollElementRect.right, Math.max(direction === KeyboardCode.Right ? scrollElementRect.left : scrollElementRect.left + scrollElementRect.width / 2, newCoordinates.x)),\n y: Math.min(direction === KeyboardCode.Down ? scrollElementRect.bottom - scrollElementRect.height / 2 : scrollElementRect.bottom, Math.max(direction === KeyboardCode.Down ? scrollElementRect.top : scrollElementRect.top + scrollElementRect.height / 2, newCoordinates.y))\n };\n const canScrollX = direction === KeyboardCode.Right && !isRight || direction === KeyboardCode.Left && !isLeft;\n const canScrollY = direction === KeyboardCode.Down && !isBottom || direction === KeyboardCode.Up && !isTop;\n\n if (canScrollX && clampedCoordinates.x !== newCoordinates.x) {\n const newScrollCoordinates = scrollContainer.scrollLeft + coordinatesDelta.x;\n const canScrollToNewCoordinates = direction === KeyboardCode.Right && newScrollCoordinates <= maxScroll.x || direction === KeyboardCode.Left && newScrollCoordinates >= minScroll.x;\n\n if (canScrollToNewCoordinates && !coordinatesDelta.y) {\n // We don't need to update coordinates, the scroll adjustment alone will trigger\n // logic to auto-detect the new container we are over\n scrollContainer.scrollTo({\n left: newScrollCoordinates,\n behavior: scrollBehavior\n });\n return;\n }\n\n if (canScrollToNewCoordinates) {\n scrollDelta.x = scrollContainer.scrollLeft - newScrollCoordinates;\n } else {\n scrollDelta.x = direction === KeyboardCode.Right ? scrollContainer.scrollLeft - maxScroll.x : scrollContainer.scrollLeft - minScroll.x;\n }\n\n if (scrollDelta.x) {\n scrollContainer.scrollBy({\n left: -scrollDelta.x,\n behavior: scrollBehavior\n });\n }\n\n break;\n } else if (canScrollY && clampedCoordinates.y !== newCoordinates.y) {\n const newScrollCoordinates = scrollContainer.scrollTop + coordinatesDelta.y;\n const canScrollToNewCoordinates = direction === KeyboardCode.Down && newScrollCoordinates <= maxScroll.y || direction === KeyboardCode.Up && newScrollCoordinates >= minScroll.y;\n\n if (canScrollToNewCoordinates && !coordinatesDelta.x) {\n // We don't need to update coordinates, the scroll adjustment alone will trigger\n // logic to auto-detect the new container we are over\n scrollContainer.scrollTo({\n top: newScrollCoordinates,\n behavior: scrollBehavior\n });\n return;\n }\n\n if (canScrollToNewCoordinates) {\n scrollDelta.y = scrollContainer.scrollTop - newScrollCoordinates;\n } else {\n scrollDelta.y = direction === KeyboardCode.Down ? scrollContainer.scrollTop - maxScroll.y : scrollContainer.scrollTop - minScroll.y;\n }\n\n if (scrollDelta.y) {\n scrollContainer.scrollBy({\n top: -scrollDelta.y,\n behavior: scrollBehavior\n });\n }\n\n break;\n }\n }\n\n this.handleMove(event, add(subtract(newCoordinates, this.referenceCoordinates), scrollDelta));\n }\n }\n }\n\n handleMove(event, coordinates) {\n const {\n onMove\n } = this.props;\n event.preventDefault();\n onMove(coordinates);\n }\n\n handleEnd(event) {\n const {\n onEnd\n } = this.props;\n event.preventDefault();\n this.detach();\n onEnd();\n }\n\n handleCancel(event) {\n const {\n onCancel\n } = this.props;\n event.preventDefault();\n this.detach();\n onCancel();\n }\n\n detach() {\n this.listeners.removeAll();\n this.windowListeners.removeAll();\n }\n\n}\nKeyboardSensor.activators = [{\n eventName: 'onKeyDown',\n handler: (event, _ref, _ref2) => {\n let {\n keyboardCodes = defaultKeyboardCodes,\n onActivation\n } = _ref;\n let {\n active\n } = _ref2;\n const {\n code\n } = event.nativeEvent;\n\n if (keyboardCodes.start.includes(code)) {\n const activator = active.activatorNode.current;\n\n if (activator && event.target !== activator) {\n return false;\n }\n\n event.preventDefault();\n onActivation == null ? void 0 : onActivation({\n event: event.nativeEvent\n });\n return true;\n }\n\n return false;\n }\n}];\n\nfunction isDistanceConstraint(constraint) {\n return Boolean(constraint && 'distance' in constraint);\n}\n\nfunction isDelayConstraint(constraint) {\n return Boolean(constraint && 'delay' in constraint);\n}\n\nclass AbstractPointerSensor {\n constructor(props, events, listenerTarget) {\n var _getEventCoordinates;\n\n if (listenerTarget === void 0) {\n listenerTarget = getEventListenerTarget(props.event.target);\n }\n\n this.props = void 0;\n this.events = void 0;\n this.autoScrollEnabled = true;\n this.document = void 0;\n this.activated = false;\n this.initialCoordinates = void 0;\n this.timeoutId = null;\n this.listeners = void 0;\n this.documentListeners = void 0;\n this.windowListeners = void 0;\n this.props = props;\n this.events = events;\n const {\n event\n } = props;\n const {\n target\n } = event;\n this.props = props;\n this.events = events;\n this.document = getOwnerDocument(target);\n this.documentListeners = new Listeners(this.document);\n this.listeners = new Listeners(listenerTarget);\n this.windowListeners = new Listeners(getWindow(target));\n this.initialCoordinates = (_getEventCoordinates = getEventCoordinates(event)) != null ? _getEventCoordinates : defaultCoordinates;\n this.handleStart = this.handleStart.bind(this);\n this.handleMove = this.handleMove.bind(this);\n this.handleEnd = this.handleEnd.bind(this);\n this.handleCancel = this.handleCancel.bind(this);\n this.handleKeydown = this.handleKeydown.bind(this);\n this.removeTextSelection = this.removeTextSelection.bind(this);\n this.attach();\n }\n\n attach() {\n const {\n events,\n props: {\n options: {\n activationConstraint,\n bypassActivationConstraint\n }\n }\n } = this;\n this.listeners.add(events.move.name, this.handleMove, {\n passive: false\n });\n this.listeners.add(events.end.name, this.handleEnd);\n\n if (events.cancel) {\n this.listeners.add(events.cancel.name, this.handleCancel);\n }\n\n this.windowListeners.add(EventName.Resize, this.handleCancel);\n this.windowListeners.add(EventName.DragStart, preventDefault);\n this.windowListeners.add(EventName.VisibilityChange, this.handleCancel);\n this.windowListeners.add(EventName.ContextMenu, preventDefault);\n this.documentListeners.add(EventName.Keydown, this.handleKeydown);\n\n if (activationConstraint) {\n if (bypassActivationConstraint != null && bypassActivationConstraint({\n event: this.props.event,\n activeNode: this.props.activeNode,\n options: this.props.options\n })) {\n return this.handleStart();\n }\n\n if (isDelayConstraint(activationConstraint)) {\n this.timeoutId = setTimeout(this.handleStart, activationConstraint.delay);\n this.handlePending(activationConstraint);\n return;\n }\n\n if (isDistanceConstraint(activationConstraint)) {\n this.handlePending(activationConstraint);\n return;\n }\n }\n\n this.handleStart();\n }\n\n detach() {\n this.listeners.removeAll();\n this.windowListeners.removeAll(); // Wait until the next event loop before removing document listeners\n // This is necessary because we listen for `click` and `selection` events on the document\n\n setTimeout(this.documentListeners.removeAll, 50);\n\n if (this.timeoutId !== null) {\n clearTimeout(this.timeoutId);\n this.timeoutId = null;\n }\n }\n\n handlePending(constraint, offset) {\n const {\n active,\n onPending\n } = this.props;\n onPending(active, constraint, this.initialCoordinates, offset);\n }\n\n handleStart() {\n const {\n initialCoordinates\n } = this;\n const {\n onStart\n } = this.props;\n\n if (initialCoordinates) {\n this.activated = true; // Stop propagation of click events once activation constraints are met\n\n this.documentListeners.add(EventName.Click, stopPropagation, {\n capture: true\n }); // Remove any text selection from the document\n\n this.removeTextSelection(); // Prevent further text selection while dragging\n\n this.documentListeners.add(EventName.SelectionChange, this.removeTextSelection);\n onStart(initialCoordinates);\n }\n }\n\n handleMove(event) {\n var _getEventCoordinates2;\n\n const {\n activated,\n initialCoordinates,\n props\n } = this;\n const {\n onMove,\n options: {\n activationConstraint\n }\n } = props;\n\n if (!initialCoordinates) {\n return;\n }\n\n const coordinates = (_getEventCoordinates2 = getEventCoordinates(event)) != null ? _getEventCoordinates2 : defaultCoordinates;\n const delta = subtract(initialCoordinates, coordinates); // Constraint validation\n\n if (!activated && activationConstraint) {\n if (isDistanceConstraint(activationConstraint)) {\n if (activationConstraint.tolerance != null && hasExceededDistance(delta, activationConstraint.tolerance)) {\n return this.handleCancel();\n }\n\n if (hasExceededDistance(delta, activationConstraint.distance)) {\n return this.handleStart();\n }\n }\n\n if (isDelayConstraint(activationConstraint)) {\n if (hasExceededDistance(delta, activationConstraint.tolerance)) {\n return this.handleCancel();\n }\n }\n\n this.handlePending(activationConstraint, delta);\n return;\n }\n\n if (event.cancelable) {\n event.preventDefault();\n }\n\n onMove(coordinates);\n }\n\n handleEnd() {\n const {\n onAbort,\n onEnd\n } = this.props;\n this.detach();\n\n if (!this.activated) {\n onAbort(this.props.active);\n }\n\n onEnd();\n }\n\n handleCancel() {\n const {\n onAbort,\n onCancel\n } = this.props;\n this.detach();\n\n if (!this.activated) {\n onAbort(this.props.active);\n }\n\n onCancel();\n }\n\n handleKeydown(event) {\n if (event.code === KeyboardCode.Esc) {\n this.handleCancel();\n }\n }\n\n removeTextSelection() {\n var _this$document$getSel;\n\n (_this$document$getSel = this.document.getSelection()) == null ? void 0 : _this$document$getSel.removeAllRanges();\n }\n\n}\n\nconst events = {\n cancel: {\n name: 'pointercancel'\n },\n move: {\n name: 'pointermove'\n },\n end: {\n name: 'pointerup'\n }\n};\nclass PointerSensor extends AbstractPointerSensor {\n constructor(props) {\n const {\n event\n } = props; // Pointer events stop firing if the target is unmounted while dragging\n // Therefore we attach listeners to the owner document instead\n\n const listenerTarget = getOwnerDocument(event.target);\n super(props, events, listenerTarget);\n }\n\n}\nPointerSensor.activators = [{\n eventName: 'onPointerDown',\n handler: (_ref, _ref2) => {\n let {\n nativeEvent: event\n } = _ref;\n let {\n onActivation\n } = _ref2;\n\n if (!event.isPrimary || event.button !== 0) {\n return false;\n }\n\n onActivation == null ? void 0 : onActivation({\n event\n });\n return true;\n }\n}];\n\nconst events$1 = {\n move: {\n name: 'mousemove'\n },\n end: {\n name: 'mouseup'\n }\n};\nvar MouseButton;\n\n(function (MouseButton) {\n MouseButton[MouseButton[\"RightClick\"] = 2] = \"RightClick\";\n})(MouseButton || (MouseButton = {}));\n\nclass MouseSensor extends AbstractPointerSensor {\n constructor(props) {\n super(props, events$1, getOwnerDocument(props.event.target));\n }\n\n}\nMouseSensor.activators = [{\n eventName: 'onMouseDown',\n handler: (_ref, _ref2) => {\n let {\n nativeEvent: event\n } = _ref;\n let {\n onActivation\n } = _ref2;\n\n if (event.button === MouseButton.RightClick) {\n return false;\n }\n\n onActivation == null ? void 0 : onActivation({\n event\n });\n return true;\n }\n}];\n\nconst events$2 = {\n cancel: {\n name: 'touchcancel'\n },\n move: {\n name: 'touchmove'\n },\n end: {\n name: 'touchend'\n }\n};\nclass TouchSensor extends AbstractPointerSensor {\n constructor(props) {\n super(props, events$2);\n }\n\n static setup() {\n // Adding a non-capture and non-passive `touchmove` listener in order\n // to force `event.preventDefault()` calls to work in dynamically added\n // touchmove event handlers. This is required for iOS Safari.\n window.addEventListener(events$2.move.name, noop, {\n capture: false,\n passive: false\n });\n return function teardown() {\n window.removeEventListener(events$2.move.name, noop);\n }; // We create a new handler because the teardown function of another sensor\n // could remove our event listener if we use a referentially equal listener.\n\n function noop() {}\n }\n\n}\nTouchSensor.activators = [{\n eventName: 'onTouchStart',\n handler: (_ref, _ref2) => {\n let {\n nativeEvent: event\n } = _ref;\n let {\n onActivation\n } = _ref2;\n const {\n touches\n } = event;\n\n if (touches.length > 1) {\n return false;\n }\n\n onActivation == null ? void 0 : onActivation({\n event\n });\n return true;\n }\n}];\n\nvar AutoScrollActivator;\n\n(function (AutoScrollActivator) {\n AutoScrollActivator[AutoScrollActivator[\"Pointer\"] = 0] = \"Pointer\";\n AutoScrollActivator[AutoScrollActivator[\"DraggableRect\"] = 1] = \"DraggableRect\";\n})(AutoScrollActivator || (AutoScrollActivator = {}));\n\nvar TraversalOrder;\n\n(function (TraversalOrder) {\n TraversalOrder[TraversalOrder[\"TreeOrder\"] = 0] = \"TreeOrder\";\n TraversalOrder[TraversalOrder[\"ReversedTreeOrder\"] = 1] = \"ReversedTreeOrder\";\n})(TraversalOrder || (TraversalOrder = {}));\n\nfunction useAutoScroller(_ref) {\n let {\n acceleration,\n activator = AutoScrollActivator.Pointer,\n canScroll,\n draggingRect,\n enabled,\n interval = 5,\n order = TraversalOrder.TreeOrder,\n pointerCoordinates,\n scrollableAncestors,\n scrollableAncestorRects,\n delta,\n threshold\n } = _ref;\n const scrollIntent = useScrollIntent({\n delta,\n disabled: !enabled\n });\n const [setAutoScrollInterval, clearAutoScrollInterval] = useInterval();\n const scrollSpeed = useRef({\n x: 0,\n y: 0\n });\n const scrollDirection = useRef({\n x: 0,\n y: 0\n });\n const rect = useMemo(() => {\n switch (activator) {\n case AutoScrollActivator.Pointer:\n return pointerCoordinates ? {\n top: pointerCoordinates.y,\n bottom: pointerCoordinates.y,\n left: pointerCoordinates.x,\n right: pointerCoordinates.x\n } : null;\n\n case AutoScrollActivator.DraggableRect:\n return draggingRect;\n }\n }, [activator, draggingRect, pointerCoordinates]);\n const scrollContainerRef = useRef(null);\n const autoScroll = useCallback(() => {\n const scrollContainer = scrollContainerRef.current;\n\n if (!scrollContainer) {\n return;\n }\n\n const scrollLeft = scrollSpeed.current.x * scrollDirection.current.x;\n const scrollTop = scrollSpeed.current.y * scrollDirection.current.y;\n scrollContainer.scrollBy(scrollLeft, scrollTop);\n }, []);\n const sortedScrollableAncestors = useMemo(() => order === TraversalOrder.TreeOrder ? [...scrollableAncestors].reverse() : scrollableAncestors, [order, scrollableAncestors]);\n useEffect(() => {\n if (!enabled || !scrollableAncestors.length || !rect) {\n clearAutoScrollInterval();\n return;\n }\n\n for (const scrollContainer of sortedScrollableAncestors) {\n if ((canScroll == null ? void 0 : canScroll(scrollContainer)) === false) {\n continue;\n }\n\n const index = scrollableAncestors.indexOf(scrollContainer);\n const scrollContainerRect = scrollableAncestorRects[index];\n\n if (!scrollContainerRect) {\n continue;\n }\n\n const {\n direction,\n speed\n } = getScrollDirectionAndSpeed(scrollContainer, scrollContainerRect, rect, acceleration, threshold);\n\n for (const axis of ['x', 'y']) {\n if (!scrollIntent[axis][direction[axis]]) {\n speed[axis] = 0;\n direction[axis] = 0;\n }\n }\n\n if (speed.x > 0 || speed.y > 0) {\n clearAutoScrollInterval();\n scrollContainerRef.current = scrollContainer;\n setAutoScrollInterval(autoScroll, interval);\n scrollSpeed.current = speed;\n scrollDirection.current = direction;\n return;\n }\n }\n\n scrollSpeed.current = {\n x: 0,\n y: 0\n };\n scrollDirection.current = {\n x: 0,\n y: 0\n };\n clearAutoScrollInterval();\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [acceleration, autoScroll, canScroll, clearAutoScrollInterval, enabled, interval, // eslint-disable-next-line react-hooks/exhaustive-deps\n JSON.stringify(rect), // eslint-disable-next-line react-hooks/exhaustive-deps\n JSON.stringify(scrollIntent), setAutoScrollInterval, scrollableAncestors, sortedScrollableAncestors, scrollableAncestorRects, // eslint-disable-next-line react-hooks/exhaustive-deps\n JSON.stringify(threshold)]);\n}\nconst defaultScrollIntent = {\n x: {\n [Direction.Backward]: false,\n [Direction.Forward]: false\n },\n y: {\n [Direction.Backward]: false,\n [Direction.Forward]: false\n }\n};\n\nfunction useScrollIntent(_ref2) {\n let {\n delta,\n disabled\n } = _ref2;\n const previousDelta = usePrevious(delta);\n return useLazyMemo(previousIntent => {\n if (disabled || !previousDelta || !previousIntent) {\n // Reset scroll intent tracking when auto-scrolling is disabled\n return defaultScrollIntent;\n }\n\n const direction = {\n x: Math.sign(delta.x - previousDelta.x),\n y: Math.sign(delta.y - previousDelta.y)\n }; // Keep track of the user intent to scroll in each direction for both axis\n\n return {\n x: {\n [Direction.Backward]: previousIntent.x[Direction.Backward] || direction.x === -1,\n [Direction.Forward]: previousIntent.x[Direction.Forward] || direction.x === 1\n },\n y: {\n [Direction.Backward]: previousIntent.y[Direction.Backward] || direction.y === -1,\n [Direction.Forward]: previousIntent.y[Direction.Forward] || direction.y === 1\n }\n };\n }, [disabled, delta, previousDelta]);\n}\n\nfunction useCachedNode(draggableNodes, id) {\n const draggableNode = id != null ? draggableNodes.get(id) : undefined;\n const node = draggableNode ? draggableNode.node.current : null;\n return useLazyMemo(cachedNode => {\n var _ref;\n\n if (id == null) {\n return null;\n } // In some cases, the draggable node can unmount while dragging\n // This is the case for virtualized lists. In those situations,\n // we fall back to the last known value for that node.\n\n\n return (_ref = node != null ? node : cachedNode) != null ? _ref : null;\n }, [node, id]);\n}\n\nfunction useCombineActivators(sensors, getSyntheticHandler) {\n return useMemo(() => sensors.reduce((accumulator, sensor) => {\n const {\n sensor: Sensor\n } = sensor;\n const sensorActivators = Sensor.activators.map(activator => ({\n eventName: activator.eventName,\n handler: getSyntheticHandler(activator.handler, sensor)\n }));\n return [...accumulator, ...sensorActivators];\n }, []), [sensors, getSyntheticHandler]);\n}\n\nvar MeasuringStrategy;\n\n(function (MeasuringStrategy) {\n MeasuringStrategy[MeasuringStrategy[\"Always\"] = 0] = \"Always\";\n MeasuringStrategy[MeasuringStrategy[\"BeforeDragging\"] = 1] = \"BeforeDragging\";\n MeasuringStrategy[MeasuringStrategy[\"WhileDragging\"] = 2] = \"WhileDragging\";\n})(MeasuringStrategy || (MeasuringStrategy = {}));\n\nvar MeasuringFrequency;\n\n(function (MeasuringFrequency) {\n MeasuringFrequency[\"Optimized\"] = \"optimized\";\n})(MeasuringFrequency || (MeasuringFrequency = {}));\n\nconst defaultValue = /*#__PURE__*/new Map();\nfunction useDroppableMeasuring(containers, _ref) {\n let {\n dragging,\n dependencies,\n config\n } = _ref;\n const [queue, setQueue] = useState(null);\n const {\n frequency,\n measure,\n strategy\n } = config;\n const containersRef = useRef(containers);\n const disabled = isDisabled();\n const disabledRef = useLatestValue(disabled);\n const measureDroppableContainers = useCallback(function (ids) {\n if (ids === void 0) {\n ids = [];\n }\n\n if (disabledRef.current) {\n return;\n }\n\n setQueue(value => {\n if (value === null) {\n return ids;\n }\n\n return value.concat(ids.filter(id => !value.includes(id)));\n });\n }, [disabledRef]);\n const timeoutId = useRef(null);\n const droppableRects = useLazyMemo(previousValue => {\n if (disabled && !dragging) {\n return defaultValue;\n }\n\n if (!previousValue || previousValue === defaultValue || containersRef.current !== containers || queue != null) {\n const map = new Map();\n\n for (let container of containers) {\n if (!container) {\n continue;\n }\n\n if (queue && queue.length > 0 && !queue.includes(container.id) && container.rect.current) {\n // This container does not need to be re-measured\n map.set(container.id, container.rect.current);\n continue;\n }\n\n const node = container.node.current;\n const rect = node ? new Rect(measure(node), node) : null;\n container.rect.current = rect;\n\n if (rect) {\n map.set(container.id, rect);\n }\n }\n\n return map;\n }\n\n return previousValue;\n }, [containers, queue, dragging, disabled, measure]);\n useEffect(() => {\n containersRef.current = containers;\n }, [containers]);\n useEffect(() => {\n if (disabled) {\n return;\n }\n\n measureDroppableContainers();\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [dragging, disabled]);\n useEffect(() => {\n if (queue && queue.length > 0) {\n setQueue(null);\n }\n }, //eslint-disable-next-line react-hooks/exhaustive-deps\n [JSON.stringify(queue)]);\n useEffect(() => {\n if (disabled || typeof frequency !== 'number' || timeoutId.current !== null) {\n return;\n }\n\n timeoutId.current = setTimeout(() => {\n measureDroppableContainers();\n timeoutId.current = null;\n }, frequency);\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [frequency, disabled, measureDroppableContainers, ...dependencies]);\n return {\n droppableRects,\n measureDroppableContainers,\n measuringScheduled: queue != null\n };\n\n function isDisabled() {\n switch (strategy) {\n case MeasuringStrategy.Always:\n return false;\n\n case MeasuringStrategy.BeforeDragging:\n return dragging;\n\n default:\n return !dragging;\n }\n }\n}\n\nfunction useInitialValue(value, computeFn) {\n return useLazyMemo(previousValue => {\n if (!value) {\n return null;\n }\n\n if (previousValue) {\n return previousValue;\n }\n\n return typeof computeFn === 'function' ? computeFn(value) : value;\n }, [computeFn, value]);\n}\n\nfunction useInitialRect(node, measure) {\n return useInitialValue(node, measure);\n}\n\n/**\r\n * Returns a new MutationObserver instance.\r\n * If `MutationObserver` is undefined in the execution environment, returns `undefined`.\r\n */\n\nfunction useMutationObserver(_ref) {\n let {\n callback,\n disabled\n } = _ref;\n const handleMutations = useEvent(callback);\n const mutationObserver = useMemo(() => {\n if (disabled || typeof window === 'undefined' || typeof window.MutationObserver === 'undefined') {\n return undefined;\n }\n\n const {\n MutationObserver\n } = window;\n return new MutationObserver(handleMutations);\n }, [handleMutations, disabled]);\n useEffect(() => {\n return () => mutationObserver == null ? void 0 : mutationObserver.disconnect();\n }, [mutationObserver]);\n return mutationObserver;\n}\n\n/**\r\n * Returns a new ResizeObserver instance bound to the `onResize` callback.\r\n * If `ResizeObserver` is undefined in the execution environment, returns `undefined`.\r\n */\n\nfunction useResizeObserver(_ref) {\n let {\n callback,\n disabled\n } = _ref;\n const handleResize = useEvent(callback);\n const resizeObserver = useMemo(() => {\n if (disabled || typeof window === 'undefined' || typeof window.ResizeObserver === 'undefined') {\n return undefined;\n }\n\n const {\n ResizeObserver\n } = window;\n return new ResizeObserver(handleResize);\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [disabled]);\n useEffect(() => {\n return () => resizeObserver == null ? void 0 : resizeObserver.disconnect();\n }, [resizeObserver]);\n return resizeObserver;\n}\n\nfunction defaultMeasure(element) {\n return new Rect(getClientRect(element), element);\n}\n\nfunction useRect(element, measure, fallbackRect) {\n if (measure === void 0) {\n measure = defaultMeasure;\n }\n\n const [rect, setRect] = useState(null);\n\n function measureRect() {\n setRect(currentRect => {\n if (!element) {\n return null;\n }\n\n if (element.isConnected === false) {\n var _ref;\n\n // Fall back to last rect we measured if the element is\n // no longer connected to the DOM.\n return (_ref = currentRect != null ? currentRect : fallbackRect) != null ? _ref : null;\n }\n\n const newRect = measure(element);\n\n if (JSON.stringify(currentRect) === JSON.stringify(newRect)) {\n return currentRect;\n }\n\n return newRect;\n });\n }\n\n const mutationObserver = useMutationObserver({\n callback(records) {\n if (!element) {\n return;\n }\n\n for (const record of records) {\n const {\n type,\n target\n } = record;\n\n if (type === 'childList' && target instanceof HTMLElement && target.contains(element)) {\n measureRect();\n break;\n }\n }\n }\n\n });\n const resizeObserver = useResizeObserver({\n callback: measureRect\n });\n useIsomorphicLayoutEffect(() => {\n measureRect();\n\n if (element) {\n resizeObserver == null ? void 0 : resizeObserver.observe(element);\n mutationObserver == null ? void 0 : mutationObserver.observe(document.body, {\n childList: true,\n subtree: true\n });\n } else {\n resizeObserver == null ? void 0 : resizeObserver.disconnect();\n mutationObserver == null ? void 0 : mutationObserver.disconnect();\n }\n }, [element]);\n return rect;\n}\n\nfunction useRectDelta(rect) {\n const initialRect = useInitialValue(rect);\n return getRectDelta(rect, initialRect);\n}\n\nconst defaultValue$1 = [];\nfunction useScrollableAncestors(node) {\n const previousNode = useRef(node);\n const ancestors = useLazyMemo(previousValue => {\n if (!node) {\n return defaultValue$1;\n }\n\n if (previousValue && previousValue !== defaultValue$1 && node && previousNode.current && node.parentNode === previousNode.current.parentNode) {\n return previousValue;\n }\n\n return getScrollableAncestors(node);\n }, [node]);\n useEffect(() => {\n previousNode.current = node;\n }, [node]);\n return ancestors;\n}\n\nfunction useScrollOffsets(elements) {\n const [scrollCoordinates, setScrollCoordinates] = useState(null);\n const prevElements = useRef(elements); // To-do: Throttle the handleScroll callback\n\n const handleScroll = useCallback(event => {\n const scrollingElement = getScrollableElement(event.target);\n\n if (!scrollingElement) {\n return;\n }\n\n setScrollCoordinates(scrollCoordinates => {\n if (!scrollCoordinates) {\n return null;\n }\n\n scrollCoordinates.set(scrollingElement, getScrollCoordinates(scrollingElement));\n return new Map(scrollCoordinates);\n });\n }, []);\n useEffect(() => {\n const previousElements = prevElements.current;\n\n if (elements !== previousElements) {\n cleanup(previousElements);\n const entries = elements.map(element => {\n const scrollableElement = getScrollableElement(element);\n\n if (scrollableElement) {\n scrollableElement.addEventListener('scroll', handleScroll, {\n passive: true\n });\n return [scrollableElement, getScrollCoordinates(scrollableElement)];\n }\n\n return null;\n }).filter(entry => entry != null);\n setScrollCoordinates(entries.length ? new Map(entries) : null);\n prevElements.current = elements;\n }\n\n return () => {\n cleanup(elements);\n cleanup(previousElements);\n };\n\n function cleanup(elements) {\n elements.forEach(element => {\n const scrollableElement = getScrollableElement(element);\n scrollableElement == null ? void 0 : scrollableElement.removeEventListener('scroll', handleScroll);\n });\n }\n }, [handleScroll, elements]);\n return useMemo(() => {\n if (elements.length) {\n return scrollCoordinates ? Array.from(scrollCoordinates.values()).reduce((acc, coordinates) => add(acc, coordinates), defaultCoordinates) : getScrollOffsets(elements);\n }\n\n return defaultCoordinates;\n }, [elements, scrollCoordinates]);\n}\n\nfunction useScrollOffsetsDelta(scrollOffsets, dependencies) {\n if (dependencies === void 0) {\n dependencies = [];\n }\n\n const initialScrollOffsets = useRef(null);\n useEffect(() => {\n initialScrollOffsets.current = null;\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n dependencies);\n useEffect(() => {\n const hasScrollOffsets = scrollOffsets !== defaultCoordinates;\n\n if (hasScrollOffsets && !initialScrollOffsets.current) {\n initialScrollOffsets.current = scrollOffsets;\n }\n\n if (!hasScrollOffsets && initialScrollOffsets.current) {\n initialScrollOffsets.current = null;\n }\n }, [scrollOffsets]);\n return initialScrollOffsets.current ? subtract(scrollOffsets, initialScrollOffsets.current) : defaultCoordinates;\n}\n\nfunction useSensorSetup(sensors) {\n useEffect(() => {\n if (!canUseDOM) {\n return;\n }\n\n const teardownFns = sensors.map(_ref => {\n let {\n sensor\n } = _ref;\n return sensor.setup == null ? void 0 : sensor.setup();\n });\n return () => {\n for (const teardown of teardownFns) {\n teardown == null ? void 0 : teardown();\n }\n };\n }, // TO-DO: Sensors length could theoretically change which would not be a valid dependency\n // eslint-disable-next-line react-hooks/exhaustive-deps\n sensors.map(_ref2 => {\n let {\n sensor\n } = _ref2;\n return sensor;\n }));\n}\n\nfunction useSyntheticListeners(listeners, id) {\n return useMemo(() => {\n return listeners.reduce((acc, _ref) => {\n let {\n eventName,\n handler\n } = _ref;\n\n acc[eventName] = event => {\n handler(event, id);\n };\n\n return acc;\n }, {});\n }, [listeners, id]);\n}\n\nfunction useWindowRect(element) {\n return useMemo(() => element ? getWindowClientRect(element) : null, [element]);\n}\n\nconst defaultValue$2 = [];\nfunction useRects(elements, measure) {\n if (measure === void 0) {\n measure = getClientRect;\n }\n\n const [firstElement] = elements;\n const windowRect = useWindowRect(firstElement ? getWindow(firstElement) : null);\n const [rects, setRects] = useState(defaultValue$2);\n\n function measureRects() {\n setRects(() => {\n if (!elements.length) {\n return defaultValue$2;\n }\n\n return elements.map(element => isDocumentScrollingElement(element) ? windowRect : new Rect(measure(element), element));\n });\n }\n\n const resizeObserver = useResizeObserver({\n callback: measureRects\n });\n useIsomorphicLayoutEffect(() => {\n resizeObserver == null ? void 0 : resizeObserver.disconnect();\n measureRects();\n elements.forEach(element => resizeObserver == null ? void 0 : resizeObserver.observe(element));\n }, [elements]);\n return rects;\n}\n\nfunction getMeasurableNode(node) {\n if (!node) {\n return null;\n }\n\n if (node.children.length > 1) {\n return node;\n }\n\n const firstChild = node.children[0];\n return isHTMLElement(firstChild) ? firstChild : node;\n}\n\nfunction useDragOverlayMeasuring(_ref) {\n let {\n measure\n } = _ref;\n const [rect, setRect] = useState(null);\n const handleResize = useCallback(entries => {\n for (const {\n target\n } of entries) {\n if (isHTMLElement(target)) {\n setRect(rect => {\n const newRect = measure(target);\n return rect ? { ...rect,\n width: newRect.width,\n height: newRect.height\n } : newRect;\n });\n break;\n }\n }\n }, [measure]);\n const resizeObserver = useResizeObserver({\n callback: handleResize\n });\n const handleNodeChange = useCallback(element => {\n const node = getMeasurableNode(element);\n resizeObserver == null ? void 0 : resizeObserver.disconnect();\n\n if (node) {\n resizeObserver == null ? void 0 : resizeObserver.observe(node);\n }\n\n setRect(node ? measure(node) : null);\n }, [measure, resizeObserver]);\n const [nodeRef, setRef] = useNodeRef(handleNodeChange);\n return useMemo(() => ({\n nodeRef,\n rect,\n setRef\n }), [rect, nodeRef, setRef]);\n}\n\nconst defaultSensors = [{\n sensor: PointerSensor,\n options: {}\n}, {\n sensor: KeyboardSensor,\n options: {}\n}];\nconst defaultData = {\n current: {}\n};\nconst defaultMeasuringConfiguration = {\n draggable: {\n measure: getTransformAgnosticClientRect\n },\n droppable: {\n measure: getTransformAgnosticClientRect,\n strategy: MeasuringStrategy.WhileDragging,\n frequency: MeasuringFrequency.Optimized\n },\n dragOverlay: {\n measure: getClientRect\n }\n};\n\nclass DroppableContainersMap extends Map {\n get(id) {\n var _super$get;\n\n return id != null ? (_super$get = super.get(id)) != null ? _super$get : undefined : undefined;\n }\n\n toArray() {\n return Array.from(this.values());\n }\n\n getEnabled() {\n return this.toArray().filter(_ref => {\n let {\n disabled\n } = _ref;\n return !disabled;\n });\n }\n\n getNodeFor(id) {\n var _this$get$node$curren, _this$get;\n\n return (_this$get$node$curren = (_this$get = this.get(id)) == null ? void 0 : _this$get.node.current) != null ? _this$get$node$curren : undefined;\n }\n\n}\n\nconst defaultPublicContext = {\n activatorEvent: null,\n active: null,\n activeNode: null,\n activeNodeRect: null,\n collisions: null,\n containerNodeRect: null,\n draggableNodes: /*#__PURE__*/new Map(),\n droppableRects: /*#__PURE__*/new Map(),\n droppableContainers: /*#__PURE__*/new DroppableContainersMap(),\n over: null,\n dragOverlay: {\n nodeRef: {\n current: null\n },\n rect: null,\n setRef: noop\n },\n scrollableAncestors: [],\n scrollableAncestorRects: [],\n measuringConfiguration: defaultMeasuringConfiguration,\n measureDroppableContainers: noop,\n windowRect: null,\n measuringScheduled: false\n};\nconst defaultInternalContext = {\n activatorEvent: null,\n activators: [],\n active: null,\n activeNodeRect: null,\n ariaDescribedById: {\n draggable: ''\n },\n dispatch: noop,\n draggableNodes: /*#__PURE__*/new Map(),\n over: null,\n measureDroppableContainers: noop\n};\nconst InternalContext = /*#__PURE__*/createContext(defaultInternalContext);\nconst PublicContext = /*#__PURE__*/createContext(defaultPublicContext);\n\nfunction getInitialState() {\n return {\n draggable: {\n active: null,\n initialCoordinates: {\n x: 0,\n y: 0\n },\n nodes: new Map(),\n translate: {\n x: 0,\n y: 0\n }\n },\n droppable: {\n containers: new DroppableContainersMap()\n }\n };\n}\nfunction reducer(state, action) {\n switch (action.type) {\n case Action.DragStart:\n return { ...state,\n draggable: { ...state.draggable,\n initialCoordinates: action.initialCoordinates,\n active: action.active\n }\n };\n\n case Action.DragMove:\n if (state.draggable.active == null) {\n return state;\n }\n\n return { ...state,\n draggable: { ...state.draggable,\n translate: {\n x: action.coordinates.x - state.draggable.initialCoordinates.x,\n y: action.coordinates.y - state.draggable.initialCoordinates.y\n }\n }\n };\n\n case Action.DragEnd:\n case Action.DragCancel:\n return { ...state,\n draggable: { ...state.draggable,\n active: null,\n initialCoordinates: {\n x: 0,\n y: 0\n },\n translate: {\n x: 0,\n y: 0\n }\n }\n };\n\n case Action.RegisterDroppable:\n {\n const {\n element\n } = action;\n const {\n id\n } = element;\n const containers = new DroppableContainersMap(state.droppable.containers);\n containers.set(id, element);\n return { ...state,\n droppable: { ...state.droppable,\n containers\n }\n };\n }\n\n case Action.SetDroppableDisabled:\n {\n const {\n id,\n key,\n disabled\n } = action;\n const element = state.droppable.containers.get(id);\n\n if (!element || key !== element.key) {\n return state;\n }\n\n const containers = new DroppableContainersMap(state.droppable.containers);\n containers.set(id, { ...element,\n disabled\n });\n return { ...state,\n droppable: { ...state.droppable,\n containers\n }\n };\n }\n\n case Action.UnregisterDroppable:\n {\n const {\n id,\n key\n } = action;\n const element = state.droppable.containers.get(id);\n\n if (!element || key !== element.key) {\n return state;\n }\n\n const containers = new DroppableContainersMap(state.droppable.containers);\n containers.delete(id);\n return { ...state,\n droppable: { ...state.droppable,\n containers\n }\n };\n }\n\n default:\n {\n return state;\n }\n }\n}\n\nfunction RestoreFocus(_ref) {\n let {\n disabled\n } = _ref;\n const {\n active,\n activatorEvent,\n draggableNodes\n } = useContext(InternalContext);\n const previousActivatorEvent = usePrevious(activatorEvent);\n const previousActiveId = usePrevious(active == null ? void 0 : active.id); // Restore keyboard focus on the activator node\n\n useEffect(() => {\n if (disabled) {\n return;\n }\n\n if (!activatorEvent && previousActivatorEvent && previousActiveId != null) {\n if (!isKeyboardEvent(previousActivatorEvent)) {\n return;\n }\n\n if (document.activeElement === previousActivatorEvent.target) {\n // No need to restore focus\n return;\n }\n\n const draggableNode = draggableNodes.get(previousActiveId);\n\n if (!draggableNode) {\n return;\n }\n\n const {\n activatorNode,\n node\n } = draggableNode;\n\n if (!activatorNode.current && !node.current) {\n return;\n }\n\n requestAnimationFrame(() => {\n for (const element of [activatorNode.current, node.current]) {\n if (!element) {\n continue;\n }\n\n const focusableNode = findFirstFocusableNode(element);\n\n if (focusableNode) {\n focusableNode.focus();\n break;\n }\n }\n });\n }\n }, [activatorEvent, disabled, draggableNodes, previousActiveId, previousActivatorEvent]);\n return null;\n}\n\nfunction applyModifiers(modifiers, _ref) {\n let {\n transform,\n ...args\n } = _ref;\n return modifiers != null && modifiers.length ? modifiers.reduce((accumulator, modifier) => {\n return modifier({\n transform: accumulator,\n ...args\n });\n }, transform) : transform;\n}\n\nfunction useMeasuringConfiguration(config) {\n return useMemo(() => ({\n draggable: { ...defaultMeasuringConfiguration.draggable,\n ...(config == null ? void 0 : config.draggable)\n },\n droppable: { ...defaultMeasuringConfiguration.droppable,\n ...(config == null ? void 0 : config.droppable)\n },\n dragOverlay: { ...defaultMeasuringConfiguration.dragOverlay,\n ...(config == null ? void 0 : config.dragOverlay)\n }\n }), // eslint-disable-next-line react-hooks/exhaustive-deps\n [config == null ? void 0 : config.draggable, config == null ? void 0 : config.droppable, config == null ? void 0 : config.dragOverlay]);\n}\n\nfunction useLayoutShiftScrollCompensation(_ref) {\n let {\n activeNode,\n measure,\n initialRect,\n config = true\n } = _ref;\n const initialized = useRef(false);\n const {\n x,\n y\n } = typeof config === 'boolean' ? {\n x: config,\n y: config\n } : config;\n useIsomorphicLayoutEffect(() => {\n const disabled = !x && !y;\n\n if (disabled || !activeNode) {\n initialized.current = false;\n return;\n }\n\n if (initialized.current || !initialRect) {\n // Return early if layout shift scroll compensation was already attempted\n // or if there is no initialRect to compare to.\n return;\n } // Get the most up to date node ref for the active draggable\n\n\n const node = activeNode == null ? void 0 : activeNode.node.current;\n\n if (!node || node.isConnected === false) {\n // Return early if there is no attached node ref or if the node is\n // disconnected from the document.\n return;\n }\n\n const rect = measure(node);\n const rectDelta = getRectDelta(rect, initialRect);\n\n if (!x) {\n rectDelta.x = 0;\n }\n\n if (!y) {\n rectDelta.y = 0;\n } // Only perform layout shift scroll compensation once\n\n\n initialized.current = true;\n\n if (Math.abs(rectDelta.x) > 0 || Math.abs(rectDelta.y) > 0) {\n const firstScrollableAncestor = getFirstScrollableAncestor(node);\n\n if (firstScrollableAncestor) {\n firstScrollableAncestor.scrollBy({\n top: rectDelta.y,\n left: rectDelta.x\n });\n }\n }\n }, [activeNode, x, y, initialRect, measure]);\n}\n\nconst ActiveDraggableContext = /*#__PURE__*/createContext({ ...defaultCoordinates,\n scaleX: 1,\n scaleY: 1\n});\nvar Status;\n\n(function (Status) {\n Status[Status[\"Uninitialized\"] = 0] = \"Uninitialized\";\n Status[Status[\"Initializing\"] = 1] = \"Initializing\";\n Status[Status[\"Initialized\"] = 2] = \"Initialized\";\n})(Status || (Status = {}));\n\nconst DndContext = /*#__PURE__*/memo(function DndContext(_ref) {\n var _sensorContext$curren, _dragOverlay$nodeRef$, _dragOverlay$rect, _over$rect;\n\n let {\n id,\n accessibility,\n autoScroll = true,\n children,\n sensors = defaultSensors,\n collisionDetection = rectIntersection,\n measuring,\n modifiers,\n ...props\n } = _ref;\n const store = useReducer(reducer, undefined, getInitialState);\n const [state, dispatch] = store;\n const [dispatchMonitorEvent, registerMonitorListener] = useDndMonitorProvider();\n const [status, setStatus] = useState(Status.Uninitialized);\n const isInitialized = status === Status.Initialized;\n const {\n draggable: {\n active: activeId,\n nodes: draggableNodes,\n translate\n },\n droppable: {\n containers: droppableContainers\n }\n } = state;\n const node = activeId != null ? draggableNodes.get(activeId) : null;\n const activeRects = useRef({\n initial: null,\n translated: null\n });\n const active = useMemo(() => {\n var _node$data;\n\n return activeId != null ? {\n id: activeId,\n // It's possible for the active node to unmount while dragging\n data: (_node$data = node == null ? void 0 : node.data) != null ? _node$data : defaultData,\n rect: activeRects\n } : null;\n }, [activeId, node]);\n const activeRef = useRef(null);\n const [activeSensor, setActiveSensor] = useState(null);\n const [activatorEvent, setActivatorEvent] = useState(null);\n const latestProps = useLatestValue(props, Object.values(props));\n const draggableDescribedById = useUniqueId(\"DndDescribedBy\", id);\n const enabledDroppableContainers = useMemo(() => droppableContainers.getEnabled(), [droppableContainers]);\n const measuringConfiguration = useMeasuringConfiguration(measuring);\n const {\n droppableRects,\n measureDroppableContainers,\n measuringScheduled\n } = useDroppableMeasuring(enabledDroppableContainers, {\n dragging: isInitialized,\n dependencies: [translate.x, translate.y],\n config: measuringConfiguration.droppable\n });\n const activeNode = useCachedNode(draggableNodes, activeId);\n const activationCoordinates = useMemo(() => activatorEvent ? getEventCoordinates(activatorEvent) : null, [activatorEvent]);\n const autoScrollOptions = getAutoScrollerOptions();\n const initialActiveNodeRect = useInitialRect(activeNode, measuringConfiguration.draggable.measure);\n useLayoutShiftScrollCompensation({\n activeNode: activeId != null ? draggableNodes.get(activeId) : null,\n config: autoScrollOptions.layoutShiftCompensation,\n initialRect: initialActiveNodeRect,\n measure: measuringConfiguration.draggable.measure\n });\n const activeNodeRect = useRect(activeNode, measuringConfiguration.draggable.measure, initialActiveNodeRect);\n const containerNodeRect = useRect(activeNode ? activeNode.parentElement : null);\n const sensorContext = useRef({\n activatorEvent: null,\n active: null,\n activeNode,\n collisionRect: null,\n collisions: null,\n droppableRects,\n draggableNodes,\n draggingNode: null,\n draggingNodeRect: null,\n droppableContainers,\n over: null,\n scrollableAncestors: [],\n scrollAdjustedTranslate: null\n });\n const overNode = droppableContainers.getNodeFor((_sensorContext$curren = sensorContext.current.over) == null ? void 0 : _sensorContext$curren.id);\n const dragOverlay = useDragOverlayMeasuring({\n measure: measuringConfiguration.dragOverlay.measure\n }); // Use the rect of the drag overlay if it is mounted\n\n const draggingNode = (_dragOverlay$nodeRef$ = dragOverlay.nodeRef.current) != null ? _dragOverlay$nodeRef$ : activeNode;\n const draggingNodeRect = isInitialized ? (_dragOverlay$rect = dragOverlay.rect) != null ? _dragOverlay$rect : activeNodeRect : null;\n const usesDragOverlay = Boolean(dragOverlay.nodeRef.current && dragOverlay.rect); // The delta between the previous and new position of the draggable node\n // is only relevant when there is no drag overlay\n\n const nodeRectDelta = useRectDelta(usesDragOverlay ? null : activeNodeRect); // Get the window rect of the dragging node\n\n const windowRect = useWindowRect(draggingNode ? getWindow(draggingNode) : null); // Get scrollable ancestors of the dragging node\n\n const scrollableAncestors = useScrollableAncestors(isInitialized ? overNode != null ? overNode : activeNode : null);\n const scrollableAncestorRects = useRects(scrollableAncestors); // Apply modifiers\n\n const modifiedTranslate = applyModifiers(modifiers, {\n transform: {\n x: translate.x - nodeRectDelta.x,\n y: translate.y - nodeRectDelta.y,\n scaleX: 1,\n scaleY: 1\n },\n activatorEvent,\n active,\n activeNodeRect,\n containerNodeRect,\n draggingNodeRect,\n over: sensorContext.current.over,\n overlayNodeRect: dragOverlay.rect,\n scrollableAncestors,\n scrollableAncestorRects,\n windowRect\n });\n const pointerCoordinates = activationCoordinates ? add(activationCoordinates, translate) : null;\n const scrollOffsets = useScrollOffsets(scrollableAncestors); // Represents the scroll delta since dragging was initiated\n\n const scrollAdjustment = useScrollOffsetsDelta(scrollOffsets); // Represents the scroll delta since the last time the active node rect was measured\n\n const activeNodeScrollDelta = useScrollOffsetsDelta(scrollOffsets, [activeNodeRect]);\n const scrollAdjustedTranslate = add(modifiedTranslate, scrollAdjustment);\n const collisionRect = draggingNodeRect ? getAdjustedRect(draggingNodeRect, modifiedTranslate) : null;\n const collisions = active && collisionRect ? collisionDetection({\n active,\n collisionRect,\n droppableRects,\n droppableContainers: enabledDroppableContainers,\n pointerCoordinates\n }) : null;\n const overId = getFirstCollision(collisions, 'id');\n const [over, setOver] = useState(null); // When there is no drag overlay used, we need to account for the\n // window scroll delta\n\n const appliedTranslate = usesDragOverlay ? modifiedTranslate : add(modifiedTranslate, activeNodeScrollDelta);\n const transform = adjustScale(appliedTranslate, (_over$rect = over == null ? void 0 : over.rect) != null ? _over$rect : null, activeNodeRect);\n const activeSensorRef = useRef(null);\n const instantiateSensor = useCallback((event, _ref2) => {\n let {\n sensor: Sensor,\n options\n } = _ref2;\n\n if (activeRef.current == null) {\n return;\n }\n\n const activeNode = draggableNodes.get(activeRef.current);\n\n if (!activeNode) {\n return;\n }\n\n const activatorEvent = event.nativeEvent;\n const sensorInstance = new Sensor({\n active: activeRef.current,\n activeNode,\n event: activatorEvent,\n options,\n // Sensors need to be instantiated with refs for arguments that change over time\n // otherwise they are frozen in time with the stale arguments\n context: sensorContext,\n\n onAbort(id) {\n const draggableNode = draggableNodes.get(id);\n\n if (!draggableNode) {\n return;\n }\n\n const {\n onDragAbort\n } = latestProps.current;\n const event = {\n id\n };\n onDragAbort == null ? void 0 : onDragAbort(event);\n dispatchMonitorEvent({\n type: 'onDragAbort',\n event\n });\n },\n\n onPending(id, constraint, initialCoordinates, offset) {\n const draggableNode = draggableNodes.get(id);\n\n if (!draggableNode) {\n return;\n }\n\n const {\n onDragPending\n } = latestProps.current;\n const event = {\n id,\n constraint,\n initialCoordinates,\n offset\n };\n onDragPending == null ? void 0 : onDragPending(event);\n dispatchMonitorEvent({\n type: 'onDragPending',\n event\n });\n },\n\n onStart(initialCoordinates) {\n const id = activeRef.current;\n\n if (id == null) {\n return;\n }\n\n const draggableNode = draggableNodes.get(id);\n\n if (!draggableNode) {\n return;\n }\n\n const {\n onDragStart\n } = latestProps.current;\n const event = {\n activatorEvent,\n active: {\n id,\n data: draggableNode.data,\n rect: activeRects\n }\n };\n unstable_batchedUpdates(() => {\n onDragStart == null ? void 0 : onDragStart(event);\n setStatus(Status.Initializing);\n dispatch({\n type: Action.DragStart,\n initialCoordinates,\n active: id\n });\n dispatchMonitorEvent({\n type: 'onDragStart',\n event\n });\n setActiveSensor(activeSensorRef.current);\n setActivatorEvent(activatorEvent);\n });\n },\n\n onMove(coordinates) {\n dispatch({\n type: Action.DragMove,\n coordinates\n });\n },\n\n onEnd: createHandler(Action.DragEnd),\n onCancel: createHandler(Action.DragCancel)\n });\n activeSensorRef.current = sensorInstance;\n\n function createHandler(type) {\n return async function handler() {\n const {\n active,\n collisions,\n over,\n scrollAdjustedTranslate\n } = sensorContext.current;\n let event = null;\n\n if (active && scrollAdjustedTranslate) {\n const {\n cancelDrop\n } = latestProps.current;\n event = {\n activatorEvent,\n active: active,\n collisions,\n delta: scrollAdjustedTranslate,\n over\n };\n\n if (type === Action.DragEnd && typeof cancelDrop === 'function') {\n const shouldCancel = await Promise.resolve(cancelDrop(event));\n\n if (shouldCancel) {\n type = Action.DragCancel;\n }\n }\n }\n\n activeRef.current = null;\n unstable_batchedUpdates(() => {\n dispatch({\n type\n });\n setStatus(Status.Uninitialized);\n setOver(null);\n setActiveSensor(null);\n setActivatorEvent(null);\n activeSensorRef.current = null;\n const eventName = type === Action.DragEnd ? 'onDragEnd' : 'onDragCancel';\n\n if (event) {\n const handler = latestProps.current[eventName];\n handler == null ? void 0 : handler(event);\n dispatchMonitorEvent({\n type: eventName,\n event\n });\n }\n });\n };\n }\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [draggableNodes]);\n const bindActivatorToSensorInstantiator = useCallback((handler, sensor) => {\n return (event, active) => {\n const nativeEvent = event.nativeEvent;\n const activeDraggableNode = draggableNodes.get(active);\n\n if ( // Another sensor is already instantiating\n activeRef.current !== null || // No active draggable\n !activeDraggableNode || // Event has already been captured\n nativeEvent.dndKit || nativeEvent.defaultPrevented) {\n return;\n }\n\n const activationContext = {\n active: activeDraggableNode\n };\n const shouldActivate = handler(event, sensor.options, activationContext);\n\n if (shouldActivate === true) {\n nativeEvent.dndKit = {\n capturedBy: sensor.sensor\n };\n activeRef.current = active;\n instantiateSensor(event, sensor);\n }\n };\n }, [draggableNodes, instantiateSensor]);\n const activators = useCombineActivators(sensors, bindActivatorToSensorInstantiator);\n useSensorSetup(sensors);\n useIsomorphicLayoutEffect(() => {\n if (activeNodeRect && status === Status.Initializing) {\n setStatus(Status.Initialized);\n }\n }, [activeNodeRect, status]);\n useEffect(() => {\n const {\n onDragMove\n } = latestProps.current;\n const {\n active,\n activatorEvent,\n collisions,\n over\n } = sensorContext.current;\n\n if (!active || !activatorEvent) {\n return;\n }\n\n const event = {\n active,\n activatorEvent,\n collisions,\n delta: {\n x: scrollAdjustedTranslate.x,\n y: scrollAdjustedTranslate.y\n },\n over\n };\n unstable_batchedUpdates(() => {\n onDragMove == null ? void 0 : onDragMove(event);\n dispatchMonitorEvent({\n type: 'onDragMove',\n event\n });\n });\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [scrollAdjustedTranslate.x, scrollAdjustedTranslate.y]);\n useEffect(() => {\n const {\n active,\n activatorEvent,\n collisions,\n droppableContainers,\n scrollAdjustedTranslate\n } = sensorContext.current;\n\n if (!active || activeRef.current == null || !activatorEvent || !scrollAdjustedTranslate) {\n return;\n }\n\n const {\n onDragOver\n } = latestProps.current;\n const overContainer = droppableContainers.get(overId);\n const over = overContainer && overContainer.rect.current ? {\n id: overContainer.id,\n rect: overContainer.rect.current,\n data: overContainer.data,\n disabled: overContainer.disabled\n } : null;\n const event = {\n active,\n activatorEvent,\n collisions,\n delta: {\n x: scrollAdjustedTranslate.x,\n y: scrollAdjustedTranslate.y\n },\n over\n };\n unstable_batchedUpdates(() => {\n setOver(over);\n onDragOver == null ? void 0 : onDragOver(event);\n dispatchMonitorEvent({\n type: 'onDragOver',\n event\n });\n });\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [overId]);\n useIsomorphicLayoutEffect(() => {\n sensorContext.current = {\n activatorEvent,\n active,\n activeNode,\n collisionRect,\n collisions,\n droppableRects,\n draggableNodes,\n draggingNode,\n draggingNodeRect,\n droppableContainers,\n over,\n scrollableAncestors,\n scrollAdjustedTranslate\n };\n activeRects.current = {\n initial: draggingNodeRect,\n translated: collisionRect\n };\n }, [active, activeNode, collisions, collisionRect, draggableNodes, draggingNode, draggingNodeRect, droppableRects, droppableContainers, over, scrollableAncestors, scrollAdjustedTranslate]);\n useAutoScroller({ ...autoScrollOptions,\n delta: translate,\n draggingRect: collisionRect,\n pointerCoordinates,\n scrollableAncestors,\n scrollableAncestorRects\n });\n const publicContext = useMemo(() => {\n const context = {\n active,\n activeNode,\n activeNodeRect,\n activatorEvent,\n collisions,\n containerNodeRect,\n dragOverlay,\n draggableNodes,\n droppableContainers,\n droppableRects,\n over,\n measureDroppableContainers,\n scrollableAncestors,\n scrollableAncestorRects,\n measuringConfiguration,\n measuringScheduled,\n windowRect\n };\n return context;\n }, [active, activeNode, activeNodeRect, activatorEvent, collisions, containerNodeRect, dragOverlay, draggableNodes, droppableContainers, droppableRects, over, measureDroppableContainers, scrollableAncestors, scrollableAncestorRects, measuringConfiguration, measuringScheduled, windowRect]);\n const internalContext = useMemo(() => {\n const context = {\n activatorEvent,\n activators,\n active,\n activeNodeRect,\n ariaDescribedById: {\n draggable: draggableDescribedById\n },\n dispatch,\n draggableNodes,\n over,\n measureDroppableContainers\n };\n return context;\n }, [activatorEvent, activators, active, activeNodeRect, dispatch, draggableDescribedById, draggableNodes, over, measureDroppableContainers]);\n return React.createElement(DndMonitorContext.Provider, {\n value: registerMonitorListener\n }, React.createElement(InternalContext.Provider, {\n value: internalContext\n }, React.createElement(PublicContext.Provider, {\n value: publicContext\n }, React.createElement(ActiveDraggableContext.Provider, {\n value: transform\n }, children)), React.createElement(RestoreFocus, {\n disabled: (accessibility == null ? void 0 : accessibility.restoreFocus) === false\n })), React.createElement(Accessibility, { ...accessibility,\n hiddenTextDescribedById: draggableDescribedById\n }));\n\n function getAutoScrollerOptions() {\n const activeSensorDisablesAutoscroll = (activeSensor == null ? void 0 : activeSensor.autoScrollEnabled) === false;\n const autoScrollGloballyDisabled = typeof autoScroll === 'object' ? autoScroll.enabled === false : autoScroll === false;\n const enabled = isInitialized && !activeSensorDisablesAutoscroll && !autoScrollGloballyDisabled;\n\n if (typeof autoScroll === 'object') {\n return { ...autoScroll,\n enabled\n };\n }\n\n return {\n enabled\n };\n }\n});\n\nconst NullContext = /*#__PURE__*/createContext(null);\nconst defaultRole = 'button';\nconst ID_PREFIX = 'Draggable';\nfunction useDraggable(_ref) {\n let {\n id,\n data,\n disabled = false,\n attributes\n } = _ref;\n const key = useUniqueId(ID_PREFIX);\n const {\n activators,\n activatorEvent,\n active,\n activeNodeRect,\n ariaDescribedById,\n draggableNodes,\n over\n } = useContext(InternalContext);\n const {\n role = defaultRole,\n roleDescription = 'draggable',\n tabIndex = 0\n } = attributes != null ? attributes : {};\n const isDragging = (active == null ? void 0 : active.id) === id;\n const transform = useContext(isDragging ? ActiveDraggableContext : NullContext);\n const [node, setNodeRef] = useNodeRef();\n const [activatorNode, setActivatorNodeRef] = useNodeRef();\n const listeners = useSyntheticListeners(activators, id);\n const dataRef = useLatestValue(data);\n useIsomorphicLayoutEffect(() => {\n draggableNodes.set(id, {\n id,\n key,\n node,\n activatorNode,\n data: dataRef\n });\n return () => {\n const node = draggableNodes.get(id);\n\n if (node && node.key === key) {\n draggableNodes.delete(id);\n }\n };\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [draggableNodes, id]);\n const memoizedAttributes = useMemo(() => ({\n role,\n tabIndex,\n 'aria-disabled': disabled,\n 'aria-pressed': isDragging && role === defaultRole ? true : undefined,\n 'aria-roledescription': roleDescription,\n 'aria-describedby': ariaDescribedById.draggable\n }), [disabled, role, tabIndex, isDragging, roleDescription, ariaDescribedById.draggable]);\n return {\n active,\n activatorEvent,\n activeNodeRect,\n attributes: memoizedAttributes,\n isDragging,\n listeners: disabled ? undefined : listeners,\n node,\n over,\n setNodeRef,\n setActivatorNodeRef,\n transform\n };\n}\n\nfunction useDndContext() {\n return useContext(PublicContext);\n}\n\nconst ID_PREFIX$1 = 'Droppable';\nconst defaultResizeObserverConfig = {\n timeout: 25\n};\nfunction useDroppable(_ref) {\n let {\n data,\n disabled = false,\n id,\n resizeObserverConfig\n } = _ref;\n const key = useUniqueId(ID_PREFIX$1);\n const {\n active,\n dispatch,\n over,\n measureDroppableContainers\n } = useContext(InternalContext);\n const previous = useRef({\n disabled\n });\n const resizeObserverConnected = useRef(false);\n const rect = useRef(null);\n const callbackId = useRef(null);\n const {\n disabled: resizeObserverDisabled,\n updateMeasurementsFor,\n timeout: resizeObserverTimeout\n } = { ...defaultResizeObserverConfig,\n ...resizeObserverConfig\n };\n const ids = useLatestValue(updateMeasurementsFor != null ? updateMeasurementsFor : id);\n const handleResize = useCallback(() => {\n if (!resizeObserverConnected.current) {\n // ResizeObserver invokes the `handleResize` callback as soon as `observe` is called,\n // assuming the element is rendered and displayed.\n resizeObserverConnected.current = true;\n return;\n }\n\n if (callbackId.current != null) {\n clearTimeout(callbackId.current);\n }\n\n callbackId.current = setTimeout(() => {\n measureDroppableContainers(Array.isArray(ids.current) ? ids.current : [ids.current]);\n callbackId.current = null;\n }, resizeObserverTimeout);\n }, //eslint-disable-next-line react-hooks/exhaustive-deps\n [resizeObserverTimeout]);\n const resizeObserver = useResizeObserver({\n callback: handleResize,\n disabled: resizeObserverDisabled || !active\n });\n const handleNodeChange = useCallback((newElement, previousElement) => {\n if (!resizeObserver) {\n return;\n }\n\n if (previousElement) {\n resizeObserver.unobserve(previousElement);\n resizeObserverConnected.current = false;\n }\n\n if (newElement) {\n resizeObserver.observe(newElement);\n }\n }, [resizeObserver]);\n const [nodeRef, setNodeRef] = useNodeRef(handleNodeChange);\n const dataRef = useLatestValue(data);\n useEffect(() => {\n if (!resizeObserver || !nodeRef.current) {\n return;\n }\n\n resizeObserver.disconnect();\n resizeObserverConnected.current = false;\n resizeObserver.observe(nodeRef.current);\n }, [nodeRef, resizeObserver]);\n useEffect(() => {\n dispatch({\n type: Action.RegisterDroppable,\n element: {\n id,\n key,\n disabled,\n node: nodeRef,\n rect,\n data: dataRef\n }\n });\n return () => dispatch({\n type: Action.UnregisterDroppable,\n key,\n id\n });\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [id]);\n useEffect(() => {\n if (disabled !== previous.current.disabled) {\n dispatch({\n type: Action.SetDroppableDisabled,\n id,\n key,\n disabled\n });\n previous.current.disabled = disabled;\n }\n }, [id, key, disabled, dispatch]);\n return {\n active,\n rect,\n isOver: (over == null ? void 0 : over.id) === id,\n node: nodeRef,\n over,\n setNodeRef\n };\n}\n\nfunction AnimationManager(_ref) {\n let {\n animation,\n children\n } = _ref;\n const [clonedChildren, setClonedChildren] = useState(null);\n const [element, setElement] = useState(null);\n const previousChildren = usePrevious(children);\n\n if (!children && !clonedChildren && previousChildren) {\n setClonedChildren(previousChildren);\n }\n\n useIsomorphicLayoutEffect(() => {\n if (!element) {\n return;\n }\n\n const key = clonedChildren == null ? void 0 : clonedChildren.key;\n const id = clonedChildren == null ? void 0 : clonedChildren.props.id;\n\n if (key == null || id == null) {\n setClonedChildren(null);\n return;\n }\n\n Promise.resolve(animation(id, element)).then(() => {\n setClonedChildren(null);\n });\n }, [animation, clonedChildren, element]);\n return React.createElement(React.Fragment, null, children, clonedChildren ? cloneElement(clonedChildren, {\n ref: setElement\n }) : null);\n}\n\nconst defaultTransform = {\n x: 0,\n y: 0,\n scaleX: 1,\n scaleY: 1\n};\nfunction NullifiedContextProvider(_ref) {\n let {\n children\n } = _ref;\n return React.createElement(InternalContext.Provider, {\n value: defaultInternalContext\n }, React.createElement(ActiveDraggableContext.Provider, {\n value: defaultTransform\n }, children));\n}\n\nconst baseStyles = {\n position: 'fixed',\n touchAction: 'none'\n};\n\nconst defaultTransition = activatorEvent => {\n const isKeyboardActivator = isKeyboardEvent(activatorEvent);\n return isKeyboardActivator ? 'transform 250ms ease' : undefined;\n};\n\nconst PositionedOverlay = /*#__PURE__*/forwardRef((_ref, ref) => {\n let {\n as,\n activatorEvent,\n adjustScale,\n children,\n className,\n rect,\n style,\n transform,\n transition = defaultTransition\n } = _ref;\n\n if (!rect) {\n return null;\n }\n\n const scaleAdjustedTransform = adjustScale ? transform : { ...transform,\n scaleX: 1,\n scaleY: 1\n };\n const styles = { ...baseStyles,\n width: rect.width,\n height: rect.height,\n top: rect.top,\n left: rect.left,\n transform: CSS.Transform.toString(scaleAdjustedTransform),\n transformOrigin: adjustScale && activatorEvent ? getRelativeTransformOrigin(activatorEvent, rect) : undefined,\n transition: typeof transition === 'function' ? transition(activatorEvent) : transition,\n ...style\n };\n return React.createElement(as, {\n className,\n style: styles,\n ref\n }, children);\n});\n\nconst defaultDropAnimationSideEffects = options => _ref => {\n let {\n active,\n dragOverlay\n } = _ref;\n const originalStyles = {};\n const {\n styles,\n className\n } = options;\n\n if (styles != null && styles.active) {\n for (const [key, value] of Object.entries(styles.active)) {\n if (value === undefined) {\n continue;\n }\n\n originalStyles[key] = active.node.style.getPropertyValue(key);\n active.node.style.setProperty(key, value);\n }\n }\n\n if (styles != null && styles.dragOverlay) {\n for (const [key, value] of Object.entries(styles.dragOverlay)) {\n if (value === undefined) {\n continue;\n }\n\n dragOverlay.node.style.setProperty(key, value);\n }\n }\n\n if (className != null && className.active) {\n active.node.classList.add(className.active);\n }\n\n if (className != null && className.dragOverlay) {\n dragOverlay.node.classList.add(className.dragOverlay);\n }\n\n return function cleanup() {\n for (const [key, value] of Object.entries(originalStyles)) {\n active.node.style.setProperty(key, value);\n }\n\n if (className != null && className.active) {\n active.node.classList.remove(className.active);\n }\n };\n};\n\nconst defaultKeyframeResolver = _ref2 => {\n let {\n transform: {\n initial,\n final\n }\n } = _ref2;\n return [{\n transform: CSS.Transform.toString(initial)\n }, {\n transform: CSS.Transform.toString(final)\n }];\n};\n\nconst defaultDropAnimationConfiguration = {\n duration: 250,\n easing: 'ease',\n keyframes: defaultKeyframeResolver,\n sideEffects: /*#__PURE__*/defaultDropAnimationSideEffects({\n styles: {\n active: {\n opacity: '0'\n }\n }\n })\n};\nfunction useDropAnimation(_ref3) {\n let {\n config,\n draggableNodes,\n droppableContainers,\n measuringConfiguration\n } = _ref3;\n return useEvent((id, node) => {\n if (config === null) {\n return;\n }\n\n const activeDraggable = draggableNodes.get(id);\n\n if (!activeDraggable) {\n return;\n }\n\n const activeNode = activeDraggable.node.current;\n\n if (!activeNode) {\n return;\n }\n\n const measurableNode = getMeasurableNode(node);\n\n if (!measurableNode) {\n return;\n }\n\n const {\n transform\n } = getWindow(node).getComputedStyle(node);\n const parsedTransform = parseTransform(transform);\n\n if (!parsedTransform) {\n return;\n }\n\n const animation = typeof config === 'function' ? config : createDefaultDropAnimation(config);\n scrollIntoViewIfNeeded(activeNode, measuringConfiguration.draggable.measure);\n return animation({\n active: {\n id,\n data: activeDraggable.data,\n node: activeNode,\n rect: measuringConfiguration.draggable.measure(activeNode)\n },\n draggableNodes,\n dragOverlay: {\n node,\n rect: measuringConfiguration.dragOverlay.measure(measurableNode)\n },\n droppableContainers,\n measuringConfiguration,\n transform: parsedTransform\n });\n });\n}\n\nfunction createDefaultDropAnimation(options) {\n const {\n duration,\n easing,\n sideEffects,\n keyframes\n } = { ...defaultDropAnimationConfiguration,\n ...options\n };\n return _ref4 => {\n let {\n active,\n dragOverlay,\n transform,\n ...rest\n } = _ref4;\n\n if (!duration) {\n // Do not animate if animation duration is zero.\n return;\n }\n\n const delta = {\n x: dragOverlay.rect.left - active.rect.left,\n y: dragOverlay.rect.top - active.rect.top\n };\n const scale = {\n scaleX: transform.scaleX !== 1 ? active.rect.width * transform.scaleX / dragOverlay.rect.width : 1,\n scaleY: transform.scaleY !== 1 ? active.rect.height * transform.scaleY / dragOverlay.rect.height : 1\n };\n const finalTransform = {\n x: transform.x - delta.x,\n y: transform.y - delta.y,\n ...scale\n };\n const animationKeyframes = keyframes({ ...rest,\n active,\n dragOverlay,\n transform: {\n initial: transform,\n final: finalTransform\n }\n });\n const [firstKeyframe] = animationKeyframes;\n const lastKeyframe = animationKeyframes[animationKeyframes.length - 1];\n\n if (JSON.stringify(firstKeyframe) === JSON.stringify(lastKeyframe)) {\n // The start and end keyframes are the same, infer that there is no animation needed.\n return;\n }\n\n const cleanup = sideEffects == null ? void 0 : sideEffects({\n active,\n dragOverlay,\n ...rest\n });\n const animation = dragOverlay.node.animate(animationKeyframes, {\n duration,\n easing,\n fill: 'forwards'\n });\n return new Promise(resolve => {\n animation.onfinish = () => {\n cleanup == null ? void 0 : cleanup();\n resolve();\n };\n });\n };\n}\n\nlet key = 0;\nfunction useKey(id) {\n return useMemo(() => {\n if (id == null) {\n return;\n }\n\n key++;\n return key;\n }, [id]);\n}\n\nconst DragOverlay = /*#__PURE__*/React.memo(_ref => {\n let {\n adjustScale = false,\n children,\n dropAnimation: dropAnimationConfig,\n style,\n transition,\n modifiers,\n wrapperElement = 'div',\n className,\n zIndex = 999\n } = _ref;\n const {\n activatorEvent,\n active,\n activeNodeRect,\n containerNodeRect,\n draggableNodes,\n droppableContainers,\n dragOverlay,\n over,\n measuringConfiguration,\n scrollableAncestors,\n scrollableAncestorRects,\n windowRect\n } = useDndContext();\n const transform = useContext(ActiveDraggableContext);\n const key = useKey(active == null ? void 0 : active.id);\n const modifiedTransform = applyModifiers(modifiers, {\n activatorEvent,\n active,\n activeNodeRect,\n containerNodeRect,\n draggingNodeRect: dragOverlay.rect,\n over,\n overlayNodeRect: dragOverlay.rect,\n scrollableAncestors,\n scrollableAncestorRects,\n transform,\n windowRect\n });\n const initialRect = useInitialValue(activeNodeRect);\n const dropAnimation = useDropAnimation({\n config: dropAnimationConfig,\n draggableNodes,\n droppableContainers,\n measuringConfiguration\n }); // We need to wait for the active node to be measured before connecting the drag overlay ref\n // otherwise collisions can be computed against a mispositioned drag overlay\n\n const ref = initialRect ? dragOverlay.setRef : undefined;\n return React.createElement(NullifiedContextProvider, null, React.createElement(AnimationManager, {\n animation: dropAnimation\n }, active && key ? React.createElement(PositionedOverlay, {\n key: key,\n id: active.id,\n ref: ref,\n as: wrapperElement,\n activatorEvent: activatorEvent,\n adjustScale: adjustScale,\n className: className,\n transition: transition,\n rect: initialRect,\n style: {\n zIndex,\n ...style\n },\n transform: modifiedTransform\n }, children) : null));\n});\n\nexport { AutoScrollActivator, DndContext, DragOverlay, KeyboardCode, KeyboardSensor, MeasuringFrequency, MeasuringStrategy, MouseSensor, PointerSensor, TouchSensor, TraversalOrder, applyModifiers, closestCenter, closestCorners, defaultAnnouncements, defaultCoordinates, defaultDropAnimationConfiguration as defaultDropAnimation, defaultDropAnimationSideEffects, defaultKeyboardCoordinateGetter, defaultScreenReaderInstructions, getClientRect, getFirstCollision, getScrollableAncestors, pointerWithin, rectIntersection, useDndContext, useDndMonitor, useDraggable, useDroppable, useSensor, useSensors };\n//# sourceMappingURL=core.esm.js.map\n","import React, { useMemo, useRef, useEffect, useState, useContext } from 'react';\nimport { useDndContext, getClientRect, useDroppable, useDraggable, closestCorners, getFirstCollision, getScrollableAncestors, KeyboardCode } from '@dnd-kit/core';\nimport { useUniqueId, useIsomorphicLayoutEffect, CSS, useCombinedRefs, isKeyboardEvent, subtract } from '@dnd-kit/utilities';\n\n/**\r\n * Move an array item to a different position. Returns a new array with the item moved to the new position.\r\n */\nfunction arrayMove(array, from, to) {\n const newArray = array.slice();\n newArray.splice(to < 0 ? newArray.length + to : to, 0, newArray.splice(from, 1)[0]);\n return newArray;\n}\n\n/**\r\n * Swap an array item to a different position. Returns a new array with the item swapped to the new position.\r\n */\nfunction arraySwap(array, from, to) {\n const newArray = array.slice();\n newArray[from] = array[to];\n newArray[to] = array[from];\n return newArray;\n}\n\nfunction getSortedRects(items, rects) {\n return items.reduce((accumulator, id, index) => {\n const rect = rects.get(id);\n\n if (rect) {\n accumulator[index] = rect;\n }\n\n return accumulator;\n }, Array(items.length));\n}\n\nfunction isValidIndex(index) {\n return index !== null && index >= 0;\n}\n\nfunction itemsEqual(a, b) {\n if (a === b) {\n return true;\n }\n\n if (a.length !== b.length) {\n return false;\n }\n\n for (let i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction normalizeDisabled(disabled) {\n if (typeof disabled === 'boolean') {\n return {\n draggable: disabled,\n droppable: disabled\n };\n }\n\n return disabled;\n}\n\n// To-do: We should be calculating scale transformation\nconst defaultScale = {\n scaleX: 1,\n scaleY: 1\n};\nconst horizontalListSortingStrategy = _ref => {\n var _rects$activeIndex;\n\n let {\n rects,\n activeNodeRect: fallbackActiveRect,\n activeIndex,\n overIndex,\n index\n } = _ref;\n const activeNodeRect = (_rects$activeIndex = rects[activeIndex]) != null ? _rects$activeIndex : fallbackActiveRect;\n\n if (!activeNodeRect) {\n return null;\n }\n\n const itemGap = getItemGap(rects, index, activeIndex);\n\n if (index === activeIndex) {\n const newIndexRect = rects[overIndex];\n\n if (!newIndexRect) {\n return null;\n }\n\n return {\n x: activeIndex < overIndex ? newIndexRect.left + newIndexRect.width - (activeNodeRect.left + activeNodeRect.width) : newIndexRect.left - activeNodeRect.left,\n y: 0,\n ...defaultScale\n };\n }\n\n if (index > activeIndex && index <= overIndex) {\n return {\n x: -activeNodeRect.width - itemGap,\n y: 0,\n ...defaultScale\n };\n }\n\n if (index < activeIndex && index >= overIndex) {\n return {\n x: activeNodeRect.width + itemGap,\n y: 0,\n ...defaultScale\n };\n }\n\n return {\n x: 0,\n y: 0,\n ...defaultScale\n };\n};\n\nfunction getItemGap(rects, index, activeIndex) {\n const currentRect = rects[index];\n const previousRect = rects[index - 1];\n const nextRect = rects[index + 1];\n\n if (!currentRect || !previousRect && !nextRect) {\n return 0;\n }\n\n if (activeIndex < index) {\n return previousRect ? currentRect.left - (previousRect.left + previousRect.width) : nextRect.left - (currentRect.left + currentRect.width);\n }\n\n return nextRect ? nextRect.left - (currentRect.left + currentRect.width) : currentRect.left - (previousRect.left + previousRect.width);\n}\n\nconst rectSortingStrategy = _ref => {\n let {\n rects,\n activeIndex,\n overIndex,\n index\n } = _ref;\n const newRects = arrayMove(rects, overIndex, activeIndex);\n const oldRect = rects[index];\n const newRect = newRects[index];\n\n if (!newRect || !oldRect) {\n return null;\n }\n\n return {\n x: newRect.left - oldRect.left,\n y: newRect.top - oldRect.top,\n scaleX: newRect.width / oldRect.width,\n scaleY: newRect.height / oldRect.height\n };\n};\n\nconst rectSwappingStrategy = _ref => {\n let {\n activeIndex,\n index,\n rects,\n overIndex\n } = _ref;\n let oldRect;\n let newRect;\n\n if (index === activeIndex) {\n oldRect = rects[index];\n newRect = rects[overIndex];\n }\n\n if (index === overIndex) {\n oldRect = rects[index];\n newRect = rects[activeIndex];\n }\n\n if (!newRect || !oldRect) {\n return null;\n }\n\n return {\n x: newRect.left - oldRect.left,\n y: newRect.top - oldRect.top,\n scaleX: newRect.width / oldRect.width,\n scaleY: newRect.height / oldRect.height\n };\n};\n\n// To-do: We should be calculating scale transformation\nconst defaultScale$1 = {\n scaleX: 1,\n scaleY: 1\n};\nconst verticalListSortingStrategy = _ref => {\n var _rects$activeIndex;\n\n let {\n activeIndex,\n activeNodeRect: fallbackActiveRect,\n index,\n rects,\n overIndex\n } = _ref;\n const activeNodeRect = (_rects$activeIndex = rects[activeIndex]) != null ? _rects$activeIndex : fallbackActiveRect;\n\n if (!activeNodeRect) {\n return null;\n }\n\n if (index === activeIndex) {\n const overIndexRect = rects[overIndex];\n\n if (!overIndexRect) {\n return null;\n }\n\n return {\n x: 0,\n y: activeIndex < overIndex ? overIndexRect.top + overIndexRect.height - (activeNodeRect.top + activeNodeRect.height) : overIndexRect.top - activeNodeRect.top,\n ...defaultScale$1\n };\n }\n\n const itemGap = getItemGap$1(rects, index, activeIndex);\n\n if (index > activeIndex && index <= overIndex) {\n return {\n x: 0,\n y: -activeNodeRect.height - itemGap,\n ...defaultScale$1\n };\n }\n\n if (index < activeIndex && index >= overIndex) {\n return {\n x: 0,\n y: activeNodeRect.height + itemGap,\n ...defaultScale$1\n };\n }\n\n return {\n x: 0,\n y: 0,\n ...defaultScale$1\n };\n};\n\nfunction getItemGap$1(clientRects, index, activeIndex) {\n const currentRect = clientRects[index];\n const previousRect = clientRects[index - 1];\n const nextRect = clientRects[index + 1];\n\n if (!currentRect) {\n return 0;\n }\n\n if (activeIndex < index) {\n return previousRect ? currentRect.top - (previousRect.top + previousRect.height) : nextRect ? nextRect.top - (currentRect.top + currentRect.height) : 0;\n }\n\n return nextRect ? nextRect.top - (currentRect.top + currentRect.height) : previousRect ? currentRect.top - (previousRect.top + previousRect.height) : 0;\n}\n\nconst ID_PREFIX = 'Sortable';\nconst Context = /*#__PURE__*/React.createContext({\n activeIndex: -1,\n containerId: ID_PREFIX,\n disableTransforms: false,\n items: [],\n overIndex: -1,\n useDragOverlay: false,\n sortedRects: [],\n strategy: rectSortingStrategy,\n disabled: {\n draggable: false,\n droppable: false\n }\n});\nfunction SortableContext(_ref) {\n let {\n children,\n id,\n items: userDefinedItems,\n strategy = rectSortingStrategy,\n disabled: disabledProp = false\n } = _ref;\n const {\n active,\n dragOverlay,\n droppableRects,\n over,\n measureDroppableContainers\n } = useDndContext();\n const containerId = useUniqueId(ID_PREFIX, id);\n const useDragOverlay = Boolean(dragOverlay.rect !== null);\n const items = useMemo(() => userDefinedItems.map(item => typeof item === 'object' && 'id' in item ? item.id : item), [userDefinedItems]);\n const isDragging = active != null;\n const activeIndex = active ? items.indexOf(active.id) : -1;\n const overIndex = over ? items.indexOf(over.id) : -1;\n const previousItemsRef = useRef(items);\n const itemsHaveChanged = !itemsEqual(items, previousItemsRef.current);\n const disableTransforms = overIndex !== -1 && activeIndex === -1 || itemsHaveChanged;\n const disabled = normalizeDisabled(disabledProp);\n useIsomorphicLayoutEffect(() => {\n if (itemsHaveChanged && isDragging) {\n measureDroppableContainers(items);\n }\n }, [itemsHaveChanged, items, isDragging, measureDroppableContainers]);\n useEffect(() => {\n previousItemsRef.current = items;\n }, [items]);\n const contextValue = useMemo(() => ({\n activeIndex,\n containerId,\n disabled,\n disableTransforms,\n items,\n overIndex,\n useDragOverlay,\n sortedRects: getSortedRects(items, droppableRects),\n strategy\n }), // eslint-disable-next-line react-hooks/exhaustive-deps\n [activeIndex, containerId, disabled.draggable, disabled.droppable, disableTransforms, items, overIndex, droppableRects, useDragOverlay, strategy]);\n return React.createElement(Context.Provider, {\n value: contextValue\n }, children);\n}\n\nconst defaultNewIndexGetter = _ref => {\n let {\n id,\n items,\n activeIndex,\n overIndex\n } = _ref;\n return arrayMove(items, activeIndex, overIndex).indexOf(id);\n};\nconst defaultAnimateLayoutChanges = _ref2 => {\n let {\n containerId,\n isSorting,\n wasDragging,\n index,\n items,\n newIndex,\n previousItems,\n previousContainerId,\n transition\n } = _ref2;\n\n if (!transition || !wasDragging) {\n return false;\n }\n\n if (previousItems !== items && index === newIndex) {\n return false;\n }\n\n if (isSorting) {\n return true;\n }\n\n return newIndex !== index && containerId === previousContainerId;\n};\nconst defaultTransition = {\n duration: 200,\n easing: 'ease'\n};\nconst transitionProperty = 'transform';\nconst disabledTransition = /*#__PURE__*/CSS.Transition.toString({\n property: transitionProperty,\n duration: 0,\n easing: 'linear'\n});\nconst defaultAttributes = {\n roleDescription: 'sortable'\n};\n\n/*\r\n * When the index of an item changes while sorting,\r\n * we need to temporarily disable the transforms\r\n */\n\nfunction useDerivedTransform(_ref) {\n let {\n disabled,\n index,\n node,\n rect\n } = _ref;\n const [derivedTransform, setDerivedtransform] = useState(null);\n const previousIndex = useRef(index);\n useIsomorphicLayoutEffect(() => {\n if (!disabled && index !== previousIndex.current && node.current) {\n const initial = rect.current;\n\n if (initial) {\n const current = getClientRect(node.current, {\n ignoreTransform: true\n });\n const delta = {\n x: initial.left - current.left,\n y: initial.top - current.top,\n scaleX: initial.width / current.width,\n scaleY: initial.height / current.height\n };\n\n if (delta.x || delta.y) {\n setDerivedtransform(delta);\n }\n }\n }\n\n if (index !== previousIndex.current) {\n previousIndex.current = index;\n }\n }, [disabled, index, node, rect]);\n useEffect(() => {\n if (derivedTransform) {\n setDerivedtransform(null);\n }\n }, [derivedTransform]);\n return derivedTransform;\n}\n\nfunction useSortable(_ref) {\n let {\n animateLayoutChanges = defaultAnimateLayoutChanges,\n attributes: userDefinedAttributes,\n disabled: localDisabled,\n data: customData,\n getNewIndex = defaultNewIndexGetter,\n id,\n strategy: localStrategy,\n resizeObserverConfig,\n transition = defaultTransition\n } = _ref;\n const {\n items,\n containerId,\n activeIndex,\n disabled: globalDisabled,\n disableTransforms,\n sortedRects,\n overIndex,\n useDragOverlay,\n strategy: globalStrategy\n } = useContext(Context);\n const disabled = normalizeLocalDisabled(localDisabled, globalDisabled);\n const index = items.indexOf(id);\n const data = useMemo(() => ({\n sortable: {\n containerId,\n index,\n items\n },\n ...customData\n }), [containerId, customData, index, items]);\n const itemsAfterCurrentSortable = useMemo(() => items.slice(items.indexOf(id)), [items, id]);\n const {\n rect,\n node,\n isOver,\n setNodeRef: setDroppableNodeRef\n } = useDroppable({\n id,\n data,\n disabled: disabled.droppable,\n resizeObserverConfig: {\n updateMeasurementsFor: itemsAfterCurrentSortable,\n ...resizeObserverConfig\n }\n });\n const {\n active,\n activatorEvent,\n activeNodeRect,\n attributes,\n setNodeRef: setDraggableNodeRef,\n listeners,\n isDragging,\n over,\n setActivatorNodeRef,\n transform\n } = useDraggable({\n id,\n data,\n attributes: { ...defaultAttributes,\n ...userDefinedAttributes\n },\n disabled: disabled.draggable\n });\n const setNodeRef = useCombinedRefs(setDroppableNodeRef, setDraggableNodeRef);\n const isSorting = Boolean(active);\n const displaceItem = isSorting && !disableTransforms && isValidIndex(activeIndex) && isValidIndex(overIndex);\n const shouldDisplaceDragSource = !useDragOverlay && isDragging;\n const dragSourceDisplacement = shouldDisplaceDragSource && displaceItem ? transform : null;\n const strategy = localStrategy != null ? localStrategy : globalStrategy;\n const finalTransform = displaceItem ? dragSourceDisplacement != null ? dragSourceDisplacement : strategy({\n rects: sortedRects,\n activeNodeRect,\n activeIndex,\n overIndex,\n index\n }) : null;\n const newIndex = isValidIndex(activeIndex) && isValidIndex(overIndex) ? getNewIndex({\n id,\n items,\n activeIndex,\n overIndex\n }) : index;\n const activeId = active == null ? void 0 : active.id;\n const previous = useRef({\n activeId,\n items,\n newIndex,\n containerId\n });\n const itemsHaveChanged = items !== previous.current.items;\n const shouldAnimateLayoutChanges = animateLayoutChanges({\n active,\n containerId,\n isDragging,\n isSorting,\n id,\n index,\n items,\n newIndex: previous.current.newIndex,\n previousItems: previous.current.items,\n previousContainerId: previous.current.containerId,\n transition,\n wasDragging: previous.current.activeId != null\n });\n const derivedTransform = useDerivedTransform({\n disabled: !shouldAnimateLayoutChanges,\n index,\n node,\n rect\n });\n useEffect(() => {\n if (isSorting && previous.current.newIndex !== newIndex) {\n previous.current.newIndex = newIndex;\n }\n\n if (containerId !== previous.current.containerId) {\n previous.current.containerId = containerId;\n }\n\n if (items !== previous.current.items) {\n previous.current.items = items;\n }\n }, [isSorting, newIndex, containerId, items]);\n useEffect(() => {\n if (activeId === previous.current.activeId) {\n return;\n }\n\n if (activeId && !previous.current.activeId) {\n previous.current.activeId = activeId;\n return;\n }\n\n const timeoutId = setTimeout(() => {\n previous.current.activeId = activeId;\n }, 50);\n return () => clearTimeout(timeoutId);\n }, [activeId]);\n return {\n active,\n activeIndex,\n attributes,\n data,\n rect,\n index,\n newIndex,\n items,\n isOver,\n isSorting,\n isDragging,\n listeners,\n node,\n overIndex,\n over,\n setNodeRef,\n setActivatorNodeRef,\n setDroppableNodeRef,\n setDraggableNodeRef,\n transform: derivedTransform != null ? derivedTransform : finalTransform,\n transition: getTransition()\n };\n\n function getTransition() {\n if ( // Temporarily disable transitions for a single frame to set up derived transforms\n derivedTransform || // Or to prevent items jumping to back to their \"new\" position when items change\n itemsHaveChanged && previous.current.newIndex === index) {\n return disabledTransition;\n }\n\n if (shouldDisplaceDragSource && !isKeyboardEvent(activatorEvent) || !transition) {\n return undefined;\n }\n\n if (isSorting || shouldAnimateLayoutChanges) {\n return CSS.Transition.toString({ ...transition,\n property: transitionProperty\n });\n }\n\n return undefined;\n }\n}\n\nfunction normalizeLocalDisabled(localDisabled, globalDisabled) {\n var _localDisabled$dragga, _localDisabled$droppa;\n\n if (typeof localDisabled === 'boolean') {\n return {\n draggable: localDisabled,\n // Backwards compatibility\n droppable: false\n };\n }\n\n return {\n draggable: (_localDisabled$dragga = localDisabled == null ? void 0 : localDisabled.draggable) != null ? _localDisabled$dragga : globalDisabled.draggable,\n droppable: (_localDisabled$droppa = localDisabled == null ? void 0 : localDisabled.droppable) != null ? _localDisabled$droppa : globalDisabled.droppable\n };\n}\n\nfunction hasSortableData(entry) {\n if (!entry) {\n return false;\n }\n\n const data = entry.data.current;\n\n if (data && 'sortable' in data && typeof data.sortable === 'object' && 'containerId' in data.sortable && 'items' in data.sortable && 'index' in data.sortable) {\n return true;\n }\n\n return false;\n}\n\nconst directions = [KeyboardCode.Down, KeyboardCode.Right, KeyboardCode.Up, KeyboardCode.Left];\nconst sortableKeyboardCoordinates = (event, _ref) => {\n let {\n context: {\n active,\n collisionRect,\n droppableRects,\n droppableContainers,\n over,\n scrollableAncestors\n }\n } = _ref;\n\n if (directions.includes(event.code)) {\n event.preventDefault();\n\n if (!active || !collisionRect) {\n return;\n }\n\n const filteredContainers = [];\n droppableContainers.getEnabled().forEach(entry => {\n if (!entry || entry != null && entry.disabled) {\n return;\n }\n\n const rect = droppableRects.get(entry.id);\n\n if (!rect) {\n return;\n }\n\n switch (event.code) {\n case KeyboardCode.Down:\n if (collisionRect.top < rect.top) {\n filteredContainers.push(entry);\n }\n\n break;\n\n case KeyboardCode.Up:\n if (collisionRect.top > rect.top) {\n filteredContainers.push(entry);\n }\n\n break;\n\n case KeyboardCode.Left:\n if (collisionRect.left > rect.left) {\n filteredContainers.push(entry);\n }\n\n break;\n\n case KeyboardCode.Right:\n if (collisionRect.left < rect.left) {\n filteredContainers.push(entry);\n }\n\n break;\n }\n });\n const collisions = closestCorners({\n active,\n collisionRect: collisionRect,\n droppableRects,\n droppableContainers: filteredContainers,\n pointerCoordinates: null\n });\n let closestId = getFirstCollision(collisions, 'id');\n\n if (closestId === (over == null ? void 0 : over.id) && collisions.length > 1) {\n closestId = collisions[1].id;\n }\n\n if (closestId != null) {\n const activeDroppable = droppableContainers.get(active.id);\n const newDroppable = droppableContainers.get(closestId);\n const newRect = newDroppable ? droppableRects.get(newDroppable.id) : null;\n const newNode = newDroppable == null ? void 0 : newDroppable.node.current;\n\n if (newNode && newRect && activeDroppable && newDroppable) {\n const newScrollAncestors = getScrollableAncestors(newNode);\n const hasDifferentScrollAncestors = newScrollAncestors.some((element, index) => scrollableAncestors[index] !== element);\n const hasSameContainer = isSameContainer(activeDroppable, newDroppable);\n const isAfterActive = isAfter(activeDroppable, newDroppable);\n const offset = hasDifferentScrollAncestors || !hasSameContainer ? {\n x: 0,\n y: 0\n } : {\n x: isAfterActive ? collisionRect.width - newRect.width : 0,\n y: isAfterActive ? collisionRect.height - newRect.height : 0\n };\n const rectCoordinates = {\n x: newRect.left,\n y: newRect.top\n };\n const newCoordinates = offset.x && offset.y ? rectCoordinates : subtract(rectCoordinates, offset);\n return newCoordinates;\n }\n }\n }\n\n return undefined;\n};\n\nfunction isSameContainer(a, b) {\n if (!hasSortableData(a) || !hasSortableData(b)) {\n return false;\n }\n\n return a.data.current.sortable.containerId === b.data.current.sortable.containerId;\n}\n\nfunction isAfter(a, b) {\n if (!hasSortableData(a) || !hasSortableData(b)) {\n return false;\n }\n\n if (!isSameContainer(a, b)) {\n return false;\n }\n\n return a.data.current.sortable.index < b.data.current.sortable.index;\n}\n\nexport { SortableContext, arrayMove, arraySwap, defaultAnimateLayoutChanges, defaultNewIndexGetter, hasSortableData, horizontalListSortingStrategy, rectSortingStrategy, rectSwappingStrategy, sortableKeyboardCoordinates, useSortable, verticalListSortingStrategy };\n//# sourceMappingURL=sortable.esm.js.map\n"],"names":["useCombinedRefs","_len","refs","_key","useMemo","node","ref","canUseDOM","isWindow","element","elementString","isNode","getWindow","target","_target$ownerDocument","_target$ownerDocument2","isDocument","Document","isHTMLElement","isSVGElement","getOwnerDocument","useIsomorphicLayoutEffect","useLayoutEffect","useEffect","useEvent","handler","handlerRef","useRef","useCallback","args","useInterval","intervalRef","set","listener","duration","clear","useLatestValue","value","dependencies","valueRef","useLazyMemo","callback","newValue","useNodeRef","onChange","onChangeHandler","setNodeRef","usePrevious","ids","useUniqueId","prefix","id","createAdjustmentFn","modifier","object","adjustments","accumulator","adjustment","entries","key","valueAdjustment","add","subtract","hasViewportRelativeCoordinates","event","isKeyboardEvent","KeyboardEvent","isTouchEvent","TouchEvent","getEventCoordinates","x","y","CSS","transform","scaleX","scaleY","_ref","property","easing","SELECTOR","findFirstFocusableNode","hiddenStyles","HiddenText","React","LiveRegion","announcement","ariaLiveType","visuallyHidden","useAnnouncement","setAnnouncement","useState","DndMonitorContext","createContext","useDndMonitor","registerListener","useContext","useDndMonitorProvider","listeners","type","_listener$type","defaultScreenReaderInstructions","defaultAnnouncements","active","_ref2","over","_ref3","_ref4","Accessibility","announcements","container","hiddenTextDescribedById","screenReaderInstructions","announce","liveRegionId","mounted","setMounted","_ref5","_ref6","markup","createPortal","Action","noop","useSensor","sensor","options","useSensors","sensors","defaultCoordinates","distanceBetween","p1","p2","sortCollisionsAsc","a","b","sortCollisionsDesc","cornersOfRectangle","left","top","height","width","getFirstCollision","collisions","firstCollision","closestCorners","collisionRect","droppableRects","droppableContainers","corners","droppableContainer","rect","rectCorners","distances","corner","index","effectiveDistance","getIntersectionRatio","entry","right","bottom","targetArea","entryArea","intersectionArea","intersectionRatio","rectIntersection","adjustScale","rect1","rect2","getRectDelta","createRectAdjustmentFn","acc","getAdjustedRect","parseTransform","transformArray","inverseTransform","transformOrigin","parsedTransform","translateX","translateY","w","h","defaultOptions","getClientRect","getTransformAgnosticClientRect","getWindowClientRect","isFixed","computedStyle","isScrollable","overflowRegex","getScrollableAncestors","limit","scrollParents","findScrollableAncestors","getFirstScrollableAncestor","firstScrollableAncestor","getScrollableElement","getScrollXCoordinate","getScrollYCoordinate","getScrollCoordinates","Direction","isDocumentScrollingElement","getScrollPosition","scrollingContainer","minScroll","dimensions","maxScroll","isTop","isLeft","isBottom","isRight","defaultThreshold","getScrollDirectionAndSpeed","scrollContainer","scrollContainerRect","acceleration","thresholdPercentage","direction","speed","threshold","getScrollElementRect","innerWidth","innerHeight","getScrollOffsets","scrollableAncestors","getScrollXOffset","getScrollYOffset","scrollIntoViewIfNeeded","measure","properties","Rect","scrollOffsets","axis","keys","getScrollOffset","currentOffsets","scrollOffsetsDeltla","Listeners","_this$target","eventName","_this$target2","getEventListenerTarget","EventTarget","hasExceededDistance","delta","measurement","dx","dy","EventName","preventDefault","stopPropagation","KeyboardCode","defaultKeyboardCodes","defaultKeyboardCoordinateGetter","currentCoordinates","KeyboardSensor","props","activeNode","onStart","context","keyboardCodes","coordinateGetter","scrollBehavior","code","newCoordinates","coordinatesDelta","scrollDelta","scrollElementRect","clampedCoordinates","canScrollX","canScrollY","newScrollCoordinates","canScrollToNewCoordinates","coordinates","onMove","onEnd","onCancel","onActivation","activator","isDistanceConstraint","constraint","isDelayConstraint","AbstractPointerSensor","events","listenerTarget","_getEventCoordinates","activationConstraint","bypassActivationConstraint","offset","onPending","initialCoordinates","_getEventCoordinates2","activated","onAbort","_this$document$getSel","PointerSensor","events$1","MouseButton","MouseSensor","events$2","TouchSensor","touches","AutoScrollActivator","TraversalOrder","useAutoScroller","canScroll","draggingRect","enabled","interval","order","pointerCoordinates","scrollableAncestorRects","scrollIntent","useScrollIntent","setAutoScrollInterval","clearAutoScrollInterval","scrollSpeed","scrollDirection","scrollContainerRef","autoScroll","scrollLeft","scrollTop","sortedScrollableAncestors","defaultScrollIntent","disabled","previousDelta","previousIntent","useCachedNode","draggableNodes","draggableNode","cachedNode","useCombineActivators","getSyntheticHandler","Sensor","sensorActivators","MeasuringStrategy","MeasuringFrequency","defaultValue","useDroppableMeasuring","containers","dragging","config","queue","setQueue","frequency","strategy","containersRef","isDisabled","disabledRef","measureDroppableContainers","timeoutId","previousValue","map","useInitialValue","computeFn","useInitialRect","useMutationObserver","handleMutations","mutationObserver","MutationObserver","useResizeObserver","handleResize","resizeObserver","ResizeObserver","defaultMeasure","useRect","fallbackRect","setRect","measureRect","currentRect","newRect","records","record","useRectDelta","initialRect","defaultValue$1","useScrollableAncestors","previousNode","ancestors","useScrollOffsets","elements","scrollCoordinates","setScrollCoordinates","prevElements","handleScroll","scrollingElement","previousElements","cleanup","scrollableElement","useScrollOffsetsDelta","initialScrollOffsets","hasScrollOffsets","useSensorSetup","teardownFns","teardown","useSyntheticListeners","useWindowRect","defaultValue$2","useRects","firstElement","windowRect","rects","setRects","measureRects","getMeasurableNode","firstChild","useDragOverlayMeasuring","handleNodeChange","nodeRef","setRef","defaultSensors","defaultData","defaultMeasuringConfiguration","DroppableContainersMap","_super$get","_this$get$node$curren","_this$get","defaultPublicContext","defaultInternalContext","InternalContext","PublicContext","getInitialState","reducer","state","action","RestoreFocus","activatorEvent","previousActivatorEvent","previousActiveId","activatorNode","focusableNode","applyModifiers","modifiers","useMeasuringConfiguration","useLayoutShiftScrollCompensation","initialized","rectDelta","ActiveDraggableContext","Status","DndContext","memo","_sensorContext$curren","_dragOverlay$nodeRef$","_dragOverlay$rect","_over$rect","accessibility","children","collisionDetection","measuring","store","useReducer","dispatch","dispatchMonitorEvent","registerMonitorListener","status","setStatus","isInitialized","activeId","translate","activeRects","_node$data","activeRef","activeSensor","setActiveSensor","setActivatorEvent","latestProps","draggableDescribedById","enabledDroppableContainers","measuringConfiguration","measuringScheduled","activationCoordinates","autoScrollOptions","getAutoScrollerOptions","initialActiveNodeRect","activeNodeRect","containerNodeRect","sensorContext","overNode","dragOverlay","draggingNode","draggingNodeRect","usesDragOverlay","nodeRectDelta","modifiedTranslate","scrollAdjustment","activeNodeScrollDelta","scrollAdjustedTranslate","overId","setOver","appliedTranslate","activeSensorRef","instantiateSensor","sensorInstance","onDragAbort","onDragPending","onDragStart","unstable_batchedUpdates","createHandler","cancelDrop","bindActivatorToSensorInstantiator","nativeEvent","activeDraggableNode","activationContext","activators","onDragMove","onDragOver","overContainer","publicContext","internalContext","activeSensorDisablesAutoscroll","autoScrollGloballyDisabled","NullContext","defaultRole","ID_PREFIX","useDraggable","data","attributes","ariaDescribedById","role","roleDescription","tabIndex","isDragging","setActivatorNodeRef","dataRef","memoizedAttributes","ID_PREFIX$1","defaultResizeObserverConfig","useDroppable","resizeObserverConfig","previous","resizeObserverConnected","callbackId","resizeObserverDisabled","updateMeasurementsFor","resizeObserverTimeout","newElement","previousElement","arrayMove","array","from","to","newArray","isValidIndex","rectSortingStrategy","activeIndex","overIndex","newRects","oldRect","Context","defaultNewIndexGetter","items","defaultAnimateLayoutChanges","containerId","isSorting","wasDragging","newIndex","previousItems","previousContainerId","transition","defaultTransition","transitionProperty","disabledTransition","defaultAttributes","useDerivedTransform","derivedTransform","setDerivedtransform","previousIndex","initial","current","useSortable","animateLayoutChanges","userDefinedAttributes","localDisabled","customData","getNewIndex","localStrategy","globalDisabled","disableTransforms","sortedRects","useDragOverlay","globalStrategy","normalizeLocalDisabled","itemsAfterCurrentSortable","isOver","setDroppableNodeRef","setDraggableNodeRef","displaceItem","shouldDisplaceDragSource","dragSourceDisplacement","finalTransform","itemsHaveChanged","shouldAnimateLayoutChanges","getTransition","_localDisabled$dragga","_localDisabled$droppa","hasSortableData","directions","sortableKeyboardCoordinates","filteredContainers","closestId","activeDroppable","newDroppable","newNode","hasDifferentScrollAncestors","hasSameContainer","isSameContainer","isAfterActive","isAfter","rectCoordinates"],"mappings":"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","x_google_ignoreList":[0,1,2,3]}
@@ -0,0 +1,6 @@
1
+ import{c as o}from"./main-CdOm1Pj9.js";/**
2
+ * @license lucide-react v0.460.0 - ISC
3
+ *
4
+ * This source code is licensed under the ISC license.
5
+ * See the LICENSE file in the root directory of this source tree.
6
+ */const a=o("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]);export{a as D};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"download-BdHlstUY.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/download.js"],"sourcesContent":["/**\n * @license lucide-react v0.460.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Download = createLucideIcon(\"Download\", [\n [\"path\", { d: \"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\", key: \"ih7n3h\" }],\n [\"polyline\", { points: \"7 10 12 15 17 10\", key: \"2ggqvy\" }],\n [\"line\", { x1: \"12\", x2: \"12\", y1: \"15\", y2: \"3\", key: \"1vk2je\" }]\n]);\n\nexport { Download as default };\n//# sourceMappingURL=download.js.map\n"],"names":["Download","createLucideIcon"],"mappings":"uCAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAAWC,EAAiB,WAAY,CAC5C,CAAC,OAAQ,CAAE,EAAG,4CAA6C,IAAK,QAAQ,CAAE,EAC1E,CAAC,WAAY,CAAE,OAAQ,mBAAoB,IAAK,QAAQ,CAAE,EAC1D,CAAC,OAAQ,CAAE,GAAI,KAAM,GAAI,KAAM,GAAI,KAAM,GAAI,IAAK,IAAK,QAAQ,CAAE,CACnE,CAAC","x_google_ignoreList":[0]}
@@ -0,0 +1,6 @@
1
+ import{c as a}from"./main-CdOm1Pj9.js";/**
2
+ * @license lucide-react v0.460.0 - ISC
3
+ *
4
+ * This source code is licensed under the ISC license.
5
+ * See the LICENSE file in the root directory of this source tree.
6
+ */const e=a("ExternalLink",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);export{e as E};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"external-link-DA3_VGm-.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/external-link.js"],"sourcesContent":["/**\n * @license lucide-react v0.460.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst ExternalLink = createLucideIcon(\"ExternalLink\", [\n [\"path\", { d: \"M15 3h6v6\", key: \"1q9fwt\" }],\n [\"path\", { d: \"M10 14 21 3\", key: \"gplh6r\" }],\n [\"path\", { d: \"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\", key: \"a6xqqp\" }]\n]);\n\nexport { ExternalLink as default };\n//# sourceMappingURL=external-link.js.map\n"],"names":["ExternalLink","createLucideIcon"],"mappings":"uCAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAAeC,EAAiB,eAAgB,CACpD,CAAC,OAAQ,CAAE,EAAG,YAAa,IAAK,QAAQ,CAAE,EAC1C,CAAC,OAAQ,CAAE,EAAG,cAAe,IAAK,QAAQ,CAAE,EAC5C,CAAC,OAAQ,CAAE,EAAG,2DAA4D,IAAK,QAAQ,CAAE,CAC3F,CAAC","x_google_ignoreList":[0]}
@@ -0,0 +1,6 @@
1
+ import{c as e}from"./main-CdOm1Pj9.js";/**
2
+ * @license lucide-react v0.460.0 - ISC
3
+ *
4
+ * This source code is licensed under the ISC license.
5
+ * See the LICENSE file in the root directory of this source tree.
6
+ */const t=e("FileText",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);export{t as F};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-text-B-g8H227.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/file-text.js"],"sourcesContent":["/**\n * @license lucide-react v0.460.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst FileText = createLucideIcon(\"FileText\", [\n [\"path\", { d: \"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z\", key: \"1rqfz7\" }],\n [\"path\", { d: \"M14 2v4a2 2 0 0 0 2 2h4\", key: \"tnqrlb\" }],\n [\"path\", { d: \"M10 9H8\", key: \"b1mrlr\" }],\n [\"path\", { d: \"M16 13H8\", key: \"t4e002\" }],\n [\"path\", { d: \"M16 17H8\", key: \"z1uh3a\" }]\n]);\n\nexport { FileText as default };\n//# sourceMappingURL=file-text.js.map\n"],"names":["FileText","createLucideIcon"],"mappings":"uCAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAAWC,EAAiB,WAAY,CAC5C,CAAC,OAAQ,CAAE,EAAG,6DAA8D,IAAK,QAAQ,CAAE,EAC3F,CAAC,OAAQ,CAAE,EAAG,0BAA2B,IAAK,QAAQ,CAAE,EACxD,CAAC,OAAQ,CAAE,EAAG,UAAW,IAAK,QAAQ,CAAE,EACxC,CAAC,OAAQ,CAAE,EAAG,WAAY,IAAK,QAAQ,CAAE,EACzC,CAAC,OAAQ,CAAE,EAAG,WAAY,IAAK,QAAQ,CAAE,CAC3C,CAAC","x_google_ignoreList":[0]}
@@ -0,0 +1,6 @@
1
+ import{c as o}from"./main-CdOm1Pj9.js";/**
2
+ * @license lucide-react v0.460.0 - ISC
3
+ *
4
+ * This source code is licensed under the ISC license.
5
+ * See the LICENSE file in the root directory of this source tree.
6
+ */const t=o("Filter",[["polygon",{points:"22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3",key:"1yg77f"}]]);export{t as F};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-D9B8s5CG.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/filter.js"],"sourcesContent":["/**\n * @license lucide-react v0.460.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Filter = createLucideIcon(\"Filter\", [\n [\"polygon\", { points: \"22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3\", key: \"1yg77f\" }]\n]);\n\nexport { Filter as default };\n//# sourceMappingURL=filter.js.map\n"],"names":["Filter","createLucideIcon"],"mappings":"uCAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAASC,EAAiB,SAAU,CACxC,CAAC,UAAW,CAAE,OAAQ,8CAA+C,IAAK,QAAQ,CAAE,CACtF,CAAC","x_google_ignoreList":[0]}
@@ -0,0 +1,11 @@
1
+ import{c as e}from"./main-CdOm1Pj9.js";/**
2
+ * @license lucide-react v0.460.0 - ISC
3
+ *
4
+ * This source code is licensed under the ISC license.
5
+ * See the LICENSE file in the root directory of this source tree.
6
+ */const r=e("GitMerge",[["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}],["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["path",{d:"M6 21V9a9 9 0 0 0 9 9",key:"7kw0sc"}]]);/**
7
+ * @license lucide-react v0.460.0 - ISC
8
+ *
9
+ * This source code is licensed under the ISC license.
10
+ * See the LICENSE file in the root directory of this source tree.
11
+ */const t=e("GitPullRequest",[["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}],["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["path",{d:"M13 6h3a2 2 0 0 1 2 2v7",key:"1yeb86"}],["line",{x1:"6",x2:"6",y1:"9",y2:"21",key:"rroup"}]]);export{r as G,t as a};