@wascartech/devbot 0.0.0-stage → 2.1.1

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 (376) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +638 -2
  3. package/dist/access-grant-store.js +99 -0
  4. package/dist/access-grant-store.js.map +1 -0
  5. package/dist/access-resolve.js +11 -0
  6. package/dist/access-resolve.js.map +1 -0
  7. package/dist/access-rule-store.js +99 -0
  8. package/dist/access-rule-store.js.map +1 -0
  9. package/dist/admin/access-routes.js +73 -0
  10. package/dist/admin/access-routes.js.map +1 -0
  11. package/dist/admin/access-rule-routes.js +107 -0
  12. package/dist/admin/access-rule-routes.js.map +1 -0
  13. package/dist/admin/custom-repos-routes.js +93 -0
  14. package/dist/admin/custom-repos-routes.js.map +1 -0
  15. package/dist/admin/env-routes.js +74 -0
  16. package/dist/admin/env-routes.js.map +1 -0
  17. package/dist/admin/global-settings-routes.js +254 -0
  18. package/dist/admin/global-settings-routes.js.map +1 -0
  19. package/dist/admin/mcp-cleanup.js +12 -0
  20. package/dist/admin/mcp-cleanup.js.map +1 -0
  21. package/dist/admin/mcp-routes.js +169 -0
  22. package/dist/admin/mcp-routes.js.map +1 -0
  23. package/dist/admin/query-params.js +80 -0
  24. package/dist/admin/query-params.js.map +1 -0
  25. package/dist/admin/routes.js +150 -0
  26. package/dist/admin/routes.js.map +1 -0
  27. package/dist/admin/run-history-routes.js +44 -0
  28. package/dist/admin/run-history-routes.js.map +1 -0
  29. package/dist/admin/run-routes.js +99 -0
  30. package/dist/admin/run-routes.js.map +1 -0
  31. package/dist/admin/settings-routes.js +119 -0
  32. package/dist/admin/settings-routes.js.map +1 -0
  33. package/dist/admin/stats-routes.js +51 -0
  34. package/dist/admin/stats-routes.js.map +1 -0
  35. package/dist/admin/task-routes.js +213 -0
  36. package/dist/admin/task-routes.js.map +1 -0
  37. package/dist/admin/test-routes.js +38 -0
  38. package/dist/admin/test-routes.js.map +1 -0
  39. package/dist/admin/volume-routes.js +82 -0
  40. package/dist/admin/volume-routes.js.map +1 -0
  41. package/dist/admin/webhook-routes.js +174 -0
  42. package/dist/admin/webhook-routes.js.map +1 -0
  43. package/dist/agents.js +48 -0
  44. package/dist/agents.js.map +1 -0
  45. package/dist/assignee-value.js +6 -0
  46. package/dist/assignee-value.js.map +1 -0
  47. package/dist/attachments.js +76 -0
  48. package/dist/attachments.js.map +1 -0
  49. package/dist/auto-commands.js +88 -0
  50. package/dist/auto-commands.js.map +1 -0
  51. package/dist/auto-features.js +32 -0
  52. package/dist/auto-features.js.map +1 -0
  53. package/dist/base-branch-store.js +40 -0
  54. package/dist/base-branch-store.js.map +1 -0
  55. package/dist/base-branches.js +9 -0
  56. package/dist/base-branches.js.map +1 -0
  57. package/dist/build-workflow.js +116 -0
  58. package/dist/build-workflow.js.map +1 -0
  59. package/dist/change-request-lifecycle.js +16 -0
  60. package/dist/change-request-lifecycle.js.map +1 -0
  61. package/dist/change-request-store.js +72 -0
  62. package/dist/change-request-store.js.map +1 -0
  63. package/dist/ci-failure.js +80 -0
  64. package/dist/ci-failure.js.map +1 -0
  65. package/dist/cli.js +3 -0
  66. package/dist/cli.js.map +1 -0
  67. package/dist/config.js +17 -0
  68. package/dist/config.js.map +1 -0
  69. package/dist/conflict-fix.js +178 -0
  70. package/dist/conflict-fix.js.map +1 -0
  71. package/dist/cookie.js +70 -0
  72. package/dist/cookie.js.map +1 -0
  73. package/dist/crypto-util.js +40 -0
  74. package/dist/crypto-util.js.map +1 -0
  75. package/dist/custom-repos-store.js +90 -0
  76. package/dist/custom-repos-store.js.map +1 -0
  77. package/dist/custom-repos-sync.js +118 -0
  78. package/dist/custom-repos-sync.js.map +1 -0
  79. package/dist/db.js +12 -0
  80. package/dist/db.js.map +1 -0
  81. package/dist/devbot-scripts.js +18 -0
  82. package/dist/devbot-scripts.js.map +1 -0
  83. package/dist/devcontainer.js +150 -0
  84. package/dist/devcontainer.js.map +1 -0
  85. package/dist/env-config-store.js +132 -0
  86. package/dist/env-config-store.js.map +1 -0
  87. package/dist/error-log-store.js +193 -0
  88. package/dist/error-log-store.js.map +1 -0
  89. package/dist/git.js +605 -0
  90. package/dist/git.js.map +1 -0
  91. package/dist/global-queue.js +127 -0
  92. package/dist/global-queue.js.map +1 -0
  93. package/dist/global-settings-store.js +307 -0
  94. package/dist/global-settings-store.js.map +1 -0
  95. package/dist/help.js +41 -0
  96. package/dist/help.js.map +1 -0
  97. package/dist/http-csp.js +15 -0
  98. package/dist/http-csp.js.map +1 -0
  99. package/dist/http-util.js +40 -0
  100. package/dist/http-util.js.map +1 -0
  101. package/dist/idempotency.js +50 -0
  102. package/dist/idempotency.js.map +1 -0
  103. package/dist/lifecycle.js +234 -0
  104. package/dist/lifecycle.js.map +1 -0
  105. package/dist/logger.js +33 -0
  106. package/dist/logger.js.map +1 -0
  107. package/dist/lsp-servers.js +81 -0
  108. package/dist/lsp-servers.js.map +1 -0
  109. package/dist/mcp/auth.js +62 -0
  110. package/dist/mcp/auth.js.map +1 -0
  111. package/dist/mcp/effective-mcp.js +42 -0
  112. package/dist/mcp/effective-mcp.js.map +1 -0
  113. package/dist/mcp/oauth-refresh.js +138 -0
  114. package/dist/mcp/oauth-refresh.js.map +1 -0
  115. package/dist/mcp/peer-sync.js +109 -0
  116. package/dist/mcp/peer-sync.js.map +1 -0
  117. package/dist/mcp/registry.js +54 -0
  118. package/dist/mcp/registry.js.map +1 -0
  119. package/dist/mcp/runner-bridge.js +93 -0
  120. package/dist/mcp/runner-bridge.js.map +1 -0
  121. package/dist/mcp/server.js +173 -0
  122. package/dist/mcp/server.js.map +1 -0
  123. package/dist/mcp/tools/_helpers.js +88 -0
  124. package/dist/mcp/tools/_helpers.js.map +1 -0
  125. package/dist/mcp/tools/attachments.js +117 -0
  126. package/dist/mcp/tools/attachments.js.map +1 -0
  127. package/dist/mcp/tools/cicd.js +105 -0
  128. package/dist/mcp/tools/cicd.js.map +1 -0
  129. package/dist/mcp/tools/discovery.js +34 -0
  130. package/dist/mcp/tools/discovery.js.map +1 -0
  131. package/dist/mcp/tools/issues.js +56 -0
  132. package/dist/mcp/tools/issues.js.map +1 -0
  133. package/dist/mcp/tools/merge_requests.js +67 -0
  134. package/dist/mcp/tools/merge_requests.js.map +1 -0
  135. package/dist/mcp/tools/metadata.js +127 -0
  136. package/dist/mcp/tools/metadata.js.map +1 -0
  137. package/dist/mcp/tools/peer_sync.js +43 -0
  138. package/dist/mcp/tools/peer_sync.js.map +1 -0
  139. package/dist/mcp/tools/repository.js +178 -0
  140. package/dist/mcp/tools/repository.js.map +1 -0
  141. package/dist/mcp/tools/work_tracking.js +125 -0
  142. package/dist/mcp/tools/work_tracking.js.map +1 -0
  143. package/dist/mcp/tools/workitems.js +30 -0
  144. package/dist/mcp/tools/workitems.js.map +1 -0
  145. package/dist/mcp/volume-files.js +187 -0
  146. package/dist/mcp/volume-files.js.map +1 -0
  147. package/dist/mcp-auth-store.js +134 -0
  148. package/dist/mcp-auth-store.js.map +1 -0
  149. package/dist/mcp-config-store.js +83 -0
  150. package/dist/mcp-config-store.js.map +1 -0
  151. package/dist/mention.js +512 -0
  152. package/dist/mention.js.map +1 -0
  153. package/dist/migrate.js +438 -0
  154. package/dist/migrate.js.map +1 -0
  155. package/dist/mr-assignee.js +71 -0
  156. package/dist/mr-assignee.js.map +1 -0
  157. package/dist/mr-content.js +90 -0
  158. package/dist/mr-content.js.map +1 -0
  159. package/dist/oauth-routes.js +54 -0
  160. package/dist/oauth-routes.js.map +1 -0
  161. package/dist/onboarding-allowlist.js +32 -0
  162. package/dist/onboarding-allowlist.js.map +1 -0
  163. package/dist/opencode.js +291 -0
  164. package/dist/opencode.js.map +1 -0
  165. package/dist/outbound-webhook-store.js +229 -0
  166. package/dist/outbound-webhook-store.js.map +1 -0
  167. package/dist/outbound-webhook.js +314 -0
  168. package/dist/outbound-webhook.js.map +1 -0
  169. package/dist/path-sandbox.js +200 -0
  170. package/dist/path-sandbox.js.map +1 -0
  171. package/dist/platform/git-auth.js +34 -0
  172. package/dist/platform/git-auth.js.map +1 -0
  173. package/dist/platform/gitealike/attachments.js +62 -0
  174. package/dist/platform/gitealike/attachments.js.map +1 -0
  175. package/dist/platform/gitealike/base.js +935 -0
  176. package/dist/platform/gitealike/base.js.map +1 -0
  177. package/dist/platform/gitealike/forgejo.js +16 -0
  178. package/dist/platform/gitealike/forgejo.js.map +1 -0
  179. package/dist/platform/gitealike/gitea.js +16 -0
  180. package/dist/platform/gitealike/gitea.js.map +1 -0
  181. package/dist/platform/gitealike/http.js +152 -0
  182. package/dist/platform/gitealike/http.js.map +1 -0
  183. package/dist/platform/gitealike/schemas.js +284 -0
  184. package/dist/platform/gitealike/schemas.js.map +1 -0
  185. package/dist/platform/github/attachments.js +52 -0
  186. package/dist/platform/github/attachments.js.map +1 -0
  187. package/dist/platform/github/http.js +153 -0
  188. package/dist/platform/github/http.js.map +1 -0
  189. package/dist/platform/github/index.js +936 -0
  190. package/dist/platform/github/index.js.map +1 -0
  191. package/dist/platform/github/schemas.js +308 -0
  192. package/dist/platform/github/schemas.js.map +1 -0
  193. package/dist/platform/github/zip.js +85 -0
  194. package/dist/platform/github/zip.js.map +1 -0
  195. package/dist/platform/gitlab/admin.js +105 -0
  196. package/dist/platform/gitlab/admin.js.map +1 -0
  197. package/dist/platform/gitlab/api.js +229 -0
  198. package/dist/platform/gitlab/api.js.map +1 -0
  199. package/dist/platform/gitlab/attachments.js +79 -0
  200. package/dist/platform/gitlab/attachments.js.map +1 -0
  201. package/dist/platform/gitlab/http.js +165 -0
  202. package/dist/platform/gitlab/http.js.map +1 -0
  203. package/dist/platform/gitlab/index.js +630 -0
  204. package/dist/platform/gitlab/index.js.map +1 -0
  205. package/dist/platform/gitlab/oauth.js +58 -0
  206. package/dist/platform/gitlab/oauth.js.map +1 -0
  207. package/dist/platform/gitlab/read.js +182 -0
  208. package/dist/platform/gitlab/read.js.map +1 -0
  209. package/dist/platform/gitlab/schemas-read.js +274 -0
  210. package/dist/platform/gitlab/schemas-read.js.map +1 -0
  211. package/dist/platform/gitlab/schemas.js +251 -0
  212. package/dist/platform/gitlab/schemas.js.map +1 -0
  213. package/dist/platform/gitlab/signature.js +52 -0
  214. package/dist/platform/gitlab/signature.js.map +1 -0
  215. package/dist/platform/index.js +38 -0
  216. package/dist/platform/index.js.map +1 -0
  217. package/dist/platform/port.js +26 -0
  218. package/dist/platform/port.js.map +1 -0
  219. package/dist/platform/types.js +80 -0
  220. package/dist/platform/types.js.map +1 -0
  221. package/dist/podman.js +119 -0
  222. package/dist/podman.js.map +1 -0
  223. package/dist/project-sync.js +69 -0
  224. package/dist/project-sync.js.map +1 -0
  225. package/dist/prompt.js +47 -0
  226. package/dist/prompt.js.map +1 -0
  227. package/dist/queue-store.js +236 -0
  228. package/dist/queue-store.js.map +1 -0
  229. package/dist/queue.js +129 -0
  230. package/dist/queue.js.map +1 -0
  231. package/dist/redact.js +23 -0
  232. package/dist/redact.js.map +1 -0
  233. package/dist/run-files.js +297 -0
  234. package/dist/run-files.js.map +1 -0
  235. package/dist/run-filters.js +54 -0
  236. package/dist/run-filters.js.map +1 -0
  237. package/dist/run-history-store.js +229 -0
  238. package/dist/run-history-store.js.map +1 -0
  239. package/dist/run-log-sink.js +270 -0
  240. package/dist/run-log-sink.js.map +1 -0
  241. package/dist/run-log.js +97 -0
  242. package/dist/run-log.js.map +1 -0
  243. package/dist/run-usage.js +29 -0
  244. package/dist/run-usage.js.map +1 -0
  245. package/dist/run-view.js +112 -0
  246. package/dist/run-view.js.map +1 -0
  247. package/dist/runner.js +1094 -0
  248. package/dist/runner.js.map +1 -0
  249. package/dist/runtime-apply.js +26 -0
  250. package/dist/runtime-apply.js.map +1 -0
  251. package/dist/runtime-settings.js +71 -0
  252. package/dist/runtime-settings.js.map +1 -0
  253. package/dist/runtime-state.js +19 -0
  254. package/dist/runtime-state.js.map +1 -0
  255. package/dist/server.js +119 -0
  256. package/dist/server.js.map +1 -0
  257. package/dist/settings-store.js +320 -0
  258. package/dist/settings-store.js.map +1 -0
  259. package/dist/status.js +121 -0
  260. package/dist/status.js.map +1 -0
  261. package/dist/stop.js +56 -0
  262. package/dist/stop.js.map +1 -0
  263. package/dist/sweeps.js +87 -0
  264. package/dist/sweeps.js.map +1 -0
  265. package/dist/task-log.js +279 -0
  266. package/dist/task-log.js.map +1 -0
  267. package/dist/task-view.js +62 -0
  268. package/dist/task-view.js.map +1 -0
  269. package/dist/token-store.js +68 -0
  270. package/dist/token-store.js.map +1 -0
  271. package/dist/types/access.js +74 -0
  272. package/dist/types/access.js.map +1 -0
  273. package/dist/types/custom-repos.js +28 -0
  274. package/dist/types/custom-repos.js.map +1 -0
  275. package/dist/types/env-config.js +25 -0
  276. package/dist/types/env-config.js.map +1 -0
  277. package/dist/types/env.js +190 -0
  278. package/dist/types/env.js.map +1 -0
  279. package/dist/types/global-settings.js +178 -0
  280. package/dist/types/global-settings.js.map +1 -0
  281. package/dist/types/lsp-servers.js +145 -0
  282. package/dist/types/lsp-servers.js.map +1 -0
  283. package/dist/types/mcp-config.js +77 -0
  284. package/dist/types/mcp-config.js.map +1 -0
  285. package/dist/types/opencode.js +59 -0
  286. package/dist/types/opencode.js.map +1 -0
  287. package/dist/types/outbound-webhook.js +56 -0
  288. package/dist/types/outbound-webhook.js.map +1 -0
  289. package/dist/types/project-settings.js +114 -0
  290. package/dist/types/project-settings.js.map +1 -0
  291. package/dist/types/provider-registry.js +37 -0
  292. package/dist/types/provider-registry.js.map +1 -0
  293. package/dist/types/runtime-settings.js +78 -0
  294. package/dist/types/runtime-settings.js.map +1 -0
  295. package/dist/usage-stats.js +159 -0
  296. package/dist/usage-stats.js.map +1 -0
  297. package/dist/version.js +19 -0
  298. package/dist/version.js.map +1 -0
  299. package/dist/volume-gc.js +193 -0
  300. package/dist/volume-gc.js.map +1 -0
  301. package/dist/volume-manage.js +191 -0
  302. package/dist/volume-manage.js.map +1 -0
  303. package/dist/volume-store.js +122 -0
  304. package/dist/volume-store.js.map +1 -0
  305. package/dist/webhook.js +1106 -0
  306. package/dist/webhook.js.map +1 -0
  307. package/dist/work-item-auto-store.js +75 -0
  308. package/dist/work-item-auto-store.js.map +1 -0
  309. package/dist/work-item-branch-store.js +37 -0
  310. package/dist/work-item-branch-store.js.map +1 -0
  311. package/migrations/0001_initial.sql +59 -0
  312. package/migrations/0002_queue_status.sql +15 -0
  313. package/migrations/0003_work_item_base_branch.sql +14 -0
  314. package/migrations/0004_project_settings.sql +15 -0
  315. package/migrations/0005_global_settings.sql +34 -0
  316. package/migrations/0006_model_variants.sql +8 -0
  317. package/migrations/0007_container_error_logs.sql +21 -0
  318. package/migrations/0008_project_access_grants.sql +16 -0
  319. package/migrations/0009_drop_imported_legacy.sql +4 -0
  320. package/migrations/0010_container_error_log_model.sql +6 -0
  321. package/migrations/0011_container_error_log_title.sql +5 -0
  322. package/migrations/0012_pending_task_cancel.sql +6 -0
  323. package/migrations/0013_builder_image.sql +6 -0
  324. package/migrations/0014_build_workflow.sql +7 -0
  325. package/migrations/0015_access_rules.sql +24 -0
  326. package/migrations/0016_trigger_policy.sql +17 -0
  327. package/migrations/0017_attachment_upload.sql +8 -0
  328. package/migrations/0018_work_item_branch.sql +11 -0
  329. package/migrations/0019_auto_push_mr.sql +18 -0
  330. package/migrations/0020_outbound_webhooks.sql +47 -0
  331. package/migrations/0021_runtime_settings.sql +12 -0
  332. package/migrations/0022_auto_resolve_conflicts.sql +17 -0
  333. package/migrations/0023_ci_fail_auto_report.sql +27 -0
  334. package/migrations/0024_work_item_auto_override.sql +22 -0
  335. package/migrations/0025_run_history.sql +37 -0
  336. package/migrations/0026_run_history_task_seq.sql +6 -0
  337. package/migrations/0027_custom_repos.sql +11 -0
  338. package/migrations/0028_run_usage.sql +14 -0
  339. package/migrations/0029_drop_ocr_langs.sql +6 -0
  340. package/migrations/0030_mr_assignee.sql +9 -0
  341. package/migrations/0031_lsp_servers.sql +14 -0
  342. package/opencode-config/managed/devbot-agent-policy.md +61 -0
  343. package/opencode-config/managed/opencode.json +77 -0
  344. package/opencode-config/opencode.json +211 -0
  345. package/opencode-config/plugins/devbot-path-guard.js +224 -0
  346. package/package.json +158 -4
  347. package/public/assets/DashboardSidebarCollapse-rIuzCmVm.js +1 -0
  348. package/public/assets/DashboardToolbar-DFCUqZ4Z.js +1 -0
  349. package/public/assets/ErrorLogModal.vue_vue_type_script_setup_true_lang-BCyNIf1E.js +1 -0
  350. package/public/assets/ErrorLogsPage-DyYK2Rop.js +1 -0
  351. package/public/assets/LogSlideover.vue_vue_type_script_setup_true_lang-33xie7TE.js +1 -0
  352. package/public/assets/OverviewPage-CFfa0uwg.js +1 -0
  353. package/public/assets/PageGrid-CBROIU87.js +1 -0
  354. package/public/assets/PeriodRangePicker.vue_vue_type_script_setup_true_lang-DiFUNem7.js +1 -0
  355. package/public/assets/ProjectDetailPage-CreyvUit.js +1 -0
  356. package/public/assets/ProjectsPage-CFx8-elJ.js +1 -0
  357. package/public/assets/RunDetailSlideover.vue_vue_type_script_setup_true_lang-DopYYmCT.js +1 -0
  358. package/public/assets/RunsPage-CRnnXU4P.js +1 -0
  359. package/public/assets/Select-Bvx32Diz.js +1 -0
  360. package/public/assets/SelectMenu-BjMxc4VB.js +1 -0
  361. package/public/assets/SettingsPage-Bb6LM3wO.js +60 -0
  362. package/public/assets/TimeCell.vue_vue_type_script_setup_true_lang-DW_UB0Fu.js +1 -0
  363. package/public/assets/UsagePage-BLMDEsv-.js +332 -0
  364. package/public/assets/UsagePage-DodEeAjB.css +1 -0
  365. package/public/assets/VolumesPage-CxcLc3L2.js +1 -0
  366. package/public/assets/WebhookConfigPanel.vue_vue_type_script_setup_true_lang-B2V2GF6b.js +1 -0
  367. package/public/assets/WorkItemCell.vue_vue_type_script_setup_true_lang-BQn6vTjd.js +1 -0
  368. package/public/assets/index-BMbMibyb.js +4 -0
  369. package/public/assets/index-C5RBBrPj.js +30 -0
  370. package/public/assets/index-CgX29UgC.css +1 -0
  371. package/public/assets/usage-format-jsb31_O8.js +1 -0
  372. package/public/assets/useManagedProjects-8rtjRqVJ.js +1 -0
  373. package/public/assets/useRouteTab-DfwrcMic.js +1 -0
  374. package/public/favicon.ico +0 -0
  375. package/public/favicon.png +0 -0
  376. package/public/index.html +15 -0
@@ -0,0 +1 @@
1
+ .unovis-xy-container[data-v-aa4df1f5]{--vis-crosshair-line-stroke-color: var(--ui-primary);--vis-crosshair-circle-stroke-color: var(--ui-bg);--vis-axis-grid-color: var(--ui-border);--vis-axis-tick-color: var(--ui-border);--vis-axis-tick-label-color: var(--ui-text-dimmed);--vis-tooltip-background-color: var(--ui-bg);--vis-tooltip-border-color: var(--ui-border);--vis-tooltip-text-color: var(--ui-text-highlighted)}
@@ -0,0 +1 @@
1
+ import{_ as me,a as ve,b as ge,c as pe}from"./DashboardSidebarCollapse-rIuzCmVm.js";import{_ as fe,a as be}from"./DashboardToolbar-DFCUqZ4Z.js";import{R as ye,S as ke,ar as xe,e as n,h as $,w as p,D as A,u as a,an as he,E as T,y as Y,X as C,j as y,f as d,c as m,l as k,t as I,F as P,g as G,i as D,P as we,x as R,$ as _e,Z as $e,d as F,a as i,a1 as H,r as g,m as Ie,aj as Ue,s as je,ai as Ve,n as Se,q as W,o as Ce,b as X,_ as Pe}from"./index-C5RBBrPj.js";import{_ as Ae,a as De}from"./SelectMenu-BjMxc4VB.js";import{_ as qe,w as ze}from"./index-BMbMibyb.js";import{_ as Me}from"./WorkItemCell.vue_vue_type_script_setup_true_lang-BQn6vTjd.js";import{_ as E}from"./TimeCell.vue_vue_type_script_setup_true_lang-DW_UB0Fu.js";const Ee={slots:{root:"relative overflow-hidden w-full rounded-lg p-4 flex gap-2.5",wrapper:"min-w-0 flex-1 flex flex-col",title:"text-sm font-medium",description:"text-sm opacity-90",icon:"shrink-0 size-5",avatar:"shrink-0",avatarSize:"2xl",actions:"flex flex-wrap gap-1.5 shrink-0",close:"p-0"},variants:{color:{primary:"",secondary:"",success:"",info:"",warning:"",error:"",neutral:""},variant:{solid:"",outline:"",soft:"",subtle:""},orientation:{horizontal:{root:"items-center",actions:"items-center"},vertical:{root:"items-start",actions:"items-start mt-2.5"}},title:{true:{description:"mt-1"}}},compoundVariants:[{color:"primary",variant:"solid",class:{root:"bg-primary text-inverted"}},{color:"secondary",variant:"solid",class:{root:"bg-secondary text-inverted"}},{color:"success",variant:"solid",class:{root:"bg-success text-inverted"}},{color:"info",variant:"solid",class:{root:"bg-info text-inverted"}},{color:"warning",variant:"solid",class:{root:"bg-warning text-inverted"}},{color:"error",variant:"solid",class:{root:"bg-error text-inverted"}},{color:"primary",variant:"outline",class:{root:"text-primary ring ring-inset ring-primary/25"}},{color:"secondary",variant:"outline",class:{root:"text-secondary ring ring-inset ring-secondary/25"}},{color:"success",variant:"outline",class:{root:"text-success ring ring-inset ring-success/25"}},{color:"info",variant:"outline",class:{root:"text-info ring ring-inset ring-info/25"}},{color:"warning",variant:"outline",class:{root:"text-warning ring ring-inset ring-warning/25"}},{color:"error",variant:"outline",class:{root:"text-error ring ring-inset ring-error/25"}},{color:"primary",variant:"soft",class:{root:"bg-primary/10 text-primary"}},{color:"secondary",variant:"soft",class:{root:"bg-secondary/10 text-secondary"}},{color:"success",variant:"soft",class:{root:"bg-success/10 text-success"}},{color:"info",variant:"soft",class:{root:"bg-info/10 text-info"}},{color:"warning",variant:"soft",class:{root:"bg-warning/10 text-warning"}},{color:"error",variant:"soft",class:{root:"bg-error/10 text-error"}},{color:"primary",variant:"subtle",class:{root:"bg-primary/10 text-primary ring ring-inset ring-primary/25"}},{color:"secondary",variant:"subtle",class:{root:"bg-secondary/10 text-secondary ring ring-inset ring-secondary/25"}},{color:"success",variant:"subtle",class:{root:"bg-success/10 text-success ring ring-inset ring-success/25"}},{color:"info",variant:"subtle",class:{root:"bg-info/10 text-info ring ring-inset ring-info/25"}},{color:"warning",variant:"subtle",class:{root:"bg-warning/10 text-warning ring ring-inset ring-warning/25"}},{color:"error",variant:"subtle",class:{root:"bg-error/10 text-error ring ring-inset ring-error/25"}},{color:"neutral",variant:"solid",class:{root:"text-inverted bg-inverted"}},{color:"neutral",variant:"outline",class:{root:"text-highlighted bg-default ring ring-inset ring-default"}},{color:"neutral",variant:"soft",class:{root:"text-highlighted bg-elevated/50"}},{color:"neutral",variant:"subtle",class:{root:"text-highlighted bg-elevated/50 ring ring-inset ring-accented"}}],defaultVariants:{color:"primary",variant:"solid"}},Be={__name:"Alert",props:{as:{type:null,required:!1},title:{type:String,required:!1},description:{type:String,required:!1},icon:{type:null,required:!1},avatar:{type:Object,required:!1},color:{type:null,required:!1},variant:{type:null,required:!1},orientation:{type:null,required:!1,default:"vertical"},actions:{type:Array,required:!1},close:{type:[Boolean,Object],required:!1},closeIcon:{type:null,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1}},emits:["update:open"],setup(t,{emit:r}){const v=t,l=r,c=ye(),e=ke("alert",v),{t:b}=xe(),w=_e(),u=R(()=>$e({extend:Ee,...w.ui?.alert||{}})({color:e.color,variant:e.variant,orientation:e.orientation,title:!!e.title||!!c.title}));return(f,j)=>(n(),$(a(we),{as:a(e).as,"data-orientation":a(e).orientation,"data-slot":"root",class:C(u.value.root({class:[a(e).ui?.root,a(e).class]}))},{default:p(()=>[A(f.$slots,"leading",{ui:u.value},()=>[a(e).avatar?(n(),$(he,T({key:0,size:a(e).ui?.avatarSize||u.value.avatarSize()},a(e).avatar,{"data-slot":"avatar",class:u.value.avatar({class:a(e).ui?.avatar})}),null,16,["size","class"])):a(e).icon?(n(),$(Y,{key:1,name:a(e).icon,"data-slot":"icon",class:C(u.value.icon({class:a(e).ui?.icon}))},null,8,["name","class"])):y("",!0)]),d("div",{"data-slot":"wrapper",class:C(u.value.wrapper({class:a(e).ui?.wrapper}))},[a(e).title||c.title?(n(),m("div",{key:0,"data-slot":"title",class:C(u.value.title({class:a(e).ui?.title}))},[A(f.$slots,"title",{},()=>[k(I(a(e).title),1)])],2)):y("",!0),a(e).description||c.description?(n(),m("div",{key:1,"data-slot":"description",class:C(u.value.description({class:a(e).ui?.description}))},[A(f.$slots,"description",{},()=>[k(I(a(e).description),1)])],2)):y("",!0),a(e).orientation==="vertical"&&(a(e).actions?.length||c.actions)?(n(),m("div",{key:2,"data-slot":"actions",class:C(u.value.actions({class:a(e).ui?.actions}))},[A(f.$slots,"actions",{},()=>[(n(!0),m(P,null,G(a(e).actions,(o,V)=>(n(),$(D,T({key:V,size:"xs"},{ref_for:!0},o),null,16))),128))])],2)):y("",!0)],2),a(e).orientation==="horizontal"&&(a(e).actions?.length||c.actions)||a(e).close?(n(),m("div",{key:0,"data-slot":"actions",class:C(u.value.actions({class:a(e).ui?.actions,orientation:"horizontal"}))},[a(e).orientation==="horizontal"&&(a(e).actions?.length||c.actions)?A(f.$slots,"actions",{},()=>[(n(!0),m(P,null,G(a(e).actions,(o,V)=>(n(),$(D,T({key:V,size:"xs"},{ref_for:!0},o),null,16))),128))],void 0,0):y("",!0),A(f.$slots,"close",{ui:u.value},()=>[a(e).close?(n(),$(D,T({key:0,icon:a(e).closeIcon||a(w).ui.icons.close,color:"neutral",variant:"link","aria-label":a(b)("alert.close")},typeof a(e).close=="object"?a(e).close:{},{"data-slot":"close",class:u.value.close({class:a(e).ui?.close}),onClick:j[0]||(j[0]=o=>l("update:open",!1))}),null,16,["icon","aria-label","class"])):y("",!0)])],2)):y("",!0)]),_:3},8,["as","data-orientation","class"]))}};function Te(t){return t==="eligible"?"warning":t==="expiring"?"primary":t==="untracked"?"warning":t==="missing"?"error":"neutral"}function J(t){return t.state==="untracked"?"Untracked":t.state==="unmapped"?"Unmapped":t.state==="missing"?"Missing":t.state==="eligible"?"Purge eligible":t.remainingMs===null?"Expiring":`Purges in ~${Le(t.remainingMs)}`}function Le(t){const r=Math.round(t/1e3);if(r<60)return`${r}s`;const v=Math.round(r/60);if(v<60)return`${v}m`;const l=Math.round(v/60);return l<48?`${l}h`:`${Math.round(l/24)}d`}function Q(t){const r=[];return t.volumes.workspace&&r.push("workspace"),t.volumes.podman&&r.push("podman"),t.volumes.xdg&&r.push("xdg"),r.length>0?r.join(", "):"—"}const Ne={key:0,class:"text-xs text-dimmed"},Oe={class:"text-sm text-muted"},Ge=F({__name:"VolumesTable",props:{volumes:{},loading:{type:Boolean},deleting:{}},emits:["delete","details"],setup(t,{emit:r}){const v=r,l=[{accessorKey:"workItemId",header:"Work item"},{accessorKey:"state",header:"GC state"},{accessorKey:"volumes",header:"Volumes"},{accessorKey:"createdAt",header:"Created"},{accessorKey:"lastRunAt",header:"Last used"},{id:"actions"}],c=g(null);function e(b){if(c.value!==b.workItemId){c.value=b.workItemId;return}c.value=null,v("delete",b)}return(b,w)=>{const u=H,f=D,j=qe;return n(),$(j,{data:t.volumes,columns:l,loading:t.loading},{"workItemId-cell":p(({row:o})=>[i(Me,{"work-item-iid":o.original.workItemNumber,"work-item-title":o.original.workItemTitle,"project-path":o.original.projectPath,"project-id":o.original.projectId,onOpen:V=>v("details",o.original)},null,8,["work-item-iid","work-item-title","project-path","project-id","onOpen"]),o.original.tracked?y("",!0):(n(),m("span",Ne,"volume id "+I(o.original.workItemId),1))]),"state-cell":p(({row:o})=>[i(u,{label:a(J)(o.original),color:a(Te)(o.original.state),variant:"subtle"},null,8,["label","color"])]),"volumes-cell":p(({row:o})=>[d("span",Oe,I(a(Q)(o.original)),1)]),"createdAt-cell":p(({row:o})=>[i(E,{value:o.original.createdAt||null,unit:"s"},null,8,["value"])]),"lastRunAt-cell":p(({row:o})=>[i(E,{value:o.original.lastRunAt||null,unit:"s"},null,8,["value"])]),"actions-cell":p(({row:o})=>[i(f,{label:c.value===o.original.workItemId?"Confirm":"Delete",icon:c.value===o.original.workItemId?"i-lucide-check":"i-lucide-trash-2",color:c.value===o.original.workItemId?"error":"neutral",variant:"ghost",size:"xs",loading:t.deleting===o.original.workItemId,"aria-label":`Delete volume for work item ${o.original.workItemId}`,onClick:V=>e(o.original)},null,8,["label","icon","color","loading","aria-label","onClick"])]),_:1},8,["data","loading"])}}}),Re={key:0,class:"text-sm text-muted space-y-1"},Fe={key:0},Ke={key:1},Ze=F({__name:"VolumeDetailSlideover",props:je({volume:{}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:["update:open"],setup(t){const r=Ie(t,"open");return(v,l)=>{const c=D,e=Ve;return n(),$(e,{open:r.value,"onUpdate:open":l[0]||(l[0]=b=>r.value=b),title:"Volume detail",description:t.volume?`#${t.volume.workItemNumber} ${t.volume.workItemTitle}`:"",ui:{content:"max-w-xl",footer:"justify-end"}},Ue({body:p(()=>[t.volume?(n(),m("div",Re,[d("p",null,[l[1]||(l[1]=d("span",{class:"text-default font-medium"},"State:",-1)),k(" "+I(a(J)(t.volume)),1)]),d("p",null,[l[2]||(l[2]=d("span",{class:"text-default font-medium"},"Project:",-1)),k(" "+I(t.volume.projectPath||`project ${t.volume.projectId}`),1)]),d("p",null,[l[3]||(l[3]=d("span",{class:"text-default font-medium"},"Volumes:",-1)),k(" "+I(a(Q)(t.volume)),1)]),d("p",null,[l[4]||(l[4]=d("span",{class:"text-default font-medium"},"Created:",-1)),l[5]||(l[5]=k()),i(E,{value:t.volume.createdAt||null,unit:"s"},null,8,["value"])]),d("p",null,[l[6]||(l[6]=d("span",{class:"text-default font-medium"},"Last used:",-1)),l[7]||(l[7]=k()),i(E,{value:t.volume.lastRunAt||null,unit:"s"},null,8,["value"])]),t.volume.purgeEligibleAt?(n(),m("p",Fe,[l[8]||(l[8]=d("span",{class:"text-default font-medium"},"Purge eligible:",-1)),i(E,{value:t.volume.purgeEligibleAt,unit:"ms"},null,8,["value"])])):y("",!0),d("p",null,[l[9]||(l[9]=d("span",{class:"text-default font-medium"},"Tracked:",-1)),k(" "+I(t.volume.tracked?"Yes":"No"),1)]),t.volume.tracked?y("",!0):(n(),m("p",Ke,[l[10]||(l[10]=d("span",{class:"text-default font-medium"},"Volume ID:",-1)),k(" "+I(t.volume.workItemId),1)]))])):y("",!0)]),_:2},[t.volume&&t.volume.workItemUrl?{name:"footer",fn:p(()=>[i(c,{label:"Open in forge",icon:"i-lucide-external-link",color:"neutral",variant:"soft",to:t.volume.workItemUrl,target:"_blank",rel:"noopener"},null,8,["to"])]),key:"0"}:void 0]),1032,["open","description"])}}}),We={class:"space-y-4"},Xe={key:1,class:"space-y-3"},Ye={class:"space-y-3 py-6"},He={class:"text-muted"},Je={class:"text-xs text-dimmed"},Qe={key:0,class:"flex justify-center pt-2"},M=15,it=F({__name:"VolumesPage",setup(t){const r=g([]),v=g(!0),l=g(0),c=g(!0),e=g(!0),b=Se(),w=g(null),u=g(null),f=g(""),j=g({projects:[]}),o=g({}),V=[{label:"All states",value:null},{label:"Expiring",value:"expiring"},{label:"Purge eligible",value:"eligible"},{label:"Missing",value:"missing"},{label:"Untracked",value:"untracked"},{label:"Unmapped",value:"unmapped"}],ee=R(()=>[{label:"All projects",value:null},...j.value.projects.map(x=>({label:o.value[String(x)]??`#${x}`,value:x}))]),te=R(()=>w.value!==null||u.value!==null||f.value.trim()!==""),U=g(1),L=g(null),N=g(!1),K=g(null);function ae(x){K.value=x,N.value=!0}async function le(x){L.value=x.workItemId;const{data:s,error:S,status:_}=await X(`/api/volumes/${x.workItemId}`,{method:"DELETE"});if(L.value=null,S){_!==401&&b.add({title:"Failed to delete volume",description:S,color:"error",icon:"i-lucide-alert-circle"});return}s&&!s.ok?b.add({title:"Volume deletion failed",description:s.message,color:"error",icon:"i-lucide-alert-circle"}):b.add({title:"Volume deleted",...s?.notePosted?{description:"A note was posted to the work item."}:{},color:"success",icon:"i-lucide-check-circle"}),await q()}async function q(){v.value=!0;const x=(U.value-1)*M,s=new URLSearchParams;w.value!==null&&s.set("state",w.value),u.value!==null&&s.set("projectId",String(u.value));const S=f.value.trim();S.length>0&&s.set("q",S),s.set("limit",String(M)),s.set("offset",String(x));const{data:_,error:B,status:O}=await X(`/api/volumes?${s.toString()}`);if(v.value=!1,B){O!==401&&b.add({title:"Failed to load volumes",description:B,color:"error",icon:"i-lucide-alert-circle"});return}r.value=_?.volumes??[],l.value=_?.total??r.value.length,c.value=_?.gcEnabled??!0,e.value=_?.podmanAvailable??!0,j.value=_?.filterOptions??{projects:[]},o.value=_?.projectPaths??{};const z=Math.max(1,Math.ceil(l.value/M));if(U.value>z){U.value=z;return}}function Z(){U.value!==1?U.value=1:q()}return W([w,u],Z),ze(f,Z,{debounce:300}),W(U,()=>{q()}),Ce(q),(x,s)=>{const S=pe,_=H,B=D,O=ge,z=Ae,oe=De,ne=be,se=Be,ie=ve,re=Y,ue=Pe,ce=fe,de=me;return n(),m(P,null,[i(de,{id:"volumes"},{header:p(()=>[i(O,{title:"Volumes",icon:"i-lucide-hard-drive"},{leading:p(()=>[i(S)]),right:p(()=>[i(_,{label:c.value?"GC on":"GC off",color:c.value?"success":"neutral",variant:"subtle",icon:"i-lucide-recycle"},null,8,["label","color"]),i(B,{label:"Reload",icon:"i-lucide-refresh-cw",color:"neutral",variant:"soft",loading:v.value,onClick:q},null,8,["loading"])]),_:1}),i(ne,null,{left:p(()=>[i(z,{modelValue:w.value,"onUpdate:modelValue":s[0]||(s[0]=h=>w.value=h),items:V,"value-key":"value",class:"w-40","aria-label":"GC state filter"},null,8,["modelValue"]),i(z,{modelValue:u.value,"onUpdate:modelValue":s[1]||(s[1]=h=>u.value=h),items:ee.value,"value-key":"value",class:"w-48","aria-label":"Project filter"},null,8,["modelValue","items"]),i(oe,{modelValue:f.value,"onUpdate:modelValue":s[2]||(s[2]=h=>f.value=h),icon:"i-lucide-search",placeholder:"Search work item title","aria-label":"Search work item title",class:"w-64"},null,8,["modelValue"])]),_:1})]),body:p(()=>[d("div",We,[e.value?y("",!0):(n(),$(se,{key:0,color:"warning",variant:"subtle",icon:"i-lucide-triangle-alert",title:"Podman unavailable",description:"The list shows tracked volumes only; volumes created outside the ledger could not be read."})),v.value&&r.value.length===0?(n(),m("div",Xe,[(n(),m(P,null,G(3,h=>i(ie,{key:h,class:"h-10 w-full"})),64))])):r.value.length===0?(n(),$(ue,{key:2,class:"text-center"},{default:p(()=>[d("div",Ye,[i(re,{name:"i-lucide-hard-drive",class:"size-10 text-dimmed mx-auto"}),d("p",He,I(te.value?"No volumes match your filters.":"No volumes."),1)])]),_:1})):(n(),m(P,{key:3},[i(Ge,{volumes:r.value,loading:v.value,deleting:L.value,onDelete:le,onDetails:ae},null,8,["volumes","loading","deleting"]),d("p",Je,[s[5]||(s[5]=k(" GC state is based on the volume ledger and the inactivity TTL. ",-1)),c.value?(n(),m(P,{key:0},[k("Closed or deleted work items are purged on the next sweep.")],64)):(n(),m(P,{key:1},[k("Volume GC is disabled, so nothing is purged automatically.")],64))]),l.value>M?(n(),m("div",Qe,[i(ce,{page:U.value,"onUpdate:page":s[3]||(s[3]=h=>U.value=h),total:l.value,"items-per-page":M},null,8,["page","total"])])):y("",!0)],64))])]),_:1}),i(Ze,{open:N.value,"onUpdate:open":s[4]||(s[4]=h=>N.value=h),volume:K.value},null,8,["open","volume"])],64)}}});export{it as default};
@@ -0,0 +1 @@
1
+ import{aa as St,d as Y,B as Ve,H as at,A as Oe,aJ as lt,e as i,h as E,w as T,a as m,u as t,P as ie,D as F,r as M,I as Le,aK as st,o as ye,p as nt,q as ce,x as B,ab as Pe,C as pe,E as de,c as b,K as it,G as xe,j as C,F as O,a6 as $t,a7 as It,af as Vt,M as Ct,aL as Rt,aM as qt,aN as zt,R as Ce,S as Re,T as ot,U as rt,X as D,g as le,a0 as be,y as me,an as ut,l as L,t as A,a1 as we,Z as qe,$ as ze,aO as Mt,V as dt,ae as At,f as g,ao as Tt,aP as Et,O as Ze,W as Ke,aQ as jt,aR as Bt,Q as Xe,aS as Ut,aT as Pt,m as Me,i as ge,s as Ae,b as Q,a8 as Dt,n as Te,N as We,ai as Nt,aI as Ft}from"./index-C5RBBrPj.js";import{f as ct,E as Ot,b as Lt,g as Kt,w as Wt,V as Ht,u as Gt,a as ke,_ as Jt}from"./SelectMenu-BjMxc4VB.js";import{a as Ee}from"./DashboardSidebarCollapse-rIuzCmVm.js";import{_ as Zt}from"./Select-Bvx32Diz.js";function Xt(){const e=St()?.vnode?.scopeId;return e?{[e]:""}:{}}const[Qt,Yt]=Le("RovingFocusGroup");var ea=Y({__name:"RovingFocusGroup",props:{orientation:{type:String,required:!1,default:void 0},dir:{type:String,required:!1},loop:{type:Boolean,required:!1,default:!1},currentTabStopId:{type:[String,null],required:!1},defaultCurrentTabStopId:{type:String,required:!1},preventScrollOnEntryFocus:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["entryFocus","update:currentTabStopId"],setup(e,{expose:n,emit:l}){const a=e,c=l,{loop:r,orientation:s,dir:v}=Ve(a),x=at(v),u=Oe(a,"currentTabStopId",c,{defaultValue:a.defaultCurrentTabStopId,passive:a.currentTabStopId===void 0}),d=M(!1),y=M(!1),w=M(0),{getItems:R,CollectionSlot:p}=lt({isProvider:!0});function o($){const U=!y.value;if($.currentTarget&&$.target===$.currentTarget&&U&&!d.value){const N=new CustomEvent(Ot,Lt);if($.currentTarget.dispatchEvent(N),c("entryFocus",N),!N.defaultPrevented){const q=R().map(S=>S.ref).filter(S=>S.dataset.disabled!==""),H=q.find(S=>S.getAttribute("data-active")===""),K=q.find(S=>S.getAttribute("data-highlighted")===""),ee=q.find(S=>S.id===u.value),z=[H,K,ee,...q].filter(Boolean);ct(z,a.preventScrollOnEntryFocus)}}y.value=!1}function V(){setTimeout(()=>{y.value=!1},1)}return n({getItems:R}),Yt({loop:r,dir:x,orientation:s,currentTabStopId:u,onItemFocus:$=>{u.value=$},onItemShiftTab:()=>{d.value=!0},onFocusableItemAdd:()=>{w.value++},onFocusableItemRemove:()=>{w.value--}}),($,U)=>(i(),E(t(p),null,{default:T(()=>[m(t(ie),{tabindex:d.value||w.value===0?-1:0,"data-orientation":t(s),as:$.as,"as-child":$.asChild,dir:t(x),style:{outline:"none"},onMousedown:U[0]||(U[0]=N=>y.value=!0),onMouseup:V,onFocus:o,onBlur:U[1]||(U[1]=N=>d.value=!1)},{default:T(()=>[F($.$slots,"default")]),_:3},8,["tabindex","data-orientation","as","as-child","dir"])]),_:3}))}}),ta=ea,aa=Y({__name:"RovingFocusItem",props:{tabStopId:{type:String,required:!1},focusable:{type:Boolean,required:!1,default:!0},active:{type:Boolean,required:!1},allowShiftKey:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(e){const n=e,l=Qt(),a=st(),c=B(()=>n.tabStopId||a),r=B(()=>l.currentTabStopId.value===c.value),{getItems:s,CollectionItem:v}=lt();ye(()=>{n.focusable&&l.onFocusableItemAdd()}),nt(()=>{n.focusable&&l.onFocusableItemRemove()}),ce(()=>n.focusable,(u,d)=>{u!==d&&(u?l.onFocusableItemAdd():l.onFocusableItemRemove())});function x(u){if(u.key==="Tab"&&u.shiftKey){l.onItemShiftTab();return}if(u.target!==u.currentTarget)return;const d=Kt(u,l.orientation.value,l.dir.value);if(d!==void 0){if(u.metaKey||u.ctrlKey||u.altKey||!n.allowShiftKey&&u.shiftKey)return;u.preventDefault();let y=[...s().map(w=>w.ref).filter(w=>w.dataset.disabled!=="")];if(d==="last")y.reverse();else if(d==="prev"||d==="next"){d==="prev"&&y.reverse();const w=y.indexOf(u.currentTarget);y=l.loop.value?Wt(y,w+1):y.slice(w+1)}Pe(()=>ct(y))}}return(u,d)=>(i(),E(t(v),null,{default:T(()=>[m(t(ie),{tabindex:r.value?0:-1,"data-orientation":t(l).orientation.value,"data-active":u.active?"":void 0,"data-disabled":u.focusable?void 0:"",as:u.as,"as-child":u.asChild,onMousedown:d[0]||(d[0]=y=>{u.focusable?t(l).onItemFocus(c.value):y.preventDefault()}),onFocus:d[1]||(d[1]=y=>t(l).onItemFocus(c.value)),onKeydown:x},{default:T(()=>[F(u.$slots,"default")]),_:3},8,["tabindex","data-orientation","data-active","data-disabled","as","as-child"])]),_:3}))}}),la=aa,sa=Y({__name:"Label",props:{for:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"label"}},setup(e){const n=e;return pe(),(l,a)=>(i(),E(t(ie),de(n,{onMousedown:a[0]||(a[0]=c=>{!c.defaultPrevented&&c.detail>1&&c.preventDefault()})}),{default:T(()=>[F(l.$slots,"default")]),_:3},16))}}),pt=sa;const[na,ia]=Le("SwitchRoot");var oa=Y({inheritAttrs:!1,__name:"SwitchRoot",props:{defaultValue:{type:null,required:!1},modelValue:{type:null,required:!1,default:void 0},disabled:{type:Boolean,required:!1},id:{type:String,required:!1},value:{type:String,required:!1,default:"on"},trueValue:{type:null,required:!1,default:()=>!0},falseValue:{type:null,required:!1,default:()=>!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:["update:modelValue"],setup(e,{emit:n}){const l=e,a=n,{disabled:c}=Ve(l),r=Oe(l,"modelValue",a,{defaultValue:l.defaultValue??l.falseValue,passive:l.modelValue===void 0}),s=B(()=>r.value===l.trueValue);function v(){c.value||(r.value=s.value?l.falseValue:l.trueValue)}const{forwardRef:x,currentElement:u}=pe(),d=Gt(u),y=Xt(),w=B(()=>l.id&&u.value?document.querySelector(`[for="${l.id}"]`)?.innerText:void 0);return ia({checked:s,toggleCheck:v,disabled:c}),(R,p)=>(i(),b(O,null,[m(t(ie),de({id:R.id,ref:t(x),role:"switch",type:R.as==="button"?"button":void 0,value:R.value,"aria-label":R.$attrs["aria-label"]||w.value,"aria-checked":s.value,"aria-required":R.required,"data-state":s.value?"checked":"unchecked","data-disabled":t(c)?"":void 0,"as-child":R.asChild,as:R.as,disabled:t(c)},{...t(y),...R.$attrs},{onClick:v,onKeydown:it(xe(v,["prevent"]),["enter"])}),{default:T(()=>[F(R.$slots,"default",{modelValue:t(r),checked:s.value})]),_:3},16,["id","type","value","aria-label","aria-checked","aria-required","data-state","data-disabled","as-child","as","disabled","onKeydown"]),t(d)&&R.name?(i(),E(t(Ht),de({key:0,type:"checkbox",name:R.name,disabled:t(c),required:R.required,value:R.value,checked:s.value},t(y)),null,16,["name","disabled","required","value","checked"])):C("v-if",!0)],64))}}),ra=oa,ua=Y({__name:"SwitchThumb",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(e){const n=na();return pe(),(l,a)=>(i(),E(t(ie),{"data-state":t(n).checked.value?"checked":"unchecked","data-disabled":t(n).disabled.value?"":void 0,"as-child":l.asChild,as:l.as},{default:T(()=>[F(l.$slots,"default")]),_:3},8,["data-state","data-disabled","as-child","as"]))}}),da=ua;const[je,ca]=Le("TabsRoot");var pa=Y({__name:"TabsRoot",props:{defaultValue:{type:null,required:!1},orientation:{type:String,required:!1,default:"horizontal"},dir:{type:String,required:!1},activationMode:{type:String,required:!1,default:"automatic"},modelValue:{type:null,required:!1},unmountOnHide:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["update:modelValue"],setup(e,{emit:n}){const l=e,a=n,{orientation:c,unmountOnHide:r,dir:s}=Ve(l),v=at(s);pe();const x=Oe(l,"modelValue",a,{defaultValue:l.defaultValue,passive:l.modelValue===void 0}),u=M(),d=$t(new Set);return ca({modelValue:x,changeModelValue:y=>{x.value=y},orientation:c,dir:v,unmountOnHide:r,activationMode:l.activationMode,baseId:st(void 0,"reka-tabs"),tabsList:u,contentIds:d,registerContent:y=>{d.value=new Set([...d.value,y])},unregisterContent:y=>{const w=new Set(d.value);w.delete(y),d.value=w}}),(y,w)=>(i(),E(t(ie),{dir:t(v),"data-orientation":t(c),"as-child":y.asChild,as:y.as},{default:T(()=>[F(y.$slots,"default",{modelValue:t(x)})]),_:3},8,["dir","data-orientation","as-child","as"]))}}),va=pa;function vt(e,n){return`${e}-trigger-${n}`}function ft(e,n){return`${e}-content-${n}`}var fa=Y({__name:"TabsContent",props:{value:{type:[String,Number],required:!0},forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const n=e,{forwardRef:l}=pe(),a=je(),c=B(()=>vt(a.baseId,n.value)),r=B(()=>ft(a.baseId,n.value)),s=B(()=>n.value===a.modelValue.value),v=M(s.value);return ye(()=>{a.registerContent(n.value),requestAnimationFrame(()=>{v.value=!1})}),It(()=>{a.unregisterContent(n.value)}),(x,u)=>(i(),E(t(Ct),{present:x.forceMount||s.value,"force-mount":""},{default:T(({present:d})=>[m(t(ie),{id:r.value,ref:t(l),"as-child":x.asChild,as:x.as,role:"tabpanel","data-state":s.value?"active":"inactive","data-orientation":t(a).orientation.value,"aria-labelledby":c.value,hidden:!d,tabindex:"0",style:Vt({animationDuration:v.value?"0s":void 0})},{default:T(()=>[!t(a).unmountOnHide.value||d?F(x.$slots,"default",{key:0}):C("v-if",!0)]),_:2},1032,["id","as-child","as","data-state","data-orientation","aria-labelledby","hidden","style"])]),_:3},8,["present"]))}}),ma=fa,ga=Y({__name:"TabsIndicator",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e,{expose:n}){const l=e,a=je();n({updateIndicatorStyle:v}),pe();const c=zt(),r=M({size:null,thickness:null,position:null}),s=M([]);ce(()=>[a.modelValue.value,a?.dir.value],()=>{v()},{immediate:!0,flush:"post"}),Rt(()=>{s.value=Array.from(a.tabsList.value?.querySelectorAll('[role="tab"]')||[])}),qt(B(()=>[a.tabsList.value,...s.value]),v);function v(){const x=a.tabsList.value?.querySelector('[role="tab"][data-state="active"]');x&&(a.orientation.value==="horizontal"?r.value={size:x.offsetWidth,thickness:x.offsetHeight,position:x.offsetLeft}:r.value={size:x.offsetHeight,thickness:x.offsetWidth,position:x.offsetTop})}return(x,u)=>t(c)&&typeof r.value.size=="number"?(i(),E(t(ie),de({key:0},l,{style:{"--reka-tabs-indicator-size":`${r.value.size}px`,"--reka-tabs-indicator-thickness":`${r.value.thickness}px`,"--reka-tabs-indicator-position":`${r.value.position}px`}}),{default:T(()=>[F(x.$slots,"default")]),_:3},16,["style"])):C("v-if",!0)}}),ha=ga,ba=Y({__name:"TabsList",props:{loop:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const n=e,{loop:l}=Ve(n),{forwardRef:a,currentElement:c}=pe(),r=je();return r.tabsList=c,(s,v)=>(i(),E(t(ta),{"as-child":"",orientation:t(r).orientation.value,dir:t(r).dir.value,loop:t(l)},{default:T(()=>[m(t(ie),{ref:t(a),role:"tablist","as-child":s.asChild,as:s.as,"aria-orientation":t(r).orientation.value},{default:T(()=>[F(s.$slots,"default")]),_:3},8,["as-child","as","aria-orientation"])]),_:3},8,["orientation","dir","loop"]))}}),ya=ba,ka=Y({__name:"TabsTrigger",props:{value:{type:[String,Number],required:!0},disabled:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(e){const n=e,{forwardRef:l}=pe(),a=je(),c=B(()=>vt(a.baseId,n.value)),r=B(()=>a.contentIds.value.has(n.value)?ft(a.baseId,n.value):void 0),s=B(()=>n.value===a.modelValue.value);return(v,x)=>(i(),E(t(la),{"as-child":"",focusable:!v.disabled,active:s.value},{default:T(()=>[m(t(ie),{id:c.value,ref:t(l),role:"tab",type:v.as==="button"?"button":void 0,as:v.as,"as-child":v.asChild,"aria-selected":s.value?"true":"false","aria-controls":r.value,"data-state":s.value?"active":"inactive",disabled:v.disabled,"data-disabled":v.disabled?"":void 0,"data-orientation":t(a).orientation.value,onMousedown:x[0]||(x[0]=xe(u=>{!v.disabled&&u.ctrlKey===!1?t(a).changeModelValue(v.value):u.preventDefault()},["left"])),onKeydown:x[1]||(x[1]=it(u=>t(a).changeModelValue(v.value),["enter","space"])),onFocus:x[2]||(x[2]=()=>{const u=t(a).activationMode!=="manual";!s.value&&!v.disabled&&u&&t(a).changeModelValue(v.value)})},{default:T(()=>[F(v.$slots,"default")]),_:3},8,["id","type","as","as-child","aria-selected","aria-controls","data-state","disabled","data-disabled","data-orientation"])]),_:3},8,["focusable","active"]))}}),xa=ka;const _a={slots:{root:"flex items-center gap-2",list:"relative flex p-1 group",indicator:"absolute transition-[translate,width] duration-200",trigger:["group relative inline-flex items-center min-w-0 data-[state=inactive]:text-muted hover:data-[state=inactive]:not-disabled:text-default font-medium rounded-md disabled:cursor-not-allowed disabled:opacity-75","transition-colors"],leadingIcon:"shrink-0",leadingAvatar:"shrink-0",leadingAvatarSize:"",label:"truncate",trailingBadge:"shrink-0",trailingBadgeSize:"sm",content:"w-full rounded-md focus-visible:outline-3"},variants:{color:{primary:{content:"outline-primary/25"},secondary:{content:"outline-secondary/25"},success:{content:"outline-success/25"},info:{content:"outline-info/25"},warning:{content:"outline-warning/25"},error:{content:"outline-error/25"},neutral:{content:"outline-inverted/25"}},variant:{pill:{list:"bg-elevated rounded-lg",trigger:["grow","in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:content-[''] in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:absolute in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:inset-0 in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:rounded-md in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:shadow-xs in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:-z-10 in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:isolate"],indicator:"rounded-md shadow-xs"},link:{list:"border-default",indicator:"rounded-full",trigger:"in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:content-[''] in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:absolute in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:rounded-full"}},orientation:{horizontal:{root:"flex-col",list:"w-full",indicator:"left-0 w-(--reka-tabs-indicator-size) translate-x-(--reka-tabs-indicator-position)",trigger:"justify-center"},vertical:{list:"flex-col",indicator:"top-0 h-(--reka-tabs-indicator-size) translate-y-(--reka-tabs-indicator-position)"}},size:{xs:{trigger:"px-2 py-1 text-xs gap-1",leadingIcon:"size-4",leadingAvatarSize:"3xs"},sm:{trigger:"px-2.5 py-1.5 text-xs gap-1.5",leadingIcon:"size-4",leadingAvatarSize:"3xs"},md:{trigger:"px-3 py-1.5 text-sm gap-1.5",leadingIcon:"size-5",leadingAvatarSize:"2xs"},lg:{trigger:"px-3 py-2 text-sm gap-2",leadingIcon:"size-5",leadingAvatarSize:"2xs"},xl:{trigger:"px-3 py-2 text-base gap-2",leadingIcon:"size-6",leadingAvatarSize:"xs"}}},compoundVariants:[{orientation:"horizontal",variant:"pill",class:{indicator:"inset-y-1"}},{orientation:"horizontal",variant:"link",class:{list:"border-b -mb-px",indicator:"-bottom-px h-px",trigger:"in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:inset-x-0 in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:-bottom-[calc(var(--spacing)+1px)] in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:h-px"}},{orientation:"vertical",variant:"pill",class:{indicator:"inset-x-1",list:"items-center",trigger:"w-full justify-center"}},{orientation:"vertical",variant:"link",class:{list:"border-s -ms-px",indicator:"-start-px w-px",trigger:"in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:inset-y-0 in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:-start-[calc(var(--spacing)+1px)] in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:w-px"}},{color:"primary",variant:"pill",class:{indicator:"bg-primary",trigger:["data-[state=active]:text-inverted outline-primary/25 focus-visible:outline-3","in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:bg-primary"]}},{color:"secondary",variant:"pill",class:{indicator:"bg-secondary",trigger:["data-[state=active]:text-inverted outline-secondary/25 focus-visible:outline-3","in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:bg-secondary"]}},{color:"success",variant:"pill",class:{indicator:"bg-success",trigger:["data-[state=active]:text-inverted outline-success/25 focus-visible:outline-3","in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:bg-success"]}},{color:"info",variant:"pill",class:{indicator:"bg-info",trigger:["data-[state=active]:text-inverted outline-info/25 focus-visible:outline-3","in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:bg-info"]}},{color:"warning",variant:"pill",class:{indicator:"bg-warning",trigger:["data-[state=active]:text-inverted outline-warning/25 focus-visible:outline-3","in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:bg-warning"]}},{color:"error",variant:"pill",class:{indicator:"bg-error",trigger:["data-[state=active]:text-inverted outline-error/25 focus-visible:outline-3","in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:bg-error"]}},{color:"neutral",variant:"pill",class:{indicator:"bg-inverted",trigger:["data-[state=active]:text-inverted outline-inverted/25 focus-visible:outline-3","in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:bg-inverted"]}},{color:"primary",variant:"link",class:{indicator:"bg-primary",trigger:["data-[state=active]:text-primary outline-primary/25 focus-visible:outline-3","in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:bg-primary"]}},{color:"secondary",variant:"link",class:{indicator:"bg-secondary",trigger:["data-[state=active]:text-secondary outline-secondary/25 focus-visible:outline-3","in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:bg-secondary"]}},{color:"success",variant:"link",class:{indicator:"bg-success",trigger:["data-[state=active]:text-success outline-success/25 focus-visible:outline-3","in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:bg-success"]}},{color:"info",variant:"link",class:{indicator:"bg-info",trigger:["data-[state=active]:text-info outline-info/25 focus-visible:outline-3","in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:bg-info"]}},{color:"warning",variant:"link",class:{indicator:"bg-warning",trigger:["data-[state=active]:text-warning outline-warning/25 focus-visible:outline-3","in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:bg-warning"]}},{color:"error",variant:"link",class:{indicator:"bg-error",trigger:["data-[state=active]:text-error outline-error/25 focus-visible:outline-3","in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:bg-error"]}},{color:"neutral",variant:"link",class:{indicator:"bg-inverted",trigger:["data-[state=active]:text-highlighted outline-inverted/25 focus-visible:outline-3","in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:bg-inverted"]}}],defaultVariants:{color:"primary",variant:"pill",size:"md"}},Xs={__name:"Tabs",props:{as:{type:null,required:!1},items:{type:Array,required:!1},color:{type:null,required:!1},variant:{type:null,required:!1},size:{type:null,required:!1},orientation:{type:null,required:!1,default:"horizontal"},content:{type:Boolean,required:!1,default:!0},valueKey:{type:null,required:!1,default:"value"},labelKey:{type:null,required:!1,default:"label"},class:{type:null,required:!1},ui:{type:Object,required:!1},defaultValue:{type:[String,Number],required:!1,default:"0"},modelValue:{type:[String,Number],required:!1},activationMode:{type:String,required:!1},unmountOnHide:{type:Boolean,required:!1,default:!0}},emits:["update:modelValue"],setup(e,{expose:n,emit:l}){const a=e,c=l,r=Ce(),s=Re("tabs",a),v=ze(),x=ot(rt(s,"as","unmountOnHide"),c),u=B(()=>qe({extend:_a,...v.ui?.tabs||{}})({color:s.color,variant:s.variant,size:s.size,orientation:s.orientation})),d=M([]);function y(w,R){d.value[w]=R}return n({triggersRef:d}),(w,R)=>(i(),E(t(va),de(t(x),{"model-value":t(s).modelValue,"default-value":t(s).defaultValue,orientation:t(s).orientation,"activation-mode":t(s).activationMode,"data-slot":"root",class:u.value.root({class:[t(s).ui?.root,t(s).class]})}),{default:T(()=>[m(t(ya),{"data-slot":"list",class:D(u.value.list({class:t(s).ui?.list}))},{default:T(()=>[m(t(ha),{"data-slot":"indicator",class:D(u.value.indicator({class:t(s).ui?.indicator}))},null,8,["class"]),F(w.$slots,"list-leading"),(i(!0),b(O,null,le(t(s).items,(p,o)=>(i(),E(t(xa),{key:t(be)(p,t(s).valueKey)??o,ref_for:!0,ref:V=>y(o,V),value:t(be)(p,t(s).valueKey)??String(o),disabled:p.disabled,"data-slot":"trigger",class:D(u.value.trigger({class:[t(s).ui?.trigger,p.ui?.trigger]}))},{default:T(()=>[F(w.$slots,"leading",{item:p,index:o,ui:u.value},()=>[p.icon?(i(),E(me,{key:0,name:p.icon,"data-slot":"leadingIcon",class:D(u.value.leadingIcon({class:[t(s).ui?.leadingIcon,p.ui?.leadingIcon]}))},null,8,["name","class"])):p.avatar?(i(),E(ut,de({key:1,size:p.ui?.leadingAvatarSize||t(s).ui?.leadingAvatarSize||u.value.leadingAvatarSize()},{ref_for:!0},p.avatar,{"data-slot":"leadingAvatar",class:u.value.leadingAvatar({class:[t(s).ui?.leadingAvatar,p.ui?.leadingAvatar]})}),null,16,["size","class"])):C("",!0)]),t(be)(p,t(s).labelKey)||r.default?(i(),b("span",{key:0,"data-slot":"label",class:D(u.value.label({class:[t(s).ui?.label,p.ui?.label]}))},[F(w.$slots,"default",{item:p,index:o},()=>[L(A(t(be)(p,t(s).labelKey)),1)])],2)):C("",!0),F(w.$slots,"trailing",{item:p,index:o,ui:u.value},()=>[p.badge||p.badge===0?(i(),E(we,de({key:0,color:"neutral",variant:"outline",size:p.ui?.trailingBadgeSize||t(s).ui?.trailingBadgeSize||u.value.trailingBadgeSize()},{ref_for:!0},typeof p.badge=="string"||typeof p.badge=="number"?{label:p.badge}:p.badge,{"data-slot":"trailingBadge",class:u.value.trailingBadge({class:[t(s).ui?.trailingBadge,p.ui?.trailingBadge]})}),null,16,["size","class"])):C("",!0)])]),_:2},1032,["value","disabled","class"]))),128)),F(w.$slots,"list-trailing")]),_:3},8,["class"]),t(s).content?(i(!0),b(O,{key:0},le(t(s).items,(p,o)=>(i(),E(t(ma),{key:t(be)(p,t(s).valueKey)??o,value:t(be)(p,t(s).valueKey)??String(o),"data-slot":"content",class:D(u.value.content({class:[t(s).ui?.content,p.ui?.content,p.class]}))},{default:T(()=>[F(w.$slots,p.slot||"content",{item:p,index:o,ui:u.value},()=>[L(A(p.content),1)])]),_:2},1032,["value","class"]))),128)):C("",!0)]),_:3},16,["model-value","default-value","orientation","activation-mode","class"]))}},_e=[{id:"typescript",label:"TypeScript / JavaScript",group:"JavaScript / TypeScript",extensions:[".ts",".tsx",".js",".jsx",".mjs",".cjs",".mts",".cts"],ram:"150-350 MB",toolchain:"Node + TypeScript in the builder image; workspace TypeScript is preferred when present",degrades:"starts with the image's TypeScript when the repo has no local install"},{id:"vue",label:"Vue",group:"JavaScript / TypeScript",extensions:[".vue"],ram:"200-400 MB",toolchain:"vue-language-server in the builder image; project Vue dependencies improve resolution",degrades:"starts for .vue files, but unresolved imports are likely without project dependencies"},{id:"eslint",label:"ESLint",group:"JavaScript / TypeScript",extensions:[".ts",".tsx",".js",".jsx",".mjs",".cjs",".mts",".cts",".vue"],ram:"80-200 MB",toolchain:"vscode-eslint-language-server in the builder image; a project-local eslint is required for rules",degrades:"idles or exits when the repo has no project-local ESLint; the run continues"},{id:"oxlint",label:"Oxlint",group:"JavaScript / TypeScript",extensions:[".ts",".tsx",".js",".jsx",".mjs",".cjs",".mts",".cts",".vue",".astro",".svelte"],ram:"30-80 MB",toolchain:"oxlint in the builder image",degrades:"starts for JS projects even without project lint dependencies"},{id:"pyright",label:"Python (Pyright)",group:"Python",extensions:[".py",".pyi"],ram:"150-300 MB",toolchain:"pyright-langserver + system Python in the builder image",degrades:"uses system Python; project virtualenvs are not auto-detected"},{id:"rust",label:"Rust",group:"Rust",extensions:[".rs"],ram:"300-800 MB",toolchain:"rustup stable toolchain + rust-analyzer; a Cargo workspace gives full analysis",degrades:"starts for any .rs file; without Cargo.toml it falls back to loose-file mode with limited analysis and still costs RAM"},{id:"kotlin-ls",label:"Kotlin",group:"Kotlin / JVM",extensions:[".kt",".kts"],ram:"250-600 MB",toolchain:"kotlin-language-server + headless JVM installed on both architectures",degrades:"starts for Kotlin files; Gradle/Maven resolution depends on the project"},{id:"terraform",label:"Terraform",group:"Infrastructure",extensions:[".tf",".tfvars"],ram:"50-150 MB",toolchain:"pinned terraform-ls release in the builder image",degrades:"starts for .tf files without needing the Terraform CLI"},{id:"dockerfile",label:"Dockerfile",group:"Infrastructure",extensions:[".dockerfile","Dockerfile"],ram:"40-100 MB",toolchain:"docker-langserver in the builder image",degrades:"starts for Dockerfiles; no daemon is required"},{id:"yaml-ls",label:"YAML",group:"Config / markup",extensions:[".yaml",".yml"],ram:"40-80 MB",toolchain:"yaml-language-server in the builder image",degrades:"starts for YAML files without project dependencies"},{id:"php intelephense",label:"PHP",group:"PHP",extensions:[".php"],ram:"100-250 MB",toolchain:"intelephense + PHP in the builder image",degrades:"starts for PHP files; Composer dependencies improve resolution"},{id:"bash",label:"Shell",group:"Shell",extensions:[".sh",".bash",".zsh",".ksh"],ram:"30-60 MB",toolchain:"bash-language-server in the builder image",degrades:"starts for shell files without project dependencies"},{id:"json",label:"JSON",group:"Config / markup",extensions:[".json",".jsonc"],ram:"40-80 MB",toolchain:"vscode-json-language-server in the builder image",degrades:"starts for JSON files without project dependencies"},{id:"css",label:"CSS",group:"Config / markup",extensions:[".css",".scss",".less"],ram:"40-80 MB",toolchain:"vscode-css-language-server in the builder image",degrades:"starts for CSS-family files without project dependencies"},{id:"html",label:"HTML",group:"Config / markup",extensions:[".html",".htm"],ram:"40-80 MB",toolchain:"vscode-html-language-server in the builder image",degrades:"starts for HTML files without project dependencies"}],Be=_e.map(e=>e.id),Qs=[...Be];function Ys(e){return Be.includes(e)}function wa(e){const n=[...Be].sort((c,r)=>r.length-c.length),l=[];let a=e.trim();for(;a&&(a=a.replace(/^[\s,]+/,""),!!a);){const c=n.find(s=>{if(!a.startsWith(s))return!1;const v=a[s.length];return v===void 0||/[\s,]/.test(v)});if(c){l.push(c),a=a.slice(c.length);continue}const r=/^[^\s,]+/.exec(a);if(!r){a=a.slice(1);continue}l.push(r[0]),a=a.slice(r[0].length)}return l}function en(e){const n=new Set(e);return Be.filter(l=>n.has(l))}const De=/^[A-Za-z0-9._-]{1,255}$/,Qe="none",Sa=/^[a-zA-Z0-9._-]*$/,$a=/^[a-zA-Z0-9][a-zA-Z0-9._/:@-]*$/,mt=["iid","branch","mrTarget","mrBlock"],gt=["iid","branch","mrTarget"];function Ia(e){const n=[],l=new Set;for(const a of e.matchAll(/\{\{\s*([a-zA-Z0-9_]+)\s*\}\}/g)){const c=a[1];l.has(c)||(l.add(c),n.push(c))}return n}function Ie(e,n){const l=new Set(n);return Ia(e).filter(a=>!l.has(a))}function tn(e){const n=[e.planModel,e.buildModel];for(const a of n)if(a!==""&&!a.includes("/"))return!1;for(const a of[e.planVariant,e.buildVariant])if(a!==""&&!Sa.test(a))return!1;if(e.builderImage!==""&&!$a.test(e.builderImage)||e.assignee!==""&&e.assignee!==Qe&&!De.test(e.assignee)||e.assigneeMode==="user"&&(e.assignee===""||e.assignee===Qe||!De.test(e.assignee))||Ie(e.buildWorkflow,mt).length>0||Ie(e.mrDescription,gt).length>0)return!1;const l=new Set(_e.map(a=>a.id));if(e.lspServers!==""){const a=e.lspServers.split(",").map(c=>c.trim()).filter(Boolean);if(a.length===0||!a.every(c=>l.has(c)))return!1}if(e.lspDisabled.trim()!==""){const a=wa(e.lspDisabled);if(a.length===0||!a.every(c=>l.has(c)))return!1}return!0}function an(e){return{planModel:e.planModel.trim(),buildModel:e.buildModel.trim(),planVariant:e.planVariant.trim(),buildVariant:e.buildVariant.trim(),plugins:e.plugins.trim(),baseBranches:e.baseBranches.trim(),lspServers:e.lspServers.trim(),lspDisabled:e.lspDisabled.trim(),builderImage:e.builderImage.trim(),assignee:e.assigneeMode==="inherit"?"":e.assigneeMode==="none"?"none":e.assignee.trim(),buildWorkflow:e.buildWorkflow.trim(),mrDescription:e.mrDescription.trim(),minRole:e.minRole,requireAuthorOrAssignee:e.requireAuthorOrAssignee,autoPush:e.autoPush,autoMr:e.autoMr,autoResolveConflicts:e.autoResolveConflicts,ciFailAutoReport:e.ciFailAutoReport}}const Va=/^[a-z0-9][a-z0-9-_]*$/,Ca=/^[a-zA-Z0-9._-]*$/,Ra=/^[a-zA-Z0-9][a-zA-Z0-9._/:@-]*$/,qa=["planTimeoutMs","buildTimeoutMs","maxConcurrentRuns","maxQueuePerWorkItem","retryBackoffMs","attachmentMaxBytes","volumeGcTtlMs","volumeGcIntervalMs","projectSyncIntervalMs","mcpRefreshIntervalMs"],za=["maxGlobalQueue","maxRetries","errorLogRetentionDays","runLogTtlHours"],Ma=["queueFeedback","volumeGcEnabled","projectSyncEnabled","mcpRefreshEnabled","devcontainerEnabled","gitSubmodulesEnabled"],Aa=["auto","fuse-overlayfs","vfs"];function Ye(e,n){return e===""?!0:/^\d+$/.test(e)&&Number(e)>=n}function Ta(e){for(const n of qa)if(!Ye(e[n],1))return!1;for(const n of za)if(!Ye(e[n],0))return!1;for(const n of Ma)if(e[n]!==""&&e[n]!=="true"&&e[n]!=="false")return!1;return!(e.devcontainerStorageDriver!==""&&!Aa.includes(e.devcontainerStorageDriver))}function ln(e){for(const l of[e.planModel,e.buildModel])if(l!==""&&!l.includes("/"))return!1;for(const l of[e.planVariant,e.buildVariant])if(l!==""&&!Ca.test(l))return!1;if(e.builderImage!==""&&!Ra.test(e.builderImage)||e.assignee!==""&&!De.test(e.assignee)||Ie(e.buildWorkflow,mt).length>0||Ie(e.mrDescription,gt).length>0||!Ta(e.runtime))return!1;const n=new Set(_e.map(l=>l.id));return e.lspServers.every(l=>n.has(l))?e.baseBranches.trim()!=="":!1}function sn(e){return{planModel:e.planModel.trim(),buildModel:e.buildModel.trim(),planVariant:e.planVariant.trim(),buildVariant:e.buildVariant.trim(),plugins:e.plugins.trim(),baseBranches:e.baseBranches.trim(),builderImage:e.builderImage.trim(),assignee:e.assignee.trim(),buildWorkflow:e.buildWorkflow.trim(),mrDescription:e.mrDescription.trim(),minRole:e.minRole,requireAuthorOrAssignee:e.requireAuthorOrAssignee,autoPush:e.autoPush,autoMr:e.autoMr,autoResolveConflicts:e.autoResolveConflicts,ciFailAutoReport:e.ciFailAutoReport,lspServers:[...e.lspServers],runtime:e.runtime}}function ht(e){return[...new Set(e.split(/[\n,]/).map(n=>n.trim()).filter(Boolean))]}function nn(e){return e.split(",").map(n=>n.trim()).filter(Boolean)}function on(e){return e.map(n=>n.trim()).filter(Boolean).join(",")}function rn(e,n){return!Va.test(e.id)||e.name.trim()===""||e.npm.trim()===""||ht(e.modelsText).length===0||n&&e.apiKey.trim()===""?!1:ja(e.modelCostsText)}const Ea=/^\d*\.?\d+$/;function ja(e){for(const n of Object.values(e))for(const l of[n.input,n.output,n.cacheRead,n.cacheWrite])if(l!==""&&!Ea.test(l.trim()))return!1;return!0}function $e(e){const n=Number(e.trim());return Number.isFinite(n)&&n>=0?n:0}function Ba(e){const n={};for(const[l,a]of Object.entries(e)){const c={input:$e(a.input),output:$e(a.output),cacheRead:$e(a.cacheRead),cacheWrite:$e(a.cacheWrite)};(c.input||c.output||c.cacheRead||c.cacheWrite)&&(n[l]=c)}return n}function un(e){return{name:e.name.trim(),npm:e.npm.trim(),apiUrl:e.apiUrl.trim(),envVar:e.envVar.trim(),baseUrl:e.baseUrl.trim(),apiKey:e.apiKey,models:ht(e.modelsText),enabled:e.enabled,source:e.source,modelCosts:Ba(e.modelCostsText)}}function dn(e){const n=[];for(const l of e)if(l.enabled)for(const a of l.models)n.push({label:`${l.id}/${a}`,value:`${l.id}/${a}`});return n}const Ua={slots:{root:"relative inline-flex items-center",base:["w-full rounded-md border-0 appearance-none placeholder:text-dimmed disabled:cursor-not-allowed disabled:opacity-75","transition-colors"],leading:"absolute start-0 flex items-start",leadingIcon:"shrink-0 text-dimmed",leadingAvatar:"shrink-0",leadingAvatarSize:"",trailing:"absolute end-0 flex items-start",trailingIcon:"shrink-0 text-dimmed"},variants:{fieldGroup:{horizontal:{root:"group has-focus-visible:z-[1]",base:"group-not-only:group-first:rounded-e-none group-not-only:group-last:rounded-s-none group-not-last:group-not-first:rounded-none"},vertical:{root:"group has-focus-visible:z-[1]",base:"group-not-only:group-first:rounded-b-none group-not-only:group-last:rounded-t-none group-not-last:group-not-first:rounded-none"}},size:{xs:{base:"px-2 py-1 text-sm/4 gap-1",leading:"ps-2 inset-y-1",trailing:"pe-2 inset-y-1",leadingIcon:"size-4",leadingAvatarSize:"3xs",trailingIcon:"size-4"},sm:{base:"px-2.5 py-1.5 text-sm/4 gap-1.5",leading:"ps-2.5 inset-y-1.5",trailing:"pe-2.5 inset-y-1.5",leadingIcon:"size-4",leadingAvatarSize:"3xs",trailingIcon:"size-4"},md:{base:"px-2.5 py-1.5 text-base/5 gap-1.5",leading:"ps-2.5 inset-y-1.5",trailing:"pe-2.5 inset-y-1.5",leadingIcon:"size-5",leadingAvatarSize:"2xs",trailingIcon:"size-5"},lg:{base:"px-3 py-2 text-base/5 gap-2",leading:"ps-3 inset-y-2",trailing:"pe-3 inset-y-2",leadingIcon:"size-5",leadingAvatarSize:"2xs",trailingIcon:"size-5"},xl:{base:"px-3 py-2 text-base gap-2",leading:"ps-3 inset-y-2",trailing:"pe-3 inset-y-2",leadingIcon:"size-6",leadingAvatarSize:"xs",trailingIcon:"size-6"}},variant:{outline:"text-highlighted bg-default ring ring-inset ring-accented",soft:"text-highlighted bg-elevated/50 hover:bg-elevated focus:bg-elevated disabled:bg-elevated/50",subtle:"text-highlighted bg-elevated ring ring-inset ring-accented",ghost:"text-highlighted bg-transparent hover:bg-elevated focus:bg-elevated disabled:bg-transparent dark:disabled:bg-transparent",none:"text-highlighted bg-transparent focus:outline-none"},color:{primary:"",secondary:"",success:"",info:"",warning:"",error:"",neutral:""},leading:{true:""},trailing:{true:""},loading:{true:""},highlight:{true:""},fixed:{false:""},type:{file:"file:me-1.5 file:font-medium file:text-muted file:outline-none"},autoresize:{true:{base:"resize-none"}}},compoundVariants:[{color:"primary",variant:["outline","subtle"],class:"outline-primary/25 focus-visible:outline-3 focus-visible:ring-primary"},{color:"secondary",variant:["outline","subtle"],class:"outline-secondary/25 focus-visible:outline-3 focus-visible:ring-secondary"},{color:"success",variant:["outline","subtle"],class:"outline-success/25 focus-visible:outline-3 focus-visible:ring-success"},{color:"info",variant:["outline","subtle"],class:"outline-info/25 focus-visible:outline-3 focus-visible:ring-info"},{color:"warning",variant:["outline","subtle"],class:"outline-warning/25 focus-visible:outline-3 focus-visible:ring-warning"},{color:"error",variant:["outline","subtle"],class:"outline-error/25 focus-visible:outline-3 focus-visible:ring-error"},{color:"primary",variant:["soft","ghost"],class:"outline-primary/25 focus-visible:outline-3"},{color:"secondary",variant:["soft","ghost"],class:"outline-secondary/25 focus-visible:outline-3"},{color:"success",variant:["soft","ghost"],class:"outline-success/25 focus-visible:outline-3"},{color:"info",variant:["soft","ghost"],class:"outline-info/25 focus-visible:outline-3"},{color:"warning",variant:["soft","ghost"],class:"outline-warning/25 focus-visible:outline-3"},{color:"error",variant:["soft","ghost"],class:"outline-error/25 focus-visible:outline-3"},{color:"primary",highlight:!0,class:"ring ring-inset ring-primary"},{color:"secondary",highlight:!0,class:"ring ring-inset ring-secondary"},{color:"success",highlight:!0,class:"ring ring-inset ring-success"},{color:"info",highlight:!0,class:"ring ring-inset ring-info"},{color:"warning",highlight:!0,class:"ring ring-inset ring-warning"},{color:"error",highlight:!0,class:"ring ring-inset ring-error"},{color:"neutral",variant:["outline","subtle"],class:"outline-inverted/25 focus-visible:outline-3 focus-visible:ring-inverted"},{color:"neutral",variant:["soft","ghost"],class:"outline-inverted/25 focus-visible:outline-3"},{color:"neutral",highlight:!0,class:"ring ring-inset ring-inverted"},{leading:!0,size:"xs",class:"ps-7"},{leading:!0,size:"sm",class:"ps-8"},{leading:!0,size:"md",class:"ps-9"},{leading:!0,size:"lg",class:"ps-10"},{leading:!0,size:"xl",class:"ps-11"},{trailing:!0,size:"xs",class:"pe-7"},{trailing:!0,size:"sm",class:"pe-8"},{trailing:!0,size:"md",class:"pe-9"},{trailing:!0,size:"lg",class:"pe-10"},{trailing:!0,size:"xl",class:"pe-11"},{loading:!0,leading:!0,class:{leadingIcon:"animate-spin"}},{loading:!0,leading:!1,trailing:!0,class:{trailingIcon:"animate-spin"}},{fixed:!1,size:"xs",class:"md:text-xs"},{fixed:!1,size:"sm",class:"md:text-xs"},{fixed:!1,size:"md",class:"md:text-sm"},{fixed:!1,size:"lg",class:"md:text-sm"}],defaultVariants:{size:"md",color:"primary",variant:"outline"}},Pa=["id","value","name","rows","placeholder","disabled","required"],Da=Object.assign({inheritAttrs:!1},{__name:"Textarea",props:{as:{type:null,required:!1},id:{type:String,required:!1},name:{type:String,required:!1},placeholder:{type:String,required:!1},color:{type:null,required:!1},variant:{type:null,required:!1},size:{type:null,required:!1},required:{type:Boolean,required:!1},autofocus:{type:Boolean,required:!1},autofocusDelay:{type:Number,required:!1,default:0},autoresize:{type:Boolean,required:!1},autoresizeDelay:{type:Number,required:!1,default:0},disabled:{type:Boolean,required:!1},rows:{type:Number,required:!1,default:3},maxrows:{type:Number,required:!1,default:0},highlight:{type:Boolean,required:!1},fixed:{type:Boolean,required:!1},defaultValue:{type:null,required:!1},modelValue:{type:null,required:!1},modelModifiers:{type:null,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1},icon:{type:null,required:!1},avatar:{type:Object,required:!1},leading:{type:Boolean,required:!1},leadingIcon:{type:null,required:!1},trailing:{type:Boolean,required:!1},trailingIcon:{type:null,required:!1},loading:{type:Boolean,required:!1},loadingIcon:{type:null,required:!1}},emits:["update:modelValue","blur","change"],setup(e,{expose:n,emit:l}){const a=e,c=l,r=Ce(),s=Re("textarea",a),v=Mt(s,"modelValue",c,{defaultValue:s.defaultValue}),x=ze(),{emitFormFocus:u,emitFormBlur:d,emitFormInput:y,emitFormChange:w,size:R,color:p,id:o,name:V,highlight:$,disabled:U,ariaAttrs:N}=dt(a,{deferInputValidation:!0}),{isLeading:q,isTrailing:H,leadingIconName:K,trailingIconName:ee}=Tt(s),z=B(()=>qe({extend:Ua,...x.ui?.textarea||{}})({color:p.value??s.color,variant:s.variant,size:R?.value??s.size,loading:s.loading,highlight:$.value??s.highlight,fixed:s.fixed,autoresize:s.autoresize,leading:q.value||!!s.avatar||!!r.leading,trailing:H.value||!!r.trailing})),S=At("textareaRef");function j(I){s.modelModifiers?.trim&&(typeof I=="string"||I===null||I===void 0)&&(I=I?.trim()??null),s.modelModifiers?.number&&(I=Et(I)),s.modelModifiers?.nullable&&(I||=null),s.modelModifiers?.optional&&!s.modelModifiers?.nullable&&I!==null&&(I||=void 0),v.value=I,y()}function W(I){se(),s.modelModifiers?.lazy||j(I.target.value)}function Z(I){const h=I.target.value;s.modelModifiers?.lazy&&j(h),s.modelModifiers?.trim&&(I.target.value=h.trim()),w(),c("change",I)}function G(I){d(),c("blur",I)}function te(){s.autofocus&&S.value?.focus()}function se(){if(s.autoresize&&S.value){S.value.rows=s.rows;const I=S.value.style.overflow;S.value.style.overflow="hidden";const h=window.getComputedStyle(S.value),J=Number.parseInt(h.paddingTop),ne=Number.parseInt(h.paddingBottom),ae=J+ne,he=Number.parseInt(h.lineHeight),{scrollHeight:ve}=S.value,fe=(ve-ae)/he;fe>s.rows&&(S.value.rows=s.maxrows?Math.min(fe,s.maxrows):fe),S.value.style.overflow=I}}return ce(v,()=>{Pe(se)}),ye(()=>{setTimeout(()=>{te()},s.autofocusDelay),setTimeout(async()=>{await Pe(),se()},s.autoresizeDelay)}),n({textareaRef:S,autoResize:se}),(I,h)=>(i(),E(t(ie),{as:t(s).as,"data-slot":I.$attrs["data-slot"]??"root",class:D(z.value.root({class:[t(s).ui?.root,t(s).class]}))},{default:T(()=>[g("textarea",de({id:t(o),ref_key:"textareaRef",ref:S,value:t(v),name:t(V),rows:t(s).rows,placeholder:t(s).placeholder,class:z.value.base({class:t(s).ui?.base}),disabled:t(U),required:t(s).required},{...I.$attrs,...t(N)},{"data-slot":"base",onInput:W,onBlur:G,onChange:Z,onFocus:h[0]||(h[0]=(...J)=>t(u)&&t(u)(...J))}),null,16,Pa),F(I.$slots,"default",{ui:z.value}),t(q)||t(s).avatar||r.leading?(i(),b("span",{key:0,"data-slot":"leading",class:D(z.value.leading({class:t(s).ui?.leading}))},[F(I.$slots,"leading",{ui:z.value},()=>[t(q)&&t(K)?(i(),E(me,{key:0,name:t(K),"data-slot":"leadingIcon",class:D(z.value.leadingIcon({class:t(s).ui?.leadingIcon}))},null,8,["name","class"])):t(s).avatar?(i(),E(ut,de({key:1,size:t(s).ui?.leadingAvatarSize||z.value.leadingAvatarSize()},t(s).avatar,{"data-slot":"leadingAvatar",class:z.value.leadingAvatar({class:t(s).ui?.leadingAvatar})}),null,16,["size","class"])):C("",!0)])],2)):C("",!0),t(H)||r.trailing?(i(),b("span",{key:1,"data-slot":"trailing",class:D(z.value.trailing({class:t(s).ui?.trailing}))},[F(I.$slots,"trailing",{ui:z.value},()=>[t(ee)?(i(),E(me,{key:0,name:t(ee),"data-slot":"trailingIcon",class:D(z.value.trailingIcon({class:t(s).ui?.trailingIcon}))},null,8,["name","class"])):C("",!0)])],2)):C("",!0)]),_:3},8,["as","data-slot","class"]))}}),Na={slots:{root:"",wrapper:"",labelWrapper:"flex content-center items-center justify-between gap-1",label:"block font-medium text-default",container:"relative",description:"text-muted",error:"mt-2 text-error",hint:"text-muted",help:"mt-2 text-muted"},variants:{size:{xs:{root:"text-xs"},sm:{root:"text-xs"},md:{root:"text-sm"},lg:{root:"text-sm"},xl:{root:"text-base"}},required:{true:{label:"after:content-['*'] after:ms-0.5 after:text-error"}},orientation:{vertical:{container:"mt-1"},horizontal:{root:"flex justify-between place-items-baseline gap-2"}}},defaultVariants:{size:"md"}},Fa=["id"],Oa=["id"],La=["id"],Ka=["id"],He={__name:"FormField",props:{as:{type:null,required:!1},name:{type:String,required:!1},errorPattern:{type:null,required:!1},label:{type:String,required:!1},description:{type:String,required:!1},help:{type:String,required:!1},error:{type:[Boolean,String],required:!1,default:void 0},hint:{type:String,required:!1},size:{type:null,required:!1},required:{type:Boolean,required:!1},eagerValidation:{type:Boolean,required:!1},validateOnInputDelay:{type:Number,required:!1},orientation:{type:null,required:!1,default:"vertical"},class:{type:null,required:!1},ui:{type:Object,required:!1}},setup(e){const n=e,l=Ce(),a=Re("formField",n),c=ze(),r=B(()=>qe({extend:Na,...c.ui?.formField||{}})({size:a.size,required:a.required,orientation:a.orientation})),s=Ze(jt,null),v=B(()=>a.error||s?.value?.find(y=>y.name===a.name||a.errorPattern&&y.name?.match(a.errorPattern))?.message),x=M(Ke()),u=x.value,d=Ze(Bt,void 0);return ce(x,()=>{d&&a.name&&(d.value[a.name]={id:x.value,pattern:a.errorPattern})},{immediate:!0}),Xe(Ut,x),Xe(Pt,B(()=>({error:v.value,name:a.name,size:a.size,eagerValidation:a.eagerValidation,validateOnInputDelay:a.validateOnInputDelay,errorPattern:a.errorPattern,hint:a.hint,description:a.description,help:a.help,ariaId:u}))),(y,w)=>(i(),E(t(ie),{as:t(a).as,"data-orientation":t(a).orientation,"data-slot":"root",class:D(r.value.root({class:[t(a).ui?.root,t(a).class]}))},{default:T(()=>[g("div",{"data-slot":"wrapper",class:D(r.value.wrapper({class:t(a).ui?.wrapper}))},[t(a).label||l.label?(i(),b("div",{key:0,"data-slot":"labelWrapper",class:D(r.value.labelWrapper({class:t(a).ui?.labelWrapper}))},[m(t(pt),{for:x.value,"data-slot":"label",class:D(r.value.label({class:t(a).ui?.label}))},{default:T(()=>[F(y.$slots,"label",{label:t(a).label},()=>[L(A(t(a).label),1)])]),_:3},8,["for","class"]),t(a).hint||l.hint?(i(),b("span",{key:0,id:`${t(u)}-hint`,"data-slot":"hint",class:D(r.value.hint({class:t(a).ui?.hint}))},[F(y.$slots,"hint",{hint:t(a).hint},()=>[L(A(t(a).hint),1)])],10,Fa)):C("",!0)],2)):C("",!0),t(a).description||l.description?(i(),b("p",{key:1,id:`${t(u)}-description`,"data-slot":"description",class:D(r.value.description({class:t(a).ui?.description}))},[F(y.$slots,"description",{description:t(a).description},()=>[L(A(t(a).description),1)])],10,Oa)):C("",!0)],2),g("div",{class:D([(t(a).label||!!l.label||t(a).description||!!l.description)&&r.value.container({class:t(a).ui?.container})])},[F(y.$slots,"default",{error:v.value}),t(a).error!==!1&&(typeof v.value=="string"&&v.value||l.error)?(i(),b("div",{key:0,id:`${t(u)}-error`,"data-slot":"error",class:D(r.value.error({class:t(a).ui?.error}))},[F(y.$slots,"error",{error:v.value},()=>[L(A(v.value),1)])],10,La)):t(a).help||l.help?(i(),b("div",{key:1,id:`${t(u)}-help`,"data-slot":"help",class:D(r.value.help({class:t(a).ui?.help}))},[F(y.$slots,"help",{help:t(a).help},()=>[L(A(t(a).help),1)])],10,Ka)):C("",!0)],2)]),_:3},8,["as","data-orientation","class"]))}},Wa={class:"space-y-2"},Ha=["onDrop"],Ga=["onDragstart"],cn=Y({__name:"EditableListEditor",props:Ae({reorderable:{type:Boolean},readonly:{type:Boolean},placeholder:{},addLabel:{},itemLabel:{}},{modelValue:{default:()=>[]},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const n=e,l=Me(e,"modelValue"),a=M(null),c=B(()=>n.placeholder===void 0?{}:{placeholder:n.placeholder});function r(d,y){if(y<0||y>=l.value.length)return;const w=[...l.value],[R]=w.splice(d,1);w.splice(y,0,R??""),l.value=w}function s(d){a.value!==null&&(r(a.value,d),a.value=null)}function v(d,y){const w=[...l.value];w[d]=y,l.value=w}function x(){l.value=[...l.value,""]}function u(d){l.value=l.value.filter((y,w)=>w!==d)}return(d,y)=>{const w=me,R=ke,p=ge;return i(),b("div",Wa,[(i(!0),b(O,null,le(l.value,(o,V)=>(i(),b("div",{key:V,class:"flex items-center gap-2",onDragover:y[0]||(y[0]=xe(()=>{},["prevent"])),onDrop:$=>s(V)},[e.reorderable&&!e.readonly?(i(),b("span",{key:0,class:"cursor-grab text-dimmed",draggable:"true","aria-label":"Drag to reorder",onDragstart:$=>a.value=V},[m(w,{name:"i-lucide-grip-vertical"})],40,Ga)):C("",!0),m(R,de({"model-value":o},{ref_for:!0},c.value,{disabled:e.readonly,"aria-label":e.itemLabel??"List item",class:"flex-1 font-mono","onUpdate:modelValue":$=>v(V,$)}),null,16,["model-value","disabled","aria-label","onUpdate:modelValue"]),e.reorderable&&!e.readonly?(i(),b(O,{key:1},[m(p,{icon:"i-lucide-chevron-up",color:"neutral",variant:"ghost",disabled:V===0,"aria-label":"Move up",onClick:$=>r(V,V-1)},null,8,["disabled","onClick"]),m(p,{icon:"i-lucide-chevron-down",color:"neutral",variant:"ghost",disabled:V===l.value.length-1,"aria-label":"Move down",onClick:$=>r(V,V+1)},null,8,["disabled","onClick"])],64)):C("",!0),e.readonly?C("",!0):(i(),E(p,{key:2,icon:"i-lucide-x",color:"neutral",variant:"ghost","aria-label":"Remove item",onClick:$=>u(V)},null,8,["onClick"]))],40,Ha))),128)),e.readonly?C("",!0):(i(),E(p,{key:0,label:e.addLabel??"Add",icon:"i-lucide-plus",color:"neutral",variant:"outline",size:"sm",onClick:x},null,8,["label"]))])}}}),Ja={class:"space-y-4"},Za={class:"text-xs font-semibold uppercase tracking-wide text-dimmed"},Xa={class:"grid gap-2 sm:grid-cols-2"},Qa=["checked","aria-label","onChange"],Ya={class:"min-w-0"},el={class:"block text-sm font-medium text-highlighted"},tl={class:"block text-xs text-dimmed"},al={class:"block text-xs text-dimmed"},pn=Y({__name:"LspServersEditor",props:{modelValue:{},serverIds:{}},emits:["update:modelValue"],setup(e,{emit:n}){const l=e,a=n,c=B(()=>{const v=l.serverIds?new Set(l.serverIds):null,x=new Map;for(const u of _e){if(v&&!v.has(u.id))continue;const d=x.get(u.group)??[];d.push(u),x.set(u.group,d)}return[...x.entries()].map(([u,d])=>({label:u,servers:d}))});function r(v){return l.modelValue.includes(v)}function s(v,x){const u=x.target.checked,d=new Set(l.modelValue);u?d.add(v):d.delete(v),a("update:modelValue",_e.map(y=>y.id).filter(y=>d.has(y)))}return(v,x)=>(i(),b("div",Ja,[(i(!0),b(O,null,le(c.value,u=>(i(),b("div",{key:u.label,class:"space-y-2"},[g("h4",Za,A(u.label),1),g("div",Xa,[(i(!0),b(O,null,le(u.servers,d=>(i(),b("label",{key:d.id,class:"flex cursor-pointer items-start gap-3 rounded-md border border-default p-3 hover:bg-elevated/50"},[g("input",{type:"checkbox",class:"mt-1 accent-primary",checked:r(d.id),"aria-label":`Enable ${d.label} language server`,onChange:y=>s(d.id,y)},null,40,Qa),g("span",Ya,[g("span",el,A(d.label),1),g("span",tl,A(d.extensions.join(", ")),1),g("span",al,A(d.ram)+" · "+A(d.toolchain),1)])]))),128))])]))),128))]))}}),ll={class:"relative"},sl=["aria-label"],nl={key:0,class:"px-3 py-2 text-sm text-dimmed"},il={key:1,class:"px-3 py-2 text-sm text-dimmed"},ol=["id","aria-selected","onMouseenter","onClick"],et=2,rl=250,vn=Y({__name:"ForgeUserCombobox",props:Ae({projectId:{},ariaLabel:{},placeholder:{}},{modelValue:{default:""},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const n=Me(e,"modelValue"),l=e,c=`assignee-listbox-${Ke()}`,r=z=>`${c}-option-${z}`,s=M(""),v=M([]),x=M(!1),u=M(!1),d=M(-1),y=new Map;let w,R=0;const p=B(()=>u.value&&s.value.trim().length>=et),o=B(()=>p.value&&!x.value&&v.value.length===0);function V(z){if(!z)return"";const S=v.value.find(j=>j.username===z);return S?`@${S.username} — ${S.name}`:`@${z}`}function $(z){return`${l.projectId??"global"}:${z.toLowerCase()}`}async function U(z){const S=++R,j=$(z),W=y.get(j);if(W){v.value=W,x.value=!1;return}x.value=!0;const Z=l.projectId==null?"":`&projectId=${encodeURIComponent(String(l.projectId))}`,{data:G,error:te}=await Q(`/api/forge/users?q=${encodeURIComponent(z)}${Z}`);if(S!==R)return;if(x.value=!1,te){v.value=[];return}const se=G?.users??[];y.set(j,se),v.value=se}ce(s,z=>{w&&clearTimeout(w),R+=1,d.value=-1;const S=z.trim();if(S.length<et){v.value=[],x.value=!1;return}u.value=!0,w=setTimeout(()=>{U(S)},rl)}),ce(n,z=>{u.value||(s.value=z?V(z):"")},{immediate:!0});function N(){u.value=!0}function q(){u.value=!1,d.value=-1,s.value=n.value?V(n.value):""}function H(z){n.value=z.username,s.value=`@${z.username} — ${z.name}`,u.value=!1,d.value=-1}function K(){n.value="",s.value="",v.value=[],u.value=!1,d.value=-1}function ee(z){if(z.key==="Escape"){if(!p.value)return;z.preventDefault(),u.value=!1,d.value=-1;return}if(z.key==="ArrowDown"){if(z.preventDefault(),!p.value){u.value=!0;return}if(v.value.length===0)return;d.value=d.value<0?0:(d.value+1)%v.value.length;return}if(z.key==="ArrowUp"){if(!p.value||v.value.length===0)return;z.preventDefault(),d.value=d.value<=0?v.value.length-1:d.value-1;return}if(z.key==="Enter"&&p.value&&d.value>=0){const S=v.value[d.value];S&&(z.preventDefault(),H(S))}}return nt(()=>{w&&clearTimeout(w)}),(z,S)=>{const j=ge,W=ke;return i(),b("div",ll,[m(W,{modelValue:s.value,"onUpdate:modelValue":S[1]||(S[1]=Z=>s.value=Z),placeholder:e.placeholder??"Type at least 2 characters…","aria-label":e.ariaLabel??"Forge user",role:"combobox","aria-autocomplete":"list","aria-expanded":p.value,"aria-controls":c,"aria-activedescendant":d.value>=0?r(d.value):void 0,loading:x.value,class:"w-full font-mono",onFocus:N,onBlur:q,onKeydown:ee},{trailing:T(()=>[n.value?(i(),E(j,{key:0,icon:"i-lucide-x",color:"neutral",variant:"ghost",size:"xs","aria-label":"Clear assignee",onMousedown:S[0]||(S[0]=xe(()=>{},["prevent"])),onClick:K})):C("",!0)]),_:1},8,["modelValue","placeholder","aria-label","aria-expanded","aria-activedescendant","loading"]),p.value?(i(),b("div",{key:0,id:c,role:"listbox","aria-label":e.ariaLabel??"Forge users",class:"absolute z-20 mt-1 w-full overflow-hidden rounded-md border border-default bg-default shadow-lg"},[x.value?(i(),b("p",nl,"Searching…")):o.value?(i(),b("p",il,"No users found.")):C("",!0),(i(!0),b(O,null,le(v.value,(Z,G)=>(i(),b("button",{id:r(G),key:Z.id,type:"button",role:"option","aria-selected":G===d.value,class:D(["block w-full px-3 py-2 text-left text-sm hover:bg-elevated",G===d.value?"bg-elevated":""]),onMousedown:S[2]||(S[2]=xe(()=>{},["prevent"])),onMouseenter:te=>d.value=G,onClick:te=>H(Z)}," @"+A(Z.username)+" — "+A(Z.name),43,ol))),128))],8,sl)):C("",!0)])}}}),ul={slots:{root:"relative flex items-start",base:["inline-flex items-center shrink-0 rounded-full border-2 border-transparent focus-visible:outline-3 data-[state=unchecked]:bg-accented","transition-[background] duration-200"],container:"flex items-center",thumb:"group pointer-events-none rounded-full bg-default shadow-lg ring-0 transition-transform duration-200 data-[state=unchecked]:translate-x-0 data-[state=unchecked]:rtl:-translate-x-0 flex items-center justify-center",icon:["absolute shrink-0 group-data-[state=unchecked]:text-dimmed opacity-0 size-10/12","transition-[color,opacity] duration-200"],wrapper:"ms-2",label:"block font-medium text-default",description:"text-muted"},variants:{color:{primary:{base:"data-[state=checked]:bg-primary outline-primary/25",icon:"group-data-[state=checked]:text-primary"},secondary:{base:"data-[state=checked]:bg-secondary outline-secondary/25",icon:"group-data-[state=checked]:text-secondary"},success:{base:"data-[state=checked]:bg-success outline-success/25",icon:"group-data-[state=checked]:text-success"},info:{base:"data-[state=checked]:bg-info outline-info/25",icon:"group-data-[state=checked]:text-info"},warning:{base:"data-[state=checked]:bg-warning outline-warning/25",icon:"group-data-[state=checked]:text-warning"},error:{base:"data-[state=checked]:bg-error outline-error/25",icon:"group-data-[state=checked]:text-error"},neutral:{base:"data-[state=checked]:bg-inverted outline-inverted/25",icon:"group-data-[state=checked]:text-highlighted"}},size:{xs:{base:"w-7",container:"h-4",thumb:"size-3 data-[state=checked]:translate-x-3 data-[state=checked]:rtl:-translate-x-3",wrapper:"text-xs"},sm:{base:"w-8",container:"h-4",thumb:"size-3.5 data-[state=checked]:translate-x-3.5 data-[state=checked]:rtl:-translate-x-3.5",wrapper:"text-xs"},md:{base:"w-9",container:"h-5",thumb:"size-4 data-[state=checked]:translate-x-4 data-[state=checked]:rtl:-translate-x-4",wrapper:"text-sm"},lg:{base:"w-10",container:"h-5",thumb:"size-4.5 data-[state=checked]:translate-x-4.5 data-[state=checked]:rtl:-translate-x-4.5",wrapper:"text-sm"},xl:{base:"w-11",container:"h-6",thumb:"size-5 data-[state=checked]:translate-x-5 data-[state=checked]:rtl:-translate-x-5",wrapper:"text-base"}},checked:{true:{icon:"group-data-[state=checked]:opacity-100"}},unchecked:{true:{icon:"group-data-[state=unchecked]:opacity-100"}},loading:{true:{icon:"animate-spin"}},highlight:{true:""},required:{true:{label:"after:content-['*'] after:ms-0.5 after:text-error"}},disabled:{true:{root:"opacity-75",base:"cursor-not-allowed",label:"cursor-not-allowed",description:"cursor-not-allowed"}}},compoundVariants:[{color:"primary",highlight:!0,class:{base:"ring ring-primary"}},{color:"secondary",highlight:!0,class:{base:"ring ring-secondary"}},{color:"success",highlight:!0,class:{base:"ring ring-success"}},{color:"info",highlight:!0,class:{base:"ring ring-info"}},{color:"warning",highlight:!0,class:{base:"ring ring-warning"}},{color:"error",highlight:!0,class:{base:"ring ring-error"}},{color:"neutral",highlight:!0,class:{base:"ring ring-inverted"}}],defaultVariants:{color:"primary",size:"md"}},Ge=Object.assign({inheritAttrs:!1},{__name:"Switch",props:{as:{type:null,required:!1},color:{type:null,required:!1},size:{type:null,required:!1},highlight:{type:Boolean,required:!1},loading:{type:Boolean,required:!1},loadingIcon:{type:null,required:!1},checkedIcon:{type:null,required:!1},uncheckedIcon:{type:null,required:!1},label:{type:String,required:!1},description:{type:String,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1},disabled:{type:Boolean,required:!1},id:{type:String,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1},value:{type:String,required:!1},defaultValue:{type:null,required:!1},modelValue:{type:null,required:!1},trueValue:{type:null,required:!1},falseValue:{type:null,required:!1}},emits:["change","update:modelValue"],setup(e,{emit:n}){const l=e,a=Ce(),c=n,r=Re("switch",l),s=ze(),v=ot(rt(r,"required","value","defaultValue","modelValue","trueValue","falseValue"),c),{id:x,emitFormChange:u,emitFormInput:d,size:y,color:w,highlight:R,name:p,disabled:o,ariaAttrs:V}=dt(l),$=x.value??Ke(),U=Dt(),N=B(()=>{const{"data-state":K,...ee}=U;return ee}),q=B(()=>qe({extend:ul,...s.ui?.switch||{}})({size:y.value??r.size,color:w.value??r.color,highlight:R.value??r.highlight,required:r.required,loading:r.loading,disabled:o.value||r.loading}));function H(K){const ee=new Event("change",{target:{value:K}});c("change",ee),u(),d()}return(K,ee)=>(i(),E(t(ie),{as:t(r).as,"data-slot":K.$attrs["data-slot"]??"root",class:D(q.value.root({class:[t(r).ui?.root,t(r).class]}))},{default:T(()=>[g("div",{"data-slot":"container",class:D(q.value.container({class:t(r).ui?.container}))},[m(t(ra),de({id:t($)},{...t(v),...N.value,...t(V)},{name:t(p),disabled:t(o)||t(r).loading,"data-slot":"base",class:q.value.base({class:t(r).ui?.base}),"onUpdate:modelValue":H}),{default:T(()=>[m(t(da),{"data-slot":"thumb",class:D(q.value.thumb({class:t(r).ui?.thumb}))},{default:T(()=>[t(r).loading?(i(),E(me,{key:0,name:t(r).loadingIcon||t(s).ui.icons.loading,"data-slot":"icon",class:D(q.value.icon({class:t(r).ui?.icon,checked:!0,unchecked:!0}))},null,8,["name","class"])):(i(),b(O,{key:1},[t(r).checkedIcon?(i(),E(me,{key:0,name:t(r).checkedIcon,"data-slot":"icon",class:D(q.value.icon({class:t(r).ui?.icon,checked:!0}))},null,8,["name","class"])):C("",!0),t(r).uncheckedIcon?(i(),E(me,{key:1,name:t(r).uncheckedIcon,"data-slot":"icon",class:D(q.value.icon({class:t(r).ui?.icon,unchecked:!0}))},null,8,["name","class"])):C("",!0)],64))]),_:1},8,["class"])]),_:1},16,["id","name","disabled","class"])],2),t(r).label||a.label||t(r).description||a.description?(i(),b("div",{key:0,"data-slot":"wrapper",class:D(q.value.wrapper({class:t(r).ui?.wrapper}))},[t(r).label||a.label?(i(),E(t(pt),{key:0,for:t($),"data-slot":"label",class:D(q.value.label({class:t(r).ui?.label}))},{default:T(()=>[F(K.$slots,"label",{label:t(r).label},()=>[L(A(t(r).label),1)])]),_:3},8,["for","class"])):C("",!0),t(r).description||a.description?(i(),b("p",{key:1,"data-slot":"description",class:D(q.value.description({class:t(r).ui?.description}))},[F(K.$slots,"description",{description:t(r).description},()=>[L(A(t(r).description),1)])],2)):C("",!0)],2)):C("",!0)]),_:3},8,["as","data-slot","class"]))}}),dl=/^[a-z0-9]+(-[a-z0-9]+)*$/,cl=64;function bt(e){return e.length>=1&&e.length<=cl&&dl.test(e)}function pl(e){return/^https?:\/\/\S+$/.test(e.trim())}function vl(e){return!(!bt(e.name)||!pl(e.url))}function fl(e,n=!0){const l={url:e.url.trim(),enabled:e.enabled};return n&&(l.token=e.token),l}const ml={class:"space-y-4"},gl={class:"flex items-start justify-between gap-2"},hl={class:"text-sm font-semibold text-highlighted"},bl={class:"text-sm text-muted"},yl={key:0,class:"space-y-3"},kl={key:0,class:"space-y-2"},xl={key:1,class:"divide-y divide-default"},_l={class:"min-w-0"},wl={class:"flex items-center gap-2 flex-wrap"},Sl={class:"font-medium text-default truncate"},$l={class:"text-sm text-dimmed truncate font-mono"},Il={class:"flex items-center gap-1"},Vl={key:2,class:"text-center py-4 text-muted"},Cl={key:1,class:"space-y-4"},Rl={class:"flex items-center gap-2"},ql={class:"flex items-center justify-end gap-2"},fn=Y({__name:"CustomReposPanel",props:{project:{default:null},scope:{default:"project"},kind:{default:"skills"}},setup(e,{expose:n}){const l=e,a=Te(),c=B(()=>l.scope==="global"),r=B(()=>c.value?`/api/settings/custom-repos/${l.kind}`:`/api/projects/${l.project?.projectId}/custom-repos/${l.kind}`),s=B(()=>c.value||l.project!==null),v=B(()=>l.kind==="skills"?"skill":"agent"),x=B(()=>l.kind==="skills"?"Skill repositories":"Subagent repositories"),u=M([]),d=M(!1),y=M(null),w=M(!1),R=M(null),p=M({}),o=M(null),V=We({name:"",url:"",token:"",enabled:!0,isNew:!0}),$=B(()=>vl(V));function U(){V.name="",V.url="",V.token="",V.enabled=!0,V.isNew=!0,p.value={},o.value=null}async function N(){if(!s.value)return;d.value=!0;const{data:S,error:j,status:W}=await Q(r.value);if(d.value=!1,j){W!==401&&a.add({title:"Failed to load repositories",description:j,color:"error",icon:"i-lucide-alert-circle"}),u.value=[];return}u.value=S?.repos??[]}function q(){U(),R.value="add"}function H(S){U(),R.value=S.name,V.name=S.name,V.url=S.url,V.enabled=S.enabled,V.isNew=!1}function K(){R.value=null,U()}async function ee(){if(!s.value||!$.value)return;w.value=!0;const S=V.isNew||V.token.trim()!=="",j=fl(V,S),{error:W,status:Z,data:G}=await Q(`${r.value}/${encodeURIComponent(V.name)}`,{method:"PUT",body:JSON.stringify(j)});if(w.value=!1,W){Z===400&&G?.issues&&(p.value=Object.fromEntries(G.issues.map(te=>[te.path.join("."),te.message]))),a.add({title:"Save failed",description:W,color:"error",icon:"i-lucide-alert-circle"});return}a.add({title:V.isNew?"Added":"Updated",description:V.name,color:"success",icon:"i-lucide-check-circle"}),R.value=null,U(),await N()}async function z(S){if(!s.value)return;y.value=S;const{status:j,error:W}=await Q(`${r.value}/${encodeURIComponent(S)}`,{method:"DELETE"});if(y.value=null,j===204||j===404){a.add({title:"Deleted",description:S,color:"success",icon:"i-lucide-check-circle"}),o.value=null,await N();return}a.add({title:"Delete failed",description:W??"unknown",color:"error",icon:"i-lucide-alert-circle"})}return ce(()=>[l.project?.projectId,l.kind,l.scope],()=>{N()},{immediate:!0}),ye(()=>{N()}),n({loadRepos:N,startAdd:q}),(S,j)=>{const W=ge,Z=Ee,G=we,te=ke,se=He,I=Ge;return i(),b("div",ml,[g("div",gl,[g("div",null,[g("h3",hl,A(x.value),1),g("p",bl,A(c.value?"Applied to every project unless a project overrides a repository of the same name.":e.project?.projectPath??""),1)]),R.value===null?(i(),E(W,{key:0,label:`Add ${v.value} repo`,icon:"i-lucide-plus",color:"primary",variant:"outline",onClick:q},null,8,["label"])):C("",!0)]),R.value===null?(i(),b("div",yl,[d.value?(i(),b("div",kl,[(i(),b(O,null,le(2,h=>m(Z,{key:h,class:"h-12 w-full"})),64))])):(i(),b("ul",xl,[(i(!0),b(O,null,le(u.value,h=>(i(),b("li",{key:h.name,class:"flex items-center justify-between py-3 gap-2"},[g("div",_l,[g("div",wl,[g("p",Sl,A(h.name),1),h.enabled?C("",!0):(i(),E(G,{key:0,label:"Disabled",color:"neutral",variant:"subtle",size:"sm"})),h.hasToken?(i(),E(G,{key:1,label:"Token stored",color:"success",variant:"subtle",icon:"i-lucide-key-round",size:"sm"})):(i(),E(G,{key:2,label:"Public",color:"neutral",variant:"subtle",size:"sm"}))]),g("p",$l,A(h.url),1)]),g("div",Il,[m(W,{icon:"i-lucide-pencil",color:"neutral",variant:"ghost","aria-label":"Edit",onClick:J=>H(h)},null,8,["onClick"]),m(W,{icon:o.value===h.name?"i-lucide-check":"i-lucide-trash",color:o.value===h.name?"error":"neutral",variant:"ghost",loading:y.value===h.name,"aria-label":"Delete",onClick:J=>o.value===h.name?z(h.name):o.value=h.name},null,8,["icon","color","loading","onClick"])])]))),128))])),!d.value&&u.value.length===0?(i(),b("div",Vl," No "+A(v.value)+" repositories configured. ",1)):C("",!0)])):(i(),b("div",Cl,[m(se,{label:"Name",error:p.value.name??!1},{default:T(()=>[m(te,{modelValue:V.name,"onUpdate:modelValue":j[0]||(j[0]=h=>V.name=h),placeholder:e.kind==="skills"?"team-skills":"team-agents","aria-label":"Repository name",class:"w-full font-mono",disabled:R.value!=="add"},null,8,["modelValue","placeholder","disabled"]),j[4]||(j[4]=g("p",{class:"text-xs text-dimmed mt-1"},"Lowercase letters, digits, and single hyphens.",-1))]),_:1},8,["error"]),m(se,{label:"Git URL",error:p.value.url??!1},{default:T(()=>[m(te,{modelValue:V.url,"onUpdate:modelValue":j[1]||(j[1]=h=>V.url=h),placeholder:"https://example.com/team/skills.git","aria-label":"Git URL",class:"w-full font-mono"},null,8,["modelValue"])]),_:1},8,["error"]),m(se,{label:"Token (optional)"},{default:T(()=>[m(te,{modelValue:V.token,"onUpdate:modelValue":j[2]||(j[2]=h=>V.token=h),type:"password",placeholder:V.isNew?"Leave blank for a public repo":"Leave blank to keep the stored token","aria-label":"Access token",class:"w-full"},null,8,["modelValue","placeholder"]),j[5]||(j[5]=g("p",{class:"text-xs text-dimmed mt-1"},"Sent only to the repository's own host. Public repositories need no token.",-1))]),_:1}),g("div",Rl,[m(I,{modelValue:V.enabled,"onUpdate:modelValue":j[3]||(j[3]=h=>V.enabled=h),"aria-label":"Enabled"},null,8,["modelValue"]),j[6]||(j[6]=g("span",{class:"text-sm"},"Enabled",-1))]),g("div",ql,[m(W,{label:"Cancel",color:"neutral",variant:"outline",disabled:w.value,onClick:K},null,8,["disabled"]),m(W,{label:R.value==="add"?"Add":"Save",icon:"i-lucide-check",color:"primary",loading:w.value,disabled:!$.value||!t(bt)(V.name),onClick:ee},null,8,["label","loading","disabled"])])]))])}}}),zl={class:"space-y-2"},Ml={key:0,class:"text-sm font-medium text-default"},Ne=Y({__name:"KeyValueEditor",props:Ae({label:{}},{modelValue:{default:()=>[]},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const n=Me(e,"modelValue");return(l,a)=>{const c=ke,r=ge;return i(),b("div",zl,[e.label?(i(),b("p",Ml,A(e.label),1)):C("",!0),(i(!0),b(O,null,le(n.value,(s,v)=>(i(),b("div",{key:v,class:"flex items-center gap-2"},[m(c,{modelValue:s.key,"onUpdate:modelValue":x=>s.key=x,placeholder:"KEY","aria-label":"Key",class:"flex-1"},null,8,["modelValue","onUpdate:modelValue"]),m(c,{modelValue:s.value,"onUpdate:modelValue":x=>s.value=x,placeholder:"value","aria-label":"Value",class:"flex-1"},null,8,["modelValue","onUpdate:modelValue"]),m(r,{icon:"i-lucide-x",color:"neutral",variant:"ghost","aria-label":"Remove row",onClick:x=>n.value.splice(v,1)},null,8,["onClick"])]))),128)),m(r,{label:"Add row",icon:"i-lucide-plus",color:"neutral",variant:"outline",size:"sm",onClick:a[0]||(a[0]=s=>n.value.push({key:"",value:""}))})])}}}),Al=/^[a-zA-Z0-9_-]{1,50}$/,yt=new Set(["devbot-forge","chrome-devtools"]);function tt(e){const n={};for(const l of e)l.key.trim()&&(n[l.key.trim()]=l.value);return n}function kt(e){const n=e.timeout===""?void 0:Number(e.timeout);if(e.type==="local"){const c=e.command.trim().split(/\s+/).filter(Boolean);if(c.length===0)return null;const r={type:"local",command:c,enabled:e.enabled},s=tt(e.envRows);return Object.keys(s).length&&(r.environment=s),e.cwd.trim()&&(r.cwd=e.cwd.trim()),n!==void 0&&!Number.isNaN(n)&&(r.timeout=n),r}if(!/^https:\/\//i.test(e.url.trim()))return null;const l={type:"remote",url:e.url.trim(),enabled:e.enabled},a=tt(e.headerRows);if(Object.keys(a).length&&(l.headers=a),e.oauthMode==="disabled")l.oauth=!1;else if(e.oauthMode==="configured"){if(!e.oauthClientId.trim()||!e.oauthClientSecret.trim())return null;const c={clientId:e.oauthClientId.trim(),clientSecret:e.oauthClientSecret.trim()};e.oauthScope.trim()&&(c.scope=e.oauthScope.trim()),l.oauth=c}return n!==void 0&&!Number.isNaN(n)&&(l.timeout=n),l}function Tl(e){return!(!Al.test(e.name)||yt.has(e.name)||kt(e)===null||e.oauthMode==="configured"&&(!e.oauthClientId.trim()||!e.oauthClientSecret.trim()))}const El={class:"space-y-4"},jl={class:"flex items-start justify-between gap-2"},Bl={class:"text-lg font-semibold text-highlighted"},Ul={class:"text-sm text-muted"},Pl={key:0,class:"space-y-4"},Dl={key:0,class:"space-y-2"},Nl={key:1,class:"divide-y divide-default"},Fl={class:"min-w-0"},Ol={class:"flex items-center gap-2"},Ll={class:"font-medium text-default truncate"},Kl={class:"text-sm text-dimmed truncate"},Wl={class:"min-w-0"},Hl={class:"flex items-center gap-2 flex-wrap"},Gl={class:"font-medium text-default truncate"},Jl={class:"text-sm text-dimmed truncate"},Zl={class:"min-w-0"},Xl={class:"flex items-center gap-2 flex-wrap"},Ql={class:"font-medium text-default truncate"},Yl={key:2,class:"text-xs text-dimmed"},es={class:"text-sm text-dimmed truncate"},ts={class:"flex items-center gap-1"},as={key:2,class:"text-center py-4 text-muted"},ls={key:3,class:"text-center py-4 text-muted"},ss={key:1,class:"space-y-4"},ns={key:0,class:"text-sm text-error mt-1"},is={key:0,class:"text-sm text-error mt-1"},os={class:"flex items-center gap-2"},rs={class:"flex items-center justify-end gap-2"},mn=Y({__name:"McpConfigPanel",props:{project:{default:null},scope:{default:"project"},title:{default:""},description:{default:""}},setup(e,{expose:n}){const l=e,a=Te(),c=B(()=>l.scope==="global"),r=B(()=>c.value?"/api/settings/mcp":`/api/projects/${l.project?.projectId}/mcp`),s=B(()=>c.value||l.project!==null),v=M([]),x=M([]),u=M({}),d=M(!1),y=M(null),w=M(!1),R=M(null),p=M(null),o=We({name:"",type:"local",enabled:!0,timeout:"",command:"",cwd:"",envRows:[],url:"",headerRows:[],oauthMode:"none",oauthClientId:"",oauthClientSecret:"",oauthScope:"",authPaste:""}),V=[{name:"chrome-devtools",summary:"local · chromium (always active)"},{name:"devbot-forge",summary:"remote · devbot (always active)"}],$=M({}),U=M(null),N=M(null),q=B(()=>o.type==="remote"&&o.oauthMode!=="disabled"),H=B(()=>Tl(o));async function K(){if(!s.value)return;d.value=!0;const{data:f,error:k,status:P}=await Q(r.value);if(k){P!==401&&a.add({title:"Failed to load MCP servers",description:k,color:"error",icon:"i-lucide-alert-circle"}),v.value=[],x.value=[],u.value={},d.value=!1;return}v.value=f?.servers??[],x.value=f?.inherited??[],u.value={};for(const oe of v.value)oe.config.type==="remote"&&oe.config.oauth!==!1&&ee(oe.name);d.value=!1}async function ee(f){if(!s.value)return;const{data:k,status:P}=await Q(`${r.value}/${encodeURIComponent(f)}/auth`);if(P===404||!k){u.value[f]=null;return}u.value[f]=k.summary}function z(f){return f.config.type==="local"?`local · ${f.config.command.join(" ")}`:`remote · ${f.config.url}`}function S(f){const k=u.value[f];if(k===void 0)return null;if(k===null)return{label:"Not authenticated",color:"neutral",icon:"i-lucide-circle-slash"};const P=k.expiresAt!==void 0&&k.expiresAt*1e3<Date.now();return P&&k.hasRefreshToken?{label:"Expired · refreshes on next run",color:"warning",icon:"i-lucide-refresh-cw"}:P?{label:"Expired",color:"error",icon:"i-lucide-alert-circle"}:{label:"Authenticated",color:"success",icon:"i-lucide-check-circle"}}function j(f){if(f.config.type!=="remote"||f.config.oauth===!1)return null;const k=f.authSummary;if(!k)return{label:"Not authenticated",color:"neutral",icon:"i-lucide-circle-slash"};const P=k.expiresAt!==void 0&&k.expiresAt*1e3<Date.now();return P&&k.hasRefreshToken?{label:"Expired · refreshes on next run",color:"warning",icon:"i-lucide-refresh-cw"}:P?{label:"Expired",color:"error",icon:"i-lucide-alert-circle"}:{label:"Authenticated",color:"success",icon:"i-lucide-check-circle"}}function W(f){return u.value[f]?.hasRefreshToken===!0}function Z(f){const k=u.value[f];return!k||k.expiresAt===void 0?null:new Date(k.expiresAt*1e3).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"})}function G(){I(),p.value="add"}function te(f){I(),p.value=f.name,o.name=f.name,o.type=f.config.type,o.enabled=f.config.enabled??!0,o.timeout=f.config.timeout??"",f.config.type==="local"?(o.command=f.config.command.join(" "),o.cwd=f.config.cwd??"",o.envRows=Object.entries(f.config.environment??{}).map(([k,P])=>({key:k,value:P}))):(o.url=f.config.url,o.headerRows=Object.entries(f.config.headers??{}).map(([k,P])=>({key:k,value:P})),f.config.oauth===!1?o.oauthMode="disabled":f.config.oauth?(o.oauthMode="configured",o.oauthClientId=f.config.oauth.clientId,o.oauthClientSecret=f.config.oauth.clientSecret,o.oauthScope=f.config.oauth.scope??""):o.oauthMode="none")}function se(){p.value=null}function I(){o.name="",o.type="local",o.enabled=!0,o.timeout="",o.command="",o.cwd="",o.envRows=[],o.url="",o.headerRows=[],o.oauthMode="none",o.oauthClientId="",o.oauthClientSecret="",o.oauthScope="",o.authPaste="",$.value={},U.value=null,N.value=null}async function h(){if(!s.value||!H.value)return;const f=kt(o);w.value=!0;const{error:k,status:P,data:oe}=await Q(`${r.value}/${encodeURIComponent(o.name)}`,{method:"PUT",body:JSON.stringify(f)});if(w.value=!1,k){P===400&&oe?.issues?($.value=Object.fromEntries(oe.issues.map(X=>[X.path.join("."),X.message])),a.add({title:"Validation error",description:oe.issues.map(X=>X.message).join("; "),color:"error",icon:"i-lucide-alert-circle"})):P===409?a.add({title:"Reserved name",description:`"${o.name}" is reserved.`,color:"error",icon:"i-lucide-alert-circle"}):a.add({title:"Save failed",description:k,color:"error",icon:"i-lucide-alert-circle"});return}if(o.authPaste.trim()&&q.value){const X=await ne(o.name);if(X){a.add({title:"Saved, but tokens failed",description:X,color:"warning",icon:"i-lucide-alert-triangle"}),p.value=null,await K();return}}a.add({title:p.value==="add"?"Added":"Updated",description:o.name,color:"success",icon:"i-lucide-check-circle"}),p.value=null,await K()}const J=B(()=>{if(!o.authPaste.trim())return!0;try{return JSON.parse(o.authPaste.trim()),!0}catch{return!1}});async function ne(f){if(!s.value)return"no scope";const k=o.authPaste.trim();if(!k)return"empty";let P;try{P=JSON.parse(k)}catch(re){return re instanceof Error?re.message:"invalid JSON"}const{error:oe,status:X}=await Q(`${r.value}/${encodeURIComponent(f)}/auth`,{method:"PUT",body:JSON.stringify(P)});return oe?X===404?"server not found — save the config first":X===400?"invalid entry — check tokens.accessToken is present":oe:null}async function ae(f){if(!s.value)return;y.value=f+":auth";const{error:k,status:P}=await Q(`${r.value}/${encodeURIComponent(f)}/auth`,{method:"DELETE"});if(y.value=null,P===204){a.add({title:"Tokens cleared",description:f,color:"success",icon:"i-lucide-check-circle"}),u.value[f]=null;return}a.add({title:"Clear failed",description:k??"unknown",color:"error",icon:"i-lucide-alert-circle"})}async function he(f){if(!s.value)return;R.value=f;const{data:k,error:P}=await Q(`${r.value}/${encodeURIComponent(f)}/auth/refresh`,{method:"POST"});if(R.value=null,P||!k){a.add({title:"Refresh failed",description:P??"unknown",color:"error",icon:"i-lucide-alert-circle"});return}u.value[f]=k.summary,a.add({title:"Tokens refreshed",description:f,color:"success",icon:"i-lucide-check-circle"})}async function ve(f){if(!s.value)return;y.value=f;const{status:k,error:P}=await Q(`${r.value}/${encodeURIComponent(f)}`,{method:"DELETE"});if(y.value=null,k===204||k===404){a.add({title:"Deleted",description:f,color:"success",icon:"i-lucide-check-circle"}),U.value=null,await K();return}a.add({title:"Delete failed",description:P??"unknown",color:"error",icon:"i-lucide-alert-circle"})}const fe=[{label:"Local",value:"local"},{label:"Remote",value:"remote"}],Se=[{label:"No OAuth",value:"none"},{label:"Disabled (oauth: false)",value:"disabled"},{label:"Configured",value:"configured"}];return ye(()=>{K()}),n({loadServers:K,startAdd:G}),(f,k)=>{const P=ge,oe=Ee,X=we,re=ke,ue=He,Je=Zt,_t=Da,wt=Ge;return i(),b("div",El,[g("div",jl,[g("div",null,[g("h2",Bl,A(e.title||(c.value?"Global MCP servers":"Configure MCP servers")),1),g("p",Ul,A(e.description||(c.value?"Available to every project (a project server with the same name overrides it).":e.project?.projectPath??"")),1)]),p.value===null?(i(),E(P,{key:0,label:"Add server",icon:"i-lucide-plus",color:"primary",variant:"outline",onClick:G})):C("",!0)]),p.value===null?(i(),b("div",Pl,[d.value?(i(),b("div",Dl,[(i(),b(O,null,le(3,_=>m(oe,{key:_,class:"h-12 w-full"})),64))])):(i(),b("ul",Nl,[(i(),b(O,null,le(V,_=>g("li",{key:_.name,class:"flex items-center justify-between py-3"},[g("div",Fl,[g("div",Ol,[g("p",Ll,A(_.name),1),m(X,{label:"Internal",color:"primary",variant:"subtle",icon:"i-lucide-shield"})]),g("p",Kl,A(_.summary),1)]),m(X,{label:"Always active",color:"success",variant:"subtle",icon:"i-lucide-check-circle"})])),64)),(i(!0),b(O,null,le(x.value,_=>(i(),b("li",{key:"global:"+_.name,class:"flex items-center justify-between py-3 gap-2"},[g("div",Wl,[g("div",Hl,[g("p",Gl,A(_.name),1),m(X,{label:"Inherited",color:"neutral",variant:"subtle",icon:"i-lucide-globe"}),_.enabled?C("",!0):(i(),E(X,{key:0,label:"Disabled",color:"warning",variant:"subtle",icon:"i-lucide-circle-off"})),_.overriddenByProject?(i(),E(X,{key:1,label:"Overridden",color:"neutral",variant:"subtle",icon:"i-lucide-replace"})):C("",!0),j(_)?(i(),E(X,{key:2,label:j(_).label,color:j(_).color,icon:j(_).icon,variant:"subtle",size:"sm"},null,8,["label","color","icon"])):C("",!0)]),g("p",Jl,A(z(_)),1)]),k[14]||(k[14]=g("span",{class:"text-xs text-dimmed whitespace-nowrap"},"from Settings → MCP",-1))]))),128)),(i(!0),b(O,null,le(v.value,_=>(i(),b("li",{key:_.name,class:"flex items-center justify-between py-3 gap-2"},[g("div",Zl,[g("div",Xl,[g("p",Ql,A(_.name),1),(_.config.enabled??!0)===!1?(i(),E(X,{key:0,label:"Disabled",color:"warning",variant:"subtle",icon:"i-lucide-circle-off"})):C("",!0),S(_.name)?(i(),E(X,{key:1,label:S(_.name).label,color:S(_.name).color,icon:S(_.name).icon,variant:"subtle",size:"sm"},null,8,["label","color","icon"])):C("",!0),Z(_.name)?(i(),b("span",Yl,"expires "+A(Z(_.name)),1)):C("",!0)]),g("p",es,A(z(_)),1)]),g("div",ts,[W(_.name)?(i(),E(P,{key:0,icon:"i-lucide-refresh-cw",color:"neutral",variant:"ghost","aria-label":"Refresh tokens now",loading:R.value===_.name,onClick:Ue=>he(_.name)},null,8,["loading","onClick"])):C("",!0),S(_.name)!==null?(i(),E(P,{key:1,icon:N.value===_.name?"i-lucide-check":S(_.name)?.label==="Authenticated"?"i-lucide-key-round":"i-lucide-key",color:N.value===_.name?"error":"neutral",variant:"ghost","aria-label":S(_.name)?.label==="Authenticated"?"Manage tokens":"Paste tokens",loading:y.value===_.name+":auth",onClick:Ue=>S(_.name)?.label==="Authenticated"?N.value===_.name?ae(_.name):N.value=_.name:te(_)},null,8,["icon","color","aria-label","loading","onClick"])):C("",!0),m(P,{icon:"i-lucide-pencil",color:"neutral",variant:"ghost","aria-label":"Edit",onClick:Ue=>te(_)},null,8,["onClick"]),m(P,{icon:U.value===_.name?"i-lucide-check":"i-lucide-trash",color:U.value===_.name?"error":"neutral",variant:"ghost",loading:y.value===_.name,"aria-label":"Delete",onClick:Ue=>U.value===_.name?ve(_.name):U.value=_.name},null,8,["icon","color","loading","onClick"])])]))),128))])),!d.value&&v.value.length===0&&x.value.length===0?(i(),b("div",as,A(c.value?"No global MCP servers configured.":"No external MCP servers configured for this project."),1)):!d.value&&v.value.length===0&&x.value.length>0?(i(),b("div",ls,A(c.value?"":"No project-specific MCP servers — this project uses the inherited global servers above."),1)):C("",!0)])):(i(),b("div",ss,[m(ue,{label:"Name",error:$.value.name??!1},{default:T(()=>[m(re,{modelValue:o.name,"onUpdate:modelValue":k[0]||(k[0]=_=>o.name=_),placeholder:"e.g. sentry","aria-label":"Server name",class:"w-full",disabled:p.value!=="add"},null,8,["modelValue","disabled"]),t(yt).has(o.name)?(i(),b("p",ns,'"'+A(o.name)+'" is reserved.',1)):C("",!0)]),_:1},8,["error"]),m(ue,{label:"Type"},{default:T(()=>[m(Je,{modelValue:o.type,"onUpdate:modelValue":k[1]||(k[1]=_=>o.type=_),items:fe,disabled:p.value!=="add","aria-label":"Server type"},null,8,["modelValue","disabled"])]),_:1}),o.type==="local"?(i(),b(O,{key:0},[m(ue,{label:"Command",error:$.value.command??!1},{default:T(()=>[m(re,{modelValue:o.command,"onUpdate:modelValue":k[2]||(k[2]=_=>o.command=_),placeholder:"npx -y @mcp/server","aria-label":"Command (space-separated)",class:"w-full"},null,8,["modelValue"]),k[15]||(k[15]=g("p",{class:"text-xs text-dimmed mt-1"},"Whitespace-separated; no shell quoting.",-1))]),_:1},8,["error"]),m(Ne,{modelValue:o.envRows,"onUpdate:modelValue":k[3]||(k[3]=_=>o.envRows=_),label:"Environment"},null,8,["modelValue"]),m(ue,{label:"Working directory (optional)"},{default:T(()=>[m(re,{modelValue:o.cwd,"onUpdate:modelValue":k[4]||(k[4]=_=>o.cwd=_),"aria-label":"cwd",class:"w-full"},null,8,["modelValue"])]),_:1})],64)):(i(),b(O,{key:1},[m(ue,{label:"URL",error:$.value.url??!1},{default:T(()=>[m(re,{modelValue:o.url,"onUpdate:modelValue":k[5]||(k[5]=_=>o.url=_),placeholder:"https://...","aria-label":"Server URL",class:"w-full"},null,8,["modelValue"])]),_:1},8,["error"]),m(Ne,{modelValue:o.headerRows,"onUpdate:modelValue":k[6]||(k[6]=_=>o.headerRows=_),label:"Headers"},null,8,["modelValue"]),m(ue,{label:"OAuth"},{default:T(()=>[m(Je,{modelValue:o.oauthMode,"onUpdate:modelValue":k[7]||(k[7]=_=>o.oauthMode=_),items:Se,"aria-label":"OAuth mode"},null,8,["modelValue"]),k[16]||(k[16]=g("p",{class:"text-xs text-dimmed mt-1"},[L(" Use "),g("code",null,"Disabled"),L(" + an "),g("code",null,"Authorization"),L(" header for API-key providers. Use "),g("code",null,"Configured"),L(" or leave at "),g("code",null,"No OAuth"),L(" for OAuth-gated providers, then paste tokens below. ")],-1))]),_:1}),o.oauthMode==="configured"?(i(),b(O,{key:0},[m(ue,{label:"Client ID"},{default:T(()=>[m(re,{modelValue:o.oauthClientId,"onUpdate:modelValue":k[8]||(k[8]=_=>o.oauthClientId=_),"aria-label":"OAuth client id",class:"w-full"},null,8,["modelValue"])]),_:1}),m(ue,{label:"Client secret"},{default:T(()=>[m(re,{modelValue:o.oauthClientSecret,"onUpdate:modelValue":k[9]||(k[9]=_=>o.oauthClientSecret=_),type:"password","aria-label":"OAuth client secret",class:"w-full"},null,8,["modelValue"])]),_:1}),m(ue,{label:"Scope (optional)"},{default:T(()=>[m(re,{modelValue:o.oauthScope,"onUpdate:modelValue":k[10]||(k[10]=_=>o.oauthScope=_),"aria-label":"OAuth scope",class:"w-full"},null,8,["modelValue"])]),_:1})],64)):C("",!0),q.value?(i(),E(ue,{key:1,label:"OAuth tokens (optional)"},{default:T(()=>[m(_t,{modelValue:o.authPaste,"onUpdate:modelValue":k[11]||(k[11]=_=>o.authPaste=_),placeholder:"Paste the entry for this server from ~/.local/share/opencode/mcp-auth.json",rows:5,"aria-label":"Paste mcp-auth.json entry",class:"w-full font-mono text-xs"},null,8,["modelValue"]),o.authPaste.trim()&&!J.value?(i(),b("p",is," Invalid JSON. ")):C("",!0),k[17]||(k[17]=g("p",{class:"text-xs text-dimmed mt-1"},[L(" Run "),g("code",null,"opencode mcp auth <name>"),L(" on your machine, then paste the entry for "),g("code",null,"<name>"),L(" from "),g("code",null,"~/.local/share/opencode/mcp-auth.json"),L(". "),g("a",{href:"https://opencode.ai/docs/mcp-servers/#oauth",target:"_blank",rel:"noopener",class:"underline"},"Docs"),L(". ")],-1))]),_:1})):C("",!0)],64)),g("div",os,[m(wt,{modelValue:o.enabled,"onUpdate:modelValue":k[12]||(k[12]=_=>o.enabled=_),"aria-label":"Enabled"},null,8,["modelValue"]),k[18]||(k[18]=g("span",{class:"text-sm"},"Enabled",-1))]),m(ue,{label:"Timeout ms (optional)"},{default:T(()=>[m(re,{modelValue:o.timeout,"onUpdate:modelValue":k[13]||(k[13]=_=>o.timeout=_),type:"number","aria-label":"Timeout",class:"w-full"},null,8,["modelValue"])]),_:1}),g("div",rs,[m(P,{label:"Cancel",color:"neutral",variant:"outline",disabled:w.value,onClick:se},null,8,["disabled"]),m(P,{label:p.value==="add"?"Add":"Save",icon:"i-lucide-check",color:"primary",loading:w.value,disabled:!H.value||!!(q.value&&o.authPaste.trim()&&!J.value),onClick:h},null,8,["label","loading","disabled"])])]))])}}}),us=/^[a-zA-Z0-9_-]{1,50}$/,Fe=[{label:"Run started",value:"run.started"},{label:"Run succeeded",value:"run.succeeded"},{label:"Run failed",value:"run.failed"},{label:"Run cancelled",value:"run.cancelled"},{label:"Merge/pull request created",value:"mr.created"},{label:"Merge/pull request updated",value:"mr.updated"}];function ds(e){const n={};for(const l of e)l.key.trim()&&(n[l.key.trim()]=l.value);return n}function xt(e){if(e.events.length===0)return null;const n=e.url.trim();return/^https?:\/\//i.test(n)?{url:n,events:[...e.events],headers:ds(e.headerRows),enabled:e.enabled}:null}function cs(e){return us.test(e.name)?xt(e)!==null:!1}const ps={class:"space-y-3"},vs={key:0,class:"space-y-2"},fs={key:1,class:"text-sm text-muted py-6 text-center"},ms={key:2,class:"divide-y divide-default"},gs={class:"min-w-0"},hs={class:"text-sm text-default"},bs={class:"ml-2"},ys={class:"text-xs text-dimmed"},ks={key:0},xs={key:1},_s={class:"flex items-center gap-1 shrink-0"},ws={key:3,class:"rounded-md border border-default p-3 space-y-2"},Ss={class:"flex items-center justify-between"},$s={class:"text-sm font-medium text-default"},Is={class:"text-xs overflow-auto max-h-60 bg-elevated rounded p-2"},Vs={class:"text-xs overflow-auto max-h-40 bg-elevated rounded p-2"},Cs=Y({__name:"WebhookDeliveriesSlideover",props:Ae({basePath:{},name:{}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:["update:open"],setup(e){const n=Me(e,"open"),l=e,a=Te(),c=M([]),r=M(!1),s=M(null),v=M(null);function x(p){return Fe.find(o=>o.value===p)?.label??p}function u(p){return p==="succeeded"?"success":p==="failed"?"error":p==="delivering"?"warning":"neutral"}function d(p){return new Date(p*1e3).toLocaleString(void 0,{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}ce(n,async p=>{!p||!l.name||(s.value=null,await y())});async function y(){if(!l.name)return;r.value=!0;const{data:p}=await Q(`${l.basePath}/${encodeURIComponent(l.name)}/deliveries`);r.value=!1,c.value=p?.deliveries??[]}async function w(p){if(!l.name)return;const{data:o}=await Q(`${l.basePath}/${encodeURIComponent(l.name)}/deliveries/${p}`);s.value=o?.delivery??null}async function R(p){if(!l.name)return;v.value=p;const{status:o}=await Q(`${l.basePath}/${encodeURIComponent(l.name)}/deliveries/${p}/replay`,{method:"POST"});v.value=null,o===200&&(a.add({title:"Delivery re-queued",color:"success",icon:"i-lucide-check-circle"}),await y())}return(p,o)=>{const V=Ee,$=we,U=ge,N=Nt;return i(),E(N,{open:n.value,"onUpdate:open":o[1]||(o[1]=q=>n.value=q),title:"Webhook deliveries",description:e.name??"",ui:{content:"max-w-4xl"}},{body:T(()=>[g("div",ps,[r.value&&c.value.length===0?(i(),b("div",vs,[(i(),b(O,null,le(3,q=>m(V,{key:q,class:"h-10 w-full"})),64))])):c.value.length===0?(i(),b("p",fs,"No deliveries yet.")):(i(),b("ul",ms,[(i(!0),b(O,null,le(c.value,q=>(i(),b("li",{key:q.id,class:"flex items-center justify-between gap-2 py-3"},[g("div",gs,[g("p",hs,[m($,{color:u(q.status),variant:"subtle",size:"sm",label:q.status},null,8,["color","label"]),g("span",bs,A(x(q.event)),1)]),g("p",ys,[L(A(d(q.createdAt))+" · attempts "+A(q.attempts)+" ",1),q.responseStatus?(i(),b("span",ks," · HTTP "+A(q.responseStatus),1)):C("",!0),q.lastError?(i(),b("span",xs," · "+A(q.lastError),1)):C("",!0)])]),g("div",_s,[m(U,{icon:"i-lucide-eye",color:"neutral",variant:"ghost",size:"sm","aria-label":`View delivery ${q.id}`,onClick:H=>w(q.id)},null,8,["aria-label","onClick"]),m(U,{icon:"i-lucide-rotate-ccw",color:"neutral",variant:"ghost",size:"sm","aria-label":`Replay delivery ${q.id}`,loading:v.value===q.id,onClick:H=>R(q.id)},null,8,["aria-label","loading","onClick"])])]))),128))])),s.value?(i(),b("div",ws,[g("div",Ss,[g("p",$s,"Delivery #"+A(s.value.id),1),m(U,{icon:"i-lucide-x",color:"neutral",variant:"ghost",size:"sm","aria-label":"Close delivery",onClick:o[0]||(o[0]=q=>s.value=null)})]),o[3]||(o[3]=g("p",{class:"text-xs text-dimmed"},"Payload",-1)),g("pre",Is,A(s.value.payload),1),s.value.responseBody?(i(),b(O,{key:0},[o[2]||(o[2]=g("p",{class:"text-xs text-dimmed"},"Response",-1)),g("pre",Vs,A(s.value.responseBody),1)],64)):C("",!0)])):C("",!0)])]),_:1},8,["open","description"])}}}),Rs={class:"space-y-4"},qs={key:0,class:"space-y-4"},zs={key:0,class:"space-y-2"},Ms={key:0,class:"divide-y divide-default"},As={class:"flex items-start justify-between gap-2"},Ts={class:"min-w-0"},Es={class:"flex items-center gap-2 flex-wrap"},js={class:"font-medium text-default truncate"},Bs={class:"text-sm text-dimmed truncate"},Us={class:"text-xs text-dimmed"},Ps={class:"flex items-center gap-1 shrink-0"},Ds={key:0,class:"rounded-md border border-default px-3 py-2"},Ns={class:"text-xs break-all text-default"},Fs={key:1,class:"text-center py-4 text-muted"},Os={key:1,class:"space-y-4"},Ls={class:"flex items-center gap-2"},Ks={key:0,class:"flex items-center gap-2 rounded-md border border-default px-3 py-2"},Ws={class:"flex items-center justify-end gap-2"},gn=Y({__name:"WebhookConfigPanel",props:{project:{default:null},scope:{default:"project"}},setup(e){const n=e,l=Te(),a=B(()=>n.scope==="global"),c=B(()=>a.value?"/api/settings/webhooks":`/api/projects/${n.project?.projectId}/webhooks`),r=B(()=>a.value||n.project!==null),s=M([]),v=M(!1),x=M(!1),u=M(null),d=M(null),y=M({}),w=M(null),R=M(null),p=M(null),o=M(!1),V=M(null),$=We({name:"",url:"",events:[],headerRows:[],enabled:!0}),U=M({}),N=B(()=>cs($)),q=Fe;ye(()=>{H()});async function H(){if(!r.value)return;v.value=!0;const{data:I,error:h,status:J}=await Q(c.value);if(v.value=!1,h){J!==401&&l.add({title:"Failed to load webhooks",description:h,color:"error",icon:"i-lucide-alert-circle"}),s.value=[];return}s.value=I?.webhooks??[]}function K(I){return Fe.find(h=>h.value===I)?.label??I}function ee(){j(),p.value="add"}function z(I){j(),p.value=I.name,$.name=I.name,$.url=I.url,$.events=[...I.events],$.enabled=I.enabled,$.headerRows=I.headers.map(h=>({key:h.name,value:""}))}function S(){p.value=null}function j(){$.name="",$.url="",$.events=[],$.headerRows=[],$.enabled=!0,U.value={},w.value=null,R.value=null}async function W(){if(!r.value||!N.value)return;const I=xt($);x.value=!0;const{error:h,status:J,data:ne}=await Q(`${c.value}/${encodeURIComponent($.name)}`,{method:"PUT",body:JSON.stringify({...I,...R.value===$.name?{secret:"rotate"}:{}})});if(x.value=!1,h){J===400&&ne?.issues?(U.value=Object.fromEntries(ne.issues.map(ae=>[ae.path.join("."),ae.message])),l.add({title:"Validation error",description:ne.issues.map(ae=>ae.message).join("; "),color:"error",icon:"i-lucide-alert-circle"})):l.add({title:"Save failed",description:h,color:"error",icon:"i-lucide-alert-circle"});return}l.add({title:p.value==="add"?"Added":"Updated",description:$.name,color:"success",icon:"i-lucide-check-circle"}),delete y.value[$.name],p.value=null,await H()}async function Z(I){if(!r.value)return;const{status:h,error:J}=await Q(`${c.value}/${encodeURIComponent(I)}`,{method:"DELETE"});if(h===204||h===404){l.add({title:"Deleted",description:I,color:"success",icon:"i-lucide-check-circle"}),w.value=null,V.value===I&&(o.value=!1),await H();return}l.add({title:"Delete failed",description:J??"unknown",color:"error",icon:"i-lucide-alert-circle"})}async function G(I){if(!r.value)return;d.value=I;const{data:h,error:J,status:ne}=await Q(`${c.value}/${encodeURIComponent(I)}/secret`);if(d.value=null,ne===404||!h){l.add({title:"Secret unavailable",description:J??"not found",color:"error",icon:"i-lucide-alert-circle"});return}y.value[I]=h.secret}async function te(I){if(!r.value)return;u.value=I;const{data:h,error:J,status:ne}=await Q(`${c.value}/${encodeURIComponent(I)}/test`,{method:"POST"});if(u.value=null,ne!==200||!h){l.add({title:"Test failed",description:J??"unknown",color:"error",icon:"i-lucide-alert-circle"});return}l.add({title:h.ok?"Test delivered":"Test failed",description:h.ok?`HTTP ${h.status}`:h.error||`HTTP ${h.status}`,color:h.ok?"success":"error",icon:h.ok?"i-lucide-check-circle":"i-lucide-alert-circle"})}function se(I){V.value=I,o.value=!0}return(I,h)=>{const J=Ee,ne=we,ae=ge,he=ke,ve=He,fe=Jt,Se=Ge;return i(),b("div",Rs,[p.value===null?(i(),b("div",qs,[h[8]||(h[8]=Ft('<p class="text-sm text-dimmed"> DevBot POSTs signed JSON events to these URLs when a run starts (<code>run.started</code>), reaches a terminal state (<code>run.succeeded</code> / <code>run.failed</code> / <code>run.cancelled</code>) or a merge/pull request is created or updated (<code>mr.created</code> / <code>mr.updated</code>). Requests are signed with <code>X-DevBot-Signature-256</code>. </p>',1)),v.value?(i(),b("div",zs,[(i(),b(O,null,le(3,f=>m(J,{key:f,class:"h-12 w-full"})),64))])):(i(),b(O,{key:1},[s.value.length>0?(i(),b("ul",Ms,[(i(!0),b(O,null,le(s.value,f=>(i(),b("li",{key:f.name,class:"py-3 space-y-2"},[g("div",As,[g("div",Ts,[g("div",Es,[g("p",js,A(f.name),1),f.enabled?C("",!0):(i(),E(ne,{key:0,label:"Disabled",color:"neutral",variant:"subtle",size:"sm"}))]),g("p",Bs,A(f.url),1),g("p",Us,A(f.events.map(K).join(", ")),1)]),g("div",Ps,[m(ae,{icon:d.value===f.name?"i-lucide-loader":"i-lucide-key-round",color:"neutral",variant:"ghost","aria-label":"Reveal signing secret",loading:d.value===f.name,onClick:k=>G(f.name)},null,8,["icon","loading","onClick"]),m(ae,{icon:"i-lucide-send",color:"neutral",variant:"ghost","aria-label":"Send test delivery",loading:u.value===f.name,onClick:k=>te(f.name)},null,8,["loading","onClick"]),m(ae,{icon:"i-lucide-list",color:"neutral",variant:"ghost","aria-label":`View deliveries for ${f.name}`,onClick:k=>se(f.name)},null,8,["aria-label","onClick"]),m(ae,{icon:"i-lucide-pencil",color:"neutral",variant:"ghost","aria-label":"Edit webhook",onClick:k=>z(f)},null,8,["onClick"]),m(ae,{icon:w.value===f.name?"i-lucide-check":"i-lucide-trash",color:w.value===f.name?"error":"neutral",variant:"ghost","aria-label":"Delete webhook",onClick:k=>w.value===f.name?Z(f.name):w.value=f.name},null,8,["icon","color","onClick"])])]),y.value[f.name]?(i(),b("div",Ds,[h[7]||(h[7]=g("p",{class:"text-xs text-dimmed mb-1"},"Signing secret (X-DevBot-Signature-256: sha256=HMAC(body))",-1)),g("code",Ns,A(y.value[f.name]),1)])):C("",!0)]))),128))])):(i(),b("div",Fs,A(a.value?"No global webhooks configured.":"No webhooks configured for this project."),1)),m(ae,{label:"Add webhook",icon:"i-lucide-plus",color:"primary",variant:"outline",class:"w-full justify-center",onClick:ee})],64))])):(i(),b("div",Os,[m(ve,{label:"Name",error:U.value.name??!1},{default:T(()=>[m(he,{modelValue:$.name,"onUpdate:modelValue":h[0]||(h[0]=f=>$.name=f),placeholder:"e.g. ci","aria-label":"Webhook name",class:"w-full",disabled:p.value!=="add"},null,8,["modelValue","disabled"])]),_:1},8,["error"]),m(ve,{label:"URL",error:U.value.url??!1},{default:T(()=>[m(he,{modelValue:$.url,"onUpdate:modelValue":h[1]||(h[1]=f=>$.url=f),placeholder:"https://hooks.example.com/ci","aria-label":"Webhook URL",class:"w-full"},null,8,["modelValue"])]),_:1},8,["error"]),m(ve,{label:"Events",error:U.value.events??!1},{default:T(()=>[m(fe,{modelValue:$.events,"onUpdate:modelValue":h[2]||(h[2]=f=>$.events=f),items:t(q),multiple:"","value-key":"value","label-key":"label",placeholder:"Select events","aria-label":"Webhook events",class:"w-full"},null,8,["modelValue","items"])]),_:1},8,["error"]),m(Ne,{modelValue:$.headerRows,"onUpdate:modelValue":h[3]||(h[3]=f=>$.headerRows=f),label:"Custom headers (empty value keeps the stored one)"},null,8,["modelValue"]),g("div",Ls,[m(Se,{modelValue:$.enabled,"onUpdate:modelValue":h[4]||(h[4]=f=>$.enabled=f),"aria-label":"Enabled"},null,8,["modelValue"]),h[9]||(h[9]=g("span",{class:"text-sm"},"Enabled",-1))]),p.value!=="add"?(i(),b("div",Ks,[m(Se,{"model-value":R.value===$.name,"aria-label":"Rotate signing secret","onUpdate:modelValue":h[5]||(h[5]=f=>R.value=f?$.name:null)},null,8,["model-value"]),h[10]||(h[10]=g("span",{class:"text-sm"},"Rotate signing secret on save",-1))])):C("",!0),h[11]||(h[11]=g("p",{class:"text-xs text-dimmed"},[L(" Requests are POSTed as JSON with "),g("code",null,"X-DevBot-Event"),L(", "),g("code",null,"X-DevBot-Delivery"),L(", and "),g("code",null,"X-DevBot-Signature-256: sha256=<HMAC-SHA256(body)>"),L(". ")],-1)),g("div",Ws,[m(ae,{label:"Cancel",color:"neutral",variant:"outline",disabled:x.value,onClick:S},null,8,["disabled"]),m(ae,{label:p.value==="add"?"Add":"Save",icon:"i-lucide-check",color:"primary",loading:x.value,disabled:!N.value,onClick:W},null,8,["label","loading","disabled"])])])),m(Cs,{open:o.value,"onUpdate:open":h[6]||(h[6]=f=>o.value=f),"base-path":c.value,name:V.value},null,8,["open","base-path","name"])])}}});export{De as A,Qs as D,_e as L,ta as R,vn as _,la as a,an as b,pt as c,He as d,cn as e,pn as f,Da as g,Ge as h,tn as i,on as j,Xs as k,gn as l,dn as m,mn as n,fn as o,nn as p,Ys as q,en as r,wa as s,un as t,Xt as u,sn as v,ln as w,rn as x};
@@ -0,0 +1 @@
1
+ import{d as c,e as i,c as a,f as r,t as e}from"./index-C5RBBrPj.js";const m={class:"min-w-0"},d={class:"text-sm text-dimmed truncate"},k=c({__name:"WorkItemCell",props:{workItemIid:{},workItemTitle:{},projectPath:{},projectId:{}},emits:["open"],setup(t,{emit:n}){const s=n;return(l,o)=>(i(),a("div",m,[r("button",{type:"button",class:"font-medium text-primary hover:underline truncate block text-left bg-transparent border-0 p-0 cursor-pointer",onClick:o[0]||(o[0]=p=>s("open"))}," #"+e(t.workItemIid)+" "+e(t.workItemTitle),1),r("p",d,e(t.projectPath||`project ${t.projectId}`),1)]))}});export{k as _};
@@ -0,0 +1,4 @@
1
+ import{a3 as ut,a6 as Te,q as Se,r as _t,ac as Ft,d as xt,aC as $t,u as C,R as Pt,S as Vt,ar as It,aD as Mt,am as Qe,m as G,ae as et,T as Dt,U as At,e as F,c as I,a as se,w as xe,f as q,af as Y,X as D,F as H,g as j,D as N,E as ce,j as X,l as tt,t as nt,h as ee,P as Ot,s as zt,x as L,aE as Et,aF as Gt,Z as Ht,$ as Lt,ag as at,ah as Ee,aG as kt,aH as qt,o as Tt,ab as Bt,aa as bt}from"./index-C5RBBrPj.js";import{u as jt}from"./DashboardSidebarCollapse-rIuzCmVm.js";function Nt(e){return e?e[0].toUpperCase()+e.slice(1):""}function W(e,o){return typeof e=="function"?e(o):e}function k(e,o){return t=>{o.setState(n=>({...n,[e]:W(t,n[e])}))}}function Ce(e){return e instanceof Function}function Ut(e){return Array.isArray(e)&&e.every(o=>typeof o=="number")}function Xt(e,o){const t=[],n=i=>{i.forEach(r=>{t.push(r);const l=o(r);l!=null&&l.length&&n(l)})};return n(e),t}function w(e,o,t){let n=[],i;return r=>{let l;t.key&&t.debug&&(l=Date.now());const s=e(r);if(!(s.length!==n.length||s.some((c,v)=>n[v]!==c)))return i;n=s;let d;if(t.key&&t.debug&&(d=Date.now()),i=o(...s),t==null||t.onChange==null||t.onChange(i),t.key&&t.debug&&t!=null&&t.debug()){const c=Math.round((Date.now()-l)*100)/100,v=Math.round((Date.now()-d)*100)/100,g=v/16,u=(f,p)=>{for(f=String(f);f.length<p;)f=" "+f;return f};console.info(`%c⏱ ${u(v,5)} /${u(c,5)} ms`,`
2
+ font-size: .6rem;
3
+ font-weight: bold;
4
+ color: hsl(${Math.max(0,Math.min(120-120*g,120))}deg 100% 31%);`,t?.key)}return i}}function h(e,o,t,n){return{debug:()=>{var i;return(i=e?.debugAll)!=null?i:e[o]},key:!1,onChange:n}}function Wt(e,o,t,n){const i=()=>{var l;return(l=r.getValue())!=null?l:e.options.renderFallbackValue},r={id:`${o.id}_${t.id}`,row:o,column:t,getValue:()=>o.getValue(n),renderValue:i,getContext:w(()=>[e,t,o,r],(l,s,a,d)=>({table:l,column:s,row:a,cell:d,getValue:d.getValue,renderValue:d.renderValue}),h(e.options,"debugCells"))};return e._features.forEach(l=>{l.createCell==null||l.createCell(r,t,o,e)},{}),r}function Kt(e,o,t,n){var i,r;const s={...e._getDefaultColumnDef(),...o},a=s.accessorKey;let d=(i=(r=s.id)!=null?r:a?typeof String.prototype.replaceAll=="function"?a.replaceAll(".","_"):a.replace(/\./g,"_"):void 0)!=null?i:typeof s.header=="string"?s.header:void 0,c;if(s.accessorFn?c=s.accessorFn:a&&(a.includes(".")?c=g=>{let u=g;for(const p of a.split(".")){var f;u=(f=u)==null?void 0:f[p]}return u}:c=g=>g[s.accessorKey]),!d)throw new Error;let v={id:`${String(d)}`,accessorFn:c,parent:n,depth:t,columnDef:s,columns:[],getFlatColumns:w(()=>[!0],()=>{var g;return[v,...(g=v.columns)==null?void 0:g.flatMap(u=>u.getFlatColumns())]},h(e.options,"debugColumns")),getLeafColumns:w(()=>[e._getOrderColumnsFn()],g=>{var u;if((u=v.columns)!=null&&u.length){let f=v.columns.flatMap(p=>p.getLeafColumns());return g(f)}return[v]},h(e.options,"debugColumns"))};for(const g of e._features)g.createColumn==null||g.createColumn(v,e);return v}const A="debugHeaders";function ot(e,o,t){var n;let r={id:(n=t.id)!=null?n:o.id,column:o,index:t.index,isPlaceholder:!!t.isPlaceholder,placeholderId:t.placeholderId,depth:t.depth,subHeaders:[],colSpan:0,rowSpan:0,headerGroup:null,getLeafHeaders:()=>{const l=[],s=a=>{a.subHeaders&&a.subHeaders.length&&a.subHeaders.map(s),l.push(a)};return s(r),l},getContext:()=>({table:e,header:r,column:o})};return e._features.forEach(l=>{l.createHeader==null||l.createHeader(r,e)}),r}const Yt={createTable:e=>{e.getHeaderGroups=w(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(o,t,n,i)=>{var r,l;const s=(r=n?.map(v=>t.find(g=>g.id===v)).filter(Boolean))!=null?r:[],a=(l=i?.map(v=>t.find(g=>g.id===v)).filter(Boolean))!=null?l:[],d=t.filter(v=>!(n!=null&&n.includes(v.id))&&!(i!=null&&i.includes(v.id)));return fe(o,[...s,...d,...a],e)},h(e.options,A)),e.getCenterHeaderGroups=w(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(o,t,n,i)=>(t=t.filter(r=>!(n!=null&&n.includes(r.id))&&!(i!=null&&i.includes(r.id))),fe(o,t,e,"center")),h(e.options,A)),e.getLeftHeaderGroups=w(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left],(o,t,n)=>{var i;const r=(i=n?.map(l=>t.find(s=>s.id===l)).filter(Boolean))!=null?i:[];return fe(o,r,e,"left")},h(e.options,A)),e.getRightHeaderGroups=w(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.right],(o,t,n)=>{var i;const r=(i=n?.map(l=>t.find(s=>s.id===l)).filter(Boolean))!=null?i:[];return fe(o,r,e,"right")},h(e.options,A)),e.getFooterGroups=w(()=>[e.getHeaderGroups()],o=>[...o].reverse(),h(e.options,A)),e.getLeftFooterGroups=w(()=>[e.getLeftHeaderGroups()],o=>[...o].reverse(),h(e.options,A)),e.getCenterFooterGroups=w(()=>[e.getCenterHeaderGroups()],o=>[...o].reverse(),h(e.options,A)),e.getRightFooterGroups=w(()=>[e.getRightHeaderGroups()],o=>[...o].reverse(),h(e.options,A)),e.getFlatHeaders=w(()=>[e.getHeaderGroups()],o=>o.map(t=>t.headers).flat(),h(e.options,A)),e.getLeftFlatHeaders=w(()=>[e.getLeftHeaderGroups()],o=>o.map(t=>t.headers).flat(),h(e.options,A)),e.getCenterFlatHeaders=w(()=>[e.getCenterHeaderGroups()],o=>o.map(t=>t.headers).flat(),h(e.options,A)),e.getRightFlatHeaders=w(()=>[e.getRightHeaderGroups()],o=>o.map(t=>t.headers).flat(),h(e.options,A)),e.getCenterLeafHeaders=w(()=>[e.getCenterFlatHeaders()],o=>o.filter(t=>{var n;return!((n=t.subHeaders)!=null&&n.length)}),h(e.options,A)),e.getLeftLeafHeaders=w(()=>[e.getLeftFlatHeaders()],o=>o.filter(t=>{var n;return!((n=t.subHeaders)!=null&&n.length)}),h(e.options,A)),e.getRightLeafHeaders=w(()=>[e.getRightFlatHeaders()],o=>o.filter(t=>{var n;return!((n=t.subHeaders)!=null&&n.length)}),h(e.options,A)),e.getLeafHeaders=w(()=>[e.getLeftHeaderGroups(),e.getCenterHeaderGroups(),e.getRightHeaderGroups()],(o,t,n)=>{var i,r,l,s,a,d;return[...(i=(r=o[0])==null?void 0:r.headers)!=null?i:[],...(l=(s=t[0])==null?void 0:s.headers)!=null?l:[],...(a=(d=n[0])==null?void 0:d.headers)!=null?a:[]].map(c=>c.getLeafHeaders()).flat()},h(e.options,A))}};function fe(e,o,t,n){var i,r;let l=0;const s=function(g,u){u===void 0&&(u=1),l=Math.max(l,u),g.filter(f=>f.getIsVisible()).forEach(f=>{var p;(p=f.columns)!=null&&p.length&&s(f.columns,u+1)},0)};s(e);let a=[];const d=(g,u)=>{const f={depth:u,id:[n,`${u}`].filter(Boolean).join("_"),headers:[]},p=[];g.forEach(R=>{const _=[...p].reverse()[0],$=R.column.depth===f.depth;let P,O=!1;if($&&R.column.parent?P=R.column.parent:(P=R.column,O=!0),_&&_?.column===P)_.subHeaders.push(R);else{const M=ot(t,P,{id:[n,u,P.id,R?.id].filter(Boolean).join("_"),isPlaceholder:O,placeholderId:O?`${p.filter(B=>B.column===P).length}`:void 0,depth:u,index:p.length});M.subHeaders.push(R),p.push(M)}f.headers.push(R),R.headerGroup=f}),a.push(f),u>0&&d(p,u-1)},c=o.map((g,u)=>ot(t,g,{depth:l,index:u}));d(c,l-1),a.reverse();const v=g=>g.filter(f=>f.column.getIsVisible()).map(f=>{let p=0,R=0,_=[0];f.subHeaders&&f.subHeaders.length?(_=[],v(f.subHeaders).forEach(P=>{let{colSpan:O,rowSpan:M}=P;p+=O,_.push(M)})):p=1;const $=Math.min(..._);return R=R+$,f.colSpan=p,f.rowSpan=R,{colSpan:p,rowSpan:R}});return v((i=(r=a[0])==null?void 0:r.headers)!=null?i:[]),a}const Be=(e,o,t,n,i,r,l)=>{let s={id:o,index:n,original:t,depth:i,parentId:l,_valuesCache:{},_uniqueValuesCache:{},getValue:a=>{if(s._valuesCache.hasOwnProperty(a))return s._valuesCache[a];const d=e.getColumn(a);if(d!=null&&d.accessorFn)return s._valuesCache[a]=d.accessorFn(s.original,n),s._valuesCache[a]},getUniqueValues:a=>{if(s._uniqueValuesCache.hasOwnProperty(a))return s._uniqueValuesCache[a];const d=e.getColumn(a);if(d!=null&&d.accessorFn)return d.columnDef.getUniqueValues?(s._uniqueValuesCache[a]=d.columnDef.getUniqueValues(s.original,n),s._uniqueValuesCache[a]):(s._uniqueValuesCache[a]=[s.getValue(a)],s._uniqueValuesCache[a])},renderValue:a=>{var d;return(d=s.getValue(a))!=null?d:e.options.renderFallbackValue},subRows:[],getLeafRows:()=>Xt(s.subRows,a=>a.subRows),getParentRow:()=>s.parentId?e.getRow(s.parentId,!0):void 0,getParentRows:()=>{let a=[],d=s;for(;;){const c=d.getParentRow();if(!c)break;a.push(c),d=c}return a.reverse()},getAllCells:w(()=>[e.getAllLeafColumns()],a=>a.map(d=>Wt(e,s,d,d.id)),h(e.options,"debugRows")),_getAllCellsByColumnId:w(()=>[s.getAllCells()],a=>a.reduce((d,c)=>(d[c.column.id]=c,d),{}),h(e.options,"debugRows"))};for(let a=0;a<e._features.length;a++){const d=e._features[a];d==null||d.createRow==null||d.createRow(s,e)}return s},Zt={createColumn:(e,o)=>{e._getFacetedRowModel=o.options.getFacetedRowModel&&o.options.getFacetedRowModel(o,e.id),e.getFacetedRowModel=()=>e._getFacetedRowModel?e._getFacetedRowModel():o.getPreFilteredRowModel(),e._getFacetedUniqueValues=o.options.getFacetedUniqueValues&&o.options.getFacetedUniqueValues(o,e.id),e.getFacetedUniqueValues=()=>e._getFacetedUniqueValues?e._getFacetedUniqueValues():new Map,e._getFacetedMinMaxValues=o.options.getFacetedMinMaxValues&&o.options.getFacetedMinMaxValues(o,e.id),e.getFacetedMinMaxValues=()=>{if(e._getFacetedMinMaxValues)return e._getFacetedMinMaxValues()}}},gt=(e,o,t)=>{var n,i;const r=t==null||(n=t.toString())==null?void 0:n.toLowerCase();return!!(!((i=e.getValue(o))==null||(i=i.toString())==null||(i=i.toLowerCase())==null)&&i.includes(r))};gt.autoRemove=e=>T(e);const dt=(e,o,t)=>{var n;return!!(!((n=e.getValue(o))==null||(n=n.toString())==null)&&n.includes(t))};dt.autoRemove=e=>T(e);const ct=(e,o,t)=>{var n;return((n=e.getValue(o))==null||(n=n.toString())==null?void 0:n.toLowerCase())===t?.toLowerCase()};ct.autoRemove=e=>T(e);const ft=(e,o,t)=>{var n;return(n=e.getValue(o))==null?void 0:n.includes(t)};ft.autoRemove=e=>T(e);const pt=(e,o,t)=>!t.some(n=>{var i;return!((i=e.getValue(o))!=null&&i.includes(n))});pt.autoRemove=e=>T(e)||!(e!=null&&e.length);const mt=(e,o,t)=>t.some(n=>{var i;return(i=e.getValue(o))==null?void 0:i.includes(n)});mt.autoRemove=e=>T(e)||!(e!=null&&e.length);const vt=(e,o,t)=>e.getValue(o)===t;vt.autoRemove=e=>T(e);const St=(e,o,t)=>e.getValue(o)==t;St.autoRemove=e=>T(e);const be=(e,o,t)=>{let[n,i]=t;const r=e.getValue(o);return r>=n&&r<=i};be.resolveFilterValue=e=>{let[o,t]=e,n=typeof o!="number"?parseFloat(o):o,i=typeof t!="number"?parseFloat(t):t,r=o===null||Number.isNaN(n)?-1/0:n,l=t===null||Number.isNaN(i)?1/0:i;if(r>l){const s=r;r=l,l=s}return[r,l]};be.autoRemove=e=>T(e)||T(e[0])&&T(e[1]);const U={includesString:gt,includesStringSensitive:dt,equalsString:ct,arrIncludes:ft,arrIncludesAll:pt,arrIncludesSome:mt,equals:vt,weakEquals:St,inNumberRange:be};function T(e){return e==null||e===""}const Jt={getDefaultColumnDef:()=>({filterFn:"auto"}),getInitialState:e=>({columnFilters:[],...e}),getDefaultOptions:e=>({onColumnFiltersChange:k("columnFilters",e),filterFromLeafRows:!1,maxLeafRowFilterDepth:100}),createColumn:(e,o)=>{e.getAutoFilterFn=()=>{const t=o.getCoreRowModel().flatRows[0],n=t?.getValue(e.id);return typeof n=="string"?U.includesString:typeof n=="number"?U.inNumberRange:typeof n=="boolean"||n!==null&&typeof n=="object"?U.equals:Array.isArray(n)?U.arrIncludes:U.weakEquals},e.getFilterFn=()=>{var t,n;return Ce(e.columnDef.filterFn)?e.columnDef.filterFn:e.columnDef.filterFn==="auto"?e.getAutoFilterFn():(t=(n=o.options.filterFns)==null?void 0:n[e.columnDef.filterFn])!=null?t:U[e.columnDef.filterFn]},e.getCanFilter=()=>{var t,n,i;return((t=e.columnDef.enableColumnFilter)!=null?t:!0)&&((n=o.options.enableColumnFilters)!=null?n:!0)&&((i=o.options.enableFilters)!=null?i:!0)&&!!e.accessorFn},e.getIsFiltered=()=>e.getFilterIndex()>-1,e.getFilterValue=()=>{var t;return(t=o.getState().columnFilters)==null||(t=t.find(n=>n.id===e.id))==null?void 0:t.value},e.getFilterIndex=()=>{var t,n;return(t=(n=o.getState().columnFilters)==null?void 0:n.findIndex(i=>i.id===e.id))!=null?t:-1},e.setFilterValue=t=>{o.setColumnFilters(n=>{const i=e.getFilterFn(),r=n?.find(c=>c.id===e.id),l=W(t,r?r.value:void 0);if(it(i,l,e)){var s;return(s=n?.filter(c=>c.id!==e.id))!=null?s:[]}const a={id:e.id,value:l};if(r){var d;return(d=n?.map(c=>c.id===e.id?a:c))!=null?d:[]}return n!=null&&n.length?[...n,a]:[a]})}},createRow:(e,o)=>{e.columnFilters={},e.columnFiltersMeta={}},createTable:e=>{e.setColumnFilters=o=>{const t=e.getAllLeafColumns(),n=i=>{var r;return(r=W(o,i))==null?void 0:r.filter(l=>{const s=t.find(a=>a.id===l.id);if(s){const a=s.getFilterFn();if(it(a,l.value,s))return!1}return!0})};e.options.onColumnFiltersChange==null||e.options.onColumnFiltersChange(n)},e.resetColumnFilters=o=>{var t,n;e.setColumnFilters(o?[]:(t=(n=e.initialState)==null?void 0:n.columnFilters)!=null?t:[])},e.getPreFilteredRowModel=()=>e.getCoreRowModel(),e.getFilteredRowModel=()=>(!e._getFilteredRowModel&&e.options.getFilteredRowModel&&(e._getFilteredRowModel=e.options.getFilteredRowModel(e)),e.options.manualFiltering||!e._getFilteredRowModel?e.getPreFilteredRowModel():e._getFilteredRowModel())}};function it(e,o,t){return(e&&e.autoRemove?e.autoRemove(o,t):!1)||typeof o>"u"||typeof o=="string"&&!o}const Qt=(e,o,t)=>t.reduce((n,i)=>{const r=i.getValue(e);return n+(typeof r=="number"?r:0)},0),en=(e,o,t)=>{let n;return t.forEach(i=>{const r=i.getValue(e);r!=null&&(n>r||n===void 0&&r>=r)&&(n=r)}),n},tn=(e,o,t)=>{let n;return t.forEach(i=>{const r=i.getValue(e);r!=null&&(n<r||n===void 0&&r>=r)&&(n=r)}),n},nn=(e,o,t)=>{let n,i;return t.forEach(r=>{const l=r.getValue(e);l!=null&&(n===void 0?l>=l&&(n=i=l):(n>l&&(n=l),i<l&&(i=l)))}),[n,i]},on=(e,o)=>{let t=0,n=0;if(o.forEach(i=>{let r=i.getValue(e);r!=null&&(r=+r)>=r&&(++t,n+=r)}),t)return n/t},rn=(e,o)=>{if(!o.length)return;const t=o.map(r=>r.getValue(e));if(!Ut(t))return;if(t.length===1)return t[0];const n=Math.floor(t.length/2),i=t.sort((r,l)=>r-l);return t.length%2!==0?i[n]:(i[n-1]+i[n])/2},ln=(e,o)=>Array.from(new Set(o.map(t=>t.getValue(e))).values()),sn=(e,o)=>new Set(o.map(t=>t.getValue(e))).size,un=(e,o)=>o.length,$e={sum:Qt,min:en,max:tn,extent:nn,mean:on,median:rn,unique:ln,uniqueCount:sn,count:un},an={getDefaultColumnDef:()=>({aggregatedCell:e=>{var o,t;return(o=(t=e.getValue())==null||t.toString==null?void 0:t.toString())!=null?o:null},aggregationFn:"auto"}),getInitialState:e=>({grouping:[],...e}),getDefaultOptions:e=>({onGroupingChange:k("grouping",e),groupedColumnMode:"reorder"}),createColumn:(e,o)=>{e.toggleGrouping=()=>{o.setGrouping(t=>t!=null&&t.includes(e.id)?t.filter(n=>n!==e.id):[...t??[],e.id])},e.getCanGroup=()=>{var t,n;return((t=e.columnDef.enableGrouping)!=null?t:!0)&&((n=o.options.enableGrouping)!=null?n:!0)&&(!!e.accessorFn||!!e.columnDef.getGroupingValue)},e.getIsGrouped=()=>{var t;return(t=o.getState().grouping)==null?void 0:t.includes(e.id)},e.getGroupedIndex=()=>{var t;return(t=o.getState().grouping)==null?void 0:t.indexOf(e.id)},e.getToggleGroupingHandler=()=>{const t=e.getCanGroup();return()=>{t&&e.toggleGrouping()}},e.getAutoAggregationFn=()=>{const t=o.getCoreRowModel().flatRows[0],n=t?.getValue(e.id);if(typeof n=="number")return $e.sum;if(Object.prototype.toString.call(n)==="[object Date]")return $e.extent},e.getAggregationFn=()=>{var t,n;if(!e)throw new Error;return Ce(e.columnDef.aggregationFn)?e.columnDef.aggregationFn:e.columnDef.aggregationFn==="auto"?e.getAutoAggregationFn():(t=(n=o.options.aggregationFns)==null?void 0:n[e.columnDef.aggregationFn])!=null?t:$e[e.columnDef.aggregationFn]}},createTable:e=>{e.setGrouping=o=>e.options.onGroupingChange==null?void 0:e.options.onGroupingChange(o),e.resetGrouping=o=>{var t,n;e.setGrouping(o?[]:(t=(n=e.initialState)==null?void 0:n.grouping)!=null?t:[])},e.getPreGroupedRowModel=()=>e.getFilteredRowModel(),e.getGroupedRowModel=()=>(!e._getGroupedRowModel&&e.options.getGroupedRowModel&&(e._getGroupedRowModel=e.options.getGroupedRowModel(e)),e.options.manualGrouping||!e._getGroupedRowModel?e.getPreGroupedRowModel():e._getGroupedRowModel())},createRow:(e,o)=>{e.getIsGrouped=()=>!!e.groupingColumnId,e.getGroupingValue=t=>{if(e._groupingValuesCache.hasOwnProperty(t))return e._groupingValuesCache[t];const n=o.getColumn(t);return n!=null&&n.columnDef.getGroupingValue?(e._groupingValuesCache[t]=n.columnDef.getGroupingValue(e.original),e._groupingValuesCache[t]):e.getValue(t)},e._groupingValuesCache={}},createCell:(e,o,t,n)=>{e.getIsGrouped=()=>o.getIsGrouped()&&o.id===t.groupingColumnId,e.getIsPlaceholder=()=>!e.getIsGrouped()&&o.getIsGrouped(),e.getIsAggregated=()=>{var i;return!e.getIsGrouped()&&!e.getIsPlaceholder()&&!!((i=t.subRows)!=null&&i.length)}}};function gn(e,o,t){if(!(o!=null&&o.length)||!t)return e;const n=e.filter(r=>!o.includes(r.id));return t==="remove"?n:[...o.map(r=>e.find(l=>l.id===r)).filter(Boolean),...n]}const dn={getInitialState:e=>({columnOrder:[],...e}),getDefaultOptions:e=>({onColumnOrderChange:k("columnOrder",e)}),createColumn:(e,o)=>{e.getIndex=w(t=>[ge(o,t)],t=>t.findIndex(n=>n.id===e.id),h(o.options,"debugColumns")),e.getIsFirstColumn=t=>{var n;return((n=ge(o,t)[0])==null?void 0:n.id)===e.id},e.getIsLastColumn=t=>{var n;const i=ge(o,t);return((n=i[i.length-1])==null?void 0:n.id)===e.id}},createTable:e=>{e.setColumnOrder=o=>e.options.onColumnOrderChange==null?void 0:e.options.onColumnOrderChange(o),e.resetColumnOrder=o=>{var t;e.setColumnOrder(o?[]:(t=e.initialState.columnOrder)!=null?t:[])},e._getOrderColumnsFn=w(()=>[e.getState().columnOrder,e.getState().grouping,e.options.groupedColumnMode],(o,t,n)=>i=>{let r=[];if(!(o!=null&&o.length))r=i;else{const l=[...o],s=[...i];for(;s.length&&l.length;){const a=l.shift(),d=s.findIndex(c=>c.id===a);d>-1&&r.push(s.splice(d,1)[0])}r=[...r,...s]}return gn(r,t,n)},h(e.options,"debugTable"))}},Pe=()=>({left:[],right:[]}),cn={getInitialState:e=>({columnPinning:Pe(),...e}),getDefaultOptions:e=>({onColumnPinningChange:k("columnPinning",e)}),createColumn:(e,o)=>{e.pin=t=>{const n=e.getLeafColumns().map(i=>i.id).filter(Boolean);o.setColumnPinning(i=>{var r,l;if(t==="right"){var s,a;return{left:((s=i?.left)!=null?s:[]).filter(v=>!(n!=null&&n.includes(v))),right:[...((a=i?.right)!=null?a:[]).filter(v=>!(n!=null&&n.includes(v))),...n]}}if(t==="left"){var d,c;return{left:[...((d=i?.left)!=null?d:[]).filter(v=>!(n!=null&&n.includes(v))),...n],right:((c=i?.right)!=null?c:[]).filter(v=>!(n!=null&&n.includes(v)))}}return{left:((r=i?.left)!=null?r:[]).filter(v=>!(n!=null&&n.includes(v))),right:((l=i?.right)!=null?l:[]).filter(v=>!(n!=null&&n.includes(v)))}})},e.getCanPin=()=>e.getLeafColumns().some(n=>{var i,r,l;return((i=n.columnDef.enablePinning)!=null?i:!0)&&((r=(l=o.options.enableColumnPinning)!=null?l:o.options.enablePinning)!=null?r:!0)}),e.getIsPinned=()=>{const t=e.getLeafColumns().map(s=>s.id),{left:n,right:i}=o.getState().columnPinning,r=t.some(s=>n?.includes(s)),l=t.some(s=>i?.includes(s));return r?"left":l?"right":!1},e.getPinnedIndex=()=>{var t,n;const i=e.getIsPinned();return i?(t=(n=o.getState().columnPinning)==null||(n=n[i])==null?void 0:n.indexOf(e.id))!=null?t:-1:0}},createRow:(e,o)=>{e.getCenterVisibleCells=w(()=>[e._getAllVisibleCells(),o.getState().columnPinning.left,o.getState().columnPinning.right],(t,n,i)=>{const r=[...n??[],...i??[]];return t.filter(l=>!r.includes(l.column.id))},h(o.options,"debugRows")),e.getLeftVisibleCells=w(()=>[e._getAllVisibleCells(),o.getState().columnPinning.left],(t,n)=>(n??[]).map(r=>t.find(l=>l.column.id===r)).filter(Boolean).map(r=>({...r,position:"left"})),h(o.options,"debugRows")),e.getRightVisibleCells=w(()=>[e._getAllVisibleCells(),o.getState().columnPinning.right],(t,n)=>(n??[]).map(r=>t.find(l=>l.column.id===r)).filter(Boolean).map(r=>({...r,position:"right"})),h(o.options,"debugRows"))},createTable:e=>{e.setColumnPinning=o=>e.options.onColumnPinningChange==null?void 0:e.options.onColumnPinningChange(o),e.resetColumnPinning=o=>{var t,n;return e.setColumnPinning(o?Pe():(t=(n=e.initialState)==null?void 0:n.columnPinning)!=null?t:Pe())},e.getIsSomeColumnsPinned=o=>{var t;const n=e.getState().columnPinning;if(!o){var i,r;return!!((i=n.left)!=null&&i.length||(r=n.right)!=null&&r.length)}return!!((t=n[o])!=null&&t.length)},e.getLeftLeafColumns=w(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left],(o,t)=>(t??[]).map(n=>o.find(i=>i.id===n)).filter(Boolean),h(e.options,"debugColumns")),e.getRightLeafColumns=w(()=>[e.getAllLeafColumns(),e.getState().columnPinning.right],(o,t)=>(t??[]).map(n=>o.find(i=>i.id===n)).filter(Boolean),h(e.options,"debugColumns")),e.getCenterLeafColumns=w(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(o,t,n)=>{const i=[...t??[],...n??[]];return o.filter(r=>!i.includes(r.id))},h(e.options,"debugColumns"))}};function fn(e){return e||(typeof document<"u"?document:null)}const pe={size:150,minSize:20,maxSize:Number.MAX_SAFE_INTEGER},Ve=()=>({startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,isResizingColumn:!1,columnSizingStart:[]}),pn={getDefaultColumnDef:()=>pe,getInitialState:e=>({columnSizing:{},columnSizingInfo:Ve(),...e}),getDefaultOptions:e=>({columnResizeMode:"onEnd",columnResizeDirection:"ltr",onColumnSizingChange:k("columnSizing",e),onColumnSizingInfoChange:k("columnSizingInfo",e)}),createColumn:(e,o)=>{e.getSize=()=>{var t,n,i;const r=o.getState().columnSizing[e.id];return Math.min(Math.max((t=e.columnDef.minSize)!=null?t:pe.minSize,(n=r??e.columnDef.size)!=null?n:pe.size),(i=e.columnDef.maxSize)!=null?i:pe.maxSize)},e.getStart=w(t=>[t,ge(o,t),o.getState().columnSizing],(t,n)=>n.slice(0,e.getIndex(t)).reduce((i,r)=>i+r.getSize(),0),h(o.options,"debugColumns")),e.getAfter=w(t=>[t,ge(o,t),o.getState().columnSizing],(t,n)=>n.slice(e.getIndex(t)+1).reduce((i,r)=>i+r.getSize(),0),h(o.options,"debugColumns")),e.resetSize=()=>{o.setColumnSizing(t=>{let{[e.id]:n,...i}=t;return i})},e.getCanResize=()=>{var t,n;return((t=e.columnDef.enableResizing)!=null?t:!0)&&((n=o.options.enableColumnResizing)!=null?n:!0)},e.getIsResizing=()=>o.getState().columnSizingInfo.isResizingColumn===e.id},createHeader:(e,o)=>{e.getSize=()=>{let t=0;const n=i=>{if(i.subHeaders.length)i.subHeaders.forEach(n);else{var r;t+=(r=i.column.getSize())!=null?r:0}};return n(e),t},e.getStart=()=>{if(e.index>0){const t=e.headerGroup.headers[e.index-1];return t.getStart()+t.getSize()}return 0},e.getResizeHandler=t=>{const n=o.getColumn(e.column.id),i=n?.getCanResize();return r=>{if(!n||!i||(r.persist==null||r.persist(),Ie(r)&&r.touches&&r.touches.length>1))return;const l=e.getSize(),s=e?e.getLeafHeaders().map(_=>[_.column.id,_.column.getSize()]):[[n.id,n.getSize()]],a=Ie(r)?Math.round(r.touches[0].clientX):r.clientX,d={},c=(_,$)=>{typeof $=="number"&&(o.setColumnSizingInfo(P=>{var O,M;const B=o.options.columnResizeDirection==="rtl"?-1:1,Z=($-((O=P?.startOffset)!=null?O:0))*B,J=Math.max(Z/((M=P?.startSize)!=null?M:0),-.999999);return P.columnSizingStart.forEach(ne=>{let[oe,Q]=ne;d[oe]=Math.round(Math.max(Q+Q*J,0)*100)/100}),{...P,deltaOffset:Z,deltaPercentage:J}}),(o.options.columnResizeMode==="onChange"||_==="end")&&o.setColumnSizing(P=>({...P,...d})))},v=_=>c("move",_),g=_=>{c("end",_),o.setColumnSizingInfo($=>({...$,isResizingColumn:!1,startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,columnSizingStart:[]}))},u=fn(t),f={moveHandler:_=>v(_.clientX),upHandler:_=>{u?.removeEventListener("mousemove",f.moveHandler),u?.removeEventListener("mouseup",f.upHandler),g(_.clientX)}},p={moveHandler:_=>(_.cancelable&&(_.preventDefault(),_.stopPropagation()),v(_.touches[0].clientX),!1),upHandler:_=>{var $;u?.removeEventListener("touchmove",p.moveHandler),u?.removeEventListener("touchend",p.upHandler),_.cancelable&&(_.preventDefault(),_.stopPropagation()),g(($=_.touches[0])==null?void 0:$.clientX)}},R=mn()?{passive:!1}:!1;Ie(r)?(u?.addEventListener("touchmove",p.moveHandler,R),u?.addEventListener("touchend",p.upHandler,R)):(u?.addEventListener("mousemove",f.moveHandler,R),u?.addEventListener("mouseup",f.upHandler,R)),o.setColumnSizingInfo(_=>({..._,startOffset:a,startSize:l,deltaOffset:0,deltaPercentage:0,columnSizingStart:s,isResizingColumn:n.id}))}}},createTable:e=>{e.setColumnSizing=o=>e.options.onColumnSizingChange==null?void 0:e.options.onColumnSizingChange(o),e.setColumnSizingInfo=o=>e.options.onColumnSizingInfoChange==null?void 0:e.options.onColumnSizingInfoChange(o),e.resetColumnSizing=o=>{var t;e.setColumnSizing(o?{}:(t=e.initialState.columnSizing)!=null?t:{})},e.resetHeaderSizeInfo=o=>{var t;e.setColumnSizingInfo(o?Ve():(t=e.initialState.columnSizingInfo)!=null?t:Ve())},e.getTotalSize=()=>{var o,t;return(o=(t=e.getHeaderGroups()[0])==null?void 0:t.headers.reduce((n,i)=>n+i.getSize(),0))!=null?o:0},e.getLeftTotalSize=()=>{var o,t;return(o=(t=e.getLeftHeaderGroups()[0])==null?void 0:t.headers.reduce((n,i)=>n+i.getSize(),0))!=null?o:0},e.getCenterTotalSize=()=>{var o,t;return(o=(t=e.getCenterHeaderGroups()[0])==null?void 0:t.headers.reduce((n,i)=>n+i.getSize(),0))!=null?o:0},e.getRightTotalSize=()=>{var o,t;return(o=(t=e.getRightHeaderGroups()[0])==null?void 0:t.headers.reduce((n,i)=>n+i.getSize(),0))!=null?o:0}}};let me=null;function mn(){if(typeof me=="boolean")return me;let e=!1;try{const o={get passive(){return e=!0,!1}},t=()=>{};window.addEventListener("test",t,o),window.removeEventListener("test",t)}catch{e=!1}return me=e,me}function Ie(e){return e.type==="touchstart"}const vn={getInitialState:e=>({columnVisibility:{},...e}),getDefaultOptions:e=>({onColumnVisibilityChange:k("columnVisibility",e)}),createColumn:(e,o)=>{e.toggleVisibility=t=>{e.getCanHide()&&o.setColumnVisibility(n=>({...n,[e.id]:t??!e.getIsVisible()}))},e.getIsVisible=()=>{var t,n;const i=e.columns;return(t=i.length?i.some(r=>r.getIsVisible()):(n=o.getState().columnVisibility)==null?void 0:n[e.id])!=null?t:!0},e.getCanHide=()=>{var t,n;return((t=e.columnDef.enableHiding)!=null?t:!0)&&((n=o.options.enableHiding)!=null?n:!0)},e.getToggleVisibilityHandler=()=>t=>{e.toggleVisibility==null||e.toggleVisibility(t.target.checked)}},createRow:(e,o)=>{e._getAllVisibleCells=w(()=>[e.getAllCells(),o.getState().columnVisibility],t=>t.filter(n=>n.column.getIsVisible()),h(o.options,"debugRows")),e.getVisibleCells=w(()=>[e.getLeftVisibleCells(),e.getCenterVisibleCells(),e.getRightVisibleCells()],(t,n,i)=>[...t,...n,...i],h(o.options,"debugRows"))},createTable:e=>{const o=(t,n)=>w(()=>[n(),n().filter(i=>i.getIsVisible()).map(i=>i.id).join("_")],i=>i.filter(r=>r.getIsVisible==null?void 0:r.getIsVisible()),h(e.options,"debugColumns"));e.getVisibleFlatColumns=o("getVisibleFlatColumns",()=>e.getAllFlatColumns()),e.getVisibleLeafColumns=o("getVisibleLeafColumns",()=>e.getAllLeafColumns()),e.getLeftVisibleLeafColumns=o("getLeftVisibleLeafColumns",()=>e.getLeftLeafColumns()),e.getRightVisibleLeafColumns=o("getRightVisibleLeafColumns",()=>e.getRightLeafColumns()),e.getCenterVisibleLeafColumns=o("getCenterVisibleLeafColumns",()=>e.getCenterLeafColumns()),e.setColumnVisibility=t=>e.options.onColumnVisibilityChange==null?void 0:e.options.onColumnVisibilityChange(t),e.resetColumnVisibility=t=>{var n;e.setColumnVisibility(t?{}:(n=e.initialState.columnVisibility)!=null?n:{})},e.toggleAllColumnsVisible=t=>{var n;t=(n=t)!=null?n:!e.getIsAllColumnsVisible(),e.setColumnVisibility(e.getAllLeafColumns().reduce((i,r)=>({...i,[r.id]:t||!(r.getCanHide!=null&&r.getCanHide())}),{}))},e.getIsAllColumnsVisible=()=>!e.getAllLeafColumns().some(t=>!(t.getIsVisible!=null&&t.getIsVisible())),e.getIsSomeColumnsVisible=()=>e.getAllLeafColumns().some(t=>t.getIsVisible==null?void 0:t.getIsVisible()),e.getToggleAllColumnsVisibilityHandler=()=>t=>{var n;e.toggleAllColumnsVisible((n=t.target)==null?void 0:n.checked)}}};function ge(e,o){return o?o==="center"?e.getCenterVisibleLeafColumns():o==="left"?e.getLeftVisibleLeafColumns():e.getRightVisibleLeafColumns():e.getVisibleLeafColumns()}const Sn={createTable:e=>{e._getGlobalFacetedRowModel=e.options.getFacetedRowModel&&e.options.getFacetedRowModel(e,"__global__"),e.getGlobalFacetedRowModel=()=>e.options.manualFiltering||!e._getGlobalFacetedRowModel?e.getPreFilteredRowModel():e._getGlobalFacetedRowModel(),e._getGlobalFacetedUniqueValues=e.options.getFacetedUniqueValues&&e.options.getFacetedUniqueValues(e,"__global__"),e.getGlobalFacetedUniqueValues=()=>e._getGlobalFacetedUniqueValues?e._getGlobalFacetedUniqueValues():new Map,e._getGlobalFacetedMinMaxValues=e.options.getFacetedMinMaxValues&&e.options.getFacetedMinMaxValues(e,"__global__"),e.getGlobalFacetedMinMaxValues=()=>{if(e._getGlobalFacetedMinMaxValues)return e._getGlobalFacetedMinMaxValues()}}},Cn={getInitialState:e=>({globalFilter:void 0,...e}),getDefaultOptions:e=>({onGlobalFilterChange:k("globalFilter",e),globalFilterFn:"auto",getColumnCanGlobalFilter:o=>{var t;const n=(t=e.getCoreRowModel().flatRows[0])==null||(t=t._getAllCellsByColumnId()[o.id])==null?void 0:t.getValue();return typeof n=="string"||typeof n=="number"}}),createColumn:(e,o)=>{e.getCanGlobalFilter=()=>{var t,n,i,r;return((t=e.columnDef.enableGlobalFilter)!=null?t:!0)&&((n=o.options.enableGlobalFilter)!=null?n:!0)&&((i=o.options.enableFilters)!=null?i:!0)&&((r=o.options.getColumnCanGlobalFilter==null?void 0:o.options.getColumnCanGlobalFilter(e))!=null?r:!0)&&!!e.accessorFn}},createTable:e=>{e.getGlobalAutoFilterFn=()=>U.includesString,e.getGlobalFilterFn=()=>{var o,t;const{globalFilterFn:n}=e.options;return Ce(n)?n:n==="auto"?e.getGlobalAutoFilterFn():(o=(t=e.options.filterFns)==null?void 0:t[n])!=null?o:U[n]},e.setGlobalFilter=o=>{e.options.onGlobalFilterChange==null||e.options.onGlobalFilterChange(o)},e.resetGlobalFilter=o=>{e.setGlobalFilter(o?void 0:e.initialState.globalFilter)}}},wn={getInitialState:e=>({expanded:{},...e}),getDefaultOptions:e=>({onExpandedChange:k("expanded",e),paginateExpandedRows:!0}),createTable:e=>{let o=!1,t=!1;e._autoResetExpanded=()=>{var n,i;if(!o){e._queue(()=>{o=!0});return}if((n=(i=e.options.autoResetAll)!=null?i:e.options.autoResetExpanded)!=null?n:!e.options.manualExpanding){if(t)return;t=!0,e._queue(()=>{e.resetExpanded(),t=!1})}},e.setExpanded=n=>e.options.onExpandedChange==null?void 0:e.options.onExpandedChange(n),e.toggleAllRowsExpanded=n=>{n??!e.getIsAllRowsExpanded()?e.setExpanded(!0):e.setExpanded({})},e.resetExpanded=n=>{var i,r;e.setExpanded(n?{}:(i=(r=e.initialState)==null?void 0:r.expanded)!=null?i:{})},e.getCanSomeRowsExpand=()=>e.getPrePaginationRowModel().flatRows.some(n=>n.getCanExpand()),e.getToggleAllRowsExpandedHandler=()=>n=>{n.persist==null||n.persist(),e.toggleAllRowsExpanded()},e.getIsSomeRowsExpanded=()=>{const n=e.getState().expanded;return n===!0||Object.values(n).some(Boolean)},e.getIsAllRowsExpanded=()=>{const n=e.getState().expanded;return typeof n=="boolean"?n===!0:!(!Object.keys(n).length||e.getRowModel().flatRows.some(i=>!i.getIsExpanded()))},e.getExpandedDepth=()=>{let n=0;return(e.getState().expanded===!0?Object.keys(e.getRowModel().rowsById):Object.keys(e.getState().expanded)).forEach(r=>{const l=r.split(".");n=Math.max(n,l.length)}),n},e.getPreExpandedRowModel=()=>e.getSortedRowModel(),e.getExpandedRowModel=()=>(!e._getExpandedRowModel&&e.options.getExpandedRowModel&&(e._getExpandedRowModel=e.options.getExpandedRowModel(e)),e.options.manualExpanding||!e._getExpandedRowModel?e.getPreExpandedRowModel():e._getExpandedRowModel())},createRow:(e,o)=>{e.toggleExpanded=t=>{o.setExpanded(n=>{var i;const r=n===!0?!0:!!(n!=null&&n[e.id]);let l={};if(n===!0?Object.keys(o.getRowModel().rowsById).forEach(s=>{l[s]=!0}):l=n,t=(i=t)!=null?i:!r,!r&&t)return{...l,[e.id]:!0};if(r&&!t){const{[e.id]:s,...a}=l;return a}return n})},e.getIsExpanded=()=>{var t;const n=o.getState().expanded;return!!((t=o.options.getIsRowExpanded==null?void 0:o.options.getIsRowExpanded(e))!=null?t:n===!0||n?.[e.id])},e.getCanExpand=()=>{var t,n,i;return(t=o.options.getRowCanExpand==null?void 0:o.options.getRowCanExpand(e))!=null?t:((n=o.options.enableExpanding)!=null?n:!0)&&!!((i=e.subRows)!=null&&i.length)},e.getIsAllParentsExpanded=()=>{let t=!0,n=e;for(;t&&n.parentId;)n=o.getRow(n.parentId,!0),t=n.getIsExpanded();return t},e.getToggleExpandedHandler=()=>{const t=e.getCanExpand();return()=>{t&&e.toggleExpanded()}}}},Ge=0,He=10,Me=()=>({pageIndex:Ge,pageSize:He}),hn={getInitialState:e=>({...e,pagination:{...Me(),...e?.pagination}}),getDefaultOptions:e=>({onPaginationChange:k("pagination",e)}),createTable:e=>{let o=!1,t=!1;e._autoResetPageIndex=()=>{var n,i;if(!o){e._queue(()=>{o=!0});return}if((n=(i=e.options.autoResetAll)!=null?i:e.options.autoResetPageIndex)!=null?n:!e.options.manualPagination){if(t)return;t=!0,e._queue(()=>{e.resetPageIndex(),t=!1})}},e.setPagination=n=>{const i=r=>W(n,r);return e.options.onPaginationChange==null?void 0:e.options.onPaginationChange(i)},e.resetPagination=n=>{var i;e.setPagination(n?Me():(i=e.initialState.pagination)!=null?i:Me())},e.setPageIndex=n=>{e.setPagination(i=>{let r=W(n,i.pageIndex);const l=typeof e.options.pageCount>"u"||e.options.pageCount===-1?Number.MAX_SAFE_INTEGER:e.options.pageCount-1;return r=Math.max(0,Math.min(r,l)),{...i,pageIndex:r}})},e.resetPageIndex=n=>{var i,r;e.setPageIndex(n?Ge:(i=(r=e.initialState)==null||(r=r.pagination)==null?void 0:r.pageIndex)!=null?i:Ge)},e.resetPageSize=n=>{var i,r;e.setPageSize(n?He:(i=(r=e.initialState)==null||(r=r.pagination)==null?void 0:r.pageSize)!=null?i:He)},e.setPageSize=n=>{e.setPagination(i=>{const r=Math.max(1,W(n,i.pageSize)),l=i.pageSize*i.pageIndex,s=Math.floor(l/r);return{...i,pageIndex:s,pageSize:r}})},e.setPageCount=n=>e.setPagination(i=>{var r;let l=W(n,(r=e.options.pageCount)!=null?r:-1);return typeof l=="number"&&(l=Math.max(-1,l)),{...i,pageCount:l}}),e.getPageOptions=w(()=>[e.getPageCount()],n=>{let i=[];return n&&n>0&&(i=[...new Array(n)].fill(null).map((r,l)=>l)),i},h(e.options,"debugTable")),e.getCanPreviousPage=()=>e.getState().pagination.pageIndex>0,e.getCanNextPage=()=>{const{pageIndex:n}=e.getState().pagination,i=e.getPageCount();return i===-1?!0:i===0?!1:n<i-1},e.previousPage=()=>e.setPageIndex(n=>n-1),e.nextPage=()=>e.setPageIndex(n=>n+1),e.firstPage=()=>e.setPageIndex(0),e.lastPage=()=>e.setPageIndex(e.getPageCount()-1),e.getPrePaginationRowModel=()=>e.getExpandedRowModel(),e.getPaginationRowModel=()=>(!e._getPaginationRowModel&&e.options.getPaginationRowModel&&(e._getPaginationRowModel=e.options.getPaginationRowModel(e)),e.options.manualPagination||!e._getPaginationRowModel?e.getPrePaginationRowModel():e._getPaginationRowModel()),e.getPageCount=()=>{var n;return(n=e.options.pageCount)!=null?n:Math.ceil(e.getRowCount()/e.getState().pagination.pageSize)},e.getRowCount=()=>{var n;return(n=e.options.rowCount)!=null?n:e.getPrePaginationRowModel().rows.length}}},De=()=>({top:[],bottom:[]}),Rn={getInitialState:e=>({rowPinning:De(),...e}),getDefaultOptions:e=>({onRowPinningChange:k("rowPinning",e)}),createRow:(e,o)=>{e.pin=(t,n,i)=>{const r=n?e.getLeafRows().map(a=>{let{id:d}=a;return d}):[],l=i?e.getParentRows().map(a=>{let{id:d}=a;return d}):[],s=new Set([...l,e.id,...r]);o.setRowPinning(a=>{var d,c;if(t==="bottom"){var v,g;return{top:((v=a?.top)!=null?v:[]).filter(p=>!(s!=null&&s.has(p))),bottom:[...((g=a?.bottom)!=null?g:[]).filter(p=>!(s!=null&&s.has(p))),...Array.from(s)]}}if(t==="top"){var u,f;return{top:[...((u=a?.top)!=null?u:[]).filter(p=>!(s!=null&&s.has(p))),...Array.from(s)],bottom:((f=a?.bottom)!=null?f:[]).filter(p=>!(s!=null&&s.has(p)))}}return{top:((d=a?.top)!=null?d:[]).filter(p=>!(s!=null&&s.has(p))),bottom:((c=a?.bottom)!=null?c:[]).filter(p=>!(s!=null&&s.has(p)))}})},e.getCanPin=()=>{var t;const{enableRowPinning:n,enablePinning:i}=o.options;return typeof n=="function"?n(e):(t=n??i)!=null?t:!0},e.getIsPinned=()=>{const t=[e.id],{top:n,bottom:i}=o.getState().rowPinning,r=t.some(s=>n?.includes(s)),l=t.some(s=>i?.includes(s));return r?"top":l?"bottom":!1},e.getPinnedIndex=()=>{var t,n;const i=e.getIsPinned();if(!i)return-1;const r=(t=i==="top"?o.getTopRows():o.getBottomRows())==null?void 0:t.map(l=>{let{id:s}=l;return s});return(n=r?.indexOf(e.id))!=null?n:-1}},createTable:e=>{e.setRowPinning=o=>e.options.onRowPinningChange==null?void 0:e.options.onRowPinningChange(o),e.resetRowPinning=o=>{var t,n;return e.setRowPinning(o?De():(t=(n=e.initialState)==null?void 0:n.rowPinning)!=null?t:De())},e.getIsSomeRowsPinned=o=>{var t;const n=e.getState().rowPinning;if(!o){var i,r;return!!((i=n.top)!=null&&i.length||(r=n.bottom)!=null&&r.length)}return!!((t=n[o])!=null&&t.length)},e._getPinnedRows=(o,t,n)=>{var i;return((i=e.options.keepPinnedRows)==null||i?(t??[]).map(l=>{const s=e.getRow(l,!0);return s.getIsAllParentsExpanded()?s:null}):(t??[]).map(l=>o.find(s=>s.id===l))).filter(Boolean).map(l=>({...l,position:n}))},e.getTopRows=w(()=>[e.getRowModel().rows,e.getState().rowPinning.top],(o,t)=>e._getPinnedRows(o,t,"top"),h(e.options,"debugRows")),e.getBottomRows=w(()=>[e.getRowModel().rows,e.getState().rowPinning.bottom],(o,t)=>e._getPinnedRows(o,t,"bottom"),h(e.options,"debugRows")),e.getCenterRows=w(()=>[e.getRowModel().rows,e.getState().rowPinning.top,e.getState().rowPinning.bottom],(o,t,n)=>{const i=new Set([...t??[],...n??[]]);return o.filter(r=>!i.has(r.id))},h(e.options,"debugRows"))}},yn={getInitialState:e=>({rowSelection:{},...e}),getDefaultOptions:e=>({onRowSelectionChange:k("rowSelection",e),enableRowSelection:!0,enableMultiRowSelection:!0,enableSubRowSelection:!0}),createTable:e=>{e.setRowSelection=o=>e.options.onRowSelectionChange==null?void 0:e.options.onRowSelectionChange(o),e.resetRowSelection=o=>{var t;return e.setRowSelection(o?{}:(t=e.initialState.rowSelection)!=null?t:{})},e.toggleAllRowsSelected=o=>{e.setRowSelection(t=>{o=typeof o<"u"?o:!e.getIsAllRowsSelected();const n={...t},i=e.getPreGroupedRowModel().flatRows;return o?i.forEach(r=>{r.getCanSelect()&&(n[r.id]=!0)}):i.forEach(r=>{delete n[r.id]}),n})},e.toggleAllPageRowsSelected=o=>e.setRowSelection(t=>{const n=typeof o<"u"?o:!e.getIsAllPageRowsSelected(),i={...t};return e.getRowModel().rows.forEach(r=>{Le(i,r.id,n,!0,e)}),i}),e.getPreSelectedRowModel=()=>e.getCoreRowModel(),e.getSelectedRowModel=w(()=>[e.getState().rowSelection,e.getCoreRowModel()],(o,t)=>Object.keys(o).length?Ae(e,t):{rows:[],flatRows:[],rowsById:{}},h(e.options,"debugTable")),e.getFilteredSelectedRowModel=w(()=>[e.getState().rowSelection,e.getFilteredRowModel()],(o,t)=>Object.keys(o).length?Ae(e,t):{rows:[],flatRows:[],rowsById:{}},h(e.options,"debugTable")),e.getGroupedSelectedRowModel=w(()=>[e.getState().rowSelection,e.getSortedRowModel()],(o,t)=>Object.keys(o).length?Ae(e,t):{rows:[],flatRows:[],rowsById:{}},h(e.options,"debugTable")),e.getIsAllRowsSelected=()=>{const o=e.getFilteredRowModel().flatRows,{rowSelection:t}=e.getState();let n=!!(o.length&&Object.keys(t).length);return n&&o.some(i=>i.getCanSelect()&&!t[i.id])&&(n=!1),n},e.getIsAllPageRowsSelected=()=>{const o=e.getPaginationRowModel().flatRows.filter(i=>i.getCanSelect()),{rowSelection:t}=e.getState();let n=!!o.length;return n&&o.some(i=>!t[i.id])&&(n=!1),n},e.getIsSomeRowsSelected=()=>{var o;const t=Object.keys((o=e.getState().rowSelection)!=null?o:{}).length;return t>0&&t<e.getFilteredRowModel().flatRows.length},e.getIsSomePageRowsSelected=()=>{const o=e.getPaginationRowModel().flatRows;return e.getIsAllPageRowsSelected()?!1:o.filter(t=>t.getCanSelect()).some(t=>t.getIsSelected()||t.getIsSomeSelected())},e.getToggleAllRowsSelectedHandler=()=>o=>{e.toggleAllRowsSelected(o.target.checked)},e.getToggleAllPageRowsSelectedHandler=()=>o=>{e.toggleAllPageRowsSelected(o.target.checked)}},createRow:(e,o)=>{e.toggleSelected=(t,n)=>{const i=e.getIsSelected();o.setRowSelection(r=>{var l;if(t=typeof t<"u"?t:!i,e.getCanSelect()&&i===t)return r;const s={...r};return Le(s,e.id,t,(l=n?.selectChildren)!=null?l:!0,o),s})},e.getIsSelected=()=>{const{rowSelection:t}=o.getState();return je(e,t)},e.getIsSomeSelected=()=>{const{rowSelection:t}=o.getState();return ke(e,t)==="some"},e.getIsAllSubRowsSelected=()=>{const{rowSelection:t}=o.getState();return ke(e,t)==="all"},e.getCanSelect=()=>{var t;return typeof o.options.enableRowSelection=="function"?o.options.enableRowSelection(e):(t=o.options.enableRowSelection)!=null?t:!0},e.getCanSelectSubRows=()=>{var t;return typeof o.options.enableSubRowSelection=="function"?o.options.enableSubRowSelection(e):(t=o.options.enableSubRowSelection)!=null?t:!0},e.getCanMultiSelect=()=>{var t;return typeof o.options.enableMultiRowSelection=="function"?o.options.enableMultiRowSelection(e):(t=o.options.enableMultiRowSelection)!=null?t:!0},e.getToggleSelectedHandler=()=>{const t=e.getCanSelect();return n=>{var i;t&&e.toggleSelected((i=n.target)==null?void 0:i.checked)}}}},Le=(e,o,t,n,i)=>{var r;const l=i.getRow(o,!0);t?(l.getCanMultiSelect()||Object.keys(e).forEach(s=>delete e[s]),l.getCanSelect()&&(e[o]=!0)):delete e[o],n&&(r=l.subRows)!=null&&r.length&&l.getCanSelectSubRows()&&l.subRows.forEach(s=>Le(e,s.id,t,n,i))};function Ae(e,o){const t=e.getState().rowSelection,n=[],i={},r=function(l,s){return l.map(a=>{var d;const c=je(a,t);if(c&&(n.push(a),i[a.id]=a),(d=a.subRows)!=null&&d.length&&(a={...a,subRows:r(a.subRows)}),c)return a}).filter(Boolean)};return{rows:r(o.rows),flatRows:n,rowsById:i}}function je(e,o){var t;return(t=o[e.id])!=null?t:!1}function ke(e,o,t){var n;if(!((n=e.subRows)!=null&&n.length))return!1;let i=!0,r=!1;return e.subRows.forEach(l=>{if(!(r&&!i)&&(l.getCanSelect()&&(je(l,o)?r=!0:i=!1),l.subRows&&l.subRows.length)){const s=ke(l,o);s==="all"?r=!0:(s==="some"&&(r=!0),i=!1)}}),i?"all":r?"some":!1}const qe=/([0-9]+)/gm,_n=(e,o,t)=>Ct(K(e.getValue(t)).toLowerCase(),K(o.getValue(t)).toLowerCase()),Fn=(e,o,t)=>Ct(K(e.getValue(t)),K(o.getValue(t))),xn=(e,o,t)=>Ne(K(e.getValue(t)).toLowerCase(),K(o.getValue(t)).toLowerCase()),$n=(e,o,t)=>Ne(K(e.getValue(t)),K(o.getValue(t))),Pn=(e,o,t)=>{const n=e.getValue(t),i=o.getValue(t);return n>i?1:n<i?-1:0},Vn=(e,o,t)=>Ne(e.getValue(t),o.getValue(t));function Ne(e,o){return e===o?0:e>o?1:-1}function K(e){return typeof e=="number"?isNaN(e)||e===1/0||e===-1/0?"":String(e):typeof e=="string"?e:""}function Ct(e,o){const t=e.split(qe).filter(Boolean),n=o.split(qe).filter(Boolean);for(;t.length&&n.length;){const i=t.shift(),r=n.shift(),l=parseInt(i,10),s=parseInt(r,10),a=[l,s].sort();if(isNaN(a[0])){if(i>r)return 1;if(r>i)return-1;continue}if(isNaN(a[1]))return isNaN(l)?-1:1;if(l>s)return 1;if(s>l)return-1}return t.length-n.length}const ue={alphanumeric:_n,alphanumericCaseSensitive:Fn,text:xn,textCaseSensitive:$n,datetime:Pn,basic:Vn},In={getInitialState:e=>({sorting:[],...e}),getDefaultColumnDef:()=>({sortingFn:"auto",sortUndefined:1}),getDefaultOptions:e=>({onSortingChange:k("sorting",e),isMultiSortEvent:o=>o.shiftKey}),createColumn:(e,o)=>{e.getAutoSortingFn=()=>{const t=o.getFilteredRowModel().flatRows.slice(10);let n=!1;for(const i of t){const r=i?.getValue(e.id);if(Object.prototype.toString.call(r)==="[object Date]")return ue.datetime;if(typeof r=="string"&&(n=!0,r.split(qe).length>1))return ue.alphanumeric}return n?ue.text:ue.basic},e.getAutoSortDir=()=>{const t=o.getFilteredRowModel().flatRows[0];return typeof t?.getValue(e.id)=="string"?"asc":"desc"},e.getSortingFn=()=>{var t,n;if(!e)throw new Error;return Ce(e.columnDef.sortingFn)?e.columnDef.sortingFn:e.columnDef.sortingFn==="auto"?e.getAutoSortingFn():(t=(n=o.options.sortingFns)==null?void 0:n[e.columnDef.sortingFn])!=null?t:ue[e.columnDef.sortingFn]},e.toggleSorting=(t,n)=>{const i=e.getNextSortingOrder(),r=typeof t<"u"&&t!==null;o.setSorting(l=>{const s=l?.find(u=>u.id===e.id),a=l?.findIndex(u=>u.id===e.id);let d=[],c,v=r?t:i==="desc";if(l!=null&&l.length&&e.getCanMultiSort()&&n?s?c="toggle":c="add":l!=null&&l.length&&a!==l.length-1?c="replace":s?c="toggle":c="replace",c==="toggle"&&(r||i||(c="remove")),c==="add"){var g;d=[...l,{id:e.id,desc:v}],d.splice(0,d.length-((g=o.options.maxMultiSortColCount)!=null?g:Number.MAX_SAFE_INTEGER))}else c==="toggle"?d=l.map(u=>u.id===e.id?{...u,desc:v}:u):c==="remove"?d=l.filter(u=>u.id!==e.id):d=[{id:e.id,desc:v}];return d})},e.getFirstSortDir=()=>{var t,n;return((t=(n=e.columnDef.sortDescFirst)!=null?n:o.options.sortDescFirst)!=null?t:e.getAutoSortDir()==="desc")?"desc":"asc"},e.getNextSortingOrder=t=>{var n,i;const r=e.getFirstSortDir(),l=e.getIsSorted();return l?l!==r&&((n=o.options.enableSortingRemoval)==null||n)&&(!(t&&(i=o.options.enableMultiRemove)!=null)||i)?!1:l==="desc"?"asc":"desc":r},e.getCanSort=()=>{var t,n;return((t=e.columnDef.enableSorting)!=null?t:!0)&&((n=o.options.enableSorting)!=null?n:!0)&&!!e.accessorFn},e.getCanMultiSort=()=>{var t,n;return(t=(n=e.columnDef.enableMultiSort)!=null?n:o.options.enableMultiSort)!=null?t:!!e.accessorFn},e.getIsSorted=()=>{var t;const n=(t=o.getState().sorting)==null?void 0:t.find(i=>i.id===e.id);return n?n.desc?"desc":"asc":!1},e.getSortIndex=()=>{var t,n;return(t=(n=o.getState().sorting)==null?void 0:n.findIndex(i=>i.id===e.id))!=null?t:-1},e.clearSorting=()=>{o.setSorting(t=>t!=null&&t.length?t.filter(n=>n.id!==e.id):[])},e.getToggleSortingHandler=()=>{const t=e.getCanSort();return n=>{t&&(n.persist==null||n.persist(),e.toggleSorting==null||e.toggleSorting(void 0,e.getCanMultiSort()?o.options.isMultiSortEvent==null?void 0:o.options.isMultiSortEvent(n):!1))}}},createTable:e=>{e.setSorting=o=>e.options.onSortingChange==null?void 0:e.options.onSortingChange(o),e.resetSorting=o=>{var t,n;e.setSorting(o?[]:(t=(n=e.initialState)==null?void 0:n.sorting)!=null?t:[])},e.getPreSortedRowModel=()=>e.getGroupedRowModel(),e.getSortedRowModel=()=>(!e._getSortedRowModel&&e.options.getSortedRowModel&&(e._getSortedRowModel=e.options.getSortedRowModel(e)),e.options.manualSorting||!e._getSortedRowModel?e.getPreSortedRowModel():e._getSortedRowModel())}},Mn=[Yt,vn,dn,cn,Zt,Jt,Sn,Cn,In,an,wn,hn,Rn,yn,pn];function Dn(e){var o,t;const n=[...Mn,...(o=e._features)!=null?o:[]];let i={_features:n};const r=i._features.reduce((g,u)=>Object.assign(g,u.getDefaultOptions==null?void 0:u.getDefaultOptions(i)),{}),l=g=>i.options.mergeOptions?i.options.mergeOptions(r,g):{...r,...g};let a={...{},...(t=e.initialState)!=null?t:{}};i._features.forEach(g=>{var u;a=(u=g.getInitialState==null?void 0:g.getInitialState(a))!=null?u:a});const d=[];let c=!1;const v={_features:n,options:{...r,...e},initialState:a,_queue:g=>{d.push(g),c||(c=!0,Promise.resolve().then(()=>{for(;d.length;)d.shift()();c=!1}).catch(u=>setTimeout(()=>{throw u})))},reset:()=>{i.setState(i.initialState)},setOptions:g=>{const u=W(g,i.options);i.options=l(u)},getState:()=>i.options.state,setState:g=>{i.options.onStateChange==null||i.options.onStateChange(g)},_getRowId:(g,u,f)=>{var p;return(p=i.options.getRowId==null?void 0:i.options.getRowId(g,u,f))!=null?p:`${f?[f.id,u].join("."):u}`},getCoreRowModel:()=>(i._getCoreRowModel||(i._getCoreRowModel=i.options.getCoreRowModel(i)),i._getCoreRowModel()),getRowModel:()=>i.getPaginationRowModel(),getRow:(g,u)=>{let f=(u?i.getPrePaginationRowModel():i.getRowModel()).rowsById[g];if(!f&&(f=i.getCoreRowModel().rowsById[g],!f))throw new Error;return f},_getDefaultColumnDef:w(()=>[i.options.defaultColumn],g=>{var u;return g=(u=g)!=null?u:{},{header:f=>{const p=f.header.column.columnDef;return p.accessorKey?p.accessorKey:p.accessorFn?p.id:null},cell:f=>{var p,R;return(p=(R=f.renderValue())==null||R.toString==null?void 0:R.toString())!=null?p:null},...i._features.reduce((f,p)=>Object.assign(f,p.getDefaultColumnDef==null?void 0:p.getDefaultColumnDef()),{}),...g}},h(e,"debugColumns")),_getColumnDefs:()=>i.options.columns,getAllColumns:w(()=>[i._getColumnDefs()],g=>{const u=function(f,p,R){return R===void 0&&(R=0),f.map(_=>{const $=Kt(i,_,R,p),P=_;return $.columns=P.columns?u(P.columns,$,R+1):[],$})};return u(g)},h(e,"debugColumns")),getAllFlatColumns:w(()=>[i.getAllColumns()],g=>g.flatMap(u=>u.getFlatColumns()),h(e,"debugColumns")),_getAllFlatColumnsById:w(()=>[i.getAllFlatColumns()],g=>g.reduce((u,f)=>(u[f.id]=f,u),{}),h(e,"debugColumns")),getAllLeafColumns:w(()=>[i.getAllColumns(),i._getOrderColumnsFn()],(g,u)=>{let f=g.flatMap(p=>p.getLeafColumns());return u(f)},h(e,"debugColumns")),getColumn:g=>i._getAllFlatColumnsById()[g]};Object.assign(i,v);for(let g=0;g<i._features.length;g++){const u=i._features[g];u==null||u.createTable==null||u.createTable(i)}return i}function An(){return e=>w(()=>[e.options.data],o=>{const t={rows:[],flatRows:[],rowsById:{}},n=function(i,r,l){r===void 0&&(r=0);const s=[];for(let d=0;d<i.length;d++){const c=Be(e,e._getRowId(i[d],d,l),i[d],d,r,void 0,l?.id);if(t.flatRows.push(c),t.rowsById[c.id]=c,s.push(c),e.options.getSubRows){var a;c.originalSubRows=e.options.getSubRows(i[d],d),(a=c.originalSubRows)!=null&&a.length&&(c.subRows=n(c.originalSubRows,r+1,c))}}return s};return t.rows=n(o),t},h(e.options,"debugTable","getRowModel",()=>e._autoResetPageIndex()))}function On(){return e=>w(()=>[e.getState().expanded,e.getPreExpandedRowModel(),e.options.paginateExpandedRows],(o,t,n)=>!t.rows.length||o!==!0&&!Object.keys(o??{}).length||!n?t:zn(t),h(e.options,"debugTable"))}function zn(e){const o=[],t=n=>{var i;o.push(n),(i=n.subRows)!=null&&i.length&&n.getIsExpanded()&&n.subRows.forEach(t)};return e.rows.forEach(t),{rows:o,flatRows:e.flatRows,rowsById:e.rowsById}}function En(e,o,t){return t.options.filterFromLeafRows?Gn(e,o,t):Hn(e,o,t)}function Gn(e,o,t){var n;const i=[],r={},l=(n=t.options.maxLeafRowFilterDepth)!=null?n:100,s=function(a,d){d===void 0&&(d=0);const c=[];for(let g=0;g<a.length;g++){var v;let u=a[g];const f=Be(t,u.id,u.original,u.index,u.depth,void 0,u.parentId);if(f.columnFilters=u.columnFilters,(v=u.subRows)!=null&&v.length&&d<l){if(f.subRows=s(u.subRows,d+1),u=f,o(u)&&!f.subRows.length){c.push(u),r[u.id]=u,i.push(u);continue}if(o(u)||f.subRows.length){c.push(u),r[u.id]=u,i.push(u);continue}}else u=f,o(u)&&(c.push(u),r[u.id]=u,i.push(u))}return c};return{rows:s(e),flatRows:i,rowsById:r}}function Hn(e,o,t){var n;const i=[],r={},l=(n=t.options.maxLeafRowFilterDepth)!=null?n:100,s=function(a,d){d===void 0&&(d=0);const c=[];for(let g=0;g<a.length;g++){let u=a[g];if(o(u)){var v;if((v=u.subRows)!=null&&v.length&&d<l){const p=Be(t,u.id,u.original,u.index,u.depth,void 0,u.parentId);p.subRows=s(u.subRows,d+1),u=p}c.push(u),i.push(u),r[u.id]=u}}return c};return{rows:s(e),flatRows:i,rowsById:r}}function Ln(){return e=>w(()=>[e.getPreFilteredRowModel(),e.getState().columnFilters,e.getState().globalFilter],(o,t,n)=>{if(!o.rows.length||!(t!=null&&t.length)&&!n){for(let g=0;g<o.flatRows.length;g++)o.flatRows[g].columnFilters={},o.flatRows[g].columnFiltersMeta={};return o}const i=[],r=[];(t??[]).forEach(g=>{var u;const f=e.getColumn(g.id);if(!f)return;const p=f.getFilterFn();p&&i.push({id:g.id,filterFn:p,resolvedValue:(u=p.resolveFilterValue==null?void 0:p.resolveFilterValue(g.value))!=null?u:g.value})});const l=(t??[]).map(g=>g.id),s=e.getGlobalFilterFn(),a=e.getAllLeafColumns().filter(g=>g.getCanGlobalFilter());n&&s&&a.length&&(l.push("__global__"),a.forEach(g=>{var u;r.push({id:g.id,filterFn:s,resolvedValue:(u=s.resolveFilterValue==null?void 0:s.resolveFilterValue(n))!=null?u:n})}));let d,c;for(let g=0;g<o.flatRows.length;g++){const u=o.flatRows[g];if(u.columnFilters={},i.length)for(let f=0;f<i.length;f++){d=i[f];const p=d.id;u.columnFilters[p]=d.filterFn(u,p,d.resolvedValue,R=>{u.columnFiltersMeta[p]=R})}if(r.length){for(let f=0;f<r.length;f++){c=r[f];const p=c.id;if(c.filterFn(u,p,c.resolvedValue,R=>{u.columnFiltersMeta[p]=R})){u.columnFilters.__global__=!0;break}}u.columnFilters.__global__!==!0&&(u.columnFilters.__global__=!1)}}const v=g=>{for(let u=0;u<l.length;u++)if(g.columnFilters[l[u]]===!1)return!1;return!0};return En(o.rows,v,e)},h(e.options,"debugTable","getFilteredRowModel",()=>e._autoResetPageIndex()))}function kn(){return e=>w(()=>[e.getState().sorting,e.getPreSortedRowModel()],(o,t)=>{if(!t.rows.length||!(o!=null&&o.length))return t;const n=e.getState().sorting,i=[],r=n.filter(a=>{var d;return(d=e.getColumn(a.id))==null?void 0:d.getCanSort()}),l={};r.forEach(a=>{const d=e.getColumn(a.id);d&&(l[a.id]={sortUndefined:d.columnDef.sortUndefined,invertSorting:d.columnDef.invertSorting,sortingFn:d.getSortingFn()})});const s=a=>{const d=a.map(c=>({...c}));return d.sort((c,v)=>{for(let u=0;u<r.length;u+=1){var g;const f=r[u],p=l[f.id],R=p.sortUndefined,_=(g=f?.desc)!=null?g:!1;let $=0;if(R){const P=c.getValue(f.id),O=v.getValue(f.id),M=P===void 0,B=O===void 0;if(M||B){if(R==="first")return M?-1:1;if(R==="last")return M?1:-1;$=M&&B?0:M?R:-R}}if($===0&&($=p.sortingFn(c,v,f.id)),$!==0)return _&&($*=-1),p.invertSorting&&($*=-1),$}return c.index-v.index}),d.forEach(c=>{var v;i.push(c),(v=c.subRows)!=null&&v.length&&(c.subRows=s(c.subRows))}),d};return{rows:s(t.rows),flatRows:i,rowsById:t.rowsById}},h(e.options,"debugTable","getSortedRowModel",()=>e._autoResetPageIndex()))}function ve(){return!0}const qn=Symbol("merge-proxy"),Tn={get(e,o,t){return o===qn?t:e.get(o)},has(e,o){return e.has(o)},set:ve,deleteProperty:ve,getOwnPropertyDescriptor(e,o){return{configurable:!0,enumerable:!0,get(){return e.get(o)},set:ve,deleteProperty:ve}},ownKeys(e){return e.keys()}};function Oe(e){return"value"in e?e.value:e}function ae(){for(var e=arguments.length,o=new Array(e),t=0;t<e;t++)o[t]=arguments[t];return new Proxy({get(n){for(let i=o.length-1;i>=0;i--){const r=Oe(o[i])[n];if(r!==void 0)return r}},has(n){for(let i=o.length-1;i>=0;i--)if(n in Oe(o[i]))return!0;return!1},keys(){const n=[];for(let i=0;i<o.length;i++)n.push(...Object.keys(Oe(o[i])));return[...Array.from(new Set(n))]}},Tn)}const ze=xt({props:["render","props"],setup:e=>()=>typeof e.render=="function"||typeof e.render=="object"?$t(e.render,e.props):e.render});function rt(e){return ae(e,{data:C(e.data)})}function Bn(e){const o=ut(e.data),t=ae({state:{},onStateChange:()=>{},renderFallbackValue:null,mergeOptions(r,l){return o?{...r,...l}:ae(r,l)}},o?rt(e):e),n=Dn(t);if(o){const r=Te(e.data);Se(r,()=>{n.setState(l=>({...l,data:r.value}))},{immediate:!0})}const i=_t(n.initialState);return Ft(()=>{n.setOptions(r=>{var l;const s=new Proxy({},{get:(a,d)=>i.value[d]});return ae(r,o?rt(e):e,{state:ae(s,(l=e.state)!=null?l:{}),onStateChange:a=>{a instanceof Function?i.value=a(i.value):i.value=a,e.onStateChange==null||e.onStateChange(a)}})})}),n}const bn={slots:{root:"relative overflow-auto outline-primary/25 focus-visible:outline-3",base:"min-w-full overflow-clip",caption:"sr-only",thead:"relative",tbody:"isolate [&>tr]:data-[selectable=true]:hover:bg-elevated/50 [&>tr]:data-[selectable=true]:outline-primary/25 [&>tr]:data-[selectable=true]:focus-visible:outline-3 divide-y divide-default",tfoot:"relative",tr:"data-[selected=true]:bg-elevated/50",th:"px-4 py-3.5 text-sm text-highlighted text-start font-semibold [&:has([role=checkbox])]:pe-0",td:"p-4 text-sm text-muted whitespace-nowrap [&:has([role=checkbox])]:pe-0",separator:"absolute z-1 start-0 w-full h-px bg-(--ui-border-accented)",empty:"py-6 text-center text-sm text-muted",loading:"py-6 text-center"},variants:{pinned:{true:{th:"sticky bg-default/75 z-1",td:"sticky bg-default/75 z-1"}},sticky:{true:{thead:"sticky top-0 inset-x-0 bg-default/75 backdrop-blur z-1",tfoot:"sticky bottom-0 inset-x-0 bg-default/75 backdrop-blur z-1"},header:{thead:"sticky top-0 inset-x-0 bg-default/75 backdrop-blur z-1"},footer:{tfoot:"sticky bottom-0 inset-x-0 bg-default/75 backdrop-blur z-1"}},loading:{true:{thead:"after:absolute after:z-1 after:h-px motion-reduce:after:inset-x-0 motion-reduce:after:animate-pulse"}},externalScroll:{true:{root:"overflow-visible"}},loadingAnimation:{carousel:"","carousel-inverse":"",swing:"",elastic:""},loadingColor:{primary:"",secondary:"",success:"",info:"",warning:"",error:"",neutral:""}},compoundVariants:[{loading:!0,loadingColor:"primary",class:{thead:"after:bg-primary"}},{loading:!0,loadingColor:"secondary",class:{thead:"after:bg-secondary"}},{loading:!0,loadingColor:"success",class:{thead:"after:bg-success"}},{loading:!0,loadingColor:"info",class:{thead:"after:bg-info"}},{loading:!0,loadingColor:"warning",class:{thead:"after:bg-warning"}},{loading:!0,loadingColor:"error",class:{thead:"after:bg-error"}},{loading:!0,loadingColor:"neutral",class:{thead:"after:bg-inverted"}},{loading:!0,loadingAnimation:"carousel",class:{thead:"motion-safe:after:animate-[carousel_2s_ease-in-out_infinite] motion-safe:rtl:after:animate-[carousel-rtl_2s_ease-in-out_infinite]"}},{loading:!0,loadingAnimation:"carousel-inverse",class:{thead:"motion-safe:after:animate-[carousel-inverse_2s_ease-in-out_infinite] motion-safe:rtl:after:animate-[carousel-inverse-rtl_2s_ease-in-out_infinite]"}},{loading:!0,loadingAnimation:"swing",class:{thead:"motion-safe:after:animate-[swing_2s_ease-in-out_infinite]"}},{loading:!0,loadingAnimation:"elastic",class:{thead:"motion-safe:after:animate-[elastic_2s_ease-in-out_infinite]"}}],defaultVariants:{loadingColor:"primary",loadingAnimation:"carousel"}},jn=["data-selected","data-selectable","data-expanded","data-pinned","role","tabindex","onClick","onPointerenter","onContextmenu"],Nn=["data-pinned","colspan","rowspan"],Un=["colspan"],Xn=["data-pinned","scope","colspan","rowspan"],Wn=["colspan"],Kn=["colspan"],Yn={key:1},Zn=["colspan"],Jn={key:2},Qn=["colspan"],eo=["data-pinned","colspan","rowspan"],uo=Object.assign({inheritAttrs:!1},{__name:"Table",props:zt({as:{type:null,required:!1},data:{type:Array,required:!1},columns:{type:Array,required:!1},caption:{type:String,required:!1},meta:{type:Object,required:!1},virtualize:{type:[Boolean,Object],required:!1,default:!1},empty:{type:String,required:!1},sticky:{type:[Boolean,String],required:!1},loading:{type:Boolean,required:!1},loadingColor:{type:null,required:!1},loadingAnimation:{type:null,required:!1},watchOptions:{type:Object,required:!1,default:()=>({deep:!0})},globalFilterOptions:{type:Object,required:!1},columnFiltersOptions:{type:Object,required:!1},columnPinningOptions:{type:Object,required:!1},columnSizingOptions:{type:Object,required:!1},visibilityOptions:{type:Object,required:!1},sortingOptions:{type:Object,required:!1},groupingOptions:{type:Object,required:!1},expandedOptions:{type:Object,required:!1},rowSelectionOptions:{type:Object,required:!1},rowPinningOptions:{type:Object,required:!1},paginationOptions:{type:Object,required:!1},facetedOptions:{type:Object,required:!1},onSelect:{type:Function,required:!1},onHover:{type:Function,required:!1},onContextmenu:{type:[Function,Array],required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1},state:{type:Object,required:!1},onStateChange:{type:Function,required:!1},renderFallbackValue:{type:null,required:!1},_features:{type:Array,required:!1},autoResetAll:{type:Boolean,required:!1},debugAll:{type:Boolean,required:!1},debugCells:{type:Boolean,required:!1},debugColumns:{type:Boolean,required:!1},debugHeaders:{type:Boolean,required:!1},debugRows:{type:Boolean,required:!1},debugTable:{type:Boolean,required:!1},defaultColumn:{type:Object,required:!1},getRowId:{type:Function,required:!1},getSubRows:{type:Function,required:!1},initialState:{type:Object,required:!1},mergeOptions:{type:Function,required:!1}},{globalFilter:{type:String},globalFilterModifiers:{},columnFilters:{type:Array},columnFiltersModifiers:{},columnOrder:{type:Array},columnOrderModifiers:{},columnVisibility:{type:Object},columnVisibilityModifiers:{},columnPinning:{type:Object},columnPinningModifiers:{},columnSizing:{type:Object},columnSizingModifiers:{},columnSizingInfo:{type:Object},columnSizingInfoModifiers:{},rowSelection:{type:Object},rowSelectionModifiers:{},rowPinning:{type:Object},rowPinningModifiers:{},sorting:{type:Array},sortingModifiers:{},grouping:{type:Array},groupingModifiers:{},expanded:{type:[Boolean,Object]},expandedModifiers:{},pagination:{type:Object},paginationModifiers:{}}),emits:["update:globalFilter","update:columnFilters","update:columnOrder","update:columnVisibility","update:columnPinning","update:columnSizing","update:columnSizingInfo","update:rowSelection","update:rowPinning","update:sorting","update:grouping","update:expanded","update:pagination"],setup(e,{expose:o}){const t=e,n=Pt(),i=Vt("table",t),{t:r}=It(),l=Lt(),s=Mt(i.data??[],i.watchOptions?.deep!==!1),a=L(()=>i.meta??{}),d=L(()=>c(i.columns??Object.keys(s.value[0]??{}).map(m=>({accessorKey:m,header:Nt(m)}))));function c(m){return m.map(V=>{const S={...V};return"columns"in S&&S.columns&&(S.columns=c(S.columns)),S.cell||(S.cell=({getValue:y})=>{const x=y();return x===""||x===null||x===void 0?" ":String(x)}),S})}const v=L(()=>typeof i.virtualize=="object"&&!!i.virtualize.getScrollElement),g=L(()=>Ht({extend:bn,...l.ui?.table||{}})({sticky:i.sticky,loading:i.loading,loadingColor:i.loadingColor,loadingAnimation:i.loadingAnimation,externalScroll:v.value})),[u,f]=Qe(),[p,R]=Qe({props:{row:{type:Object,required:!0},style:{type:Object,required:!1}}}),_=L(()=>{function m(V){for(const S of V)if("footer"in S||"columns"in S&&m(S.columns))return!0;return!1}return m(d.value)}),$=G(e,"globalFilter"),P=G(e,"columnFilters"),O=G(e,"columnOrder"),M=G(e,"columnVisibility"),B=G(e,"columnPinning"),Z=G(e,"columnSizing"),J=G(e,"columnSizingInfo"),ne=G(e,"rowSelection"),oe=G(e,"rowPinning"),Q=G(e,"sorting"),we=G(e,"grouping"),he=G(e,"expanded"),Re=G(e,"pagination"),ye=et("rootRef"),Ue=et("tableRef"),wt=Dt(At(i,"_features","autoResetAll","debugAll","debugCells","debugColumns","debugHeaders","debugRows","debugTable","defaultColumn","getRowId","getSubRows","initialState","mergeOptions","renderFallbackValue")),z=Bn({...wt.value,get data(){return s.value},get columns(){return d.value},meta:a.value,getCoreRowModel:An(),...i.globalFilterOptions||{},...$.value!==void 0&&{onGlobalFilterChange:m=>E(m,$)},...i.columnFiltersOptions||{},getFilteredRowModel:Ln(),...P.value!==void 0&&{onColumnFiltersChange:m=>E(m,P)},...O.value!==void 0&&{onColumnOrderChange:m=>E(m,O)},...i.visibilityOptions||{},...M.value!==void 0&&{onColumnVisibilityChange:m=>E(m,M)},...i.columnPinningOptions||{},...B.value!==void 0&&{onColumnPinningChange:m=>E(m,B)},...i.columnSizingOptions||{},...Z.value!==void 0&&{onColumnSizingChange:m=>E(m,Z)},...J.value!==void 0&&{onColumnSizingInfoChange:m=>E(m,J)},...i.rowSelectionOptions||{},...ne.value!==void 0&&{onRowSelectionChange:m=>E(m,ne)},...i.rowPinningOptions||{},...oe.value!==void 0&&{onRowPinningChange:m=>E(m,oe)},...i.sortingOptions||{},getSortedRowModel:kn(),...Q.value!==void 0&&{onSortingChange:m=>E(m,Q)},...i.groupingOptions||{},...we.value!==void 0&&{onGroupingChange:m=>E(m,we)},...i.expandedOptions||{},getExpandedRowModel:On(),...he.value!==void 0&&{onExpandedChange:m=>E(m,he)},...i.paginationOptions||{},...Re.value!==void 0&&{onPaginationChange:m=>E(m,Re)},...i.facetedOptions||{},state:{get globalFilter(){return $.value},get columnFilters(){return P.value},get columnOrder(){return O.value},get columnVisibility(){return M.value},get columnPinning(){return B.value},get expanded(){return he.value},get rowSelection(){return ne.value},get sorting(){return Q.value},get grouping(){return we.value},get rowPinning(){return oe.value},get columnSizing(){return Z.value},get columnSizingInfo(){return J.value},get pagination(){return Re.value}}}),Xe=L(()=>z.getRowModel().rows),We=L(()=>i.virtualize?[]:z.getTopRows()),Ke=L(()=>i.virtualize?[]:z.getBottomRows()),ie=L(()=>We.value.length||Ke.value.length?z.getCenterRows():Xe.value),de=Et(()=>Gt(typeof i.virtualize=="boolean"?{}:i.virtualize,{estimateSize:65,overscan:12})),ht=()=>(v.value?de.value.getScrollElement?.():ye.value?.$el)??null,_e=L(()=>de.value.scrollMargin??0),re=!!i.virtualize&&jt({...de.value,get count(){return ie.value.length},get scrollMargin(){return _e.value},getScrollElement:ht,estimateSize:m=>{const V=de.value.estimateSize;return typeof V=="function"?V(m):V}}),le=L(()=>re?re.value.getVirtualItems():[]),Ye=L(()=>(le.value[0]?.start??0)-_e.value),Ze=L(()=>!re||!le.value.length?0:re.value.getTotalSize()-(le.value[le.value.length-1]?.end??0)+_e.value);function E(m,V){V.value=typeof m=="function"?m(V.value):m}function Rt(m,V){if(!i.onSelect)return;const S=m.target;S.closest("button")||S.closest("a")||(m.preventDefault(),m.stopPropagation(),i.onSelect(m,V))}function Je(m,V){i.onHover&&i.onHover(m,V)}function yt(m,V){i.onContextmenu&&(Array.isArray(i.onContextmenu)?i.onContextmenu.forEach(S=>S(m,V)):i.onContextmenu(m,V))}function b(m,V){return typeof m=="function"?m(V):m}function Fe(m){const V={},S=m.getIsPinned();return S==="left"?V.left=`${m.getStart("left")}px`:S==="right"&&(V.right=`${m.getAfter("right")}px`),V}return Se(()=>i.data,()=>{s.value=i.data?[...i.data]:[]},i.watchOptions),o({get $el(){return ye.value?.$el},tableRef:Ue,tableApi:z}),(m,V)=>(F(),I(H,null,[se(C(p),null,{default:xe(({row:S,style:y})=>[q("tr",{"data-selected":S.getIsSelected(),"data-selectable":!!C(i).onSelect||!!C(i).onHover||!!C(i).onContextmenu,"data-expanded":S.getIsExpanded(),"data-pinned":S.getIsPinned()||void 0,role:C(i).onSelect?"button":void 0,tabindex:C(i).onSelect?0:void 0,"data-slot":"tr",class:D(g.value.tr({class:[C(i).ui?.tr,b(C(z).options.meta?.class?.tr,S)]})),style:Y([b(C(z).options.meta?.style?.tr,S),y]),onClick:x=>Rt(x,S),onPointerenter:x=>Je(x,S),onPointerleave:V[0]||(V[0]=x=>Je(x,null)),onContextmenu:x=>yt(x,S)},[(F(!0),I(H,null,j(S.getVisibleCells(),x=>(F(),I("td",{key:x.id,"data-pinned":x.column.getIsPinned(),colspan:b(x.column.columnDef.meta?.colspan?.td,x),rowspan:b(x.column.columnDef.meta?.rowspan?.td,x),"data-slot":"td",class:D(g.value.td({class:[C(i).ui?.td,b(x.column.columnDef.meta?.class?.td,x)],pinned:!!x.column.getIsPinned()})),style:Y([Fe(x.column),b(x.column.columnDef.meta?.style?.td,x)])},[N(m.$slots,`${x.column.id}-cell`,ce({ref_for:!0},x.getContext()),()=>[se(C(ze),{render:x.column.columnDef.cell,props:x.getContext()},null,8,["render","props"])])],14,Nn))),128))],46,jn),S.getIsExpanded()?(F(),I("tr",{key:0,"data-slot":"tr",class:D(g.value.tr({class:[C(i).ui?.tr]}))},[q("td",{colspan:S.getAllCells().length,"data-slot":"td",class:D(g.value.td({class:[C(i).ui?.td]}))},[N(m.$slots,"expanded",{row:S})],10,Un)],2)):X("",!0)]),_:3}),se(C(u),null,{default:xe(()=>[q("table",{ref_key:"tableRef",ref:Ue,"data-slot":"base",class:D(g.value.base({class:[C(i).ui?.base]}))},[C(i).caption||n.caption?(F(),I("caption",{key:0,"data-slot":"caption",class:D(g.value.caption({class:[C(i).ui?.caption]}))},[N(m.$slots,"caption",{},()=>[tt(nt(C(i).caption),1)])],2)):X("",!0),q("thead",{"data-slot":"thead",class:D(g.value.thead({class:[C(i).ui?.thead]}))},[(F(!0),I(H,null,j(C(z).getHeaderGroups(),S=>(F(),I("tr",{key:S.id,"data-slot":"tr",class:D(g.value.tr({class:[C(i).ui?.tr]}))},[(F(!0),I(H,null,j(S.headers,y=>(F(),I("th",{key:y.id,"data-pinned":y.column.getIsPinned(),scope:y.colSpan>1?"colgroup":"col",colspan:y.colSpan>1?y.colSpan:void 0,rowspan:y.rowSpan>1?y.rowSpan:void 0,"data-slot":"th",class:D(g.value.th({class:[C(i).ui?.th,b(y.column.columnDef.meta?.class?.th,y)],pinned:!!y.column.getIsPinned()})),style:Y([Fe(y.column),b(y.column.columnDef.meta?.style?.th,y)])},[N(m.$slots,`${y.id}-header`,ce({ref_for:!0},y.getContext()),()=>[y.isPlaceholder?X("",!0):(F(),ee(C(ze),{key:0,render:y.column.columnDef.header,props:y.getContext()},null,8,["render","props"]))])],14,Xn))),128))],2))),128)),q("tr",{"data-slot":"separator",class:D(g.value.separator({class:[C(i).ui?.separator]}))},null,2)],2),q("tbody",{"data-slot":"tbody",class:D(g.value.tbody({class:[C(i).ui?.tbody]}))},[N(m.$slots,"body-top"),Xe.value.length?(F(),I(H,{key:0},[(F(!0),I(H,null,j(We.value,S=>(F(),ee(C(R),{key:S.id,row:S},null,8,["row"]))),128)),C(re)?(F(),I(H,{key:0},[Ye.value>0?(F(),I("tr",{key:0,style:Y({height:`${Ye.value}px`}),"aria-hidden":"true"},[q("td",{colspan:C(z).getAllLeafColumns().length},null,8,Wn)],4)):X("",!0),(F(!0),I(H,null,j(le.value,S=>(F(),I(H,{key:ie.value[S.index]?.id??`virtual-${S.index}`},[ie.value[S.index]?(F(),ee(C(R),{key:0,row:ie.value[S.index],style:Y({height:`${S.size}px`})},null,8,["row","style"])):X("",!0)],64))),128)),Ze.value>0?(F(),I("tr",{key:1,style:Y({height:`${Ze.value}px`}),"aria-hidden":"true"},[q("td",{colspan:C(z).getAllLeafColumns().length},null,8,Kn)],4)):X("",!0)],64)):(F(!0),I(H,{key:1},j(ie.value,S=>(F(),ee(C(R),{key:S.id,row:S},null,8,["row"]))),128)),(F(!0),I(H,null,j(Ke.value,S=>(F(),ee(C(R),{key:S.id,row:S},null,8,["row"]))),128))],64)):C(i).loading&&n.loading?(F(),I("tr",Yn,[q("td",{colspan:C(z).getAllLeafColumns().length,"data-slot":"loading",class:D(g.value.loading({class:C(i).ui?.loading}))},[N(m.$slots,"loading")],10,Zn)])):(F(),I("tr",Jn,[q("td",{colspan:C(z).getAllLeafColumns().length,"data-slot":"empty",class:D(g.value.empty({class:C(i).ui?.empty}))},[N(m.$slots,"empty",{},()=>[tt(nt(C(i).empty||C(r)("table.noData")),1)])],10,Qn)])),N(m.$slots,"body-bottom")],2),_.value?(F(),I("tfoot",{key:1,"data-slot":"tfoot",class:D(g.value.tfoot({class:[C(i).ui?.tfoot]}))},[q("tr",{"data-slot":"separator",class:D(g.value.separator({class:[C(i).ui?.separator]}))},null,2),(F(!0),I(H,null,j(C(z).getFooterGroups(),S=>(F(),I("tr",{key:S.id,"data-slot":"tr",class:D(g.value.tr({class:[C(i).ui?.tr]}))},[(F(!0),I(H,null,j(S.headers,y=>(F(),I("th",{key:y.id,"data-pinned":y.column.getIsPinned(),colspan:y.colSpan>1?y.colSpan:void 0,rowspan:y.rowSpan>1?y.rowSpan:void 0,"data-slot":"th",class:D(g.value.th({class:[C(i).ui?.th,b(y.column.columnDef.meta?.class?.th,y)],pinned:!!y.column.getIsPinned()})),style:Y([Fe(y.column),b(y.column.columnDef.meta?.style?.th,y)])},[N(m.$slots,`${y.id}-footer`,ce({ref_for:!0},y.getContext()),()=>[y.isPlaceholder?X("",!0):(F(),ee(C(ze),{key:0,render:y.column.columnDef.footer,props:y.getContext()},null,8,["render","props"]))])],14,eo))),128))],2))),128))],2)):X("",!0)],2)]),_:3}),se(C(Ot),ce({ref_key:"rootRef",ref:ye,as:C(i).as,"data-slot":"root"},m.$attrs,{class:g.value.root({class:[C(i).ui?.root,C(i).class]})}),{default:xe(()=>[se(C(f))]),_:1},16,["as","class"])],64))}});function lt(e,o){return kt()?(qt(e,o),!0):!1}const st=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const te=()=>{};function to(e,o){function t(...n){return new Promise((i,r)=>{Promise.resolve(e(()=>o.apply(this,n),{fn:o,thisArg:this,args:n})).then(i).catch(r)})}return"cancel"in e&&Object.assign(t,{cancel:e.cancel,flush:e.flush,isPending:e.isPending}),t}const no=e=>e();function oo(e,o={}){let t,n,i=te,r=te;const l=Te(!1),s=c=>{clearTimeout(c),i(),i=te};let a;return Object.assign(c=>{const v=Ee(e),g=Ee(o.maxWait);return t&&s(t),v<=0||g!==void 0&&g<=0?(n&&(s(n),n=void 0),l.value=!1,Promise.resolve(c())):(l.value=!0,new Promise((u,f)=>{i=o.rejectOnCancel?f:u,r=u,a=c,g&&!n&&(n=setTimeout(()=>{t&&s(t),n=void 0,l.value=!1,u(a())},g)),t=setTimeout(()=>{n&&s(n),n=void 0,l.value=!1,u(c())},v)}))},{cancel:()=>{t&&(s(t),t=void 0),n&&(s(n),n=void 0),l.value=!1,r=te},flush:()=>{if(l.value){t&&(clearTimeout(t),t=void 0),n&&(clearTimeout(n),n=void 0),l.value=!1;const c=r;i=te,r=te,c(a())}},isPending:at(l)})}function ao(e){return Array.isArray(e)?e:[e]}function io(e){return bt()}function ro(e,o,t={}){const{eventFilter:n=no,...i}=t;return Se(e,to(n,o),i)}function go(e,o=!0,t){io()?Tt(e,t):o?e():Bt(e)}function co(e,o=1e3,t={}){const{immediate:n=!0,immediateCallback:i=!1}=t;let r=null;const l=Te(!1);function s(){r&&(clearInterval(r),r=null)}function a(){l.value=!1,s()}function d(){const c=Ee(o);c<=0||(l.value=!0,i&&e(),s(),l.value&&(r=setInterval(e,c)))}return n&&st&&d(),(ut(o)||typeof o=="function")&&lt(Se(o,()=>{l.value&&st&&d()})),lt(a),{isActive:at(l),pause:a,resume:d}}function fo(e,o,t={}){const{debounce:n=0,maxWait:i=void 0,...r}=t;return ro(e,o,{...r,eventFilter:oo(n,{maxWait:i})})}export{uo as _,go as a,ao as b,st as i,lt as t,co as u,fo as w};