okengine 0.18.4 → 0.19.0

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 (512) hide show
  1. package/AGENTS.md +18 -10
  2. package/README.md +2 -2
  3. package/package.json +51 -50
  4. package/site/content/docs/ai/index.mdx +25 -6
  5. package/site/content/docs/ai/llms-txt.mdx +1 -1
  6. package/site/content/docs/ai/meta.json +1 -1
  7. package/site/content/docs/ai/skills.mdx +4 -1
  8. package/site/content/docs/ai/try-it.mdx +58 -0
  9. package/site/content/docs/client/auth.mdx +208 -0
  10. package/site/content/docs/client/calling.mdx +451 -0
  11. package/site/content/docs/client/index.mdx +209 -0
  12. package/site/content/docs/client/live.mdx +234 -0
  13. package/site/content/docs/client/meta.json +5 -0
  14. package/site/content/docs/client/react.mdx +249 -0
  15. package/site/content/docs/elements/ai/agents.mdx +232 -0
  16. package/site/content/docs/elements/ai/index.mdx +341 -0
  17. package/site/content/docs/elements/ai/mcp.mdx +275 -0
  18. package/site/content/docs/elements/ai/meta.json +5 -0
  19. package/site/content/docs/elements/ai/models.mdx +283 -0
  20. package/site/content/docs/elements/ai/prompts.mdx +256 -0
  21. package/site/content/docs/elements/channel/email.mdx +266 -0
  22. package/site/content/docs/elements/channel/index.mdx +344 -0
  23. package/site/content/docs/elements/channel/meta.json +5 -0
  24. package/site/content/docs/elements/channel/push.mdx +218 -0
  25. package/site/content/docs/elements/channel/receipts.mdx +206 -0
  26. package/site/content/docs/elements/channel/sms.mdx +264 -0
  27. package/site/content/docs/elements/channel/whatsapp.mdx +220 -0
  28. package/site/content/docs/elements/clock/index.mdx +300 -0
  29. package/site/content/docs/elements/clock/meta.json +5 -0
  30. package/site/content/docs/elements/clock/schedules.mdx +508 -0
  31. package/site/content/docs/elements/clock/sleep.mdx +445 -0
  32. package/site/content/docs/elements/flow/consumers.mdx +707 -0
  33. package/site/content/docs/elements/flow/http.mdx +1080 -0
  34. package/site/content/docs/elements/flow/index.mdx +618 -0
  35. package/site/content/docs/elements/flow/meta.json +5 -0
  36. package/site/content/docs/elements/flow/routing.mdx +559 -0
  37. package/site/content/docs/elements/flow/workflows.mdx +640 -0
  38. package/site/content/docs/elements/gate/auth.mdx +371 -0
  39. package/site/content/docs/elements/gate/authorization.mdx +298 -0
  40. package/site/content/docs/elements/gate/index.mdx +418 -0
  41. package/site/content/docs/elements/gate/meta.json +5 -0
  42. package/site/content/docs/elements/gate/rate-limits.mdx +365 -0
  43. package/site/content/docs/elements/gate/rls.mdx +303 -0
  44. package/site/content/docs/elements/gate/tenancy.mdx +372 -0
  45. package/site/content/docs/elements/index.mdx +52 -11
  46. package/site/content/docs/elements/signal/broadcast.mdx +517 -0
  47. package/site/content/docs/elements/signal/index.mdx +352 -0
  48. package/site/content/docs/elements/signal/live.mdx +590 -0
  49. package/site/content/docs/elements/signal/meta.json +5 -0
  50. package/site/content/docs/elements/signal/once.mdx +596 -0
  51. package/site/content/docs/elements/store/files.mdx +659 -0
  52. package/site/content/docs/elements/store/index.mdx +310 -0
  53. package/site/content/docs/elements/store/kv.mdx +629 -0
  54. package/site/content/docs/elements/store/meta.json +5 -0
  55. package/site/content/docs/elements/store/search.mdx +946 -0
  56. package/site/content/docs/elements/store/sql.mdx +937 -0
  57. package/site/content/docs/elements/vault/config.mdx +256 -0
  58. package/site/content/docs/elements/vault/index.mdx +356 -0
  59. package/site/content/docs/elements/vault/meta.json +5 -0
  60. package/site/content/docs/elements/vault/rotation.mdx +273 -0
  61. package/site/content/docs/elements/vault/secrets.mdx +285 -0
  62. package/site/content/docs/index.mdx +78 -30
  63. package/site/content/docs/meta.json +11 -8
  64. package/site/content/docs/plugins/cors.mdx +2 -1
  65. package/site/content/docs/plugins/csrf.mdx +4 -1
  66. package/site/content/docs/plugins/headers.mdx +2 -1
  67. package/site/content/docs/plugins/ip-allowlist.mdx +2 -1
  68. package/site/content/docs/plugins/magic-link.mdx +6 -0
  69. package/site/content/docs/plugins/maintenance-mode.mdx +2 -1
  70. package/site/content/docs/plugins/oauth.mdx +1 -1
  71. package/site/content/docs/plugins/otp.mdx +12 -1
  72. package/site/content/docs/plugins/passkey.mdx +39 -15
  73. package/site/content/docs/plugins/two-factor.mdx +91 -34
  74. package/site/content/docs/plugins/username.mdx +1 -1
  75. package/site/content/docs/recipes/caddy.mdx +3 -3
  76. package/site/content/docs/recipes/index.mdx +18 -28
  77. package/site/content/docs/recipes/mailpit.mdx +1 -1
  78. package/site/content/docs/recipes/meilisearch.mdx +3 -3
  79. package/site/content/docs/recipes/meta.json +1 -4
  80. package/site/content/docs/recipes/nginx.mdx +2 -2
  81. package/site/content/docs/recipes/openrouter.mdx +283 -0
  82. package/site/content/docs/recipes/pgdog.mdx +3 -3
  83. package/site/content/docs/recipes/postgres.mdx +1 -2
  84. package/site/content/docs/recipes/rustfs.mdx +2 -2
  85. package/site/content/docs/recipes/traefik.mdx +3 -3
  86. package/site/content/docs/reference/cli.mdx +231 -0
  87. package/site/content/docs/reference/configuration.mdx +30 -10
  88. package/site/content/docs/reference/environment-variables.mdx +93 -20
  89. package/site/content/docs/reference/errors.mdx +132 -29
  90. package/site/content/docs/reference/fx.mdx +137 -73
  91. package/site/content/docs/reference/index.mdx +13 -21
  92. package/site/content/docs/reference/meta.json +4 -5
  93. package/site/content/docs/reference/okid.mdx +42 -17
  94. package/site/content/docs/reference/plugins.mdx +4 -3
  95. package/site/content/docs/reference/security.mdx +197 -0
  96. package/site/content/docs/understand/meta.json +5 -0
  97. package/site/content/docs/understand/the-anatomy.mdx +132 -0
  98. package/site/content/docs/understand/the-model.mdx +32 -0
  99. package/site/content/docs/understand/the-problem.mdx +74 -0
  100. package/site/content/docs/understand/the-vocabulary.mdx +26 -0
  101. package/src/auth/api-keys.ts +2 -1
  102. package/src/auth/bindings.ts +64 -16
  103. package/src/auth/gate-auth.test.ts +6 -1
  104. package/src/auth/identity.ts +152 -5
  105. package/src/auth/index.ts +29 -0
  106. package/src/auth/invites.ts +2 -1
  107. package/src/auth/method-context.ts +41 -0
  108. package/src/auth/oauth-as/crypto.ts +2 -1
  109. package/src/auth/oauth-as/stores.ts +2 -1
  110. package/src/auth/operator.ts +2 -1
  111. package/src/auth/sessions-jwt.test.ts +77 -0
  112. package/src/auth/sessions.ts +20 -4
  113. package/src/auth/tenants.ts +3 -2
  114. package/src/auth/two-factor-challenge.test.ts +61 -0
  115. package/src/auth/two-factor-challenge.ts +284 -0
  116. package/src/auth/verification.ts +5 -0
  117. package/src/bench/REPORT.md +49 -0
  118. package/src/bench/g03-signal-once.bench.ts +1 -1
  119. package/src/bench/g10-observability-contention.bench.ts +1 -1
  120. package/src/bench/g17-hybrid-search.bench.ts +572 -0
  121. package/src/bench/load-app.ts +2 -10
  122. package/src/cli/ai-setup/ai-setup.test.ts +331 -42
  123. package/src/cli/ai-setup/apply.ts +294 -52
  124. package/src/cli/ai-setup/catalog.ts +238 -1342
  125. package/src/cli/ai-setup/index.ts +14 -99
  126. package/src/cli/ai-setup/prompts.ts +60 -443
  127. package/src/cli/ask-seed.test.ts +96 -0
  128. package/src/cli/ask-seed.ts +82 -0
  129. package/src/cli/ask-vault-gaps.test.ts +84 -0
  130. package/src/cli/ask-vault-gaps.ts +146 -0
  131. package/src/cli/build.ts +2 -2
  132. package/src/cli/client-add.test.ts +26 -1
  133. package/src/cli/client-add.ts +106 -27
  134. package/src/cli/competitor-mention-removal.test.ts +1 -1
  135. package/src/cli/db-seed.ts +2 -0
  136. package/src/cli/db.ts +150 -11
  137. package/src/cli/dev.ts +119 -211
  138. package/src/cli/docker-clean.ts +2 -2
  139. package/src/cli/docker-cli.test.ts +1 -1
  140. package/src/cli/doctor-diff.ts +4 -2
  141. package/src/cli/doctor-pii.test.ts +1 -1
  142. package/src/cli/doctor.ts +14 -1
  143. package/src/cli/hero-meta.test.ts +4 -2
  144. package/src/cli/load-config.images.test.ts +8 -10
  145. package/src/cli/load-config.ts +1 -1
  146. package/src/cli/registry.ts +22 -10
  147. package/src/cli/replay.ts +3 -1
  148. package/src/cli/start.ts +1 -1
  149. package/src/cli/tui/keys.ts +2 -3
  150. package/src/client/auth/cookies.ts +74 -0
  151. package/src/client/auth/create-auth-client.ts +636 -0
  152. package/src/client/auth/denials.ts +99 -0
  153. package/src/client/auth/session.ts +283 -0
  154. package/src/client/auth.test.ts +251 -0
  155. package/src/client/auth.ts +39 -114
  156. package/src/client/create-with-session.ts +245 -0
  157. package/src/client/create.ts +51 -5
  158. package/src/client/index.ts +11 -1
  159. package/src/client/live.ts +11 -79
  160. package/src/client/notes-contract.test.ts +5 -10
  161. package/src/client/sse.ts +137 -0
  162. package/src/client/stream.ts +147 -0
  163. package/src/client/transport.test.ts +32 -0
  164. package/src/client/transport.ts +123 -26
  165. package/src/client/types.ts +118 -14
  166. package/src/client-react/index.ts +185 -24
  167. package/src/client-react/use-live-query.ts +13 -3
  168. package/src/compiler/aot.test.ts +7 -4
  169. package/src/compiler/effects-embed.test.ts +56 -0
  170. package/src/compiler/effects-fetch.test.ts +43 -0
  171. package/src/compiler/effects-infer.ts +58 -2
  172. package/src/compiler/extract.test.ts +258 -44
  173. package/src/compiler/extract.ts +566 -48
  174. package/src/compiler/fixtures/skyport/src/flows/bookings/index.ts +7 -4
  175. package/src/compiler/fixtures/skyport/src/flows/bookings/signals.ts +2 -8
  176. package/src/compiler/fixtures/skyport.expected.json +4 -4
  177. package/src/compiler/fixtures/triggers/five-triggers.ts +14 -10
  178. package/src/compiler/response.ts +2 -2
  179. package/src/compiler/search-writer-isolation.test.ts +40 -0
  180. package/src/config/index.ts +11 -0
  181. package/src/console/server/app.ts +17 -23
  182. package/src/console/server/bind.ts +4 -0
  183. package/src/console/server/console.test.ts +2 -2
  184. package/src/console/server/flows-invoke.test.ts +50 -34
  185. package/src/console/server/flows.ts +436 -255
  186. package/src/console/server/runs-ingest.test.ts +6 -3
  187. package/src/console/server/serve.ts +1 -1
  188. package/src/console/server/signals.test.ts +1 -5
  189. package/src/console/server/signals.ts +8 -6
  190. package/src/console/server/state.ts +6 -1
  191. package/src/console/server/store.ts +1 -1
  192. package/src/console/ui-next/dist/assets/FileExportIcon-Ck-5od4R.js +1 -0
  193. package/src/console/ui-next/dist/assets/MoreHorizontalCircle01Icon-gMNGsE37.js +1 -0
  194. package/src/console/ui-next/dist/assets/PlusSignIcon-CwG3nxfu.js +1 -0
  195. package/src/console/ui-next/dist/assets/UnavailableIcon-D9cvHVPr.js +1 -0
  196. package/src/console/ui-next/dist/assets/UserIcon-DaE2PB5_.js +1 -0
  197. package/src/console/ui-next/dist/assets/access-page-DFeymU07.js +4 -0
  198. package/src/console/ui-next/dist/assets/agent-disclosure-U1rdfblp.js +1 -0
  199. package/src/console/ui-next/dist/assets/cache-glyph-BeFJeqBG.js +1 -0
  200. package/src/console/ui-next/dist/assets/call-pii-button-CVAONPii.js +1 -0
  201. package/src/console/ui-next/dist/assets/collapsible-D2A6NJ-3.js +1 -0
  202. package/src/console/ui-next/dist/assets/copy-inline-button-CAYD18cr.js +1 -0
  203. package/src/console/ui-next/dist/assets/dagre.esm-B1_XeuLP.js +1 -0
  204. package/src/console/ui-next/dist/assets/detail-header-DVWNjWjg.js +1 -0
  205. package/src/console/ui-next/dist/assets/dropdown-menu-4h2LOVXM.js +1 -0
  206. package/src/console/ui-next/dist/assets/duration-tone-Cgk_h5ja.js +9 -0
  207. package/src/console/ui-next/dist/assets/element-icons-BI8cJgdh.js +1 -0
  208. package/src/console/ui-next/dist/assets/explorer-empty-CJs5A-wm.js +1 -0
  209. package/src/console/ui-next/dist/assets/flows-page-Dss7941e.js +1 -0
  210. package/src/console/ui-next/dist/assets/highlighted-json-MYZQtRnw.js +154 -0
  211. package/src/console/ui-next/dist/assets/http-method-Jrh39p7A.js +1 -0
  212. package/src/console/ui-next/dist/assets/index-D0zS5rKO.css +2 -0
  213. package/src/console/ui-next/dist/assets/index-DXP2dBIF.js +63 -0
  214. package/src/console/ui-next/dist/assets/observability-page-HvolXxTI.js +4 -0
  215. package/src/console/ui-next/dist/assets/react-dom-Ddte4I-Q.js +9 -0
  216. package/src/console/ui-next/dist/assets/replica-lag-CSh2dzrb.js +18 -0
  217. package/src/console/ui-next/dist/assets/request-meta-BatF8KrK.js +1 -0
  218. package/src/console/ui-next/dist/assets/shortcut-keys-3ILd8oGn.js +1 -0
  219. package/src/console/ui-next/dist/assets/{sql-BskegiFM.js → sql-BsFa4tDR.js} +1 -1
  220. package/src/console/ui-next/dist/assets/store-page-eiKiHnNe.js +41 -0
  221. package/src/console/ui-next/dist/assets/trace-detail-sheet-CZkMeKS-.js +2 -0
  222. package/src/console/ui-next/dist/assets/tree-expand-toggle-CW8y5A2h.js +55 -0
  223. package/src/console/ui-next/dist/assets/units-page-B_RWJrEO.js +1 -0
  224. package/src/console/ui-next/dist/assets/{use-vault-list-uk4WVboC.js → use-vault-list-CT4-gajj.js} +1 -1
  225. package/src/console/ui-next/dist/assets/vault-page-CWrg-A68.js +2 -0
  226. package/src/console/ui-next/dist/assets/xyflow-CSyC6ryz.css +1 -0
  227. package/src/console/ui-next/dist/assets/xyflow-yApv7D4e.js +7 -0
  228. package/src/console/ui-next/dist/index.html +6 -13
  229. package/src/console/ui-next/seed-invoke-host.ts +21 -18
  230. package/src/console/ui-next/src/client.ts +7 -2
  231. package/src/console/ui-next/src/features/flows/graph/element-map.ts +2 -0
  232. package/src/console/ui-next/src/features/flows/traces/effect-kind.ts +12 -2
  233. package/src/console/ui-next/src/features/flows/traces/effect-summary.ts +4 -0
  234. package/src/console/ui-next/src/features/flows/traces/trace-detail-sheet.tsx +8 -0
  235. package/src/console/ui-next/src/features/flows/traces/waterfall-bars.ts +4 -0
  236. package/src/console/ui-next/src/features/flows/traces/waterfall-tooltip.ts +9 -3
  237. package/src/console/ui-next/src/features/store/detail/reveal-cell.tsx +7 -11
  238. package/src/console/ui-next/src/features/store/detail/store-row-detail-sheet.tsx +2 -2
  239. package/src/console/ui-next/src/features/store/lib/fields-from-table.ts +2 -0
  240. package/src/console/ui-next/src/features/store/lib/grid-model.test.ts +25 -1
  241. package/src/console/ui-next/src/features/store/lib/grid-model.ts +36 -1
  242. package/src/console/ui-next/src/features/store/query/query-results.tsx +3 -3
  243. package/src/console/ui-next/src/features/units/detail/effects-summary.tsx +2 -0
  244. package/src/console/ui-next/src/features/units/lib/call-read-safe.ts +3 -1
  245. package/src/console/ui-next/src/features/units/lib/fields-from-schema.ts +6 -0
  246. package/src/docker/ai-model-status.test.ts +1 -12
  247. package/src/docker/ai-model-status.ts +10 -38
  248. package/src/docker/compose-up.test.ts +100 -0
  249. package/src/docker/compose-up.ts +292 -0
  250. package/src/docker/compose.ts +4 -14
  251. package/src/docker/derive.ts +9 -34
  252. package/src/docker/docker.test.ts +16 -261
  253. package/src/docker/images-config.test.ts +13 -25
  254. package/src/docker/index.ts +1 -24
  255. package/src/docker/recipes/index.ts +0 -23
  256. package/src/docker/recipes/pgdog.ts +6 -4
  257. package/src/docker/stack-id.test.ts +2 -2
  258. package/src/docker/stack-id.ts +0 -1
  259. package/src/docker/types.ts +2 -2
  260. package/src/drivers/ai-anthropic.ts +10 -0
  261. package/src/drivers/ai-openai-compatible.ts +34 -7
  262. package/src/drivers/ai-providers.test.ts +0 -107
  263. package/src/drivers/ai-stream.test.ts +0 -34
  264. package/src/drivers/ai-types.ts +17 -8
  265. package/src/drivers/channel-fcm.ts +6 -1
  266. package/src/drivers/channel-msegat.ts +6 -1
  267. package/src/drivers/channel-resend.ts +5 -1
  268. package/src/drivers/channel-smtp.ts +5 -1
  269. package/src/drivers/channel-sndr.ts +10 -1
  270. package/src/drivers/channel-taqnyat-mail.ts +5 -1
  271. package/src/drivers/channel-taqnyat-whatsapp.ts +6 -1
  272. package/src/drivers/channel-taqnyat.ts +6 -1
  273. package/src/drivers/channel-types.ts +10 -0
  274. package/src/drivers/channel-unifonic.ts +6 -1
  275. package/src/drivers/channel-wa-cloud.ts +6 -1
  276. package/src/drivers/channel-webpush.ts +6 -1
  277. package/src/drivers/external.ts +33 -0
  278. package/src/drivers/index.ts +0 -10
  279. package/src/drivers/meilisearch.ts +6 -0
  280. package/src/drivers/oauth-types.ts +4 -0
  281. package/src/drivers/postgres.test.ts +74 -3
  282. package/src/drivers/postgres.ts +175 -6
  283. package/src/drivers/signal-types.ts +5 -5
  284. package/src/drivers/types.ts +7 -0
  285. package/src/drivers/vault-types.ts +5 -0
  286. package/src/elements/ai/declare.ts +17 -4
  287. package/src/elements/ai/eval.ts +1 -1
  288. package/src/elements/ai/mcp-http.ts +1 -1
  289. package/src/elements/ai/pii.ts +1 -1
  290. package/src/elements/ai/providers.test.ts +289 -0
  291. package/src/elements/ai/providers.ts +169 -0
  292. package/src/elements/ai/runtime.ts +68 -5
  293. package/src/elements/ai/schema.ts +2 -2
  294. package/src/elements/ai.test.ts +7 -7
  295. package/src/elements/ai.ts +17 -1
  296. package/src/elements/channel/runtime.ts +105 -12
  297. package/src/elements/clock/cron-fields.test.ts +144 -0
  298. package/src/elements/clock/cron-fields.ts +185 -0
  299. package/src/elements/clock/declare.ts +247 -3
  300. package/src/elements/clock.ts +21 -1
  301. package/src/elements/index.ts +15 -0
  302. package/src/elements/signal/chaos-child.ts +1 -2
  303. package/src/elements/signal/declare.ts +65 -37
  304. package/src/elements/signal/delivery-modes.test.ts +11 -31
  305. package/src/elements/signal/dry-run-replay.test.ts +1 -7
  306. package/src/elements/signal/dry-run-write-isolation.test.ts +1 -7
  307. package/src/elements/signal/key-ordering.test.ts +6 -26
  308. package/src/elements/signal/lease-reclaim.test.ts +2 -6
  309. package/src/elements/signal/optional-emit.test.ts +6 -9
  310. package/src/elements/signal/order-lifecycle.test.ts +4 -17
  311. package/src/elements/signal/orphan-messages.test.ts +4 -15
  312. package/src/elements/signal/reconcile.test.ts +2 -2
  313. package/src/elements/signal/runtime.ts +1 -1
  314. package/src/elements/signal/schema-emit.test.ts +4 -8
  315. package/src/elements/signal.test.ts +24 -49
  316. package/src/elements/signal.ts +9 -2
  317. package/src/elements/store/domain-ddl.test.ts +1 -1
  318. package/src/elements/store/live-http.test.ts +9 -4
  319. package/src/elements/store/prepare-row.test.ts +123 -0
  320. package/src/elements/store/resource.ts +43 -12
  321. package/src/elements/store/schema-decl.ts +117 -0
  322. package/src/elements/store/search-backfill.ts +205 -0
  323. package/src/elements/store/search-bind.ts +66 -0
  324. package/src/elements/store/search-bm25.ts +78 -0
  325. package/src/elements/store/search-ddl.ts +156 -0
  326. package/src/elements/store/search-embed-flow.ts +141 -0
  327. package/src/elements/store/search-errors.ts +34 -0
  328. package/src/elements/store/search-fusion.ts +112 -0
  329. package/src/elements/store/search-lsh.ts +179 -0
  330. package/src/elements/store/search-runtime.ts +300 -0
  331. package/src/elements/store/search.test.ts +144 -0
  332. package/src/elements/store/sql-session.test.ts +1 -0
  333. package/src/elements/store/sql-session.ts +83 -3
  334. package/src/elements/store/table.ts +23 -2
  335. package/src/elements/store/upsert-app.test.ts +1 -3
  336. package/src/elements/store.ts +50 -0
  337. package/src/full.ts +4 -2
  338. package/src/http.ts +4 -1
  339. package/src/i18n/catalogs/ar.ts +14 -6
  340. package/src/i18n/catalogs/en.ts +14 -6
  341. package/src/index.ts +6 -1
  342. package/src/kernel/adopt-barrel-fresh.test.ts +7 -7
  343. package/src/kernel/adopt-routes.ts +9 -1
  344. package/src/kernel/app-auth.ts +5 -0
  345. package/src/kernel/app.ts +102 -9
  346. package/src/kernel/auto-cache.test.ts +6 -12
  347. package/src/kernel/auto-registry.test.ts +3 -3
  348. package/src/kernel/boot-bind/ai.test.ts +22 -19
  349. package/src/kernel/boot-bind/ai.ts +5 -43
  350. package/src/kernel/boot-bind/clock.ts +23 -5
  351. package/src/kernel/boot-bind/honor-config.test.ts +4 -4
  352. package/src/kernel/boot.test.ts +11 -6
  353. package/src/kernel/boot.ts +66 -16
  354. package/src/kernel/boundary-contract.ts +93 -0
  355. package/src/kernel/budget.test.ts +1 -1
  356. package/src/kernel/call.ts +89 -0
  357. package/src/kernel/capability.ts +6 -0
  358. package/src/kernel/client-descriptor.ts +123 -0
  359. package/src/kernel/clock-timezone.test.ts +80 -0
  360. package/src/kernel/correlation.test.ts +1 -1
  361. package/src/kernel/dry-run.ts +11 -8
  362. package/src/kernel/effects-stamping.test.ts +42 -9
  363. package/src/kernel/effects.test.ts +4 -2
  364. package/src/kernel/effects.ts +51 -9
  365. package/src/kernel/errors-channel.ts +17 -0
  366. package/src/kernel/errors-live-resume.ts +3 -2
  367. package/src/kernel/errors-tenant.ts +7 -4
  368. package/src/kernel/errors.registry-helpers.ts +96 -0
  369. package/src/kernel/errors.registry.test.ts +139 -25
  370. package/src/kernel/errors.ts +102 -23
  371. package/src/kernel/external-effects.test.ts +196 -0
  372. package/src/kernel/flow.test.ts +13 -4
  373. package/src/kernel/flow.ts +69 -71
  374. package/src/kernel/fx-ask-telemetry.test.ts +2 -2
  375. package/src/kernel/fx-dead-letters.test.ts +3 -3
  376. package/src/kernel/fx-fetch.ts +55 -0
  377. package/src/kernel/fx-live-stream.ts +2 -2
  378. package/src/kernel/fx-live.test.ts +8 -8
  379. package/src/kernel/fx.test.ts +17 -11
  380. package/src/kernel/fx.ts +180 -57
  381. package/src/kernel/horizontal-child.ts +1 -1
  382. package/src/kernel/http-query.test.ts +3 -6
  383. package/src/kernel/index.ts +13 -3
  384. package/src/kernel/instance-id.ts +1 -1
  385. package/src/kernel/instances.test.ts +40 -0
  386. package/src/kernel/instances.ts +47 -9
  387. package/src/kernel/live-http.test.ts +6 -7
  388. package/src/kernel/live-http.ts +6 -2
  389. package/src/kernel/live-resume.test.ts +1 -1
  390. package/src/kernel/mcp-tool.test.ts +3 -3
  391. package/src/kernel/on.ts +98 -4
  392. package/src/kernel/pipeline.test.ts +12 -15
  393. package/src/kernel/plugin-elements.test.ts +1 -1
  394. package/src/kernel/stamp-http.test.ts +3 -3
  395. package/src/kernel/triggers.ts +210 -95
  396. package/src/kernel-entry.ts +0 -1
  397. package/src/manifest/diff.ts +11 -1
  398. package/src/manifest/fixtures/skyport.excerpt.json +1 -1
  399. package/src/manifest/types.ts +46 -2
  400. package/src/mcp/docs-index.ts +3 -3
  401. package/src/mcp/docs-mcp.test.ts +2 -2
  402. package/src/mcp/docs-tools.ts +1 -1
  403. package/src/okid.test.ts +56 -0
  404. package/src/okid.ts +55 -11
  405. package/src/plugins/anonymous.ts +8 -4
  406. package/src/plugins/auth/shared.ts +27 -3
  407. package/src/plugins/auth-delivery.mailpit.integration.test.ts +1 -1
  408. package/src/plugins/auth-methods.security.test.ts +561 -23
  409. package/src/plugins/config-source.ts +1 -1
  410. package/src/plugins/csrf.test.ts +65 -0
  411. package/src/plugins/index.ts +2 -0
  412. package/src/plugins/magic-link.ts +36 -16
  413. package/src/plugins/oauth/shared.ts +3 -1
  414. package/src/plugins/oauth.ts +22 -14
  415. package/src/plugins/otp.ts +37 -21
  416. package/src/plugins/passkey-webauthn.ts +9 -6
  417. package/src/plugins/passkey.ts +98 -26
  418. package/src/plugins/pre-account-hijack.test.ts +223 -0
  419. package/src/plugins/two-factor.ts +466 -37
  420. package/src/plugins/username.ts +19 -7
  421. package/src/release/build-lib.ts +1 -0
  422. package/src/release/limits.ts +2 -2
  423. package/src/release/measure.ts +1 -1
  424. package/src/runs/collect.test.ts +0 -2
  425. package/src/runtime/json-code-block.test.ts +250 -20
  426. package/src/runtime/json-code-block.ts +1261 -41
  427. package/src/term.test.ts +1 -1
  428. package/src/test/create-test-app.test.ts +12 -12
  429. package/src/test/live-signals.test.ts +6 -6
  430. package/src/test/provisions.integration.test.ts +10 -14
  431. package/src/test/reset-element-registries.ts +1 -1
  432. package/src/test/tenant-isolation.test.ts +12 -6
  433. package/site/content/docs/deployment/docker-swarm.mdx +0 -164
  434. package/site/content/docs/deployment/docker.mdx +0 -227
  435. package/site/content/docs/deployment/index.mdx +0 -83
  436. package/site/content/docs/deployment/kubernetes.mdx +0 -176
  437. package/site/content/docs/deployment/meta.json +0 -5
  438. package/site/content/docs/deployment/reverse-proxy.mdx +0 -234
  439. package/site/content/docs/elements/ai.mdx +0 -385
  440. package/site/content/docs/elements/channel.mdx +0 -346
  441. package/site/content/docs/elements/clock.mdx +0 -244
  442. package/site/content/docs/elements/flow.mdx +0 -420
  443. package/site/content/docs/elements/gate.mdx +0 -436
  444. package/site/content/docs/elements/signal.mdx +0 -380
  445. package/site/content/docs/elements/store.mdx +0 -1099
  446. package/site/content/docs/elements/vault.mdx +0 -405
  447. package/site/content/docs/get-started/basic-usage.mdx +0 -173
  448. package/site/content/docs/get-started/index.mdx +0 -43
  449. package/site/content/docs/get-started/installation.mdx +0 -220
  450. package/site/content/docs/get-started/introduction.mdx +0 -132
  451. package/site/content/docs/get-started/meta.json +0 -13
  452. package/site/content/docs/get-started/project-structure.mdx +0 -925
  453. package/site/content/docs/get-started/testing.mdx +0 -328
  454. package/site/content/docs/get-started/why.mdx +0 -162
  455. package/site/content/docs/recipes/llama-cpp.mdx +0 -151
  456. package/site/content/docs/recipes/ollama.mdx +0 -142
  457. package/site/content/docs/recipes/sglang.mdx +0 -105
  458. package/site/content/docs/recipes/vllm.mdx +0 -106
  459. package/site/content/docs/reference/cli.md +0 -232
  460. package/site/content/docs/reference/client.mdx +0 -469
  461. package/site/content/docs/reference/security.md +0 -74
  462. package/src/cli/ai-setup/detect-ollama.ts +0 -213
  463. package/src/cli/ai-setup/recommend.test.ts +0 -225
  464. package/src/cli/ai-setup/recommend.ts +0 -225
  465. package/src/cli/dev-controls.test.ts +0 -122
  466. package/src/cli/dev-controls.ts +0 -164
  467. package/src/cli/tui/DevLive.tsx +0 -126
  468. package/src/console/ui-next/dist/assets/access-page-De7Lc2JC.js +0 -4
  469. package/src/console/ui-next/dist/assets/agent-disclosure-BP0Y0Sux.js +0 -1
  470. package/src/console/ui-next/dist/assets/cache-glyph-B5X-NM0-.js +0 -1
  471. package/src/console/ui-next/dist/assets/call-pii-button-ChAUiLo9.js +0 -1
  472. package/src/console/ui-next/dist/assets/collapsible-DGnOM2ph.js +0 -1
  473. package/src/console/ui-next/dist/assets/copy-inline-button-DBHhgHKP.js +0 -1
  474. package/src/console/ui-next/dist/assets/dagre.esm-ZwcdTuZZ.js +0 -1
  475. package/src/console/ui-next/dist/assets/detail-header-DhHM1iaZ.js +0 -1
  476. package/src/console/ui-next/dist/assets/dropdown-menu-_NjTEo5_.js +0 -1
  477. package/src/console/ui-next/dist/assets/duration-tone-sC3lGABz.js +0 -9
  478. package/src/console/ui-next/dist/assets/element-icons-BVXtRyd3.js +0 -1
  479. package/src/console/ui-next/dist/assets/explorer-empty-2uIhBu0_.js +0 -1
  480. package/src/console/ui-next/dist/assets/flows-page-RGy7VEA_.js +0 -1
  481. package/src/console/ui-next/dist/assets/highlighted-json-Awq7gYdu.js +0 -154
  482. package/src/console/ui-next/dist/assets/http-method-_UHM2ODJ.js +0 -1
  483. package/src/console/ui-next/dist/assets/index-Ck88Jmv8.css +0 -2
  484. package/src/console/ui-next/dist/assets/index-_rgpdVzo.js +0 -66
  485. package/src/console/ui-next/dist/assets/link-BX6Vqztd.js +0 -1
  486. package/src/console/ui-next/dist/assets/observability-page-Ds6pcnh-.js +0 -4
  487. package/src/console/ui-next/dist/assets/preload-helper-oH4irX4C.js +0 -1
  488. package/src/console/ui-next/dist/assets/react-D8E3mtu1.js +0 -1
  489. package/src/console/ui-next/dist/assets/react-dom-Bph1y7z7.js +0 -9
  490. package/src/console/ui-next/dist/assets/replica-lag-DKRrbvdo.js +0 -18
  491. package/src/console/ui-next/dist/assets/request-meta-DV0ywz7t.js +0 -1
  492. package/src/console/ui-next/dist/assets/shortcut-JQIZlWfm.js +0 -1
  493. package/src/console/ui-next/dist/assets/shortcut-keys-DKxNTe_m.js +0 -1
  494. package/src/console/ui-next/dist/assets/skeleton-D-czQJT6.js +0 -1
  495. package/src/console/ui-next/dist/assets/store-page-02xOiqIK.js +0 -41
  496. package/src/console/ui-next/dist/assets/trace-detail-sheet-B09O8rA6.js +0 -2
  497. package/src/console/ui-next/dist/assets/tree-expand-toggle-BtyhmWb4.js +0 -55
  498. package/src/console/ui-next/dist/assets/units-page-4rHOePuE.js +0 -1
  499. package/src/console/ui-next/dist/assets/useMutation-B8EO02Ej.js +0 -1
  500. package/src/console/ui-next/dist/assets/useRender-BE2A9BWC.js +0 -1
  501. package/src/console/ui-next/dist/assets/vault-page-DISPgxLM.js +0 -2
  502. package/src/console/ui-next/dist/assets/xyflow-D7n4g6go.js +0 -7
  503. package/src/console/ui-next/dist/assets/xyflow-DZ0Ws1xk.css +0 -1
  504. package/src/docker/ollama-pull.ts +0 -232
  505. package/src/docker/recipes/llama-cpp.ts +0 -298
  506. package/src/docker/recipes/ollama.ts +0 -44
  507. package/src/docker/recipes/sglang.ts +0 -55
  508. package/src/docker/recipes/vllm.ts +0 -44
  509. package/src/drivers/ai-ollama-tools.integration.test.ts +0 -109
  510. package/src/drivers/ai-ollama.integration.test.ts +0 -184
  511. package/src/drivers/ai-ollama.ts +0 -389
  512. package/src/drivers/ollama.ts +0 -14
@@ -1 +0,0 @@
1
- var e=Object.defineProperty,t=(t,n,r)=>n in t?e(t,n,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[n]=r,n=(t,n)=>{for(var r in n)e(t,r,{get:n[r],enumerable:!0})},r=(e,n,r)=>t(e,typeof n==`symbol`?n:n+``,r),i={};n(i,{Graph:()=>T,alg:()=>_});var a=Object.defineProperty,o=(e,t)=>{for(var n in t)a(e,n,{get:t[n],enumerable:!0})},s=class{constructor(e){this._isDirected=!0,this._isMultigraph=!1,this._isCompound=!1,this._nodes={},this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={},this._nodeCount=0,this._edgeCount=0,this._defaultNodeLabelFn=()=>{},this._defaultEdgeLabelFn=()=>{},e&&(this._isDirected=`directed`in e?e.directed:!0,this._isMultigraph=`multigraph`in e&&e.multigraph,this._isCompound=`compound`in e&&e.compound),this._isCompound&&(this._parent={},this._children={},this._children[`\0`]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(e){return this._label=e,this}graph(){return this._label}setDefaultNodeLabel(e){return this._defaultNodeLabelFn=typeof e==`function`?e:()=>e,this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){return this.nodes().filter(e=>Object.keys(this._in[e]).length===0)}sinks(){return this.nodes().filter(e=>Object.keys(this._out[e]).length===0)}setNodes(e,t){return e.forEach(e=>{t===void 0?this.setNode(e):this.setNode(e,t)}),this}setNode(e,t){return e in this._nodes?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=`\0`,this._children[e]={},this._children[`\0`][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)}node(e){return this._nodes[e]}hasNode(e){return e in this._nodes}removeNode(e){if(e in this._nodes){let t=e=>this.removeEdge(this._edgeObjs[e]);delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],this.children(e).forEach(e=>{this.setParent(e)}),delete this._children[e]),Object.keys(this._in[e]).forEach(t),delete this._in[e],delete this._preds[e],Object.keys(this._out[e]).forEach(t),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this}setParent(e,t){if(!this._isCompound)throw Error(`Cannot set parent in a non-compound graph`);if(t===void 0)t=`\0`;else{t+=``;for(let n=t;n!==void 0;n=this.parent(n))if(n===e)throw Error(`Setting `+t+` as parent of `+e+` would create a cycle`);this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this}parent(e){if(this._isCompound){let t=this._parent[e];if(t!==`\0`)return t}}children(e=`\0`){if(this._isCompound){let t=this._children[e];if(t)return Object.keys(t)}else{if(e===`\0`)return this.nodes();if(this.hasNode(e))return[]}return[]}predecessors(e){let t=this._preds[e];if(t)return Object.keys(t)}successors(e){let t=this._sucs[e];if(t)return Object.keys(t)}neighbors(e){let t=this.predecessors(e);if(t){let n=new Set(t),r=this.successors(e);if(r)for(let e of r)n.add(e);return Array.from(n.values())}}isLeaf(e){let t;return t=this.isDirected()?this.successors(e):this.neighbors(e),(t?.length??0)===0}filterNodes(e){let t=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});t.setGraph(this.graph()),Object.entries(this._nodes).forEach(([n,r])=>{e(n)&&t.setNode(n,r)}),Object.values(this._edgeObjs).forEach(e=>{t.hasNode(e.v)&&t.hasNode(e.w)&&t.setEdge(e,this.edge(e))});let n={},r=e=>{let i=this.parent(e);return!i||t.hasNode(i)?(n[e]=i,i):i in n?n[i]:r(i)};return this._isCompound&&t.nodes().forEach(e=>t.setParent(e,r(e))),t}setDefaultEdgeLabel(e){return this._defaultEdgeLabelFn=typeof e==`function`?e:()=>e,this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(e,t){return e.reduce((e,n)=>(t===void 0?this.setEdge(e,n):this.setEdge(e,n,t),n)),this}setEdge(e,t,n,r){let i,a,o,s,l=!1;typeof e==`object`&&e&&`v`in e?(i=e.v,a=e.w,o=e.name,arguments.length===2&&(s=t,l=!0)):(i=e,a=t,o=r,arguments.length>2&&(s=n,l=!0)),i=``+i,a=``+a,o!==void 0&&(o=``+o);let f=u(this._isDirected,i,a,o);if(f in this._edgeLabels)return l&&(this._edgeLabels[f]=s),this;if(o!==void 0&&!this._isMultigraph)throw Error(`Cannot set a named edge when isMultigraph = false`);this.setNode(i),this.setNode(a),this._edgeLabels[f]=l?s:this._defaultEdgeLabelFn(i,a,o);let p=d(this._isDirected,i,a,o);return i=p.v,a=p.w,Object.freeze(p),this._edgeObjs[f]=p,c(this._preds[a],i),c(this._sucs[i],a),this._in[a][f]=p,this._out[i][f]=p,this._edgeCount++,this}edge(e,t,n){let r=arguments.length===1?f(this._isDirected,e):u(this._isDirected,e,t,n);return this._edgeLabels[r]}edgeAsObj(e,t,n){let r=arguments.length===1?this.edge(e):this.edge(e,t,n);return typeof r!=`object`||!r?{label:r}:r}hasEdge(e,t,n){return(arguments.length===1?f(this._isDirected,e):u(this._isDirected,e,t,n))in this._edgeLabels}removeEdge(e,t,n){let r=arguments.length===1?f(this._isDirected,e):u(this._isDirected,e,t,n),i=this._edgeObjs[r];if(i){let e=i.v,t=i.w;delete this._edgeLabels[r],delete this._edgeObjs[r],l(this._preds[t],e),l(this._sucs[e],t),delete this._in[t][r],delete this._out[e][r],this._edgeCount--}return this}inEdges(e,t){return this.isDirected()?this.filterEdges(this._in[e],e,t):this.nodeEdges(e,t)}outEdges(e,t){return this.isDirected()?this.filterEdges(this._out[e],e,t):this.nodeEdges(e,t)}nodeEdges(e,t){if(e in this._nodes)return this.filterEdges({...this._in[e],...this._out[e]},e,t)}_removeFromParentsChildList(e){delete this._children[this._parent[e]][e]}filterEdges(e,t,n){if(!e)return;let r=Object.values(e);return n?r.filter(e=>e.v===t&&e.w===n||e.v===n&&e.w===t):r}};function c(e,t){e[t]?e[t]++:e[t]=1}function l(e,t){e[t]!==void 0&&!--e[t]&&delete e[t]}function u(e,t,n,r){let i=``+t,a=``+n;if(!e&&i>a){let e=i;i=a,a=e}return i+``+a+``+(r===void 0?`\0`:r)}function d(e,t,n,r){let i=``+t,a=``+n;if(!e&&i>a){let e=i;i=a,a=e}let o={v:i,w:a};return r&&(o.name=r),o}function f(e,t){return u(e,t.v,t.w,t.name)}o({},{read:()=>g,write:()=>p});function p(e){let t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:m(e),edges:h(e)},n=e.graph();return n!==void 0&&(t.value=structuredClone(n)),t}function m(e){return e.nodes().map(t=>{let n=e.node(t),r=e.parent(t),i={v:t};return n!==void 0&&(i.value=n),r!==void 0&&(i.parent=r),i})}function h(e){return e.edges().map(t=>{let n=e.edge(t),r={v:t.v,w:t.w};return t.name!==void 0&&(r.name=t.name),n!==void 0&&(r.value=n),r})}function g(e){let t=new s(e.options);return e.value!==void 0&&t.setGraph(e.value),e.nodes.forEach(e=>{t.setNode(e.v,e.value),e.parent&&t.setParent(e.v,e.parent)}),e.edges.forEach(e=>{t.setEdge({v:e.v,w:e.w,name:e.name},e.value)}),t}var _={};o(_,{CycleException:()=>C,bellmanFord:()=>y,components:()=>te,dijkstra:()=>x,dijkstraAll:()=>ie,findCycles:()=>ae,floydWarshall:()=>se,isAcyclic:()=>le,postorder:()=>pe,preorder:()=>me,prim:()=>he,shortestPaths:()=>ge,tarjan:()=>S,topsort:()=>w});var v=()=>1;function y(e,t,n,r){return ee(e,String(t),n||v,r||function(t){return e.outEdges(t)??[]})}function ee(e,t,n,r){let i={},a,o=0,s=e.nodes(),c=function(e){let t=i[e.v],r=i[e.w];if(!t||!r)return;let o=n(e);t.distance+o<r.distance&&(i[e.w]={distance:t.distance+o,predecessor:e.v},a=!0)},l=function(){s.forEach(function(e){r(e).forEach(function(t){let n=t.v===e?t.v:t.w,r=n===t.v?t.w:t.v;c({v:n,w:r})})})};s.forEach(function(e){i[e]={distance:e===t?0:1/0,predecessor:``}});let u=s.length;for(let e=1;e<u&&(a=!1,o++,l(),a);e++);if(o===u-1&&(a=!1,l(),a))throw Error(`The graph contains a negative weight cycle`);return i}function te(e){let t={},n=[],r;function i(n){var a,o;n in t||(t[n]=!0,r.push(n),(a=e.successors(n))==null||a.forEach(i),(o=e.predecessors(n))==null||o.forEach(i))}return e.nodes().forEach(function(e){r=[],i(e),r.length&&n.push(r)}),n}var b=class{constructor(){this._arr=[],this._keyIndices={}}size(){return this._arr.length}keys(){return this._arr.map(e=>e.key)}has(e){return e in this._keyIndices}priority(e){let t=this._keyIndices[e];if(t!==void 0)return this._arr[t].priority}min(){if(this.size()===0)throw Error(`Queue underflow`);return this._arr[0].key}add(e,t){let n=this._keyIndices,r=String(e);if(!(r in n)){let e=this._arr,i=e.length;return n[r]=i,e.push({key:r,priority:t}),this._decrease(i),!0}return!1}removeMin(){if(this.size()===0)throw Error(`Queue underflow`);this._swap(0,this._arr.length-1);let e=this._arr.pop();return delete this._keyIndices[e.key],this._heapify(0),e.key}decrease(e,t){let n=this._keyIndices[e];if(n===void 0)throw Error(`Key not found: ${e}`);let r=this._arr[n].priority;if(t>r)throw Error(`New priority is greater than current priority. Key: ${e} Old: ${r} New: ${t}`);this._arr[n].priority=t,this._decrease(n)}_heapify(e){let t=this._arr,n=2*e,r=n+1,i=e;n<t.length&&(i=t[n].priority<t[i].priority?n:i,r<t.length&&(i=t[r].priority<t[i].priority?r:i),i!==e&&(this._swap(e,i),this._heapify(i)))}_decrease(e){let t=this._arr,n=t[e].priority,r;for(;e!==0&&(r=e>>1,!(t[r].priority<n));)this._swap(e,r),e=r}_swap(e,t){let n=this._arr,r=this._keyIndices,i=n[e],a=n[t];n[e]=a,n[t]=i,r[a.key]=e,r[i.key]=t}},ne=()=>1;function x(e,t,n,r){return re(e,String(t),n||ne,r||function(t){return e.outEdges(t)??[]})}function re(e,t,n,r){let i={},a=new b,o,s,c=function(e){let t=e.v===o?e.w:e.v,r=i[t];if(!r)return;let c=n(e),l=s.distance+c;if(c<0)throw Error(`dijkstra does not allow negative edge weights. Bad edge: `+e+` Weight: `+c);l<r.distance&&(r.distance=l,r.predecessor=o,a.decrease(t,l))};for(e.nodes().forEach(function(e){let n=e===t?0:1/0;i[e]={distance:n,predecessor:``},a.add(e,n)});a.size()>0;){o=a.removeMin();let e=i[o];if(!e||e.distance===1/0)break;s=e,r(o).forEach(c)}return i}function ie(e,t,n){return e.nodes().reduce(function(r,i){return r[i]=x(e,i,t,n),r},{})}function S(e){let t=0,n=[],r={},i=[];function a(o){var s;let c=r[o]={onStack:!0,lowlink:t,index:t++};if(n.push(o),(s=e.successors(o))==null||s.forEach(function(e){if(e in r){let t=r[e];t!=null&&t.onStack&&(c.lowlink=Math.min(c.lowlink,t.index))}else{a(e);let t=r[e];t&&(c.lowlink=Math.min(c.lowlink,t.lowlink))}}),c.lowlink===c.index){let e=[],t;do{t=n.pop();let i=r[t];i&&(i.onStack=!1),e.push(t)}while(o!==t);i.push(e)}}return e.nodes().forEach(function(e){e in r||a(e)}),i}function ae(e){return S(e).filter(function(t){let n=t[0];return n?t.length>1||t.length===1&&(e.outEdges(n,n)??[]).length>0:!1})}var oe=()=>1;function se(e,t,n){return ce(e,t||oe,n||function(t){return e.outEdges(t)??[]})}function ce(e,t,n){let r={},i=e.nodes();return i.forEach(function(e){let a={};r[e]=a,a[e]={distance:0,predecessor:``},i.forEach(function(t){e!==t&&(a[t]={distance:1/0,predecessor:``})}),n(e).forEach(function(n){let r=n.v===e?n.w:n.v,i=t(n);a[r]={distance:i,predecessor:e}})}),i.forEach(function(e){let t=r[e];t&&i.forEach(function(n){let a=r[n];a&&i.forEach(function(n){let r=a[e],i=t[n],o=a[n];if(r&&i&&o){let e=r.distance+i.distance;e<o.distance&&(o.distance=e,o.predecessor=i.predecessor)}})})}),r}var C=class extends Error{constructor(e){super(e),this.name=`CycleException`}};function w(e){let t={},n={},r=[];function i(a){var o;if(a in n)throw new C;a in t||(n[a]=!0,t[a]=!0,(o=e.predecessors(a))==null||o.forEach(i),delete n[a],r.push(a))}if(e.sinks().forEach(i),Object.keys(t).length!==e.nodeCount())throw new C;return r}function le(e){try{w(e)}catch(e){if(e instanceof C)return!1;throw e}return!0}function ue(e,t,n,r,i){Array.isArray(t)||(t=[t]);let a=(t=>(e.isDirected()?e.successors(t):e.neighbors(t))??[]),o={};return t.forEach(function(t){if(!e.hasNode(t))throw Error(`Graph does not have node: `+t);i=de(e,t,n===`post`,o,a,r,i)}),i}function de(e,t,n,r,i,a,o){return t in r||(r[t]=!0,n||(o=a(o,t)),i(t).forEach(function(t){o=de(e,t,n,r,i,a,o)}),n&&(o=a(o,t))),o}function fe(e,t,n){return ue(e,t,n,function(e,t){return e.push(t),e},[])}function pe(e,t){return fe(e,t,`post`)}function me(e,t){return fe(e,t,`pre`)}function he(e,t){var n;let r=new s,i={},a=new b,o;function c(e){let n=e.v===o?e.w:e.v,r=a.priority(n);if(r!==void 0){let s=t(e);s<r&&(i[n]=o,a.decrease(n,s))}}if(e.nodeCount()===0)return r;e.nodes().forEach(function(e){a.add(e,1/0),r.setNode(e)});let l=e.nodes()[0];l!==void 0&&a.decrease(l,0);let u=!1;for(;a.size()>0;){if(o=a.removeMin(),o in i)r.setEdge(o,i[o]);else{if(u)throw Error(`Input graph is not connected: `+e);u=!0}(n=e.nodeEdges(o))==null||n.forEach(c)}return r}function ge(e,t,n,r){return _e(e,t,n,r??(t=>e.outEdges(t)??[]))}function _e(e,t,n,r){if(n===void 0)return x(e,t,n,r);let i=!1,a=e.nodes();for(let o=0;o<a.length;o++){let s=a[o];if(s===void 0)continue;let c=r(s);for(let e=0;e<c.length;e++){let t=c[e];if(!t)continue;let r=t.v===s?t.v:t.w;n({v:r,w:r===t.v?t.w:t.v})<0&&(i=!0)}if(i)return y(e,t,n,r)}return x(e,t,n,r)}var T=s;function E(e,t,n,r){let i=r;for(;e.hasNode(i);)i=F(r);return n.dummy=t,e.setNode(i,n),i}function ve(e){let t=new T().setGraph(e.graph());return e.nodes().forEach(n=>t.setNode(n,e.node(n))),e.edges().forEach(n=>{let r=t.edge(n.v,n.w)||{weight:0,minlen:1},i=e.edge(n);t.setEdge(n.v,n.w,{weight:r.weight+i.weight,minlen:Math.max(r.minlen,i.minlen)})}),t}function D(e){let t=new T({multigraph:e.isMultigraph()}).setGraph(e.graph());return e.nodes().forEach(n=>{e.children(n).length||t.setNode(n,e.node(n))}),e.edges().forEach(n=>{t.setEdge(n,e.edge(n))}),t}function O(e,t){let n=e.x,r=e.y,i=t.x-n,a=t.y-r,o=e.width/2,s=e.height/2;if(!i&&!a)throw Error(`Not possible to find intersection inside of the rectangle`);let c,l;return Math.abs(a)*o>Math.abs(i)*s?(a<0&&(s=-s),c=s*i/a,l=s):(i<0&&(o=-o),c=o,l=o*a/i),{x:n+c,y:r+l}}function k(e){let t=I(N(e)+1).map(()=>[]);return e.nodes().forEach(n=>{let r=e.node(n),i=r.rank;i!==void 0&&(t[i]||(t[i]=[]),t[i][r.order]=n)}),t}function ye(e){let t=e.nodes().map(t=>{let n=e.node(t).rank;return n===void 0?Number.MAX_VALUE:n}),n=M(Math.min,t);e.nodes().forEach(t=>{let r=e.node(t);Object.hasOwn(r,`rank`)&&(r.rank-=n)})}function be(e){let t=e.nodes().map(t=>e.node(t).rank).filter(e=>e!==void 0),n=M(Math.min,t),r=[];e.nodes().forEach(t=>{let i=e.node(t).rank-n;r[i]||(r[i]=[]),r[i].push(t)});let i=0,a=e.graph().nodeRankFactor;Array.from(r).forEach((t,n)=>{t===void 0&&n%a!==0?--i:t!==void 0&&i&&t.forEach(t=>e.node(t).rank+=i)})}function A(e,t,n,r){let i={width:0,height:0};return arguments.length>=4&&(i.rank=n,i.order=r),E(e,`border`,i,t)}function xe(e,t=j){let n=[];for(let r=0;r<e.length;r+=t){let i=e.slice(r,r+t);n.push(i)}return n}var j=65535;function M(e,t){return t.length>j?e(...xe(t).map(t=>e(...t))):e(...t)}function N(e){let t=e.nodes().map(t=>{let n=e.node(t).rank;return n===void 0?Number.MIN_VALUE:n});return M(Math.max,t)}function Se(e,t){let n={lhs:[],rhs:[]};return e.forEach(e=>{t(e)?n.lhs.push(e):n.rhs.push(e)}),n}function Ce(e,t){let n=Date.now();try{return t()}finally{console.log(e+` time: `+(Date.now()-n)+`ms`)}}function P(e,t){return t()}var we=0;function F(e){return e+(``+ ++we)}function I(e,t,n=1){t??(t=e,e=0);let r=e=>e<t;n<0&&(r=e=>t<e);let i=[];for(let t=e;r(t);t+=n)i.push(t);return i}function L(e,t){let n={};for(let r of t)e[r]!==void 0&&(n[r]=e[r]);return n}function R(e,t){let n;return n=typeof t==`string`?e=>e[t]:t,Object.entries(e).reduce((e,[t,r])=>(e[t]=n(r,t),e),{})}function Te(e,t){return e.reduce((e,n,r)=>(e[n]=t[r],e),{})}var z=`\0`;function B(e,t,n){if(!(e&&t&&n&&t.dummy===`edge`&&n.dummy===`edge`&&t.edgeObj&&n.edgeObj&&e[t.edgeObj.v]&&e[n.edgeObj.v]&&e[t.edgeObj.w]&&e[n.edgeObj.w]))return 0;let r=!0;t.edgeObj.w===n.edgeObj.w&&(r=!1);let i=r?e[t.edgeObj.v]?.rank??NaN:e[t.edgeObj.w]?.rank??NaN,a=Object.entries(e).find(e=>e[1].edgeObj?.v===t.edgeObj.v&&e[1].edgeObj?.w===t.edgeObj.w&&e[1].rank===i),o=Object.entries(e).find(e=>e[1].edgeObj?.v===n.edgeObj.v&&e[1].edgeObj?.w===n.edgeObj.w&&e[1].rank===i);if(!a||!o)return 0;let s=a[1].order??NaN,c=o[1].order??NaN;return isNaN(s-c)?0:s-c}var Ee=`3.1.1`,De=class{constructor(){r(this,`_sentinel`);let e={};e._next=e._prev=e,this._sentinel=e}dequeue(){let e=this._sentinel,t=e._prev;if(t!==e)return V(t),t}enqueue(e){let t=this._sentinel;e._prev&&e._next&&V(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t}toString(){let e=[],t=this._sentinel,n=t._prev;for(;n!==t;)e.push(JSON.stringify(n,Oe)),n=n._prev;return`[`+e.join(`, `)+`]`}};function V(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function Oe(e,t){if(e!==`_next`&&e!==`_prev`)return t}var ke=De,Ae=()=>1;function je(e,t){if(e.nodeCount()<=1)return[];let n=Ne(e,t||Ae);return Me(n.graph,n.buckets,n.zeroIdx).flatMap(t=>e.outEdges(t.v,t.w)||[])}function Me(e,t,n){let r=[],i=t[t.length-1],a=t[0],o;for(;e.nodeCount();){for(;o=a.dequeue();)H(e,t,n,o);for(;o=i.dequeue();)H(e,t,n,o);if(e.nodeCount()){for(let i=t.length-2;i>0;--i)if(o=t[i]?.dequeue(),o){r=r.concat(H(e,t,n,o,!0)||[]);break}}}return r}function H(e,t,n,r,i){let a=[],o=i?a:void 0;return(e.inEdges(r.v)||[]).forEach(r=>{let o=e.edge(r),s=e.node(r.v);i&&a.push({v:r.v,w:r.w}),s.out-=o,U(t,n,s)}),(e.outEdges(r.v)||[]).forEach(r=>{let i=e.edge(r),a=r.w,o=e.node(a);o.in-=i,U(t,n,o)}),e.removeNode(r.v),o}function Ne(e,t){let n=new T,r=0,i=0;e.nodes().forEach(e=>{n.setNode(e,{v:e,in:0,out:0})}),e.edges().forEach(e=>{let a=n.edge(e.v,e.w)||0,o=t(e),s=a+o;n.setEdge(e.v,e.w,s);let c=n.node(e.v),l=n.node(e.w);i=Math.max(i,c.out+=o),r=Math.max(r,l.in+=o)});let a=Pe(i+r+3).map(()=>new ke),o=r+1;return n.nodes().forEach(e=>{U(a,o,n.node(e))}),{graph:n,buckets:a,zeroIdx:o}}function U(e,t,n){var r,i,a;n.out?n.in?(a=e[n.out-n.in+t])==null||a.enqueue(n):(i=e[e.length-1])==null||i.enqueue(n):(r=e[0])==null||r.enqueue(n)}function Pe(e){let t=[];for(let n=0;n<e;n++)t.push(n);return t}function Fe(e,t){(e.graph().acyclicer===`greedy`?je(e,n(e)):Ie(e,t??null)).forEach(t=>{let n=e.edge(t);e.removeEdge(t),n.forwardName=t.name,n.reversed=!0,e.setEdge(t.w,t.v,n,F(`rev`))});function n(e){return t=>e.edge(t).weight}}function Ie(e,t){let n=[],r={},i={};function a(t){Object.hasOwn(i,t)||(i[t]=!0,r[t]=!0,e.outEdges(t).forEach(e=>{Object.hasOwn(r,e.w)?n.push(e):a(e.w)}),delete r[t])}function o(a){var s;Object.hasOwn(i,a)||(i[a]=!0,r[a]=!0,(s=e.outEdges(a))==null||s.forEach(i=>{Object.hasOwn(r,i.w)||t.node(a)?.rank>t.node(i.w)?.rank&&Re(e,i.w,i)?n.push(i):o(i.w)}),delete r[a])}let s=a;return t&&typeof t.node==`function`&&(s=o),e.sources().forEach(s),e.nodes().forEach(s),n}function Le(e){e.edges().forEach(t=>{let n=e.edge(t);if(n.reversed){e.removeEdge(t);let r=n.forwardName;delete n.reversed,delete n.forwardName,e.setEdge(t.w,t.v,n,r)}})}function Re(e,t,n){let r=new Set;function i(t){if(e.sources().includes(t))return!0;r.add(t);for(let a of e.inEdges(t)??[])if((a.v!==n.v||a.w!==n.w)&&!r.has(a.v)&&i(a.v))return!0;return!1}return i(t)}function ze(e){e.graph().dummyChains=[],e.edges().forEach(t=>Be(e,t))}function Be(e,t){let n=t.v,r=e.node(n).rank,i=t.w,a=e.node(i).rank,o=t.name,s=e.edge(t),c=s.labelRank;if(a===r+1)return;e.removeEdge(t);let l,u,d;for(d=0,++r;r<a;++d,++r)s.points=[],u={width:0,height:0,edgeLabel:s,edgeObj:t,rank:r},l=E(e,`edge`,u,`_d`),r===c&&(u.width=s.width,u.height=s.height,u.dummy=`edge-label`,u.labelpos=s.labelpos),e.setEdge(n,l,{weight:s.weight},o),d===0&&e.graph().dummyChains.push(l),n=l;e.setEdge(n,i,{weight:s.weight},o)}function Ve(e){e.graph().dummyChains.forEach(t=>{let n=e.node(t),r=n.edgeLabel,i;for(e.setEdge(n.edgeObj,r);n.dummy;)i=e.successors(t)[0],e.removeNode(t),r.points.push({x:n.x,y:n.y}),n.dummy===`edge-label`&&(r.x=n.x,r.y=n.y,r.width=n.width,r.height=n.height),t=i,n=e.node(t)})}function W(e){let t={};function n(r){let i=e.node(r);if(Object.hasOwn(t,r))return i.rank;t[r]=!0;let a=e.outEdges(r),o=a?a.map(t=>t==null?1/0:n(t.w)-e.edge(t).minlen):[],s=M(Math.min,o);return s===1/0&&(s=0),i.rank=s}e.sources().forEach(n)}function G(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}var He=Ue;function Ue(e){let t=new T({directed:!1}),n=e.nodes();if(n.length===0)throw Error(`Graph must have at least one node`);let r=n[0],i=e.nodeCount();t.setNode(r,{});let a,o;for(;We(t,e)<i&&(a=Ge(t,e),a);)o=t.hasNode(a.v)?G(e,a):-G(e,a),Ke(t,e,o);return t}function We(e,t){function n(r){let i=t.nodeEdges(r);i&&i.forEach(i=>{let a=i.v,o=r===a?i.w:a;!e.hasNode(o)&&!G(t,i)&&(e.setNode(o,{}),e.setEdge(r,o,{}),n(o))})}return e.nodes().forEach(n),e.nodeCount()}function Ge(e,t){return t.edges().reduce((n,r)=>{let i=1/0;return e.hasNode(r.v)!==e.hasNode(r.w)&&(i=G(t,r)),i<n[0]?[i,r]:n},[1/0,null])[1]}function Ke(e,t,n){e.nodes().forEach(e=>t.node(e).rank+=n)}var{preorder:qe,postorder:Je}=_,Ye=K;K.initLowLimValues=J,K.initCutValues=q,K.calcCutValue=Ze,K.leaveEdge=$e,K.enterEdge=et,K.exchangeEdges=tt;function K(e){e=ve(e),W(e);let t=He(e);J(t),q(t,e);let n,r;for(;n=$e(t);)r=et(t,e,n),tt(t,e,n,r)}function q(e,t){let n=Je(e,e.nodes());n=n.slice(0,n.length-1),n.forEach(n=>Xe(e,t,n))}function Xe(e,t,n){let r=e.node(n).parent,i=e.edge(n,r);i.cutvalue=Ze(e,t,n)}function Ze(e,t,n){let r=e.node(n).parent,i=!0,a=t.edge(n,r),o=0;a||=(i=!1,t.edge(r,n)),o=a.weight;let s=t.nodeEdges(n);return s&&s.forEach(a=>{let s=a.v===n,c=s?a.w:a.v;if(c!==r){let r=s===i,l=t.edge(a).weight;if(o+=r?l:-l,rt(e,n,c)){let t=e.edge(n,c).cutvalue;o+=r?-t:t}}}),o}function J(e,t){arguments.length<2&&(t=e.nodes()[0]),Qe(e,{},1,t)}function Qe(e,t,n,r,i){let a=n,o=e.node(r);t[r]=!0;let s=e.neighbors(r);return s&&s.forEach(i=>{Object.hasOwn(t,i)||(n=Qe(e,t,n,i,r))}),o.low=a,o.lim=n++,i?o.parent=i:delete o.parent,n}function $e(e){return e.edges().find(t=>e.edge(t).cutvalue<0)}function et(e,t,n){let r=n.v,i=n.w;t.hasEdge(r,i)||(r=n.w,i=n.v);let a=e.node(r),o=e.node(i),s=a,c=!1;return a.lim>o.lim&&(s=o,c=!0),t.edges().filter(t=>c===it(e,e.node(t.v),s)&&c!==it(e,e.node(t.w),s)).reduce((e,n)=>G(t,n)<G(t,e)?n:e)}function tt(e,t,n,r){let i=n.v,a=n.w;e.removeEdge(i,a),e.setEdge(r.v,r.w,{}),J(e),q(e,t),nt(e,t)}function nt(e,t){let n=e.nodes().find(t=>!e.node(t).parent);if(!n)return;let r=qe(e,[n]);r=r.slice(1),r.forEach(n=>{let r=e.node(n).parent,i=t.edge(n,r),a=!1;i||(i=t.edge(r,n),a=!0),t.node(n).rank=t.node(r).rank+(a?i.minlen:-i.minlen)})}function rt(e,t,n){return e.hasEdge(t,n)}function it(e,t,n){return n.low<=t.lim&&t.lim<=n.lim}var at=ot;function ot(e){let t=e.graph().ranker;if(typeof t==`function`)return t(e);switch(t){case`network-simplex`:Y(e);break;case`tight-tree`:ct(e);break;case`longest-path`:st(e);break;case`none`:break;default:Y(e)}}var st=W;function ct(e){W(e),He(e)}function Y(e){Ye(e)}var lt=ut;function ut(e){let t=ft(e),n=e.graph();Array.isArray(n.dummyChains)&&n.dummyChains.forEach(n=>{let r=e.node(n),i=r.edgeObj,a=dt(e,t,i.v,i.w),o=a.path,s=a.lca,c=0,l=o[c],u=!0;for(;n!==i.w;){if(r=e.node(n),u){for(;(l=o[c])!==s&&e.node(l).maxRank<r.rank;)c++;l===s&&(u=!1)}if(!u){for(;c<o.length-1&&e.node(o[c+1]).minRank<=r.rank;)c++;l=o[c]}l!==void 0&&e.setParent(n,l),n=e.successors(n)[0]}})}function dt(e,t,n,r){let i=[],a=[],o=Math.min(t[n].low,t[r].low),s=Math.max(t[n].lim,t[r].lim),c;c=n;do c=e.parent(c),i.push(c);while(c&&(t[c].low>o||s>t[c].lim));let l=c,u=r;for(;(u=e.parent(u))!==l;)a.push(u);return{path:i.concat(a.reverse()),lca:l}}function ft(e){let t={},n=0;function r(i){let a=n;e.children(i).forEach(r),t[i]={low:a,lim:n++}}return e.children(z).forEach(r),t}function pt(e){let t=E(e,`root`,{},`_root`),n=ht(e),r=Object.values(n),i=M(Math.max,r)-1,a=2*i+1;e.graph().nestingRoot=t,e.edges().forEach(t=>e.edge(t).minlen*=a);let o=gt(e)+1;e.children(z).forEach(r=>{mt(e,t,a,o,i,n,r)}),e.graph().nodeRankFactor=a}function mt(e,t,n,r,i,a,o){let s=e.children(o);if(!s.length){o!==t&&e.setEdge(t,o,{weight:0,minlen:n});return}let c=A(e,`_bt`),l=A(e,`_bb`),u=e.node(o);e.setParent(c,o),u.borderTop=c,e.setParent(l,o),u.borderBottom=l,s.forEach(s=>{mt(e,t,n,r,i,a,s);let u=e.node(s),d=u.borderTop?u.borderTop:s,f=u.borderBottom?u.borderBottom:s,p=u.borderTop?r:2*r,m=d===f?i-(a[o]??0)+1:1;e.setEdge(c,d,{weight:p,minlen:m,nestingEdge:!0}),e.setEdge(f,l,{weight:p,minlen:m,nestingEdge:!0})}),e.parent(o)||e.setEdge(t,c,{weight:0,minlen:i+(a[o]??0)})}function ht(e){let t={};function n(r,i){let a=e.children(r);a&&a.length&&a.forEach(e=>n(e,i+1)),t[r]=i}return e.children(z).forEach(e=>n(e,1)),t}function gt(e){return e.edges().reduce((t,n)=>t+e.edge(n).weight,0)}function _t(e){let t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,e.edges().forEach(t=>{e.edge(t).nestingEdge&&e.removeEdge(t)})}var vt=yt;function yt(e){function t(n){let r=e.children(n),i=e.node(n);if(r.length&&r.forEach(t),i&&Object.hasOwn(i,`minRank`)){i.borderLeft=[],i.borderRight=[];for(let t=i.minRank,r=i.maxRank+1;t<r;++t)bt(e,`borderLeft`,`_bl`,n,i,t),bt(e,`borderRight`,`_br`,n,i,t)}}e.children(z).forEach(t)}function bt(e,t,n,r,i,a){let o={width:0,height:0,rank:a,borderType:t},s=i[t][a-1],c=E(e,`border`,o,n);i[t][a]=c,e.setParent(c,r),s&&e.setEdge(s,c,{weight:1})}function xt(e){let t=e.graph().rankdir?.toLowerCase();(t===`lr`||t===`rl`)&&Ct(e)}function St(e){let t=e.graph().rankdir?.toLowerCase();(t===`bt`||t===`rl`)&&Tt(e),(t===`lr`||t===`rl`)&&(Et(e),Ct(e))}function Ct(e){e.nodes().forEach(t=>wt(e.node(t))),e.edges().forEach(t=>wt(e.edge(t)))}function wt(e){let t=e.width;e.width=e.height,e.height=t}function Tt(e){e.nodes().forEach(t=>X(e.node(t))),e.edges().forEach(t=>{var n;let r=e.edge(t);(n=r.points)==null||n.forEach(X),Object.hasOwn(r,`y`)&&X(r)})}function X(e){e.y=-e.y}function Et(e){e.nodes().forEach(t=>Z(e.node(t))),e.edges().forEach(t=>{var n;let r=e.edge(t);(n=r.points)==null||n.forEach(Z),Object.hasOwn(r,`x`)&&Z(r)})}function Z(e){let t=e.x;e.x=e.y,e.y=t}function Dt(e,t=null){let n={},r=e.nodes().filter(t=>!e.children(t).length),i=r.map(t=>e.node(t).rank),a=I(M(Math.max,i)+1).map(()=>[]);function o(t){if(n[t])return;n[t]=!0;let r=e.node(t);a[r.rank].push(t);let i=e.successors(t);i&&[...i].sort((e,t)=>s(e,t)).forEach(o)}r.sort((t,n)=>e.node(t).rank-e.node(n).rank).forEach(o);function s(n,r){return B(t,e.node(n),e.node(r))}return a}function Ot(e,t){let n=0;for(let r=1;r<t.length;++r)n+=kt(e,t[r-1],t[r]);return n}function kt(e,t,n){let r=Te(n,n.map((e,t)=>t)),i=t.flatMap(t=>{let n=e.outEdges(t);return n?n.map(t=>({pos:r[t.w],weight:e.edge(t).weight})).sort((e,t)=>e.pos-t.pos):[]}),a=1;for(;a<n.length;)a<<=1;let o=2*a-1;--a;let s=Array(o).fill(0),c=0;return i.forEach(e=>{let t=e.pos+a;s[t]+=e.weight;let n=0;for(;t>0;)t%2&&(n+=s[t+1]),t=t-1>>1,s[t]+=e.weight;c+=e.weight*n}),c}function At(e,t=[]){return t.map(t=>{let n=e.inEdges(t);if(!n||!n.length)return{v:t};{let r=n.reduce((t,n)=>{let r=e.edge(n),i=e.node(n.v);return{sum:t.sum+r.weight*i.order,weight:t.weight+r.weight}},{sum:0,weight:0});return{v:t,barycenter:r.sum/r.weight,weight:r.weight}}})}function jt(e,t){let n={};return e.forEach((e,t)=>{let r={indegree:0,in:[],out:[],vs:[e.v],i:t};e.barycenter!==void 0&&(r.barycenter=e.barycenter,r.weight=e.weight),n[e.v]=r}),t.edges().forEach(e=>{let t=n[e.v],r=n[e.w];t!==void 0&&r!==void 0&&(r.indegree++,t.out.push(r))}),Mt(Object.values(n).filter(e=>!e.indegree))}function Mt(e){let t=[];function n(e){return t=>{t.merged||(t.barycenter===void 0||e.barycenter===void 0||t.barycenter>=e.barycenter)&&Nt(e,t)}}function r(t){return n=>{n.in.push(t),--n.indegree===0&&e.push(n)}}for(;e.length;){let i=e.pop();t.push(i),i.in.reverse().forEach(n(i)),i.out.forEach(r(i))}return t.filter(e=>!e.merged).map(e=>L(e,[`vs`,`i`,`barycenter`,`weight`]))}function Nt(e,t){let n=0,r=0;e.weight&&(n+=e.barycenter*e.weight,r+=e.weight),t.weight&&(n+=t.barycenter*t.weight,r+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=n/r,e.weight=r,e.i=Math.min(t.i,e.i),t.merged=!0}function Pt(e,t,n,r,i){let a={},o=null,s=null,c=i;typeof t==`boolean`?(c=t,a={}):t&&(a=t,o=n??null,s=r??null);let l=Se(e,e=>Object.hasOwn(e,`barycenter`)),u=l.lhs,d=l.rhs.sort((e,t)=>t.i-e.i),f=[],p=0,m=0,h=0;u.sort(It(s,o,!!c));for(let[e,t]of Object.entries(a)){let n=u.findIndex(t=>t.vs[0]===e);u.splice(n+1,0,t)}h=Ft(f,d,h),u.forEach(e=>{h+=e.vs.length,f.push(e.vs),p+=e.barycenter*e.weight,m+=e.weight,h=Ft(f,d,h)});let g={vs:f.flat(1)};return m&&(g.barycenter=p/m,g.weight=m),g}function Ft(e,t,n){let r;for(;t.length&&(r=t[t.length-1]).i<=n;)t.pop(),e.push(r.vs),n++;return n}function It(e,t,n){return(r,i)=>{if(r.barycenter<i.barycenter)return-1;if(r.barycenter>i.barycenter)return 1;if(e&&(typeof r.vs[0]==`string`||typeof i.vs[0]==`string`)){let n=B(t,e.node(r.vs[0]),e.node(i.vs[0]));if(n!==0)return n}return n?i.i-r.i:r.i-i.i}}function Lt(e,t,n,r,i){var a,o;let s=null,c=i;typeof r==`boolean`?(c=r,s=null):r!==void 0&&(s=r);let l=e.children(t),u=e.node(t),d=u?u.borderLeft:void 0,f=u?u.borderRight:void 0,p={};d&&(l=l.filter(e=>e!==d&&e!==f));let m=At(e,l);m.forEach(t=>{if(e.children(t.v).length){let{result:r}=Lt(e,t.v,n,s,c);p[t.v]=r,Object.hasOwn(r,`barycenter`)&&zt(t,r)}});let h=jt(m,n);Rt(h,p);let g={},_=!1;for(let t=0;t<h.length;t++)for(let n=t+1;n<h.length;n++)if(!(!h[t]||!h[n]||!((a=h[t])!=null&&a.barycenter)||!((o=h[n])!=null&&o.barycenter))&&h[t]?.barycenter===h[n].barycenter){let r=h[t]?.vs[0]??``,i=h[n]?.vs[0]??``,a=e.node(r),o=e.node(i);if(a.dummy===`edge`&&o.dummy===`edge`&&a.edgeObj?.v===o.edgeObj?.v&&a.edgeObj?.w===o.edgeObj?.w)if(a.edgeLabel.reversed){g[i]=h[t],h.splice(t,1),t--;break}else g[r]=h[n],h.splice(n,1),n--;else _=!0}let v=Pt(h,g,s,e,c);if(d&&f){v.vs=[d,v.vs,f].flat(1);let t=e.predecessors(d);if(t&&t.length){let n=e.node(t[0]),r=e.predecessors(f),i=e.node(r[0]);Object.hasOwn(v,`barycenter`)||(v.barycenter=0,v.weight=0),v.barycenter=(v.barycenter*v.weight+n.order+i.order)/(v.weight+2),v.weight+=2}}return Object.defineProperty(v,"result",{value:v,enumerable:!1,configurable:!0,writable:!0}),Object.defineProperty(v,"usedBias",{value:_,enumerable:!1,configurable:!0,writable:!0}),v}function Rt(e,t){e.forEach(e=>{e.vs=e.vs.flatMap(e=>t[e]?t[e].vs:e)})}function zt(e,t){e.barycenter===void 0?(e.barycenter=t.barycenter,e.weight=t.weight):(e.barycenter=(e.barycenter*e.weight+t.barycenter*t.weight)/(e.weight+t.weight),e.weight+=t.weight)}function Bt(e,t,n,r){r||=e.nodes();let i=Vt(e),a=new T({compound:!0}).setGraph({root:i}).setDefaultNodeLabel(t=>e.node(t));return r.forEach(r=>{let o=e.node(r),s=e.parent(r);if(o.rank===t||o.minRank<=t&&t<=o.maxRank){a.setNode(r),a.setParent(r,s||i);let c=e[n](r);c&&c.forEach(t=>{let n=t.v===r?t.w:t.v,i=a.edge(n,r),o=i===void 0?0:i.weight;a.setEdge(n,r,{weight:e.edge(t).weight+o})}),Object.hasOwn(o,`minRank`)&&a.setNode(r,{borderLeft:o.borderLeft[t],borderRight:o.borderRight[t]})}}),a}function Vt(e){let t;for(;e.hasNode(t=F(`_root`)););return t}function Ht(e,t,n){let r={},i;n.forEach(n=>{let a=e.parent(n),o,s;for(;a;){if(o=e.parent(a),o?(s=r[o],r[o]=a):(s=i,i=a),s&&s!==a){t.setEdge(s,a);return}a=o}})}function Ut(e,t={},n=null){if(typeof t.customOrder==`function`){t.customOrder(e,Ut);return}let r=N(e),i=Wt(e,I(1,r+1),`inEdges`),a=Wt(e,I(r-1,-1,-1),`outEdges`),o=Dt(e,n);if(Kt(e,o),t.disableOptimalOrderHeuristic)return;let s=1/0,c,l=t.constraints||[];for(let t=0,r=0;r<4;++t,++r){Gt(t%2?i:a,t%4>=2,l,n),o=k(e);let u=Ot(e,o);u<s?(r=0,c=Object.assign({},o),s=u):u===s&&(c=structuredClone(o))}Kt(e,c)}function Wt(e,t,n){let r=new Map,i=(e,t)=>{r.has(e)||r.set(e,[]),r.get(e).push(t)};for(let t of e.nodes()){let n=e.node(t);if(typeof n.rank==`number`&&i(n.rank,t),typeof n.minRank==`number`&&typeof n.maxRank==`number`)for(let e=n.minRank;e<=n.maxRank;e++)e!==n.rank&&i(e,t)}return t.map(function(t){return Bt(e,t,n,r.get(t)||[])})}function Gt(e,t,n,r){let i=!0,a=new T;e.forEach(function(e){n.forEach(e=>a.setEdge(e.left,e.right));let o=e.graph().root,{result:s,usedBias:c}=Lt(e,o,a,r,i);t&&c&&(i=!i),s.vs.forEach((t,n)=>e.node(t).order=n),Ht(e,a,s.vs)})}function Kt(e,t){Object.values(t).forEach(t=>t.forEach((t,n)=>e.node(t).order=n))}function qt(e,t){let n={};function r(t,r){let i=0,a=0,o=t.length,s=r[r.length-1];return r.forEach((t,c)=>{let l=Yt(e,t),u=l?e.node(l).order:o;(l||t===s)&&(r.slice(a,c+1).forEach(t=>{let r=e.predecessors(t);r&&r.forEach(r=>{let a=e.node(r),o=a.order;(o<i||u<o)&&!(a.dummy&&e.node(t).dummy)&&Xt(n,r,t)})}),a=c+1,i=u)}),r}return t.length&&t.reduce(r),n}function Jt(e,t){let n={};function r(t,r,i,a,o){I(r,i).forEach(r=>{let i=t[r];if(i!==void 0&&e.node(i).dummy){let t=e.predecessors(i);t&&t.forEach(t=>{if(t===void 0)return;let r=e.node(t);r.dummy&&(r.order<a||r.order>o)&&Xt(n,t,i)})}})}function i(t,n){let i=-1,a=-1,o=0;return n.forEach((s,c)=>{if(e.node(s).dummy===`border`){let t=e.predecessors(s);if(t&&t.length){let s=t[0];if(s===void 0)return;a=e.node(s).order,r(n,o,c,i,a),o=c,i=a}}r(n,o,n.length,a,t.length)}),n}return t.length&&t.reduce(i),n}function Yt(e,t){if(e.node(t).dummy){let n=e.predecessors(t);if(n)return n.find(t=>e.node(t).dummy)}}function Xt(e,t,n){if(t>n){let e=t;t=n,n=e}let r=e[t];r||(e[t]=r={}),r[n]=!0}function Zt(e,t,n){if(t>n){let e=t;t=n,n=e}let r=e[t];return r!==void 0&&Object.hasOwn(r,n)}function Qt(e,t,n,r,i){let a={},o={},s={};return t.forEach(e=>{e.forEach((e,t)=>{a[e]=e,o[e]=e,s[e]=t})}),t.forEach(t=>{let c=-1,l=-1,u=!1,d=t,f=t.findIndex(t=>i?.includes(t)||cn(t,e,i));f>0&&(d=[t[f],...t.slice(0,f),...t.slice(f+1)],u=!0),d.forEach(t=>{let d=r(t);if(d&&d.length){i!=null&&i.includes(t)&&(d=d.filter(t=>cn(t,e,i)));let r=d.sort((e,t)=>{let n=s[e],r=s[t];return(n===void 0?0:n)-(r===void 0?0:r)}),f=(r.length-1)/2;for(let e=Math.floor(f),i=Math.ceil(f);e<=i;++e){let i=r[e];if(i===void 0)continue;let d=s[i];if(d!==void 0&&o[t]===t&&c<d&&s[i]!==l&&!Zt(n,t,i)){let e=a[i];e!==void 0&&(o[i]=t,o[t]=a[t]=e,c=d,u&&=(c=-1,l=s[i]??-1,!1))}}}})}),{root:a,align:o}}function $t(e,t,n,r,i=!1){let a={},o=en(e,t,n,i),s=i?`borderLeft`:`borderRight`;function c(e,t){let n=o.nodes().slice(),r={},i=n.pop();for(;i;){if(r[i])e(i);else{r[i]=!0,n.push(i);for(let e of t(i))n.push(e)}i=n.pop()}}function l(e){let t=o.inEdges(e);t?a[e]=t.reduce((e,t)=>{let n=a[t.v]??0,r=o.edge(t);return Math.max(e,n+(r===void 0?0:r))},0):a[e]=0}function u(t){let n=o.outEdges(t),r=1/0;n&&(r=n.reduce((e,t)=>{let n=a[t.w],r=o.edge(t);return Math.min(e,(n===void 0?0:n)-(r===void 0?0:r))},1/0));let i=e.node(t);r!==1/0&&i.borderType!==s&&(a[t]=Math.max(a[t]===void 0?0:a[t],r))}function d(e){return o.predecessors(e)||[]}function f(e){return o.successors(e)||[]}return c(l,d),c(u,f),Object.keys(r).forEach(e=>{let t=n[e];t!==void 0&&(a[e]=a[t]??0)}),a}function en(e,t,n,r){let i=new T,a=e.graph(),o=on(a.nodesep,a.edgesep,r);return t.forEach(t=>{let r;t.forEach(t=>{let a=n[t];if(a!==void 0){if(i.setNode(a),r!==void 0){let s=n[r];if(s!==void 0){let n=i.edge(s,a);i.setEdge(s,a,Math.max(o(e,t,r),n||0))}}r=t}})}),i}function tn(e,t){return Object.values(t).reduce((t,n)=>{let r=-1/0,i=1/0;Object.entries(n).forEach(([t,n])=>{let a=sn(e,t)/2;r=Math.max(n+a,r),i=Math.min(n-a,i)});let a=r-i;return a<t[0]&&(t=[a,n]),t},[1/0,null])[1]}function nn(e,t){let n=Object.values(t),r=M(Math.min,n),i=M(Math.max,n);[`u`,`d`].forEach(n=>{[`l`,`r`].forEach(a=>{let o=n+a,s=e[o];if(!s||s===t)return;let c=Object.values(s),l=r-M(Math.min,c);a!==`l`&&(l=i-M(Math.max,c)),l&&(e[o]=R(s,e=>e+l))})})}function rn(e,t=void 0){let n=e.ul;return n?R(n,(n,r)=>{if(t){let n=e[t.toLowerCase()];if(n&&n[r]!==void 0)return n[r]}let i=Object.values(e).map(e=>{let t=e[r];return t===void 0?0:t}).sort((e,t)=>e-t);return((i[1]??0)+(i[2]??0))/2}):{}}function an(e,t){let n=k(e),r=Object.assign(qt(e,n),Jt(e,n)),i={},a;return[`u`,`d`].forEach(o=>{a=o===`u`?n:Object.values(n).reverse(),[`l`,`r`].forEach(n=>{n===`r`&&(a=a.map(e=>Object.values(e).reverse()));let s=Qt(e,a,r,t=>(o===`u`?e.predecessors(t):e.successors(t))||[],t),c=$t(e,a,s.root,s.align,n===`r`);n===`r`&&(c=R(c,e=>-e)),i[o+n]=c})}),nn(i,tn(e,i)),rn(i,e.graph().align)}function on(e,t,n){return(r,i,a)=>{let o=r.node(i),s=r.node(a),c=0,l;if(c+=o.width/2,Object.hasOwn(o,`labelpos`))switch(o.labelpos.toLowerCase()){case`l`:l=-o.width/2;break;case`r`:l=o.width/2;break}if(l&&(c+=n?l:-l),l=void 0,c+=(o.dummy?t:e)/2,c+=(s.dummy?t:e)/2,c+=s.width/2,Object.hasOwn(s,`labelpos`))switch(s.labelpos.toLowerCase()){case`l`:l=s.width/2;break;case`r`:l=-s.width/2;break}return l&&(c+=n?l:-l),c}}function sn(e,t){return e.node(t).width}function cn(e,t,n){if(!n)return!1;let r=t.node(e)?.edgeObj;if(!r||t.node(e).edgeLabel.reversed)return!1;let i=n.indexOf(r?.v),a=n.indexOf(r?.w);return i!==-1&&a!==-1&&i===(a+1)%n.length||i===(a-1)%n.length}function ln(e,t){e=D(e),un(e),Object.entries(an(e,t)).forEach(([t,n])=>e.node(t).x=n)}function un(e){let t=k(e),n=e.graph(),r=n.ranksep,i=n.rankalign,a=0;t.forEach(t=>{let n=t.reduce((t,n)=>{let r=e.node(n).height??0;return t>r?t:r},0);t.forEach(t=>{let r=e.node(t);r.y=i===`top`?a+r.height/2:i===`bottom`?a+n-r.height/2:a+n/2}),a+=n+r})}var dn=new WeakMap;function fn(e,t={}){return mn(e,P,t),e}function pn(e,t,n){let r=t;for(;r!==void 0;){let t=e.parent(r);if(t===n)return r;r=t}}function mn(e,t,n){let r=e.nodes().filter(t=>e.children(t).length),i={};r.forEach(r=>{let a=e.node(r);if(a&&a.rankdir){let o=new T({multigraph:!0,compound:!0});o.setGraph({rankdir:a.rankdir});let s=e.children(r);s.forEach(t=>{let n={...e.node(t)};o.setNode(t,n);let i=e.parent(t);i&&i!==r&&s.includes(i)&&o.setParent(t,i)});let c=new Set;e.edges().forEach(t=>{let n=pn(e,t.v,r),i=pn(e,t.w,r);if(n&&i&&n!==i){let r=`${n}\0${i}`;c.has(r)||(c.add(r),o.setEdge(n,i,{...e.edge(t)}))}}),mn(o,t,n);let l=Tn(o);hn(l,t,n,null),gn(o,l);let u=1/0,d=1/0,f=-1/0,p=-1/0;o.nodes().forEach(e=>{if(e===r)return;let t=o.node(e);t&&typeof t.x==`number`&&typeof t.y==`number`&&typeof t.width==`number`&&typeof t.height==`number`&&(u=Math.min(u,t.x-t.width/2),f=Math.max(f,t.x+t.width/2),d=Math.min(d,t.y-t.height/2),p=Math.max(p,t.y+t.height/2))}),(!isFinite(u)||!isFinite(d)||!isFinite(f)||!isFinite(p))&&(u=d=0,f=p=0);let m=f-u,h=p-d;i[r]={minX:u,minY:d,maxX:f,maxY:p,width:m,height:h,offsetX:u,offsetY:d},a._dagreClusterSubgraph=o}});let a=[],o=t=>{let n=[],r=(e.children(t)||[]).filter(e=>e!==t);for(;r.length>0;){let t=r.shift();n.push(t),(e.children(t)||[]).filter(e=>e!==t).forEach(e=>r.push(e))}return n},s=new Map;r.forEach(t=>{let n=e.node(t);n&&n.rankdir&&i[t]&&s.set(t,(e.children(t)||[]).filter(e=>e!==t))});let c=new Set([...s.values()].flat()),l=new Map;s.forEach((e,t)=>{c.has(t)||l.set(t,o(t))});let u=new Set([...l.values()].flat()),d=e=>{for(let[t,n]of l)if(n.includes(e))return t;return e},f=[];e.edges().forEach(t=>{(u.has(t.v)||u.has(t.w))&&f.push({edge:t,label:e.edge(t)})});let p=new Map;u.forEach(t=>{let n=e.parent(t);p.set(t,typeof n==`string`?n:void 0)}),l.forEach((t,n)=>{let r=e.node(n),o=[];t.forEach(t=>{let n=e.node(t);n&&(o.push({id:t,node:n,parent:p.get(t)}),e.removeNode(t))});let s=f.filter(({edge:e})=>t.includes(e.v)||t.includes(e.w)),c=i[n];r&&(a.push({clusterId:n,subgraph:r._dagreClusterSubgraph,bounds:c,children:t,removedNodes:o,removedEdges:s}),r.width=c.width,r.height=c.height)});let m=new Set;f.forEach(({edge:t,label:n})=>{let r=d(t.v),i=d(t.w);if(r!==i&&e.hasNode(r)&&e.hasNode(i)){let t=`${r}\0${i}`;m.has(t)||(m.add(t),e.setEdge(r,i,{...n,width:0,height:0}))}});let h=Tn(e),g=hn(h,t,n,dn.get(e)??null);dn.set(e,g),gn(e,h),m.forEach(t=>{let n=t.indexOf(`\0`),r=t.slice(0,n),i=t.slice(n+1);e.hasEdge(r,i)&&e.removeEdge(r,i)}),a.forEach(({clusterId:t,subgraph:n,bounds:r,removedNodes:i,removedEdges:a})=>{let o=e.node(t),s=o?.x??0,c=o?.y??0,l=(r.minX+r.maxX)/2,u=(r.minY+r.maxY)/2;i.forEach(({id:t,node:n,parent:r})=>{e.setNode(t,n),r!==void 0&&e.setParent(t,r)}),a.forEach(({edge:t,label:n})=>{e.setEdge(t,n)}),n.nodes().forEach(r=>{if(r===t)return;let i=n.node(r),a=e.node(r);a&&i&&typeof i.x==`number`&&typeof i.y==`number`&&(a.x=s+(i.x-l),a.y=c+(i.y-u))}),delete o._dagreClusterSubgraph}),r.forEach(t=>{let n=e.node(t),r=i[t];if(n&&n.rankdir&&n._dagreClusterSubgraph&&r){let i=n._dagreClusterSubgraph,a=n.x??0,o=n.y??0,s=(r.minX+r.maxX)/2,c=(r.minY+r.maxY)/2;i.nodes().forEach(n=>{if(n===t)return;let r=i.node(n),l=e.node(n);if(l&&r&&typeof r.x==`number`&&typeof r.y==`number`){let e=r.x-s,t=r.y-c;l.x=a+e,l.y=o+t}}),delete n._dagreClusterSubgraph}})}function hn(e,t,n,r=null){var i,a;let o=n?.useDynamic!==!1,s=o&&(i=r?.graph)!=null?i:null,c=o&&(a=r?.rawNodes)!=null?a:null;t(` makeSpaceForEdgeLabels`,()=>En(e)),t(` removeSelfEdges`,()=>Fn(e)),t(` acyclic`,()=>Fe(e,s)),t(` nestingGraph.run`,()=>pt(e)),t(` rank`,()=>at(D(e))),t(` injectEdgeLabelProxies`,()=>Dn(e)),t(` removeEmptyRanks`,()=>be(e)),t(` nestingGraph.cleanup`,()=>_t(e)),t(` normalizeRanks`,()=>ye(e)),t(` assignRankMinMax`,()=>On(e)),t(` removeEdgeLabelProxies`,()=>kn(e)),t(` normalize.run`,()=>ze(e)),t(` parentDummyChains`,()=>lt(e)),t(` addBorderSegments`,()=>vt(e)),t(` order`,()=>Ut(e,n,c)),t(` insertSelfEdges`,()=>In(e)),t(` adjustCoordinateSystem`,()=>xt(e)),t(` position`,()=>ln(e,n.corePath)),t(` positionSelfEdges`,()=>Ln(e));let l=JSON.parse(JSON.stringify(e._nodes));return t(` removeBorderNodes`,()=>Pn(e)),t(` normalize.undo`,()=>Ve(e)),t(` fixupEdgeLabelCoords`,()=>Mn(e)),t(` undoCoordinateSystem`,()=>St(e)),t(` translateGraph`,()=>An(e)),t(` assignNodeIntersects`,()=>jn(e)),t(` reversePoints`,()=>Nn(e)),t(` acyclic.undo`,()=>Le(e)),{graph:e,rawNodes:l}}function gn(e,t){e.nodes().forEach(n=>{let r=e.node(n),i=t.node(n);r&&(r.x=i.x,r.y=i.y,r.order=i.order,r.rank=i.rank,t.children(n).length&&(r.width=i.width,r.height=i.height))}),e.edges().forEach(n=>{let r=e.edge(n),i=t.edge(n);r.points=i.points,Object.hasOwn(i,`x`)&&(r.x=i.x,r.y=i.y)}),e.graph().width=t.graph().width,e.graph().height=t.graph().height}var _n=[`nodesep`,`edgesep`,`ranksep`,`marginx`,`marginy`],vn={ranksep:50,edgesep:20,nodesep:50,rankdir:`TB`,rankalign:`center`},yn=[`acyclicer`,`ranker`,`rankdir`,`align`,`rankalign`],bn=[`width`,`height`,`rank`],xn={width:0,height:0},Sn=[`minlen`,`weight`,`width`,`height`,`labeloffset`],Cn={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:`r`},wn=[`labelpos`];function Tn(e){let t=new T({multigraph:!0,compound:!0}),n=$(e.graph());return t.setGraph(Object.assign({},vn,Q(n,_n),L(n,yn))),e.nodes().forEach(n=>{let r=Q($(e.node(n)),bn);Object.keys(xn).forEach(e=>{r[e]===void 0&&(r[e]=xn[e])}),t.setNode(n,r);let i=e.parent(n);i!==void 0&&t.setParent(n,i)}),e.edges().forEach(n=>{let r=$(e.edge(n));t.setEdge(n,Object.assign({},Cn,Q(r,Sn),L(r,wn)))}),t}function En(e){let t=e.graph();t.ranksep/=2,e.edges().forEach(n=>{let r=e.edge(n);r.minlen*=2,(r.labelpos??`r`).toLowerCase()!==`c`&&(t.rankdir===`TB`||t.rankdir===`BT`?r.width+=r.labeloffset:r.height+=r.labeloffset)})}function Dn(e){e.edges().forEach(t=>{let n=e.edge(t);if(n.width&&n.height){let n=e.node(t.v);E(e,`edge-proxy`,{rank:(e.node(t.w).rank-n.rank)/2+n.rank,e:t},`_ep`)}})}function On(e){let t=0;e.nodes().forEach(n=>{let r=e.node(n);r.borderTop&&(r.minRank=e.node(r.borderTop).rank,r.maxRank=e.node(r.borderBottom).rank,t=Math.max(t,r.maxRank))}),e.graph().maxRank=t}function kn(e){e.nodes().forEach(t=>{let n=e.node(t);if(n.dummy===`edge-proxy`){let r=n;e.edge(r.e).labelRank=n.rank,e.removeNode(t)}})}function An(e){let t=1/0,n=0,r=1/0,i=0,a=e.graph(),o=a.marginx||0,s=a.marginy||0;function c(e){let a=e.x,o=e.y,s=e.width,c=e.height;t=Math.min(t,a-s/2),n=Math.max(n,a+s/2),r=Math.min(r,o-c/2),i=Math.max(i,o+c/2)}e.nodes().forEach(t=>c(e.node(t))),e.edges().forEach(t=>{let n=e.edge(t);Object.hasOwn(n,`x`)&&c(n)}),t-=o,r-=s,e.nodes().forEach(n=>{let i=e.node(n);i.x-=t,i.y-=r}),e.edges().forEach(n=>{let i=e.edge(n);i.points.forEach(e=>{e.x-=t,e.y-=r}),Object.hasOwn(i,`x`)&&(i.x-=t),Object.hasOwn(i,`y`)&&(i.y-=r)}),a.width=n-t+o,a.height=i-r+s}function jn(e){e.edges().forEach(t=>{if(t.v===t.w)return;let n=e.edge(t),r=e.node(t.v),i=e.node(t.w),a,o;n.points?(a=n.points[0],o=n.points[n.points.length-1]):(n.points=[],a=i,o=r),n.points.unshift(O(r,a)),n.points.push(O(i,o))})}function Mn(e){e.edges().forEach(t=>{let n=e.edge(t);if(Object.hasOwn(n,`x`))switch((n.labelpos===`l`||n.labelpos===`r`)&&(n.width-=n.labeloffset),n.labelpos){case`l`:n.x-=n.width/2+n.labeloffset;break;case`r`:n.x+=n.width/2+n.labeloffset;break}})}function Nn(e){e.edges().forEach(t=>{let n=e.edge(t);n.reversed&&n.points.reverse()})}function Pn(e){e.nodes().forEach(t=>{if(e.children(t).length){let n=e.node(t),r=e.node(n.borderTop),i=e.node(n.borderBottom),a=e.node(n.borderLeft[n.borderLeft.length-1]),o=e.node(n.borderRight[n.borderRight.length-1]);n.width=Math.abs(o.x-a.x),n.height=Math.abs(i.y-r.y),n.x=a.x+n.width/2,n.y=r.y+n.height/2}}),e.nodes().forEach(t=>{e.node(t).dummy===`border`&&e.removeNode(t)})}function Fn(e){e.edges().forEach(t=>{if(t.v===t.w){let n=e.node(t.v);n.selfEdges||=[],n.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}})}function In(e){k(e).forEach(t=>{let n=0;t.forEach((t,r)=>{let i=e.node(t);typeof i.rank!=`number`&&(i.rank=0),i.order=r+n,(i.selfEdges||[]).forEach(t=>{E(e,`selfedge`,{width:t.label.width,height:t.label.height,rank:i.rank,order:r+ ++n,e:t.e,edgeLabel:t.label},`_se`),(!Array.isArray(t.label.points)||t.label.points.length!==7)&&(t.label.points=[{x:0,y:-10},{x:0,y:-10},{x:0,y:0},{x:0,y:10},{x:0,y:10},{x:0,y:0},{x:0,y:0}])}),delete i.selfEdges})})}function Ln(e){e.nodes().forEach(t=>{let n=e.node(t),r=e=>typeof e==`number`&&isFinite(e);if(n.dummy===`selfedge`){let i=n,a=e.node(i.e.v),o=r(a?.x)?a.x:0,s=r(a?.y)?a.y:0,c=r(a?.width)?a.width:0,l=r(a?.height)?a.height:0,u=r(n.x)?n.x:o,d=r(n.y)?n.y:s,f=c/2,p=l/2;i.edgeLabel.points=[{x:u+f,y:d-p},{x:u+f,y:d-p},{x:u,y:d},{x:u-f,y:d+p},{x:u-f,y:d+p},{x:u,y:d},{x:u,y:d}],i.edgeLabel.x=u,i.edgeLabel.y=d,e.setEdge(i.e,i.edgeLabel),e.removeNode(t)}else n&&Array.isArray(n.selfEdges)&&n.selfEdges.forEach(e=>{if(!Array.isArray(e.label.points)||e.label.points.length!==7){let t=r(n.x)?n.x:0,i=r(n.y)?n.y:0,a=r(n.width)?n.width:0,o=r(n.height)?n.height:0,s=a/2,c=o/2;e.label.points=[{x:t+s,y:i-c},{x:t+s,y:i-c},{x:t,y:i},{x:t-s,y:i+c},{x:t-s,y:i+c},{x:t,y:i},{x:t,y:i}]}})})}function Q(e,t){return R(L(e,t),Number)}function $(e){let t={};return e&&Object.entries(e).forEach(([e,n])=>{typeof e==`string`&&(e=e.toLowerCase()),t[e]=n}),t}function Rn(e){let t=k(e),n=new T({compound:!0,multigraph:!0}).setGraph({});return e.nodes().forEach(t=>{n.setNode(t,{label:t}),n.setParent(t,`layer`+e.node(t).rank)}),e.edges().forEach(e=>n.setEdge(e.v,e.w,{},e.name)),t.forEach((e,t)=>{let r=`layer`+t;n.setNode(r,{rank:`same`}),e.reduce((e,t)=>(n.setEdge(e,t,{style:`invis`}),t))}),n}var zn={graphlib:i,version:Ee,layout:fn,debug:Rn,util:{time:Ce,notime:P}};export{zn as t};
@@ -1 +0,0 @@
1
- import{r as e}from"./rolldown-runtime-hePW80VL.js";import{Cr as t,Sr as n,Xn as r,Yn as i,or as a,wr as o,x as s}from"./shortcut-keys-DKxNTe_m.js";import{r as c}from"./react-dom-Bph1y7z7.js";import{A as l}from"./xyflow-D7n4g6go.js";var u=e(c(),1),d=l(),f=`h-8 rounded-none border-0 bg-transparent px-4 text-[12px] shadow-none focus-visible:border-0 focus-visible:ring-0 dark:bg-transparent`,p=`h-8 rounded-none border-0 bg-transparent pr-4 pl-9 text-[12px] shadow-none focus-visible:border-0 focus-visible:ring-0 dark:bg-transparent`,m=`h-11 flex-1 rounded-none border-0 shadow-none focus-visible:ring-0`;function h({label:e,hint:n,className:r,split:i,dense:a=!1,children:o}){return(0,d.jsxs)(`label`,{className:t(`block min-w-0 border-b border-border/50`,i===`start`&&`border-r border-b-0`,i===`end`&&`border-b-0`,r),children:[a?(0,d.jsxs)(`span`,{className:`flex items-baseline justify-between gap-2 px-2 pt-1`,children:[(0,d.jsx)(`span`,{className:`min-w-0 truncate text-[10px] font-semibold tracking-[0.12em] text-muted-foreground uppercase`,children:e}),n?(0,d.jsx)(`span`,{className:`min-w-0 truncate font-mono text-[9px] text-muted-foreground/70`,children:n}):null]}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(`span`,{className:`block truncate px-3 pt-1.5 text-[10px] font-semibold tracking-[0.12em] text-muted-foreground uppercase`,children:e}),n?(0,d.jsx)(`span`,{className:`block truncate px-3 font-mono text-[10px] text-muted-foreground/70`,children:n}):null]}),o]})}function g({label:e,className:n,children:r}){return(0,d.jsxs)(`label`,{className:t(`flex items-center justify-between gap-3 border-b border-border/50 px-4 py-3`,n),children:[(0,d.jsx)(`span`,{className:`text-[12px] text-foreground`,children:e}),r]})}function _({active:e,extraCount:n=0,className:r,children:i,type:a=`button`,...o}){return(0,d.jsxs)(`button`,{type:a,className:t(`inline-flex items-center gap-1 rounded-none border-0 bg-transparent px-2 py-1 text-[10px] font-semibold tracking-[0.08em] uppercase shadow-none transition-colors hover:bg-muted/50`,e?`text-foreground`:`text-muted-foreground hover:text-foreground`,r),...o,children:[i,n>0?(0,d.jsx)(`span`,{className:`flex h-3.5 min-w-3.5 items-center justify-center rounded-full bg-foreground/10 px-1 text-[9px] font-semibold tabular-nums`,children:n}):null]})}function v({label:e,hint:n,className:r,children:i}){return(0,d.jsxs)(`div`,{className:t(`border-b border-border/50`,r),children:[(0,d.jsxs)(`div`,{className:`flex items-center gap-3 px-4`,children:[(0,d.jsx)(`p`,{className:`shrink-0 text-[10px] font-semibold tracking-[0.12em] text-muted-foreground uppercase`,children:e}),(0,d.jsx)(`div`,{className:`flex min-w-0 flex-1 items-stretch`,role:`group`,"aria-label":e,children:i})]}),n?(0,d.jsx)(`p`,{className:`px-4 pb-2 text-[10px] text-muted-foreground`,children:n}):null]})}function y({active:e,onClick:n,icon:r,children:i}){return(0,d.jsxs)(`button`,{type:`button`,"aria-pressed":e,onClick:n,className:t(`inline-flex h-8 min-w-0 flex-1 items-center justify-center gap-1.5 px-2 font-mono text-[10px] font-semibold outline-none select-none`,`focus-visible:ring-2 focus-visible:ring-ring/50 focus-visible:ring-inset`,e?`bg-muted text-foreground`:`text-muted-foreground hover:text-foreground`),children:[r?(0,d.jsx)(o,{icon:r,className:`size-3 shrink-0`,"aria-hidden":!0}):null,i]})}function b({split:e=!1,className:n,variant:r=`ghost`,...i}){return(0,d.jsx)(s,{variant:r,className:t(m,e&&`border-r border-border/50`,n),...i})}function x({children:e,slot:t}){return(0,d.jsx)(`p`,{className:`border-b border-border/50 px-4 py-3 text-[11px] text-destructive`,role:`alert`,"data-slot":t,children:e})}function S({label:e,hint:t,children:n}){return(0,d.jsxs)(`div`,{className:`flex items-center justify-between gap-3 border-b border-border/50 bg-muted/25 px-4 py-1.5`,children:[(0,d.jsxs)(`div`,{className:`flex min-w-0 items-baseline gap-3`,children:[(0,d.jsx)(`p`,{className:`text-[10px] font-semibold tracking-[0.12em] text-foreground uppercase`,children:e}),t?(0,d.jsx)(`p`,{className:`truncate text-[10px] text-muted-foreground`,children:t}):null]}),n]})}function C({children:e}){return(0,d.jsx)(`div`,{className:`grid grid-cols-2 border-b border-border/50`,children:e})}function w({columns:e=4,children:n}){let r=u.Children.count(n),i=Math.min(e,r);return(0,d.jsx)(`div`,{className:`@container w-full min-w-0 max-w-full`,children:(0,d.jsx)(`div`,{className:t(`grid w-full min-w-0 grid-cols-1`,i>=2&&`@min-[18rem]:grid-cols-2`,i>=3&&`@min-[26rem]:grid-cols-3`,i>=4&&`@min-[34rem]:grid-cols-4`,`[&>*]:min-w-0 [&>*]:border-r [&>*]:border-border/50`,i>=2&&`@min-[18rem]:[&>*:nth-child(2n)]:border-r-0`,i>=3&&`@min-[26rem]:[&>*:nth-child(2n)]:border-r @min-[26rem]:[&>*:nth-child(3n)]:border-r-0`,i>=4&&`@min-[34rem]:[&>*:nth-child(2n)]:border-r @min-[34rem]:[&>*:nth-child(3n)]:border-r @min-[34rem]:[&>*:nth-child(4n)]:border-r-0`,i<2&&`[&>*]:border-r-0`,`[&>*:last-child]:border-r-0`),children:n})})}function T({icon:e,wellClassName:o,wellStyle:s,title:c,badge:l,subtitle:u,leading:f,actions:p,sticky:m=!1,className:h,dataSlot:g=`detail-header`}){return(0,d.jsxs)(`header`,{className:t(i,m&&`sticky top-0 z-10`,h),"data-slot":g,children:[f?(0,d.jsxs)(`div`,{className:`-ml-2 flex h-full shrink-0 items-stretch`,children:[f,(0,d.jsx)(`span`,{className:`w-px shrink-0 self-stretch bg-border/60`,"aria-hidden":!0})]}):null,(0,d.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-2`,children:[(0,d.jsx)(`span`,{className:t(a,`flex shrink-0 items-center justify-center`,n(o??`text-muted-foreground`)),style:s?.color?{color:s.color}:void 0,"aria-hidden":!0,children:e}),(0,d.jsx)(`h2`,{className:t(r,`leading-none`),children:c}),l?(0,d.jsx)(`div`,{className:`flex min-w-0 shrink-0 items-center gap-2 leading-none`,children:l}):null,u?(0,d.jsx)(`div`,{className:`flex min-w-0 items-center gap-1.5 leading-none`,children:u}):null]}),p?(0,d.jsx)(`div`,{className:`flex h-full shrink-0 items-stretch`,children:p}):null]})}export{y as a,h as c,C as d,g as f,S as i,b as l,f as n,v as o,_ as p,p as r,x as s,T as t,w as u};
@@ -1 +0,0 @@
1
- import{r as e}from"./rolldown-runtime-hePW80VL.js";import{$ as t,$t as n,An as r,At as i,B as a,Bn as o,Bt as s,C as c,Cn as l,Cr as u,Ct as d,Dn as f,Dt as p,En as m,Et as h,Fn as g,Ft as _,G as v,Gn as y,Gt as b,H as x,Hn as S,Ht as C,In as w,It as T,Jn as E,K as D,Kn as O,Ln as k,Lt as ee,Mn as A,Mt as j,Nn as M,O as N,On as P,Ot as te,Pn as F,Pt as ne,Q as I,Qt as L,R as re,Rn as R,Rt as z,S as B,Sn as ie,St as V,Tn as H,Tt as ae,U,Un as W,Ut as G,V as oe,Vn as K,Vt as q,Wn as J,Wt as se,X as ce,Xt as le,Y as ue,Z as de,_n as fe,_t as pe,at as me,bn as he,bt as ge,cn as Y,ct as _e,dt as ve,en as ye,et as be,fn as xe,ft as Se,g as Ce,hn as we,ht as Te,in as Ee,it as De,jn as Oe,jt as X,kt as ke,ln as Ae,lt as je,m as Me,mt as Ne,na as Pe,nt as Fe,on as Ie,ot as Le,pt as Re,qn as ze,qt as Be,rn as Z,rt as Ve,sn as He,st as Ue,tn as We,tt as Ge,ut as Ke,v as qe,vn as Je,w as Ye,wn as Xe,wr as Ze,wt as Qe,xn as $e,xt as et,yn as tt,z as nt,zn as rt,zt as it}from"./shortcut-keys-DKxNTe_m.js";import{n as at,r as ot}from"./react-dom-Bph1y7z7.js";import{A as st}from"./xyflow-D7n4g6go.js";var Q=e(ot(),1);function ct(e,t={}){let{enabled:n=!0,event:r=`click`,toggle:i=!0,ignoreMouse:a=!1,stickIfOpen:s=!0,touchOpenDelay:c=0,reason:l=we}=t,u=`rootStore`in e?e.rootStore:e,d=u.context.dataRef,f=Q.useRef(void 0),p=L(),m=o(),h=Q.useMemo(()=>{function e(e,t,n,r){let i=Z(l,t,n);e&&r===`touch`&&c>0?m.start(c,()=>{u.setOpen(!0,i)}):u.setOpen(e,i)}function t(e,t,n){let r=d.current.openEvent,a=u.select(`domReferenceElement`)!==t;return e&&a||!e||!i?!0:r&&s?!n(r.type):!1}return{onPointerDown(e){f.current=A(e.pointerType,!0)&&F(e.nativeEvent)?`virtual`:e.pointerType},onMouseDown(n){let i=f.current,o=n.nativeEvent,s=u.select(`open`);if(n.button!==0||r===`click`||A(i,!0)&&a)return;let c=t(s,n.currentTarget,e=>e===`click`||e===`mousedown`),l=ie(o);if(tt(l)){e(c,o,l,i);return}let d=n.currentTarget;p.request(()=>{e(c,o,d,i)})},onClick(n){if(r===`mousedown-only`)return;let i=f.current;if(r===`mousedown`&&i){f.current=void 0;return}A(i,!0)&&a||e(t(u.select(`open`),n.currentTarget,e=>e===`click`||e===`mousedown`||e===`keydown`||e===`keyup`),n.nativeEvent,n.currentTarget,i)},onKeyDown(){f.current=void 0}}},[d,r,a,l,u,s,i,p,m,c]);return Q.useMemo(()=>n?{reference:h}:J,[n,h])}var lt=`Escape`;function ut(e){return k&&e.movementX===0&&e.movementY===0}function dt(e,t,n){switch(e){case`vertical`:return t;case`horizontal`:return n;default:return t||n}}function ft(e,t){return dt(t,e===`ArrowUp`||e===`ArrowDown`,e===`ArrowLeft`||e===`ArrowRight`)}function pt(e,t,n){return dt(t,e===`ArrowDown`,n?e===`ArrowLeft`:e===`ArrowRight`)||e===`Enter`||e===` `||e===``}function mt(e,t,n){return dt(t,n?e===Xe:e===H,e===l)}function ht(e,t,n,r){return t===`both`||t===`horizontal`&&r?e===lt:dt(t,n?e===H:e===Xe,e===m)}function gt(e,t){let{listRef:i,activeIndex:a,onNavigate:o=()=>{},enabled:c=!0,selectedIndex:l=null,allowEscape:u=!1,loopFocus:d=!1,nested:f=!1,rtl:p=!1,virtual:m=!1,focusItemOnOpen:v=`auto`,focusItemOnHover:y=!0,openOnArrowKeyDown:b=!0,disabledIndices:x=void 0,orientation:w=`vertical`,parentOrientation:T,id:E,resetOnPointerLeave:D=!0,externalTree:O,grid:k}=t,ee=k!=null,A=`rootStore`in e?e.rootStore:e,j=A.useState(`open`),N=A.useState(`floatingElement`),P=A.useState(`domReferenceElement`),te=A.context.dataRef,ne=fe(N),I=Je(P),re=ye(ne),R=ae(),z=h(O),B=Q.useRef(v),V=Q.useRef(l??-1),H=Q.useRef(null),U=Q.useRef(!0),W=n(e=>{o(V.current===-1?null:V.current,e)}),G=Q.useRef(!!N),oe=Q.useRef(j),K=Q.useRef(!1),J=Q.useRef(!1),ce=Q.useRef(null),ue=ye(x),de=ye(j),pe=ye(l),me=ye(D),ge=L(),Y=L(),_e=n(()=>{function e(e){m?z?.events.emit(`virtualfocus`,e):ce.current=_(e,{sync:K.current,preventScroll:!0})}let t=i.current[V.current],n=J.current;t&&e(t),(K.current?e=>e():e=>ge.request(e))(()=>{let r=i.current[V.current]||t;r&&(t||e(r),we&&(n||!U.current)&&r.scrollIntoView?.({block:`nearest`,inline:`nearest`}))})});S(()=>{te.current.orientation=w},[te,w]),S(()=>{c&&(j&&N?(V.current=l??-1,B.current&&l!=null&&(J.current=!0,W())):G.current&&(V.current=-1,W()))},[c,j,N,l,W]),S(()=>{if(c){if(!j){K.current=!1;return}if(N)if(a==null){if(K.current=!1,pe.current!=null)return;if(G.current&&(V.current=-1,_e()),(!oe.current||!G.current)&&B.current&&(H.current!=null||B.current===!0&&H.current==null)){let e=0,t=()=>{i.current[0]==null?(e<2&&(e?e=>Y.request(e):queueMicrotask)(t),e+=1):(V.current=H.current==null||pt(H.current,w,p)||f?C(i):q(i),H.current=null,W())};t()}}else se(i.current,a)||(V.current=a,_e(),J.current=!1)}},[c,j,N,a,pe,f,i,w,p,W,_e,Y]),S(()=>{if(!c||N||!z||m||!G.current)return;let e=z.nodesRef.current,t=e.find(e=>e.id===R)?.context?.elements.floating,n=he(le(P??t??null)),r=e.some(e=>e.context&&$e(e.context.elements.floating,n));t&&!r&&U.current&&t.focus({preventScroll:!0})},[c,N,P,z,R,m]),S(()=>{oe.current=j,G.current=!!N}),S(()=>{j||(H.current=null,B.current=v)},[j,v]);let ve=a!=null,be=n(e=>{if(!de.current)return;let t=i.current.indexOf(e.currentTarget);t!==-1&&(V.current!==t||a!==t)&&(V.current=t,W(e))}),xe=n(()=>T??z?.nodesRef.current.find(e=>e.id===R)?.context?.dataRef?.current.orientation),Se=n(()=>C(i,ue.current)),Ce=n(e=>{if(U.current=!1,K.current=!0,e.which===229||!de.current&&e.currentTarget===re.current)return;if(f&&ht(e.key,w,p,ee)){ft(e.key,xe())||g(e),A.setOpen(!1,Z(Ae,e.nativeEvent)),r(P)&&(m?z?.events.emit(`virtualfocus`,P):P.focus());return}let t=V.current,n=C(i,x),a=q(i,x);if(I||(e.key===`Home`&&(g(e),V.current=n,W(e)),e.key===`End`&&(g(e),V.current=a,W(e))),k!=null){let t=k(e,V.current,i,w,d,p,x,n,a);if(t!=null&&(V.current=t,W(e)),w===`both`)return}if(ft(e.key,w)){if(g(e),j&&!m&&he(e.currentTarget.ownerDocument)===e.currentTarget){V.current=pt(e.key,w,p)?n:a,W(e);return}pt(e.key,w,p)?d?t>=a?u&&t!==i.current.length?V.current=-1:(K.current=!1,V.current=n):V.current=s(i.current,{startingIndex:t,disabledIndices:x}):V.current=Math.min(a,s(i.current,{startingIndex:t,disabledIndices:x})):d?t<=n?u&&t!==-1?V.current=i.current.length:(K.current=!1,V.current=a):V.current=s(i.current,{startingIndex:t,decrement:!0,disabledIndices:x}):V.current=Math.max(n,s(i.current,{startingIndex:t,decrement:!0,disabledIndices:x})),se(i.current,V.current)&&(V.current=-1),W(e)}}),we=Q.useMemo(()=>({onFocus(e){K.current=!0,be(e)},onClick:({currentTarget:e})=>e.focus({preventScroll:!0}),onMouseMove(e){ut(e)||(K.current=!0,J.current=!1,y&&be(e))},onPointerLeave(e){if(!de.current||!U.current||e.pointerType===`touch`)return;K.current=!0;let t=e.relatedTarget;if(!(!y||i.current.includes(t))&&me.current&&(ce.current?.(),ce.current=null,V.current=-1,W(e),!m)){let e=re.current,t=he(le(e));e&&$e(e,t)&&e.focus({preventScroll:!0})}}}),[be,de,re,y,i,W,me,m]),Te=Q.useMemo(()=>m&&j&&ve&&{"aria-activedescendant":`${E}-${a}`},[m,j,ve,E,a]),Ee=Q.useMemo(()=>({"aria-orientation":w===`both`?void 0:w,...I?{}:Te,onKeyDown(e){if(e.key===`Tab`&&e.shiftKey&&j&&!m){let t=ie(e.nativeEvent);if(t&&!$e(re.current,t))return;g(e),A.setOpen(!1,Z(Ie,e.nativeEvent)),r(P)&&P.focus();return}Ce(e)},onPointerMove(e){ut(e)||(U.current=!0)}}),[Te,Ce,re,w,I,A,j,m,P]),De=Q.useMemo(()=>{function e(e){A.setOpen(!0,Z(Ae,e.nativeEvent,e.currentTarget))}function t(e){v===`auto`&&M(e.nativeEvent)&&(B.current=!m)}function n(e){B.current=v,v===`auto`&&F(e.nativeEvent)&&(B.current=!0)}return{onKeyDown(t){let n=A.select(`open`);U.current=!1;let r=t.key.startsWith(`Arrow`),i=mt(t.key,xe(),p),a=ft(t.key,w),o=(f?i:a)||t.key===`Enter`||t.key.trim()===``;if(m&&n)return Ce(t);if(!(!n&&!b&&r)){if(o){let e=ft(t.key,xe());H.current=f&&e?null:t.key}if(f){i&&(g(t),n?(V.current=Se(),W(t)):e(t));return}a&&(pe.current!=null&&(V.current=pe.current),g(t),!n&&b?e(t):Ce(t),n&&W(t))}},onFocus(e){A.select(`open`)&&!m&&(V.current=-1,W(e))},onPointerDown:n,onPointerEnter:n,onMouseDown:t,onClick:t}},[Ce,v,Se,f,W,A,b,w,xe,p,pe,m]),Oe=Q.useMemo(()=>({...Te,...De}),[Te,De]);return Q.useMemo(()=>c?{reference:Oe,floating:Ee,item:we,trigger:De}:{},[c,Oe,Ee,De,we])}function _t(e,t){let{listRef:r,elementsRef:i,activeIndex:a,onMatch:s,disabledIndices:c,onTyping:l,enabled:u=!0,resetMs:d=750,selectedIndex:f=null}=t,p=`rootStore`in e?e.rootStore:e,m=p.useState(`open`),h=o(),_=Q.useRef(``),v=Q.useRef(f??a??-1),y=Q.useRef(null),x=n(e=>{function t(e){return i?.current[e]}function n(e){let n=t(e);return n&&!G(n)||n?.matches(`:disabled`)?!1:c==null||!b(W,e,c)}function o(e,t,r=0){if(e.length===0)return-1;let i=(r%e.length+e.length)%e.length,a=t.toLowerCase();for(let t=0;t<e.length;t+=1){let r=(i+t)%e.length;if(!(!e[r]?.toLowerCase().startsWith(a)||!n(r)))return r}return-1}let u=r.current;if(_.current.length>0&&e.key===` `&&(g(e),l?.(!0)),_.current.length>0&&_.current[0]!==` `&&o(u,_.current)===-1&&e.key!==` `&&l?.(!1),u==null||e.key.length!==1||e.ctrlKey||e.metaKey||e.altKey)return;m&&e.key!==` `&&(g(e),l?.(!0));let p=_.current===``;p&&(v.current=f??a??-1),u.every((e,t)=>e&&n(t)?e[0]?.toLowerCase()!==e[1]?.toLowerCase():!0)&&_.current===e.key&&(_.current=``,v.current=y.current),_.current+=e.key,h.start(d,()=>{_.current=``,v.current=y.current,l?.(!1)});let x=((p?f??a??-1:v.current)??0)+1,S=o(u,_.current,x);S===-1?e.key!==` `&&(_.current=``,l?.(!1)):(s?.(S),y.current=S)}),C=n(e=>{let t=e.relatedTarget,n=p.select(`domReferenceElement`),r=p.select(`floatingElement`);$e(n,t)||$e(r,t)||(h.clear(),_.current=``,v.current=y.current,l?.(!1))});S(()=>{!m&&f!==null||(h.clear(),y.current=null,_.current!==``&&(_.current=``))},[m,f,h]);let w=Q.useMemo(()=>({onKeyDown:x,onBlur:C}),[x,C]);return Q.useMemo(()=>u?{reference:w,floating:w}:{},[u,w])}var vt=Q.forwardRef(function(e,t){let{className:n,render:r,orientation:i=`horizontal`,style:a,...o}=e;return X(`div`,e,{state:{orientation:i},ref:t,props:[{role:`separator`,"aria-orientation":i},o]})}),$=st();function yt(e){let t=Q.useRef(``),n=Q.useCallback(n=>{n.defaultPrevented||(t.current=n.pointerType,e(n,n.pointerType))},[e]);return{onClick:Q.useCallback(n=>{if(n.detail===0){e(n,`keyboard`);return}`pointerType`in n?e(n,n.pointerType):e(n,t.current),t.current=``},[e]),onPointerDown:n}}function bt(e,t){let r=Q.useRef(e),i=n(t);S(()=>{r.current!==e&&i(r.current),r.current=e},[e,i])}function xt(e,t){let{onClick:r,onPointerDown:i}=yt(n((n,r)=>{(typeof e==`function`?e():e)||t(r||(R?`touch`:``))}));return Q.useMemo(()=>({onClick:r,onPointerDown:i}),[r,i])}function St(e){let[t,n]=Q.useState(null),r=xt(e,n);return bt(e,t=>{t&&!e&&n(null)}),Q.useMemo(()=>({openMethod:t,triggerProps:r}),[t,r])}var Ct=Q.createContext(void 0);function wt(e){let t=Q.useContext(Ct);if(t===void 0&&!e)throw Error(K(33));return t}var Tt=Q.createContext(void 0);function Et(e){let t=Q.useContext(Tt);if(t===void 0&&!e)throw Error(K(36));return t}var Dt=Q.createContext(void 0);function Ot(e=!0){let t=Q.useContext(Dt);if(t===void 0&&!e)throw Error(K(25));return t}var kt=Q.createContext(void 0);function At(){let e=Q.useContext(kt);if(e===void 0)throw Error(K(30));return e}function jt(e){let{closeOnClick:t,highlighted:n,id:r,nodeId:i,store:a,typingRef:o,itemRef:s,itemMetadata:l}=e,{events:u}=a.useState(`floatingTreeRoot`),d=a.useState(`open`),f=Ot(!0),p=f!==void 0;return Q.useMemo(()=>({id:r,role:`menuitem`,tabIndex:d&&n?0:-1,onKeyDown(e){e.key===` `&&o?.current&&e.preventDefault()},onMouseMove(e){i&&u.emit(`itemhover`,{nodeId:i,target:e.currentTarget})},onClick(e){t&&u.emit(`close`,{domEvent:e,reason:Y})},onMouseUp(e){if(f){let t=f.initialCursorPointRef.current;if(f.initialCursorPointRef.current=null,p&&t&&Math.abs(e.clientX-t.x)<=1&&Math.abs(e.clientY-t.y)<=1||p&&!rt&&e.button===2)return}s.current&&a.context.allowMouseUpTriggerRef.current&&(!p||e.button===2)&&l.type===`regular-item`&&c(s.current,e,{detail:1})}}),[t,n,r,u,i,d,a,o,s,f,p,l])}var Mt={type:`regular-item`};function Nt(e){let{closeOnClick:t,disabled:n,highlighted:r,id:i,store:a,typingRef:o=a.context.typingRef,nativeButton:s,itemMetadata:c,nodeId:l}=e,u=Q.useRef(null),{getButtonProps:d,buttonRef:f}=B({disabled:n,focusableWhenDisabled:!0,native:s,composite:!0}),p=jt({closeOnClick:t,highlighted:r,id:i,nodeId:l,store:a,typingRef:o,itemRef:u,itemMetadata:c}),m=Q.useCallback(e=>j(p,{onMouseEnter(){c.type===`submenu-trigger`&&c.setActive()}},e,d),[p,d,c]),h=We(u,f);return Q.useMemo(()=>({getItemProps:m,itemRef:h}),[m,h])}var Pt=Q.createContext({register:()=>{},unregister:()=>{},subscribeMapChange:()=>()=>{},nextIndexRef:{current:0}});function Ft(){return Q.useContext(Pt)}function It(e={}){let{guess:t,label:n,metadata:r,textRef:i,index:a}=e,{register:o,unregister:s,subscribeMapChange:c,nextIndexRef:l}=Ft(),u=Q.useRef(-1),[d,f]=Q.useState(a==null&&t?()=>{if(u.current===-1){let e=l.current;l.current+=1,u.current=e}return u.current}:-1),p=a??d,m=Q.useRef(null),h=Q.useCallback(e=>{let t=m.current;t&&s(t),m.current=e,e&&o(e,{metadata:r??null,index:a??null,label:n,textRef:i})},[a,o,s,r,n,i]);return S(()=>{if(a==null)return c(e=>{let t=m.current?e.get(m.current)?.index:null;t!=null&&f(t)})},[a,c]),{ref:h,index:p}}var Lt=function(e){return e.checked=`data-checked`,e.unchecked=`data-unchecked`,e.disabled=`data-disabled`,e.highlighted=`data-highlighted`,e}({}),Rt={checked(e){return e?{[Lt.checked]:``}:{[Lt.unchecked]:``}},...ue},zt=Q.forwardRef(function(e,t){let{render:n,className:r,id:i,label:a,nativeButton:o=!1,disabled:s=!1,closeOnClick:c=!1,checked:l,defaultChecked:u,onCheckedChange:d,style:f,...p}=e,m=It({guess:!0,label:a}),h=wt(!0),g=U(i),{store:_}=Et(),v=_.useState(`disabled`),b=s||v,x=_.useState(`isActive`,m.index),S=_.useState(`itemProps`),[C,w]=N({controlled:l,default:u??!1,name:`MenuCheckboxItem`,state:`checked`}),{getItemProps:T,itemRef:E}=Nt({closeOnClick:c,disabled:b,highlighted:x,id:g,store:_,nativeButton:o,nodeId:h?.context.nodeId,itemMetadata:Mt}),D=Q.useMemo(()=>({disabled:b,highlighted:x,checked:C}),[b,x,C]);function O(e){let t=Z(Y,e.nativeEvent,void 0,{preventUnmountOnClose:y});d?.(!C,t),!t.isCanceled&&w(e=>!e)}let k=X(`div`,e,{state:D,stateAttributesMapping:Rt,props:[S,{role:`menuitemcheckbox`,"aria-checked":C,onClick:O},p,T],ref:[E,t,m.ref]});return(0,$.jsx)(kt.Provider,{value:D,children:k})}),Bt=Q.forwardRef(function(e,t){let{render:n,className:r,style:i,keepMounted:a=!1,...o}=e,s=At(),c=Q.useRef(null),{transitionStatus:l,mounted:u,setMounted:d}=Ne(s.checked);Se({open:s.checked,ref:c,onComplete(){s.checked||d(!1)}});let f={checked:s.checked,disabled:s.disabled,highlighted:s.highlighted,transitionStatus:l};return X(`span`,e,{state:f,ref:[t,c],stateAttributesMapping:Rt,props:{"aria-hidden":!0,...o},enabled:a||u})}),Vt=Q.createContext(void 0);function Ht(){let e=Q.useContext(Vt);if(e===void 0)throw Error(K(31));return e}var Ut=Q.forwardRef(function(e,t){let{render:n,className:r,style:i,...a}=e,[o,s]=Q.useState(void 0),c=X(`div`,e,{ref:t,props:{role:`group`,"aria-labelledby":o,...a}});return(0,$.jsx)(Vt.Provider,{value:s,children:c})}),Wt=Q.forwardRef(function(e,t){let{render:n,className:r,style:i,id:a,...o}=e,s=U(a),c=Ht();return S(()=>(c(s),()=>{c(e=>e===s?void 0:e)}),[c,s]),X(`div`,e,{ref:t,props:{id:s,role:`presentation`,...o}})}),Gt=Q.forwardRef(function(e,t){let{render:n,className:r,id:i,label:a,nativeButton:o=!1,disabled:s=!1,closeOnClick:c=!0,style:l,...u}=e,d=It({guess:!0,label:a}),f=wt(!0),p=U(i),{store:m}=Et(),h=m.useState(`disabled`),g=s||h,_=m.useState(`isActive`,d.index),v=m.useState(`itemProps`),{getItemProps:y,itemRef:b}=Nt({closeOnClick:c,disabled:g,highlighted:_,id:p,store:m,nativeButton:o,nodeId:f?.context.nodeId,itemMetadata:Mt});return X(`div`,e,{state:{disabled:g,highlighted:_},props:[v,u,y],ref:[b,t,d.ref]})}),Kt=Q.createContext(void 0);function qt(e){let t=Q.useContext(Kt);if(t===void 0&&!e)throw Error(K(69));return t}var Jt=Q.forwardRef(function(e,t){let{render:n,className:r,style:i,finalFocus:o,...s}=e,{store:c}=Et(),{side:l,align:u}=wt(),d=qt(!0)!=null,f=c.useState(`open`),p=c.useState(`transitionStatus`),m=c.useState(`popupProps`),h=c.useState(`mounted`),g=c.useState(`instantType`),_=c.useState(`activeTriggerElement`),y=c.useState(`parent`),b=c.useState(`lastOpenChangeReason`),x=c.useState(`rootId`),S=c.useState(`floatingRootContext`),C=c.useState(`floatingTreeRoot`),w=c.useState(`closeDelay`),T=c.useState(`hoverEnabled`),E=c.useState(`disabled`),D=c.useState(`openMethod`),O=y.type===`context-menu`;Se({open:f,ref:c.context.popupRef,onComplete(){f&&c.context.onOpenChangeComplete?.(!0)}}),Q.useEffect(()=>{function e(e){c.setOpen(!1,Z(e.reason,e.domEvent))}return C.events.on(`close`,e),()=>{C.events.off(`close`,e)}},[C.events,c]),I(S,{enabled:T&&!E&&!O&&y.type!==`menubar`,closeDelay:w});let k=c.useStateSetter(`popupElement`),ee={transitionStatus:p,side:l,align:u,open:f,nested:y.type===`menu`,instant:g},A=X(`div`,e,{state:ee,ref:[t,c.context.popupRef,k],stateAttributesMapping:v,props:[m,{onKeyDown(e){d&&qe.has(e.key)&&e.stopPropagation()}},a(p),s,{"data-rootownerid":x}]}),j=y.type===void 0||O;return(_||y.type===`menubar`&&b!==`outside-press`)&&(j=!0),(0,$.jsx)(et,{context:S,openInteractionType:D,modal:O,disabled:!h,returnFocus:o===void 0?j:o,initialFocus:y.type!==`menu`,restoreFocus:!0,externalTree:y.type===`menubar`?void 0:C,previousFocusableElement:_,nextFocusableElement:y.type===void 0?c.context.triggerFocusTargetRef:void 0,beforeContentFocusGuardRef:y.type===void 0?c.context.beforeContentFocusGuardRef:void 0,children:A})}),Yt=Q.createContext(void 0);function Xt(){let e=Q.useContext(Yt);if(e===void 0)throw Error(K(32));return e}var Zt=Q.forwardRef(function(e,t){let{keepMounted:n=!1,...r}=e,{store:i}=Et();return i.useState(`mounted`)||n?(0,$.jsx)(Yt.Provider,{value:n,children:(0,$.jsx)(te,{ref:t,...r})}):null});function Qt(e){let{children:t,elementsRef:r,labelsRef:i,onMapChange:a}=e,o=n(a),[,s]=Q.useState(!1),c=E(en).current,l=E($t).current,u=Q.useRef(0),d=Q.useRef(!0),f=Q.useRef([]),p=Q.useRef(null),m=n(()=>{d.current||(d.current=!0,s(e=>!e))}),h=n((e,t)=>{l.set(e,t),m()}),g=n(e=>{l.delete(e),m()}),_=n(e=>{let t=new Map;return r.current.length=0,i&&(i.current.length=0),e.forEach(e=>{t.set(e.element,{...e.registration.metadata??{},index:e.index}),r.current[e.index]=e.element,i&&(i.current[e.index]=e.registration.label===void 0?e.registration.textRef?.current?.textContent??e.element.textContent:e.registration.label)}),u.current=r.current.length,t});function v(e){if(p.current?.disconnect(),p.current=null,typeof MutationObserver!=`function`||e.length<2)return;let t=new MutationObserver(n=>{if(!rn(n))return;let r=null;for(let n of e)if(n.isConnected){if(r&&an(r,n)>0){t.disconnect(),m();return}r=n}});p.current=t;let n=new Set;for(let t=1;t<e.length;t+=1){let r=nn(e[t-1],e[t]);r&&n.add(r)}n.forEach(e=>t.observe(e,{childList:!0}))}let y=n(()=>{let[e,t]=tn(l),n=_(e);v(t),f.current=e,d.current=!1,c.forEach(e=>e(n)),o(n)});S(()=>(d.current||_(f.current),()=>{r.current=[],i&&(i.current=[])}),[r,i,_]),S(()=>{d.current&&y()}),S(()=>()=>{p.current?.disconnect(),d.current=!0},[]);let b=n(e=>(c.add(e),()=>{c.delete(e)})),x=Q.useMemo(()=>({register:h,unregister:g,subscribeMapChange:b,nextIndexRef:u}),[h,g,b,u]);return(0,$.jsx)(Pt.Provider,{value:x,children:t})}function $t(){return new Map}function en(){return new Set}function tn(e){let t=new Set,n=[],r=[];e.forEach((e,i)=>{if(!i.isConnected)return;let a=e.index,o={index:a??-1,element:i,registration:e};a===null?r.push(o):a>=0&&(t.add(a),n.push(o))});let i=0;return r.sort((e,t)=>an(e.element,t.element)),r.forEach(e=>{for(;t.has(i);)i+=1;e.index=i,n.push(e),i+=1}),t.size>0&&n.sort((e,t)=>e.index-t.index),[n,r.map(e=>e.element)]}function nn(e,t){let n=e.parentElement;for(;n&&!n.contains(t);)n=n.parentElement;return n}function rn(e){for(let t of e)for(let e=0;e<t.removedNodes.length;e+=1)if(t.removedNodes[e].isConnected)return!0;return!1}function an(e,t){return e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING?-1:1}var on=20;function sn(e,t,n,r){let[i,a]=Q.useState(!1);S(()=>{if(!e||!t||n==null){a(!1);return}let r=le(n).documentElement.clientWidth,i=n.offsetWidth;a(r>0&&i>0&&i>=r-on)},[e,t,n]),Me(e&&(!t||i),r)}var cn=Q.forwardRef(function(e,t){let{anchor:n,positionMethod:r=`absolute`,className:a,render:s,side:c,align:l,sideOffset:u=0,alignOffset:d=0,collisionBoundary:f=`clipping-ancestors`,collisionPadding:p=5,arrowPadding:m=5,sticky:h=!1,disableAnchorTracking:g=!1,collisionAvoidance:_=ke,style:v,...y}=e,{store:b}=Et(),x=Xt(),C=Ot(!0),w=b.useState(`parent`),T=b.useState(`floatingRootContext`),E=b.useState(`floatingTreeRoot`),D=b.useState(`mounted`),O=b.useState(`open`),k=b.useState(`modal`),ee=b.useState(`openMethod`),A=b.useState(`activeTriggerElement`),j=b.useState(`transitionStatus`),M=b.useState(`positionerElement`),N=b.useState(`instantType`),P=b.useState(`adaptiveOrigin`),te=b.useState(`lastOpenChangeReason`),F=b.useState(`floatingNodeId`),ne=b.useState(`floatingParentNodeId`),I=T.useState(`domReferenceElement`),L=Q.useRef(null),R=Re(M),z=n,B=u,ie=d,H=l,ae=_;w.type===`context-menu`&&(z=n??w.context?.anchor,H??=`start`,!c&&H!==`center`&&(ie=e.alignOffset??2,B=e.sideOffset??-5));let U=c,W=H;w.type===`menu`?(U??=`inline-end`,W??=`start`,ae=e.collisionAvoidance??i):w.type===`menubar`&&(U??=w.context.orientation===`vertical`?`inline-end`:`bottom`,W??=`start`);let G=w.type===`context-menu`,K=oe({anchor:z,floatingRootContext:T,positionMethod:C?`fixed`:r,mounted:D,side:U,sideOffset:B,align:W,alignOffset:ie,arrowPadding:G?0:m,collisionBoundary:f,collisionPadding:p,sticky:h,nodeId:F,keepMounted:x,disableAnchorTracking:g,collisionAvoidance:ae,shift:G?{crossAxis:!(`side`in ae&&ae.side===`flip`),rootBoundary:`layoutViewport`}:void 0,externalTree:E,adaptiveOrigin:P});Q.useEffect(()=>{function e(e){e.open&&(e.parentNodeId===F&&b.set(`hoverEnabled`,!1),e.nodeId!==F&&e.parentNodeId===b.select(`floatingParentNodeId`)&&b.setOpen(!1,Z(xe)))}return E.events.on(`menuopenchange`,e),()=>{E.events.off(`menuopenchange`,e)}},[b,E.events,F]),Q.useEffect(()=>{if(b.select(`floatingParentNodeId`)==null)return;function e(e){if(e.open||e.nodeId!==b.select(`floatingParentNodeId`))return;let t=e.reason??`sibling-open`;b.setOpen(!1,Z(t))}return E.events.on(`menuopenchange`,e),()=>{E.events.off(`menuopenchange`,e)}},[E.events,b]);let q=o();Q.useEffect(()=>{O||q.clear()},[O,q]),Q.useEffect(()=>{function e(e){if(!(!O||e.nodeId!==b.select(`floatingParentNodeId`)))if(e.target&&A&&A!==e.target){let e=b.select(`closeDelay`);e>0?q.isStarted()||q.start(e,()=>{b.setOpen(!1,Z(xe))}):b.setOpen(!1,Z(xe))}else q.clear()}return E.events.on(`itemhover`,e),()=>{E.events.off(`itemhover`,e)}},[E.events,O,A,b,q]),Q.useEffect(()=>{let e={open:O,nodeId:F,parentNodeId:ne,reason:b.select(`lastOpenChangeReason`)};E.events.emit(`menuopenchange`,e)},[E.events,O,b,F,ne]),S(()=>{let e=I,t=L.current;if(e&&(L.current=e),t&&e&&e!==t){b.set(`instantType`,void 0);let e=new AbortController;return R(()=>{b.set(`instantType`,`trigger-change`)},e.signal),()=>{e.abort()}}},[I,R,b]);let J={open:O,side:K.side,align:K.align,anchorHidden:K.anchorHidden,nested:w.type===`menu`,instant:N},se=w.type===`menubar`&&w.context.modal;sn(O&&(se||k&&te!==`trigger-hover`),ee===`touch`,M,A);let ce=nt(e,J,{styles:K.positionerStyles,transitionStatus:j,props:y,refs:[t,b.useStateSetter(`positionerElement`)],hidden:!D,inert:!O}),le=D&&w.type!==`menu`&&(w.type!==`menubar`&&k&&te!==`trigger-hover`||w.type===`menubar`&&w.context.modal),ue=null;return w.type===`menubar`?ue=w.context.contentElement:w.type===void 0&&(ue=A),(0,$.jsxs)(Ct.Provider,{value:K,children:[le&&(0,$.jsx)(Ce,{ref:w.type===`context-menu`||w.type===`nested-context-menu`?w.context.internalBackdropRef:null,inert:re(!O),cutout:ue}),(0,$.jsx)(V,{id:F,children:(0,$.jsx)(Qt,{elementsRef:b.context.itemDomElements,labelsRef:b.context.itemLabels,children:ce})})]})}),ln=Q.createContext(void 0);function un(){let e=Q.useContext(ln);if(e===void 0)throw Error(K(34));return e}var dn=Q.memo(Q.forwardRef(function(e,t){let{render:r,className:i,value:a,defaultValue:o,onValueChange:s,disabled:c=!1,style:l,"aria-labelledby":u,...d}=e,[f,p]=Q.useState(void 0),[m,h]=N({controlled:a,default:o,name:`MenuRadioGroup`}),g=n((e,t)=>{s?.(e,t),!t.isCanceled&&h(e)}),_=X(`div`,e,{state:{disabled:c},ref:t,props:{role:`group`,"aria-labelledby":u??f,"aria-disabled":c||void 0,...d}}),v=Q.useMemo(()=>({value:m,setValue:g,disabled:c}),[m,g,c]);return(0,$.jsx)(Vt.Provider,{value:p,children:(0,$.jsx)(ln.Provider,{value:v,children:_})})})),fn=Q.createContext(void 0);function pn(){let e=Q.useContext(fn);if(e===void 0)throw Error(K(35));return e}var mn=Q.forwardRef(function(e,t){let{render:n,className:r,id:i,label:a,nativeButton:o=!1,disabled:s=!1,closeOnClick:c=!1,value:l,style:u,...d}=e,f=It({guess:!0,label:a}),p=wt(!0),m=U(i),{store:h}=Et(),g=h.useState(`isActive`,f.index),_=h.useState(`itemProps`),{value:v,setValue:b,disabled:x}=un(),S=h.useState(`disabled`),C=s||x||S,w=v===l,{getItemProps:T,itemRef:E}=Nt({closeOnClick:c,disabled:C,highlighted:g,id:m,store:h,nativeButton:o,nodeId:p?.context.nodeId,itemMetadata:Mt}),D=Q.useMemo(()=>({disabled:C,highlighted:g,checked:w}),[C,g,w]);function O(e){let t=Z(Y,e.nativeEvent,void 0,{preventUnmountOnClose:y});b(l,t)}let k=X(`div`,e,{state:D,stateAttributesMapping:Rt,props:[_,{role:`menuitemradio`,"aria-checked":w,onClick:O},d,T],ref:[E,t,f.ref]});return(0,$.jsx)(fn.Provider,{value:D,children:k})}),hn=Q.forwardRef(function(e,t){let{render:n,className:r,style:i,keepMounted:a=!1,...o}=e,s=pn(),c=Q.useRef(null),{transitionStatus:l,mounted:u,setMounted:d}=Ne(s.checked);Se({open:s.checked,ref:c,onComplete(){s.checked||d(!1)}});let f={checked:s.checked,disabled:s.disabled,highlighted:s.highlighted,transitionStatus:l};return X(`span`,e,{state:f,stateAttributesMapping:Rt,ref:[t,c],props:{"aria-hidden":!0,...o},enabled:a||u})}),gn=Q.createContext(null);function _n(e){let t=Q.useContext(gn);if(t===null&&!e)throw Error(K(5));return t}var vn={...Fe,disabled:e=>e.parent.type===`menubar`&&e.parent.context.disabled||e.disabled,modal:e=>(e.parent.type===void 0||e.parent.type===`context-menu`)&&(e.modal??!0),openMethod:e=>e.openMethod,allowMouseEnter:e=>e.allowMouseEnter,highlightItemOnHover:e=>e.highlightItemOnHover,parent:e=>e.parent,rootId:e=>e.parent.type===`menu`?e.parent.store.select(`rootId`):e.parent.type===void 0?e.rootId:e.parent.context.rootId,activeIndex:e=>e.activeIndex,isActive:(e,t)=>e.activeIndex===t,hoverEnabled:e=>e.hoverEnabled,instantType:e=>e.instantType,lastOpenChangeReason:e=>e.openChangeReason,floatingTreeRoot:e=>e.parent.type===`menu`?e.parent.store.select(`floatingTreeRoot`):e.floatingTreeRoot,floatingNodeId:e=>e.floatingNodeId,floatingParentNodeId:e=>e.floatingParentNodeId,itemProps:e=>e.itemProps,closeDelay:e=>e.closeDelay,adaptiveOrigin:e=>e.adaptiveOrigin,keyboardEventRelay:e=>{if(e.keyboardEventRelay)return e.keyboardEventRelay;if(e.parent.type===`menu`)return e.parent.store.select(`keyboardEventRelay`)}},yn=class extends pe{constructor(e){super({...xn(),...e},bn(),vn),this.unsubscribeParentListener=this.observe(`parent`,e=>{if(this.unsubscribeParentListener?.(),e.type===`menu`){let t=e.store.select(`rootId`),n=e.store.select(`floatingTreeRoot`),r=e.store.select(`keyboardEventRelay`);this.unsubscribeParentListener=e.store.subscribe(()=>{let i=e.store.select(`rootId`),a=e.store.select(`floatingTreeRoot`),o=e.store.select(`keyboardEventRelay`);(t!==i||n!==a||r!==o)&&(t=i,n=a,r=o,this.notifyAll())}),this.context.allowMouseUpTriggerRef=e.store.context.allowMouseUpTriggerRef;return}e.type!==void 0&&(this.context.allowMouseUpTriggerRef=e.context.allowMouseUpTriggerRef),this.unsubscribeParentListener=null})}setOpen(e,t){this.state.floatingRootContext.context.events.emit(`setOpen`,{open:e,eventDetails:t})}unsubscribeParentListener=null};function bn(){return{positionerRef:Q.createRef(),popupRef:Q.createRef(),typingRef:{current:!1},itemDomElements:{current:[]},itemLabels:{current:[]},allowMouseUpTriggerRef:{current:!1},triggerFocusTargetRef:Q.createRef(),beforeContentFocusGuardRef:Q.createRef(),onOpenChangeComplete:void 0,triggerElements:new Ve}}function xn(){return{...Ge(),disabled:!1,modal:!0,openMethod:null,allowMouseEnter:!1,highlightItemOnHover:!0,parent:{type:void 0},rootId:void 0,activeIndex:null,hoverEnabled:!0,instantType:void 0,openChangeReason:null,floatingTreeRoot:new p,floatingNodeId:void 0,floatingParentNodeId:null,itemProps:J,keyboardEventRelay:void 0,closeDelay:0,adaptiveOrigin:void 0}}var Sn=Q.createContext(void 0);function Cn(){return Q.useContext(Sn)}var wn=O(function(e){let{children:t,open:r,onOpenChange:i,onOpenChangeComplete:a,defaultOpen:s=!1,disabled:c=!1,modal:l,loopFocus:u=!0,orientation:f=`vertical`,actionsRef:p,closeParentOnEsc:m=!1,handle:h,triggerId:g,defaultTriggerId:_=null,highlightItemOnHover:v=!0}=e,y=Ot(!0),b=Et(!0),C=_n(!0),w=Cn(),T=Q.useMemo(()=>w&&b?{type:`menu`,store:b.store}:C?{type:`menubar`,context:C}:y&&!b?{type:`context-menu`,context:y}:{type:void 0},[y,b,C,w]),E=Tn({open:s,openProp:r,activeTriggerId:_,triggerIdProp:g,parent:T});E.useControlledProp(`openProp`,r),E.useControlledProp(`triggerIdProp`,g),E.useContextCallback(`onOpenChangeComplete`,a);let D=ne(),O=ne(),k=E.useState(`floatingTreeRoot`),ee=Qe(k),A=ae(),M=E.useState(`open`),N=E.useState(`activeTriggerElement`),P=E.useState(`positionerElement`),te=E.useState(`hoverEnabled`),F=E.useState(`disabled`),I=E.useState(`lastOpenChangeReason`),L=E.useState(`parent`),re=E.useState(`activeIndex`),R=E.useState(`payload`),z=E.useState(`floatingParentNodeId`),B=Q.useRef(null),ie=Q.useRef(L.type!==`context-menu`),V=o(),H=Q.useRef(!0),U=o(),G=z!=null,{openMethod:oe,triggerProps:K}=St(M);E.useSyncedValues({disabled:c,highlightItemOnHover:v,modal:L.type===void 0?l:void 0,openMethod:oe,rootId:D}),_e(E);let{forceUnmount:q}=je(M,E,()=>{E.set(`allowMouseEnter`,!1)});S(()=>{y&&!b?E.update({parent:{type:`context-menu`,context:y},floatingNodeId:ee,floatingParentNodeId:A}):b&&E.update({floatingNodeId:ee,floatingParentNodeId:A})},[y,b,ee,A,E]),Q.useEffect(()=>{if(M||(B.current=null),L.type===`context-menu`){if(!M){V.clear(),ie.current=!1;return}V.start(500,()=>{ie.current=!0})}},[V,M,L.type]),S(()=>{!M&&!te&&E.set(`hoverEnabled`,!0)},[M,te,E]);let se=n((e,t)=>{let n=t.reason;if(!e&&!E.select(`open`)||M===e&&t.trigger===N&&I===n)return;let r=Le(t);if(!e&&t.trigger==null&&(t.trigger=N??void 0),i?.(e,t),t.isCanceled)return;E.state.floatingRootContext.dispatchOpenChange(e,t);let a=t.event;if(e===!1&&a?.type===`click`&&a.pointerType===`touch`&&!H.current)return;e&&n===`trigger-focus`?(H.current=!1,U.start(300,()=>{H.current=!0})):(H.current=!0,U.clear());let o=(n===`trigger-press`||n===`item-press`)&&a.detail===0,s=!e&&(n===`escape-key`||n==null),c={open:e,openChangeReason:n};B.current=t.event,Ue(c,e,t.trigger,r()),E.update(c),L.type===`menubar`&&(n===`trigger-focus`||n===`focus-out`||n===`trigger-hover`||n===`list-navigation`||n===`sibling-open`)?E.set(`instantType`,`group`):o||s?E.set(`instantType`,o?`click`:`dismiss`):E.set(`instantType`,void 0)}),ce=Te({popupStore:E,floatingId:O,nested:A!=null,onOpenChange:se}),le=ce.context.events;S(()=>{let e=({open:e,eventDetails:t})=>se(e,t);return le.on(`setOpen`,e),()=>{le?.off(`setOpen`,e)}},[le,se]);let ue=Q.useCallback(()=>{E.setOpen(!1,Z(He))},[E]);Q.useImperativeHandle(p,()=>({unmount:q,close:ue}),[q,ue]);let de;L.type===`context-menu`&&(de=L.context),Q.useImperativeHandle(de?.positionerRef,()=>P,[P]),Q.useImperativeHandle(de?.actionsRef,()=>({setOpen:se}),[se]);let fe=ge(ce,{enabled:!F,bubbles:{escapeKey:m&&L.type===`menu`},outsidePress(){return L.type!==`context-menu`||B.current?.type===`contextmenu`||ie.current},externalTree:G?k:void 0}),pe=x(),he=Q.useCallback(e=>{E.select(`activeIndex`)!==e&&E.set(`activeIndex`,e)},[E]),Y=gt(ce,{enabled:!F,listRef:E.context.itemDomElements,activeIndex:re,nested:L.type!==void 0,loopFocus:u,orientation:f,parentOrientation:L.type===`menubar`?L.context.orientation:void 0,rtl:pe===`rtl`,disabledIndices:W,onNavigate:he,openOnArrowKeyDown:L.type!==`context-menu`,externalTree:G?k:void 0,focusItemOnHover:v}),ve=Q.useCallback(e=>{E.context.typingRef.current=e},[E]),ye=_t(ce,{enabled:!F,listRef:E.context.itemLabels,elementsRef:E.context.itemDomElements,activeIndex:re,resetMs:500,onMatch:e=>{M&&e!==re&&E.set(`activeIndex`,e)},onTyping:ve}),be=Q.useMemo(()=>{let e=j(ye.reference,Y.reference,fe.reference,{onMouseMove(){E.set(`allowMouseEnter`,!0)}},K);return e[`aria-haspopup`]=`menu`,e[`aria-expanded`]=M,e},[E,ye.reference,Y.reference,fe.reference,K,M]),xe=Q.useMemo(()=>{let e=j(Y.trigger,fe.trigger,K);return e[`aria-haspopup`]=`menu`,e[`aria-expanded`]=!1,e},[Y.trigger,fe.trigger,K]),Se=Q.useMemo(()=>j(De,{id:O,role:`menu`,"aria-labelledby":N?.id,onMouseMove(){E.set(`allowMouseEnter`,!0),L.type===`menu`&&E.set(`hoverEnabled`,!1)},onClick(){E.select(`hoverEnabled`)&&E.set(`hoverEnabled`,!1)},onKeyDown(e){let t=E.select(`keyboardEventRelay`);t&&!e.isPropagationStopped()&&t(e)}},ye.floating,Y.floating,fe.floating),[N,O,L.type,E,ye.floating,Y.floating,fe.floating]),Ce=Y.item??J;Ke(E,{floatingRootContext:ce,activeTriggerProps:be,inactiveTriggerProps:xe,popupProps:Se,itemProps:Ce});let we=Q.useMemo(()=>({store:E,parent:T}),[E,T]),Ee=(0,$.jsxs)(Tt.Provider,{value:we,children:[h&&(0,$.jsx)(me,{handle:h,store:E}),typeof t==`function`?t({payload:R}):t]});return L.type===void 0||L.type===`context-menu`?(0,$.jsx)(d,{externalTree:k,children:Ee}):Ee});function Tn(e){return E(()=>new yn(e)).current}var En=5;function Dn(e,t){let n=On(t);return e.clientX>=n.left-En&&e.clientX<=n.right+En&&e.clientY>=n.top-En&&e.clientY<=n.bottom+En}function On(e){let t=e.getBoundingClientRect(),n=P(e);if(w)return t;let r=n.getComputedStyle(e,`::before`),i=n.getComputedStyle(e,`::after`);if(r.content===`none`&&i.content===`none`)return t;let a=parseFloat(r.width)||0,o=parseFloat(r.height)||0,s=parseFloat(i.width)||0,c=parseFloat(i.height)||0,l=Math.max(t.width,a,s),u=Math.max(t.height,o,c),d=l-t.width,f=u-t.height;return{left:t.left-d/2,right:t.right+d/2,top:t.top-f/2,bottom:t.bottom+f/2}}function kn(e={}){let{highlightItemOnHover:t,highlightedIndex:n,onHighlightedIndexChange:r}=Ye(),{ref:i,index:a}=It(e),o=n===a,s=Q.useRef(null),c=We(i,s);return{compositeProps:{tabIndex:o?0:-1,onFocus(){r(a)},onMouseMove(){let e=s.current;if(!t||!e)return;let n=e.hasAttribute(`disabled`)||e.ariaDisabled===`true`;!o&&!n&&e.focus()}},compositeRef:c,index:a}}function An(e){let{render:t,className:n,style:r,state:i=J,props:a=W,refs:o=W,metadata:s,stateAttributesMapping:c,tag:l=`div`,...u}=e,{compositeProps:d,compositeRef:f}=kn({metadata:s});return X(l,e,{state:i,ref:[f,...o],props:[d,...a,u],stateAttributesMapping:c})}function jn(e){if(r(e)&&e.hasAttribute(`data-rootownerid`))return e.getAttribute(`data-rootownerid`);if(!Oe(e))return jn(f(e))}var Mn=e(at(),1);function Nn(e,t){let n=Q.useRef(null);function r(t){Mn.flushSync(()=>{e.setOpen(!1,Z(Ie,t.nativeEvent,t.currentTarget))}),z(n.current)?.focus()}function i(n){let r=e.select(`positionerElement`);if(r&&it(n,r))e.context.beforeContentFocusGuardRef.current?.focus();else{Mn.flushSync(()=>{e.setOpen(!1,Z(Ie,n.nativeEvent,n.currentTarget))});let i=ee(e.context.triggerFocusTargetRef.current||t.current);for(;i!==null&&$e(r,i);){let e=i;if(i=T(i),i===e)break}i?.focus()}}return{preFocusGuardRef:n,handlePreFocusGuardFocus:r,handleFocusTargetFocus:i}}function Pn(e){let{enabled:t=!0,mouseDownAction:n,open:r}=e,i=Q.useRef(!1);return Q.useMemo(()=>t?{onMouseDown:e=>{(n===`open`&&!r||n===`close`&&r)&&(i.current=!0,le(e.currentTarget).addEventListener(`click`,()=>{i.current=!1},{once:!0}))},onClick:e=>{i.current&&(i.current=!1,e.preventBaseUIHandler())}}:J,[t,n,r])}var Fn=ze(function(e,r){let{render:i,className:a,style:s,disabled:c=!1,nativeButton:l=!0,id:u,openOnHover:d,delay:f=100,closeDelay:m=0,handle:g,payload:_,...v}=e,y=Et(!0),b=be(g)??y?.store;if(!b)throw Error(K(85));let x=U(u),S=b.useState(`isTriggerActive`,x),C=b.useState(`floatingRootContext`),w=b.useState(`isOpenedByTrigger`,x),T=b.useState(`triggerPopupId`,x),E=Q.useRef(null),O=Ln(),k=Ye(!0),ee=h(),A=Q.useMemo(()=>ee??new p,[ee]),M=Qe(A),N=ae(),{registerTrigger:P,isMountedByThisTrigger:te}=ve(x,E,b,{payload:_,closeDelay:m,parent:O,floatingTreeRoot:A,floatingNodeId:M,floatingParentNodeId:N,keyboardEventRelay:k?.relayKeyboardEvent}),F=O.type===`menubar`,ne=b.useState(`disabled`),I=c||ne||F&&O.context.disabled,{getButtonProps:L,buttonRef:re}=B({disabled:I,native:l});Q.useEffect(()=>{!w&&O.type===void 0&&(b.context.allowMouseUpTriggerRef.current=!1)},[b,w,O.type]);let R=Q.useRef(null),z=o(),ie=n(e=>{if(!R.current)return;z.clear(),b.context.allowMouseUpTriggerRef.current=!1;let t=e.target;$e(R.current,t)||$e(b.select(`positionerElement`),t)||t===R.current||(t==null||jn(t)!==b.select(`rootId`))&&(Dn(e,R.current)||A.events.emit(`close`,{domEvent:e,reason:Ee}))});Q.useEffect(()=>{w&&b.select(`lastOpenChangeReason`)===`trigger-hover`&&le(R.current).addEventListener(`mouseup`,ie,{once:!0})},[w,ie,b]);let V=F&&O.context.hasSubmenuOpen,H=de(C,{enabled:(d??V)&&!I&&(!F||V&&!te),handleClose:ce({blockPointerEvents:!F}),mouseOnly:!0,move:!1,restMs:O.type===void 0?f:void 0,delay:{close:m},triggerElementRef:E,externalTree:A,isActiveTrigger:S,isClosing:()=>b.select(`transitionStatus`)===`ending`}),W=In(w,b.select(`lastOpenChangeReason`)),G=ct(C,{enabled:!I,event:w&&F?`click`:`mousedown`,toggle:!0,ignoreMouse:!1,stickIfOpen:O.type===void 0&&W}),oe=t(C,{enabled:!I&&V}),q=Pn({open:w,enabled:F,mouseDownAction:`open`}),se=Q.useMemo(()=>j(oe.reference,G.reference),[oe.reference,G.reference]),ue=b.useState(`triggerProps`,te),{preFocusGuardRef:fe,handlePreFocusGuardFocus:pe,handleFocusTargetFocus:me}=Nn(b,E),he={disabled:I,open:w},ge=[R,r,re,P,E],Y=[se,H??J,ue,{"aria-haspopup":`menu`,"aria-controls":T,id:x,onMouseDown:e=>{b.select(`open`)||(z.start(200,()=>{b.context.allowMouseUpTriggerRef.current=!0}),le(e.currentTarget).addEventListener(`mouseup`,ie,{once:!0}))}},F?{role:`menuitem`}:{},q,v,L],_e=X(`button`,e,{enabled:!F,stateAttributesMapping:D,state:he,ref:ge,props:Y});return F?(0,$.jsx)(An,{tag:`button`,render:i,className:a,style:s,state:he,refs:ge,props:Y,stateAttributesMapping:D}):w?(0,$.jsxs)(Q.Fragment,{children:[(0,$.jsx)(Be,{ref:fe,onFocus:pe},`${x}-pre-focus-guard`),(0,$.jsx)(Q.Fragment,{children:_e},x),(0,$.jsx)(Be,{ref:b.context.triggerFocusTargetRef,onFocus:me},`${x}-post-focus-guard`)]}):(0,$.jsx)(Q.Fragment,{children:_e},x)});function In(e,t){let n=o(),[r,i]=Q.useState(!1);return S(()=>{e&&t===`trigger-hover`?(i(!0),n.start(500,()=>{i(!1)})):e||(n.clear(),i(!1))},[e,t,n]),r}function Ln(){let e=_n(!0);return Q.useMemo(()=>e?{type:`menubar`,context:e}:{type:void 0},[e])}function Rn({...e}){return(0,$.jsx)(wn,{"data-slot":`dropdown-menu`,...e})}function zn({...e}){return(0,$.jsx)(Fn,{"data-slot":`dropdown-menu-trigger`,...e})}function Bn({align:e=`start`,alignOffset:t=0,side:n=`bottom`,sideOffset:r=4,className:i,...a}){return(0,$.jsx)(Zt,{children:(0,$.jsx)(cn,{className:`isolate z-50 outline-none`,align:e,alignOffset:t,side:n,sideOffset:r,children:(0,$.jsx)(Jt,{"data-slot":`dropdown-menu-content`,className:u(`cn-menu-target cn-menu-translucent z-50 max-h-(--available-height) w-(--anchor-width) min-w-32 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 outline-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:overflow-hidden data-closed:fade-out-0 data-closed:zoom-out-95`,i),...a})})})}function Vn({...e}){return(0,$.jsx)(Ut,{"data-slot":`dropdown-menu-group`,...e})}function Hn({className:e,inset:t,...n}){return(0,$.jsx)(Wt,{"data-slot":`dropdown-menu-label`,"data-inset":t,className:u(`px-1.5 py-1 text-xs font-medium text-muted-foreground data-inset:pl-7`,e),...n})}function Un({className:e,inset:t,variant:n=`default`,...r}){return(0,$.jsx)(Gt,{"data-slot":`dropdown-menu-item`,"data-inset":t,"data-variant":n,className:u(`group/dropdown-menu-item relative flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-7 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive`,e),...r})}function Wn({className:e,children:t,checked:n,inset:r,...i}){return(0,$.jsxs)(zt,{"data-slot":`dropdown-menu-checkbox-item`,"data-inset":r,className:u(`relative flex cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,e),checked:n,...i,children:[(0,$.jsx)(`span`,{className:`pointer-events-none absolute right-2 flex items-center justify-center`,"data-slot":`dropdown-menu-checkbox-item-indicator`,children:(0,$.jsx)(Bt,{children:(0,$.jsx)(Ze,{icon:Pe,size:16,color:`currentColor`,strokeWidth:1.5})})}),t]})}function Gn({...e}){return(0,$.jsx)(dn,{"data-slot":`dropdown-menu-radio-group`,...e})}function Kn({className:e,children:t,inset:n,...r}){return(0,$.jsxs)(mn,{"data-slot":`dropdown-menu-radio-item`,"data-inset":n,className:u(`relative flex cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,e),...r,children:[(0,$.jsx)(`span`,{className:`pointer-events-none absolute right-2 flex items-center justify-center`,"data-slot":`dropdown-menu-radio-item-indicator`,children:(0,$.jsx)(hn,{children:(0,$.jsx)(Ze,{icon:Pe,size:16,color:`currentColor`,strokeWidth:1.5})})}),t]})}function qn({className:e,...t}){return(0,$.jsx)(vt,{"data-slot":`dropdown-menu-separator`,className:u(`-mx-1 my-1 h-px bg-border`,e),...t})}function Jn({className:e,...t}){return(0,$.jsx)(`span`,{"data-slot":`dropdown-menu-shortcut`,className:u(`ml-auto text-xs tracking-widest text-muted-foreground group-focus/dropdown-menu-item:text-accent-foreground`,e),...t})}export{ct as S,St as _,Un as a,_t as b,Kn as c,zn as d,Dn as f,It as g,qt as h,Vn as i,qn as l,Qt as m,Wn as n,Hn as o,sn as p,Bn as r,Gn as s,Rn as t,Jn as u,bt as v,gt as x,vt as y};
@@ -1,9 +0,0 @@
1
- import{r as e}from"./rolldown-runtime-hePW80VL.js";import{r as t}from"./react-dom-Bph1y7z7.js";import{A as n}from"./xyflow-D7n4g6go.js";import{A as r,B as i,C as a,D as o,E as s,F as c,I as l,L as u,M as d,N as f,P as p,R as m,S as h,T as g,a as _,b as v,c as y,d as b,f as x,g as S,h as C,i as w,j as T,l as E,m as D,o as O,p as k,r as A,s as j,u as M,y as N,z as P}from"./react-D8E3mtu1.js";var ee=(e,t,n)=>{let r=t-e;return((n-e)%r+r)%r+e};function F(e,t){return r(e)?e[ee(0,e.length,t)]:e}var te=class{constructor(e){this.stop=()=>this.runAll(`stop`),this.animations=e.filter(Boolean)}get finished(){return Promise.all(this.animations.map(e=>e.finished))}getAll(e){return this.animations[0][e]}setAll(e,t){for(let n=0;n<this.animations.length;n++)this.animations[n][e]=t}attachTimeline(e){let t=this.animations.map(t=>t.attachTimeline(e));return()=>{t.forEach((e,t)=>{e&&e(),this.animations[t].stop()})}}get time(){return this.getAll(`time`)}set time(e){this.setAll(`time`,e)}get speed(){return this.getAll(`speed`)}set speed(e){this.setAll(`speed`,e)}get state(){return this.getAll(`state`)}get startTime(){return this.getAll(`startTime`)}get duration(){return I(this.animations,`duration`)}get iterationDuration(){return I(this.animations,`iterationDuration`)}runAll(e){this.animations.forEach(t=>t[e]())}play(){this.runAll(`play`)}pause(){this.runAll(`pause`)}cancel(){this.runAll(`cancel`)}complete(){this.runAll(`complete`)}};function I(e,t){let n=0;for(let r=0;r<e.length;r++){let i=e[r][t];i!==null&&i>n&&(n=i)}return n}var ne=class extends te{then(e,t){return this.finished.finally(e).then(()=>{})}};function re(e,t){return e in t}var L=class extends y{constructor(){super(...arguments),this.type=`object`}readValueFromInstance(e,t){if(re(t,e)){let n=e[t];if(typeof n==`string`||typeof n==`number`)return n}}getBaseTargetFromProps(){}removeValueFromRenderState(e,t){delete t.output[e]}measureInstanceViewportBox(){return M()}build(e,t){Object.assign(e.output,t)}renderInstance(e,{output:t}){Object.assign(e,t)}sortInstanceNodePosition(){return 0}},R=n(),z=e(t(),1);function B(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}function ie(...e){return t=>{let n=!1,r=e.map(e=>{let r=B(e,t);return!n&&typeof r==`function`&&(n=!0),r});if(n)return()=>{for(let t=0;t<r.length;t++){let n=r[t];typeof n==`function`?n():B(e[t],null)}}}}function ae(...e){return z.useCallback(ie(...e),e)}var oe=class extends z.Component{getSnapshotBeforeUpdate(e){let t=this.props.childRef.current;if(k(t)&&e.isPresent&&!this.props.isPresent&&this.props.pop!==!1){let e=t.offsetParent,n=k(e)&&e.offsetWidth||0,r=k(e)&&e.offsetHeight||0,i=getComputedStyle(t),a=this.props.sizeRef.current;a.height=parseFloat(i.height),a.width=parseFloat(i.width),a.top=t.offsetTop,a.left=t.offsetLeft,a.right=n-a.width-a.left,a.bottom=r-a.height-a.top,a.direction=i.direction}return null}componentDidUpdate(){}render(){return this.props.children}};function se({children:e,isPresent:t,anchorX:n,anchorY:r,root:i,pop:a}){let o=(0,z.useId)(),s=(0,z.useRef)(null),c=(0,z.useRef)({width:0,height:0,top:0,left:0,right:0,bottom:0,direction:`ltr`}),{nonce:l}=(0,z.useContext)(w),u=ae(s,a===!1?void 0:e.props?.ref??e?.ref);return(0,z.useInsertionEffect)(()=>{let{width:e,height:u,top:d,left:f,right:p,bottom:m,direction:h}=c.current;if(t||a===!1||!s.current||!e||!u)return;let g=h===`rtl`,_=n===`left`?g?`right: ${p}`:`left: ${f}`:g?`left: ${f}`:`right: ${p}`,v=r===`bottom`?`bottom: ${m}`:`top: ${d}`;s.current.dataset.motionPopId=o;let y=document.createElement(`style`);l&&(y.nonce=l);let b=i??document.head;return b.appendChild(y),y.sheet&&y.sheet.insertRule(`
2
- [data-motion-pop-id="${o}"] {
3
- position: absolute !important;
4
- width: ${e}px !important;
5
- height: ${u}px !important;
6
- ${_}px !important;
7
- ${v}px !important;
8
- }
9
- `),()=>{s.current?.removeAttribute(`data-motion-pop-id`),b.contains(y)&&b.removeChild(y)}},[t]),(0,R.jsx)(oe,{isPresent:t,childRef:s,sizeRef:c,pop:a,children:a===!1?e:z.cloneElement(e,{ref:u})})}var ce=({children:e,initial:t,isPresent:n,onExitComplete:r,custom:i,presenceAffectsLayout:a,mode:o,anchorX:s,anchorY:c,root:l})=>{let d=P(le),f=(0,z.useId)(),p=(0,z.useRef)(n),h=(0,z.useRef)(r);m(()=>{p.current=n,h.current=r});let g=!0,_=(0,z.useMemo)(()=>(g=!1,{id:f,initial:t,isPresent:n,custom:i,onExitComplete:e=>{d.set(e,!0);for(let e of d.values())if(!e)return;r&&r()},register:e=>(d.set(e,!1),()=>{d.delete(e),!p.current&&!d.size&&h.current?.()})}),[n,d,r]);return a&&g&&(_={..._}),(0,z.useMemo)(()=>{d.forEach((e,t)=>d.set(t,!1))},[n]),z.useEffect(()=>{!n&&!d.size&&r&&r()},[n]),e=(0,R.jsx)(se,{pop:o===`popLayout`,isPresent:n,anchorX:s,anchorY:c,root:l,children:e}),(0,R.jsx)(u.Provider,{value:_,children:e})};function le(){return new Map}var V=e=>e.key||``;function H(e){let t=[];return z.Children.forEach(e,e=>{(0,z.isValidElement)(e)&&t.push(e)}),t}var U=({children:e,custom:t,initial:n=!0,onExitComplete:r,presenceAffectsLayout:a=!0,mode:o=`sync`,propagate:s=!1,anchorX:c=`left`,anchorY:l=`top`,root:u})=>{let[d,f]=A(s),p=(0,z.useMemo)(()=>H(e),[e]),h=s&&!d?[]:p.map(V),g=(0,z.useRef)(!0),_=(0,z.useRef)(p),v=P(()=>new Map),y=(0,z.useRef)(new Set),[b,x]=(0,z.useState)(p),[S,C]=(0,z.useState)(p);m(()=>{s&&!d&&!S.length&&f?.()},[d,s,S.length,f]),m(()=>{g.current=!1,_.current=p;for(let e=0;e<S.length;e++){let t=V(S[e]);h.includes(t)?(v.delete(t),y.current.delete(t)):v.get(t)!==!0&&v.set(t,!1)}},[S,h.length,h.join(`-`)]);let w=[];if(p!==b){let e=[...p];for(let t=0;t<S.length;t++){let n=S[t],r=V(n);h.includes(r)||(e.splice(t,0,n),w.push(n))}return o===`wait`&&w.length&&(e=w),C(H(e)),x(p),null}let{forceRender:T}=(0,z.useContext)(i);return(0,R.jsx)(R.Fragment,{children:S.map(e=>{let i=V(e),m=s&&!d?!1:p===S||h.includes(i);return(0,R.jsx)(ce,{isPresent:m,initial:!g.current||n?void 0:!1,custom:t,presenceAffectsLayout:a,mode:o,root:u,onExitComplete:m?void 0:()=>{if(y.current.has(i))return;if(v.has(i))y.current.add(i),v.set(i,!0);else return;let e=!0;v.forEach(t=>{t||(e=!1)}),e&&(T?.(),C(_.current),s&&f?.(),r&&r())},anchorX:c,anchorY:l,children:e},i)})})};function W(e){return typeof e==`object`&&!Array.isArray(e)}function G(e,t,n,r){return e==null?[]:typeof e==`string`&&W(t)?D(e,n,r):e instanceof NodeList?Array.from(e):Array.isArray(e)?e.filter(e=>e!=null):[e]}function ue(e,t,n){return e*(t+1)+n*t}function K(e,t,n,r){return typeof t==`number`?t:t.startsWith(`-`)||t.startsWith(`+`)?Math.max(0,e+parseFloat(t)):t===`<`?n:t.startsWith(`<`)?Math.max(0,n+parseFloat(t.slice(1))):r.get(t)??e}function de(e,t,n){for(let r=0;r<e.length;r++){let i=e[r];i.at>t&&i.at<n&&(l(e,i),r--)}}function fe(e,t,n,r,i,a){de(e,i,a);for(let s=0;s<t.length;s++)e.push({value:t[s],at:o(i,a,r[s]),easing:F(n,s)})}function pe(e,t,n=0){let r=t+1+t*n;for(let t=0;t<e.length;t++)e[t]=e[t]/r}function me(e,t){return e.at===t.at?e.value===null?1:t.value===null?-1:0:e.at-t.at}var he=`easeInOut`,q=20;function ge(e,{defaultTransition:t={},...n}={},r,i){let o=t.duration||.3,l=new Map,u=new Map,p={},m=new Map,g=0,_=0,y=0;for(let n=0;n<e.length;n++){let l=e[n];if(typeof l==`string`){m.set(l,_);continue}if(!Array.isArray(l)){m.set(l.name,K(_,l.at,g,m));continue}let[f,b,x={}]=l;x.at!==void 0&&(_=K(_,x.at,g,m));let C=0,w=(e,n,r,l=0,u=0)=>{let f=_e(e),{delay:p=0,times:m=h(f),type:g=t.type||`keyframes`,repeat:b,repeatType:x,repeatDelay:S=0,...w}=n,{ease:E=t.ease||`easeOut`,duration:D}=n,O=typeof p==`function`?p(l,u):p,k=f.length,A=v(g)?g:i?.[g||`keyframes`];if(k<=2&&A){let e=100;if(k===2&&be(f)){let t=f[1]-f[0];e=Math.abs(t)}let n={...t,...w};D!==void 0&&(n.duration=d(D));let r=s(n,e,A);E=r.ease,D=r.duration}D??=o;let j=_+O;m.length===1&&m[0]===0&&(m[1]=1);let M=m.length-f.length;if(M>0&&a(m,M),f.length===1&&f.unshift(null),b&&c(b<q,`Sequence segments can't repeat ${b} times — ignoring repeat option. Use a value below ${q} or apply repeat at the sequence level instead.`),b&&b<q){let e=D>0?S/D:0;D=ue(D,b,S);let t=[...f],n=[...m];E=Array.isArray(E)?[...E]:[E];let r=[...E],i=x===`reverse`||x===`mirror`,a=t,o=r;i&&(a=[...t].reverse(),x===`reverse`&&(o=[...r].reverse().map(e=>typeof e==`function`?T(e):e)));for(let s=0;s<b;s++){let c=i&&s%2==0,l=c?a:t,u=c?o:r,d=(s+1)*(1+e);e>0&&(f.push(f[f.length-1]),m.push(d),E.push(`linear`)),f.push(...l);for(let e=0;e<l.length;e++)m.push(n[e]+d),E.push(e===0?`linear`:F(u,e-1))}pe(m,b,e)}let N=j+D;fe(r,f,E,m,j,N),C=Math.max(O+D,C),y=Math.max(N,y)};if(S(f)){let e=J(f,u);w(b,x,Y(`default`,e))}else{let e=G(f,b,r,p),t=e.length;for(let n=0;n<t;n++){b=b,x=x;let r=e[n],i=J(r,u);for(let e in b)w(b[e],ve(x,e),Y(e,i),n,t)}}g=_,_+=C}return u.forEach((e,r)=>{for(let i in e){let a=e[i];a.sort(me);let o=[],s=[],c=[];for(let e=0;e<a.length;e++){let{at:t,value:n,easing:r}=a[e];o.push(n),s.push(f(0,y,t)),c.push(r||`easeOut`)}s[0]!==0&&(s.unshift(0),o.unshift(o[0]),c.unshift(he)),s[s.length-1]!==1&&(s.push(1),o.push(null)),l.has(r)||l.set(r,{keyframes:{},transition:{}});let u=l.get(r);u.keyframes[i]=o;let{type:d,...p}=t;u.transition[i]={...p,duration:y,ease:c,times:s,...n}}}),l}function J(e,t){return!t.has(e)&&t.set(e,{}),t.get(e)}function Y(e,t){return t[e]||(t[e]=[]),t[e]}function _e(e){return Array.isArray(e)?e:[e]}function ve(e,t){return e&&e[t]?{...e,...e[t]}:{...e}}var ye=e=>typeof e==`number`,be=e=>e.every(ye);function xe(e){let t={presenceContext:null,props:{},visualState:{renderState:{transform:{},transformOrigin:{},style:{},vars:{},attrs:{}},latestValues:{}}},n=x(e)&&!b(e)?new O(t):new j(t);n.mount(e),E.set(e,n)}function Se(e){let t=new L({presenceContext:null,props:{},visualState:{renderState:{output:{}},latestValues:{}}});t.mount(e),E.set(e,t)}function Ce(e,t){return S(e)||typeof e==`number`||typeof e==`string`&&!W(t)}function X(e,t,n,r){let i=[];if(Ce(e,t))i.push(_(e,W(t)&&t.default||t,n&&(n.default||n)));else{if(e==null)return i;let a=G(e,t,r),o=a.length;p(!!o,`No valid elements provided.`,`no-valid-elements`);for(let e=0;e<o;e++){let r=a[e],s=r instanceof Element?xe:Se;E.has(r)||s(r);let c=E.get(r),l={...n};`delay`in l&&typeof l.delay==`function`&&(l.delay=l.delay(e,o)),i.push(...C(c,{...t,transition:l},{}))}}return i}function we(e,t,n){let r=[];return ge(e.map(e=>{if(Array.isArray(e)&&typeof e[0]==`function`){let t=e[0],n=N(0);return n.on(`change`,t),e.length===1?[n,[0,1]]:e.length===2?[n,[0,1],e[1]]:[n,e[1],e[2]]}return e}),t,n,{spring:g}).forEach(({keyframes:e,transition:t},n)=>{r.push(...X(n,e,t))}),r}function Te(e){return Array.isArray(e)&&e.some(Array.isArray)}function Z(e={}){let{scope:t,reduceMotion:n,skipAnimations:r}=e;function i(e,i,a){let o=[],s,c={};if(n!==void 0&&(c.reduceMotion=n),r!==void 0&&(c.skipAnimations=r),Te(e)){let{onComplete:n,...r}=i||{};typeof n==`function`&&(s=n),o=we(e,{...c,...r},t)}else{let{onComplete:n,...r}=a||{};typeof n==`function`&&(s=n),o=X(e,i,{...c,...r},t)}let u=new ne(o);return s&&u.finished.then(s),t&&(t.animations.push(u),u.finished.then(()=>{l(t.animations,u)})),u}return i}var Ee=Z(),De=[{tone:`fast`,belowMs:10},{tone:`good`,belowMs:50},{tone:`ok`,belowMs:100},{tone:`elevated`,belowMs:250},{tone:`warn`,belowMs:500},{tone:`slow`,belowMs:1e3},{tone:`bad`,belowMs:5e3}];function Q(e){if(!Number.isFinite(e)||e<0)return`fast`;for(let t of De)if(e<t.belowMs)return t.tone;return`critical`}function $(e){switch(e){case`fast`:return`text-emerald-500 dark:text-emerald-400`;case`good`:return`text-emerald-600 dark:text-emerald-300`;case`ok`:return`text-lime-600 dark:text-lime-400`;case`elevated`:return`text-yellow-600 dark:text-yellow-400`;case`warn`:return`text-amber-600 dark:text-amber-400`;case`slow`:return`text-orange-600 dark:text-orange-400`;case`bad`:return`text-destructive`;case`critical`:return`text-rose-700 dark:text-rose-400`}}function Oe(e){return $(Q(e))}export{U as a,Ee as i,Q as n,$ as r,Oe as t};
@@ -1 +0,0 @@
1
- import{r as e}from"./rolldown-runtime-hePW80VL.js";import{$r as t,Ai as n,Ci as r,Cr as i,E as a,F as o,L as s,Or as c,P as l,Si as u,T as d,Wi as f,Wr as p,ar as m,bi as h,mi as g,pr as _,t as v,vi as y,wr as b,xi as x}from"./shortcut-keys-DKxNTe_m.js";import{r as S}from"./react-dom-Bph1y7z7.js";import{A as C}from"./xyflow-D7n4g6go.js";var w=C();function T({className:e,...t}){return(0,w.jsx)(`div`,{"data-slot":`empty`,className:i(`flex w-full min-w-0 flex-1 flex-col items-center justify-center gap-4 rounded-xl border-dashed p-6 text-center text-balance`,e),...t})}function E({className:e,...t}){return(0,w.jsx)(`div`,{"data-slot":`empty-header`,className:i(`flex max-w-sm flex-col items-center gap-2`,e),...t})}var D=d(`mb-2 flex shrink-0 items-center justify-center [&_svg]:pointer-events-none [&_svg]:shrink-0`,{variants:{variant:{default:`bg-transparent`,icon:`flex size-8 shrink-0 items-center justify-center rounded-lg bg-muted text-foreground [&_svg:not([class*='size-'])]:size-4`}},defaultVariants:{variant:`default`}});function ee({className:e,variant:t=`default`,...n}){return(0,w.jsx)(`div`,{"data-slot":`empty-icon`,"data-variant":t,className:i(D({variant:t,className:e})),...n})}function te({className:e,...t}){return(0,w.jsx)(`div`,{"data-slot":`empty-title`,className:i(`cn-font-heading text-sm font-medium tracking-tight`,e),...t})}function ne({className:e,...t}){return(0,w.jsx)(`div`,{"data-slot":`empty-description`,className:i(`text-sm/relaxed text-muted-foreground [&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary`,e),...t})}function re({className:e,...t}){return(0,w.jsx)(a,{flat:!0,className:i(_,e),...t})}function ie({label:e,keys:t,className:n,children:r}){return(0,w.jsxs)(l,{children:[(0,w.jsx)(s,{render:e=>(0,w.jsx)(`span`,{...e,className:i(`inline-flex items-center`,n),tabIndex:-1,children:r})}),(0,w.jsxs)(o,{side:`bottom`,className:`text-[11px]`,children:[e,t&&t.length>0?(0,w.jsx)(v,{keys:t}):null]})]})}function ae({open:e,onToggle:t,noun:n,controlsId:i,dataSlot:a}){let o=e?`Collapse ${n}`:`Expand ${n}`;return(0,w.jsx)(ie,{label:o,className:`flex self-stretch`,children:(0,w.jsx)(`button`,{type:`button`,"aria-expanded":e,"aria-controls":i,"aria-label":o,"data-slot":a,onClick:t,className:m,children:(0,w.jsx)(b,{icon:e?u:r,className:`size-3.5`})})})}var O=e(S(),1);function oe(e,t){let n=getComputedStyle(e);return t*parseFloat(n.fontSize)}function se(e,t){let n=getComputedStyle(e.ownerDocument.documentElement);return t*parseFloat(n.fontSize)}function ce(e){return e/100*window.innerHeight}function le(e){return e/100*window.innerWidth}function ue(e){switch(typeof e){case`number`:return[e,`px`];case`string`:{let t=parseFloat(e);return e.endsWith(`%`)?[t,`%`]:e.endsWith(`px`)?[t,`px`]:e.endsWith(`rem`)?[t,`rem`]:e.endsWith(`em`)?[t,`em`]:e.endsWith(`vh`)?[t,`vh`]:e.endsWith(`vw`)?[t,`vw`]:[t,`%`]}}}function k({groupSize:e,panelElement:t,styleProp:n}){let r,[i,a]=ue(n);switch(a){case`%`:r=i/100*e;break;case`px`:r=i;break;case`rem`:r=se(t,i);break;case`em`:r=oe(t,i);break;case`vh`:r=ce(i);break;case`vw`:r=le(i)}return r}function A(e){return parseFloat(e.toFixed(3))}function j({group:e}){let{orientation:t,panels:n}=e;return n.reduce((e,n)=>(e+=t===`horizontal`?n.element.offsetWidth:n.element.offsetHeight,e),0)}function de(e){let{panels:t}=e,n=j({group:e});return n===0?t.map(e=>({groupResizeBehavior:e.panelConstraints.groupResizeBehavior,collapsedSize:0,collapsible:e.panelConstraints.collapsible===!0,defaultSize:void 0,disabled:e.panelConstraints.disabled,minSize:0,maxSize:100,panelId:e.id})):t.map(e=>{let{element:t,panelConstraints:r}=e,i=0;r.collapsedSize!==void 0&&(i=A(k({groupSize:n,panelElement:t,styleProp:r.collapsedSize})/n*100));let a;r.defaultSize!==void 0&&(a=A(k({groupSize:n,panelElement:t,styleProp:r.defaultSize})/n*100));let o=0;r.minSize!==void 0&&(o=A(k({groupSize:n,panelElement:t,styleProp:r.minSize})/n*100));let s=100;return r.maxSize!==void 0&&(s=A(k({groupSize:n,panelElement:t,styleProp:r.maxSize})/n*100)),{groupResizeBehavior:r.groupResizeBehavior,collapsedSize:i,collapsible:r.collapsible===!0,defaultSize:a,disabled:r.disabled,minSize:o,maxSize:s,panelId:e.id}})}function M(e,t=`Assertion error`){if(!e)throw Error(t)}function fe(e,t){return Array.from(t).sort(e===`horizontal`?pe:me)}function pe(e,t){let n=e.element.offsetLeft-t.element.offsetLeft;return n===0?e.element.offsetWidth-t.element.offsetWidth:n}function me(e,t){let n=e.element.offsetTop-t.element.offsetTop;return n===0?e.element.offsetHeight-t.element.offsetHeight:n}function he(e){return typeof e==`object`&&!!e&&`nodeType`in e&&e.nodeType===Node.ELEMENT_NODE}function ge(e,t){return{x:e.x>=t.left&&e.x<=t.right?0:Math.min(Math.abs(e.x-t.left),Math.abs(e.x-t.right)),y:e.y>=t.top&&e.y<=t.bottom?0:Math.min(Math.abs(e.y-t.top),Math.abs(e.y-t.bottom))}}function _e({orientation:e,rects:t,targetRect:n}){let r={x:n.x+n.width/2,y:n.y+n.height/2},i,a=Number.MAX_VALUE;for(let n of t){let{x:t,y:o}=ge(r,n),s=e===`horizontal`?t:o;s<a&&(a=s,i=n)}return M(i,`No rect found`),i}var ve;function ye(){return ve===void 0&&(ve=typeof matchMedia==`function`&&!!matchMedia(`(pointer:coarse)`).matches),ve}function be(e){let{element:t,orientation:n,panels:r,separators:i}=e,a=fe(n,Array.from(t.children).filter(he).map(e=>({element:e}))).map(({element:e})=>e),o=[],s=!1,c=!1,l=-1,u=-1,d=0,f,p=[];{let e=-1;for(let t of a)t.hasAttribute(`data-panel`)&&(e++,t.hasAttribute(`data-disabled`)||(d++,l===-1&&(l=e),u=e))}if(d>1){let t=-1;for(let d of a)if(d.hasAttribute(`data-panel`)){t++;let i=r.find(e=>e.element===d);if(i){if(f){let r=f.element.getBoundingClientRect(),a=d.getBoundingClientRect(),m;if(c){let e=n===`horizontal`?new DOMRect(r.right,r.top,0,r.height):new DOMRect(r.left,r.bottom,r.width,0),t=n===`horizontal`?new DOMRect(a.left,a.top,0,a.height):new DOMRect(a.left,a.top,a.width,0);switch(p.length){case 0:m=[e,t];break;case 1:{let i=p[0];m=[i,_e({orientation:n,rects:[r,a],targetRect:i.element.getBoundingClientRect()})===r?t:e];break}default:m=p}}else m=p.length?p:[n===`horizontal`?new DOMRect(r.right,a.top,a.left-r.right,a.height):new DOMRect(a.left,r.bottom,a.width,a.top-r.bottom)];for(let n of m){let r=`width`in n?n:n.element.getBoundingClientRect(),a=ye()?e.resizeTargetMinimumSize.coarse:e.resizeTargetMinimumSize.fine;if(r.width<a){let e=a-r.width;r=new DOMRect(r.x-e/2,r.y,r.width+e,r.height)}if(r.height<a){let e=a-r.height;r=new DOMRect(r.x,r.y-e/2,r.width,r.height+e)}!s&&!(t<=l||t>u)&&o.push({group:e,groupSize:j({group:e}),panels:[f,i],separator:`width`in n?void 0:n,rect:r}),s=!1}}c=!1,f=i,p=[]}}else if(d.hasAttribute(`data-separator`)){d.ariaDisabled!==null&&(s=!0);let e=i.find(e=>e.element===d);e?p.push(e):(f=void 0,p=[])}else c=!0}return o}var xe=class{#e={};addListener(e,t){let n=this.#e[e];return n===void 0?this.#e[e]=[t]:n.includes(t)||n.push(t),()=>{this.removeListener(e,t)}}emit(e,t){let n=this.#e[e];if(n!==void 0)if(n.length===1)n[0].call(null,t);else{let e=!1,r=null,i=Array.from(n);for(let n=0;n<i.length;n++){let a=i[n];try{a.call(null,t)}catch(t){r===null&&(e=!0,r=t)}}if(e)throw r}}removeAllListeners(){this.#e={}}removeListener(e,t){let n=this.#e[e];if(n!==void 0){let e=n.indexOf(t);e>=0&&n.splice(e,1)}}},N={cursorFlags:0,state:`inactive`},Se=new xe;function P(){return N}function Ce(e){return Se.addListener(`change`,e)}function we(e){let t=N,n={...N};n.cursorFlags=e,N=n,Se.emit(`change`,{prev:t,next:n})}function F(e){let t=N;N=e,Se.emit(`change`,{prev:t,next:e})}var Te=e=>e,I=()=>{},Ee=1,De=2,Oe=4,ke=8,Ae=3,je=12,L;function Me(){return L===void 0&&(L=!1,typeof window<`u`&&(window.navigator.userAgent.includes(`Chrome`)||window.navigator.userAgent.includes(`Firefox`))&&(L=!0)),L}function Ne({cursorFlags:e,groups:t,state:n}){let r=0,i=0;switch(n){case`active`:case`hover`:t.forEach(e=>{if(!e.mutableState.disableCursor)switch(e.orientation){case`horizontal`:r++;break;case`vertical`:i++;break}})}if(r!==0||i!==0){if(n===`active`&&e&&Me()){let t=(e&Ee)!==0,n=(e&De)!==0,r=(e&Oe)!==0,i=(e&ke)!==0;if(t)return r?`se-resize`:i?`ne-resize`:`e-resize`;if(n)return r?`sw-resize`:i?`nw-resize`:`w-resize`;if(r)return`s-resize`;if(i)return`n-resize`}return Me()?r>0&&i>0?`move`:r>0?`ew-resize`:`ns-resize`:r>0&&i>0?`grab`:r>0?`col-resize`:`row-resize`}}var Pe=new WeakMap;function Fe(e){if(e.defaultView===null||e.defaultView===void 0)return;let{prevStyle:t,styleSheet:n}=Pe.get(e)??{};n===void 0&&(n=new e.defaultView.CSSStyleSheet,e.adoptedStyleSheets&&(Object.isExtensible(e.adoptedStyleSheets)?e.adoptedStyleSheets.push(n):e.adoptedStyleSheets=[...e.adoptedStyleSheets,n]));let r=P();switch(r.state){case`active`:case`hover`:{let e=Ne({cursorFlags:r.cursorFlags,groups:r.hitRegions.map(e=>e.group),state:r.state}),i=`*, *:hover {cursor: ${e} !important; }`;if(t===i)return;t=i,e?n.cssRules.length===0?n.insertRule(i):n.replaceSync(i):n.cssRules.length===1&&n.deleteRule(0);break}case`inactive`:t=void 0,n.cssRules.length===1&&n.deleteRule(0)}Pe.set(e,{prevStyle:t,styleSheet:n})}var R=new Map,Ie=new xe;function Le(e){R=new Map(R),R.delete(e)}function Re(e,t){for(let[t]of R)if(t.id===e)return t}function z(e,t){for(let[t,n]of R)if(t.id===e)return n;if(t)throw Error(`Could not find data for Group with id ${e}`)}function B(){return R}function ze(e,t){return Ie.addListener(`groupChange`,n=>{n.group.id===e&&t(n)})}function V(e,t,n){let r=R.get(e);R=new Map(R),R.set(e,t),Ie.emit(`groupChange`,{group:e,isUserInteraction:n?.isUserInteraction===!0,prev:r,next:t})}function Be(e){let t=P(),n=!1;return t.state===`active`&&(F({cursorFlags:0,state:`inactive`}),t.hitRegions.length>0&&(Fe(e),n=!0,t.hitRegions.forEach(e=>{let t=z(e.group.id,!0);V(e.group,t,{isUserInteraction:!0})}))),n}function Ve(e){e.defaultPrevented||Be(e.currentTarget)}function He(e,t,n){let r,i={x:1/0,y:1/0};for(let a of t){let t=ge(n,a.rect);switch(e){case`horizontal`:t.x<=i.x&&(r=a,i=t);break;case`vertical`:t.y<=i.y&&(r=a,i=t)}}return r?{distance:i,hitRegion:r}:void 0}function Ue(e){return typeof e==`object`&&!!e&&`nodeType`in e&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE}function We(e,t){if(e===t)throw Error(`Cannot compare node with itself`);let n={a:Xe(e),b:Xe(t)},r;for(;n.a.at(-1)===n.b.at(-1);)r=n.a.pop(),n.b.pop();M(r,`Stacking order can only be calculated for elements with a common ancestor`);let i={a:Ye(Je(n.a)),b:Ye(Je(n.b))};if(i.a===i.b){let e=r.childNodes,t={a:n.a.at(-1),b:n.b.at(-1)},i=e.length;for(;i--;){let n=e[i];if(n===t.a)return 1;if(n===t.b)return-1}}return Math.sign(i.a-i.b)}var Ge=/\b(?:position|zIndex|opacity|transform|webkitTransform|mixBlendMode|filter|webkitFilter|isolation)\b/;function Ke(e){let t=getComputedStyle(Ze(e)??e).display;return t===`flex`||t===`inline-flex`}function qe(e){let t=getComputedStyle(e);return!!(t.position===`fixed`||t.zIndex!==`auto`&&(t.position!==`static`||Ke(e))||+t.opacity<1||`transform`in t&&t.transform!==`none`||`webkitTransform`in t&&t.webkitTransform!==`none`||`mixBlendMode`in t&&t.mixBlendMode!==`normal`||`filter`in t&&t.filter!==`none`||`webkitFilter`in t&&t.webkitFilter!==`none`||`isolation`in t&&t.isolation===`isolate`||Ge.test(t.willChange)||t.webkitOverflowScrolling===`touch`)}function Je(e){let t=e.length;for(;t--;){let n=e[t];if(M(n,`Missing node`),qe(n))return n}return null}function Ye(e){return e&&Number(getComputedStyle(e).zIndex)||0}function Xe(e){let t=[];for(;e;)t.push(e),e=Ze(e);return t}function Ze(e){let{parentNode:t}=e;return Ue(t)?t.host:t}function Qe(e,t){return e.x<t.x+t.width&&e.x+e.width>t.x&&e.y<t.y+t.height&&e.y+e.height>t.y}function $e({groupElement:e,hitRegion:t,pointerEventTarget:n}){if(!he(n)||n.contains(e)||e.contains(n))return!0;if(We(n,e)>0){let r=n;for(;r;){if(r.contains(e))return!0;if(Qe(r.getBoundingClientRect(),t))return!1;r=r.parentElement}}return!0}function et(e,t){let n=[];return t.forEach((t,r)=>{if(r.disabled)return;let i=be(r),a=He(r.orientation,i,{x:e.clientX,y:e.clientY});a&&a.distance.x<=0&&a.distance.y<=0&&$e({groupElement:r.element,hitRegion:a.hitRegion.rect,pointerEventTarget:e.target})&&n.push(a.hitRegion)}),n}function tt(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!=t[n])return!1;return!0}function H(e,t,n=0){return Math.abs(A(e)-A(t))<=n}function U(e,t){return H(e,t)?0:e>t?1:-1}function W({overrideDisabledPanels:e,panelConstraints:t,prevSize:n,size:r}){let{collapsedSize:i=0,collapsible:a,disabled:o,maxSize:s=100,minSize:c=0}=t;if(o&&!e)return n;if(U(r,c)<0)if(a){let e=(i+c)/2;r=U(r,e)<0?i:c}else r=c;return r=Math.min(s,r),r=A(r),r}function G({delta:e,initialLayout:t,panelConstraints:n,pivotIndices:r,prevLayout:i,trigger:a}){if(H(e,0))return t;let o=a===`imperative-api`,s=Object.values(t),c=Object.values(i),l=[...s],[u,d]=r;M(u!=null,`Invalid first pivot index`),M(d!=null,`Invalid second pivot index`);let f=0;switch(a){case`keyboard`:{let t=e<0?d:u,r=n[t];M(r,`Panel constraints not found for index ${t}`);let{collapsedSize:i=0,collapsible:a,minSize:o=0}=r;if(a){let n=s[t];if(M(n!=null,`Previous layout not found for panel index ${t}`),H(n,i)){let t=o-n;U(t,Math.abs(e))>0&&(e=e<0?0-t:t)}}}{let t=e<0?u:d,r=n[t];M(r,`No panel constraints found for index ${t}`);let{collapsedSize:i=0,collapsible:a,minSize:o=0}=r;if(a){let n=s[t];if(M(n!=null,`Previous layout not found for panel index ${t}`),H(n,o)){let t=n-i;U(t,Math.abs(e))>0&&(e=e<0?0-t:t)}}}break;default:{let t=e<0?d:u,r=n[t];M(r,`Panel constraints not found for index ${t}`);let i=s[t],{collapsible:a,collapsedSize:o,minSize:c}=r;if(a&&U(i,c)<0)if(e>0){let t=c-o,n=t/2;U(i+e,c)<0&&(e=U(e,n)<=0?0:t)}else{let t=c-o,n=100-t/2;U(i-e,c)<0&&(e=U(100+e,n)>0?0:-t)}break}}{let t=e<0?1:-1,r=e<0?d:u,i=0;for(;;){let e=s[r];M(e!=null,`Previous layout not found for panel index ${r}`);let a=W({overrideDisabledPanels:o,panelConstraints:n[r],prevSize:e,size:100})-e;if(i+=a,r+=t,r<0||r>=n.length)break}let a=Math.min(Math.abs(e),Math.abs(i));e=e<0?0-a:a}{let t=e<0?u:d;for(;t>=0&&t<n.length;){let r=Math.abs(e)-Math.abs(f),i=s[t];M(i!=null,`Previous layout not found for panel index ${t}`);let a=i-r,c=W({overrideDisabledPanels:o,panelConstraints:n[t],prevSize:i,size:a});if(!H(i,c)&&(f+=i-c,l[t]=c,f.toFixed(3).localeCompare(Math.abs(e).toFixed(3),void 0,{numeric:!0})>=0))break;e<0?t--:t++}}if(tt(c,l))return i;{let t=e<0?d:u,r=s[t];M(r!=null,`Previous layout not found for panel index ${t}`);let i=r+f,a=W({overrideDisabledPanels:o,panelConstraints:n[t],prevSize:r,size:i});if(l[t]=a,!H(a,i)){let t=i-a,r=e<0?d:u;for(;r>=0&&r<n.length;){let i=l[r];M(i!=null,`Previous layout not found for panel index ${r}`);let a=i+t,s=W({overrideDisabledPanels:o,panelConstraints:n[r],prevSize:i,size:a});if(H(i,s)||(t-=s-i,l[r]=s),H(t,0))break;e>0?r--:r++}}}if(!H(Object.values(l).reduce((e,t)=>t+e,0),100,.1))return i;let p=Object.keys(i);return l.reduce((e,t,n)=>(e[p[n]]=t,e),{})}function K(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e)if(t[n]===void 0||U(e[n],t[n])!==0)return!1;return!0}function q({layout:e,panelConstraints:t}){let n=Object.values(e),r=[...n],i=r.reduce((e,t)=>e+t,0);if(r.length!==t.length)throw Error(`Invalid ${t.length} panel layout: ${r.map(e=>`${e}%`).join(`, `)}`);if(!H(i,100)&&r.length>0)for(let e=0;e<t.length;e++){let t=r[e];M(t!=null,`No layout data found for index ${e}`);let n=100/i*t;r[e]=n}let a=0;for(let e=0;e<t.length;e++){let i=n[e];M(i!=null,`No layout data found for index ${e}`);let o=r[e];M(o!=null,`No layout data found for index ${e}`);let s=W({overrideDisabledPanels:!0,panelConstraints:t[e],prevSize:i,size:o});o!=s&&(a+=o-s,r[e]=s)}if(!H(a,0))for(let e=0;e<t.length;e++){let n=r[e];M(n!=null,`No layout data found for index ${e}`);let i=n+a,o=W({overrideDisabledPanels:!0,panelConstraints:t[e],prevSize:n,size:i});if(n!==o&&(a-=o-n,r[e]=o,H(a,0)))break}let o=Object.keys(e);return r.reduce((e,t,n)=>(e[o[n]]=t,e),{})}function nt({groupId:e,panelId:t}){let n=()=>{let t=B();for(let[n,{defaultLayoutDeferred:r,derivedPanelConstraints:i,layout:a,groupSize:o,separatorToPanels:s}]of t)if(n.id===e)return{defaultLayoutDeferred:r,derivedPanelConstraints:i,group:n,groupSize:o,layout:a,separatorToPanels:s};throw Error(`Group ${e} not found`)},r=()=>{let e=n().derivedPanelConstraints.find(e=>e.panelId===t);if(e!==void 0)return e;throw Error(`Panel constraints not found for Panel ${t}`)},i=()=>{let e=n().group.panels.find(e=>e.id===t);if(e!==void 0)return e;throw Error(`Layout not found for Panel ${t}`)},a=()=>{let e=n().layout[t];if(e!==void 0)return e;throw Error(`Layout not found for Panel ${t}`)},o=({nextSize:e,panels:n,prevLayout:r,derivedPanelConstraints:i})=>{let o=a(),s=n.findIndex(e=>e.id===t),c=s===0,l=s===n.length-1;if(l&&e<o&&(c||n.slice(0,s).every((e,t)=>{let n=i[t];return n?.collapsible&&H(n.collapsedSize,r[n.panelId])}))){let e=n.slice(0,s).reduce((e,t)=>e+r[t.id],0);return{...r,[t]:A(100-e)}}return G({delta:l?o-e:e-o,initialLayout:r,panelConstraints:i,pivotIndices:l?[s-1,s]:[s,s+1],prevLayout:r,trigger:`imperative-api`})},s=e=>{if(e===a())return;let{defaultLayoutDeferred:t,derivedPanelConstraints:r,group:i,groupSize:s,layout:c,separatorToPanels:l}=n(),u=q({layout:o({nextSize:e,panels:i.panels,prevLayout:c,derivedPanelConstraints:r}),panelConstraints:r});K(c,u)||V(i,{defaultLayoutDeferred:t,derivedPanelConstraints:r,groupSize:s,layout:u,separatorToPanels:l})};return{collapse:()=>{let{collapsible:e,collapsedSize:t}=r(),{mutableValues:n}=i(),o=a();e&&o!==t&&(n.expandToSize=o,s(t))},expand:()=>{let{collapsible:e,collapsedSize:t,minSize:n}=r(),{mutableValues:o}=i(),c=a();if(e&&c===t){let e=o.expandToSize??n;e===0&&(e=1),s(e)}},getSize:()=>{let{group:e}=n(),t=a(),{element:r}=i();return{asPercentage:t,inPixels:e.orientation===`horizontal`?r.offsetWidth:r.offsetHeight}},isCollapsed:()=>{let{collapsible:e,collapsedSize:t}=r(),n=a();return e&&H(t,n)},resize:e=>{let{group:t}=n(),{element:r}=i(),a=j({group:t}),o=A(k({groupSize:a,panelElement:r,styleProp:e})/a*100);s(o)}}}function rt(e){e.defaultPrevented||et(e,B()).forEach(t=>{if(t.separator&&!t.separator.disableDoubleClick){let n=t.panels.find(e=>e.panelConstraints.defaultSize!==void 0);if(n){let r=n.panelConstraints.defaultSize,i=nt({groupId:t.group.id,panelId:n.id});i&&r!==void 0&&(i.resize(r),e.preventDefault())}}})}function J(e){let t=B();for(let[n]of t)if(n.separators.some(t=>t.element===e))return n;throw Error(`Could not find parent Group for separator element`)}function it({groupId:e}){let t=()=>{let t=B();for(let[n,r]of t)if(n.id===e)return{group:n,...r};throw Error(`Could not find Group with id "${e}"`)};return{getLayout(){let{defaultLayoutDeferred:e,layout:n}=t();return e?{}:n},setLayout(e){let{defaultLayoutDeferred:n,derivedPanelConstraints:r,group:i,groupSize:a,layout:o,separatorToPanels:s}=t(),c=q({layout:e,panelConstraints:r});return n?o:(K(o,c)||V(i,{defaultLayoutDeferred:n,derivedPanelConstraints:r,groupSize:a,layout:c,separatorToPanels:s}),c)}}}function Y(e,t){let n=J(e),r=z(n.id,!0),i=n.separators.find(t=>t.element===e);M(i,`Matching separator not found`);let a=r.separatorToPanels.get(i);M(a,`Matching panels not found`);let o=a.map(e=>n.panels.indexOf(e)),s=it({groupId:n.id}).getLayout(),c=q({layout:G({delta:t,initialLayout:s,panelConstraints:r.derivedPanelConstraints,pivotIndices:o,prevLayout:s,trigger:`keyboard`}),panelConstraints:r.derivedPanelConstraints});K(s,c)||V(n,{defaultLayoutDeferred:r.defaultLayoutDeferred,derivedPanelConstraints:r.derivedPanelConstraints,groupSize:r.groupSize,layout:c,separatorToPanels:r.separatorToPanels},{isUserInteraction:!0})}function at(e){if(e.defaultPrevented)return;let t=e.currentTarget,n=J(t);if(!n.disabled)switch(e.key){case`ArrowDown`:e.preventDefault(),n.orientation===`vertical`&&Y(t,5);break;case`ArrowLeft`:e.preventDefault(),n.orientation===`horizontal`&&Y(t,-5);break;case`ArrowRight`:e.preventDefault(),n.orientation===`horizontal`&&Y(t,5);break;case`ArrowUp`:e.preventDefault(),n.orientation===`vertical`&&Y(t,-5);break;case`End`:e.preventDefault(),Y(t,100);break;case`Enter`:{e.preventDefault();let n=J(t),{derivedPanelConstraints:r,layout:i,separatorToPanels:a}=z(n.id,!0),o=n.separators.find(e=>e.element===t);M(o,`Matching separator not found`);let s=a.get(o);M(s,`Matching panels not found`);let c=s[0],l=r.find(e=>e.panelId===c.id);if(M(l,`Panel metadata not found`),l.collapsible){let e=i[c.id];Y(t,(l.collapsedSize===e?n.mutableState.expandedPanelSizes[c.id]??l.minSize:l.collapsedSize)-e)}break}case`F6`:{e.preventDefault();let n=J(t).separators.map(e=>e.element),r=Array.from(n).findIndex(t=>t===e.currentTarget);M(r!==null,`Index not found`),n[e.shiftKey?r>0?r-1:n.length-1:r+1<n.length?r+1:0].focus({preventScroll:!0});break}case`Home`:e.preventDefault(),Y(t,-100);break}}function ot(e){if(e.defaultPrevented||e.pointerType===`mouse`&&e.button>0)return;let t=B(),n=et(e,t),r=new Map,i=!1;n.forEach(e=>{e.separator&&(i||(i=!0,e.separator.element.focus({focusVisible:!1,preventScroll:!0})));let n=t.get(e.group);n&&r.set(e.group,n.layout)}),F({cursorFlags:0,hitRegions:n,initialLayoutMap:r,pointerDownAtPoint:{x:e.clientX,y:e.clientY},state:`active`}),n.length&&e.preventDefault()}function st({document:e,event:t,hitRegions:n,initialLayoutMap:r,mountedGroups:i,pointerDownAtPoint:a,prevCursorFlags:o}){let s=0;n.forEach(e=>{let{group:n,groupSize:o}=e,{orientation:c,panels:l}=n,{disableCursor:u}=n.mutableState,d=0;d=a?c===`horizontal`?(t.clientX-a.x)/o*100:(t.clientY-a.y)/o*100:c===`horizontal`?t.clientX<0?-100:100:t.clientY<0?-100:100;let f=r.get(n),p=i.get(n);if(!f||!p)return;let{defaultLayoutDeferred:m,derivedPanelConstraints:h,groupSize:g,layout:_,separatorToPanels:v}=p;if(h&&_&&v){let t=G({delta:d,initialLayout:f,panelConstraints:h,pivotIndices:e.panels.map(e=>l.indexOf(e)),prevLayout:_,trigger:`mouse-or-touch`});if(K(t,_)){if(d!==0&&!u)switch(c){case`horizontal`:s|=d<0?Ee:De;break;case`vertical`:s|=d<0?Oe:ke;break}}else V(e.group,{defaultLayoutDeferred:m,derivedPanelConstraints:h,groupSize:g,layout:t,separatorToPanels:v})}});let c=0;t.movementX===0?c|=o&Ae:c|=s&Ae,t.movementY===0?c|=o&je:c|=s&je,we(c),Fe(e)}function ct(e){let t=B(),n=P();n.state===`active`&&st({document:e.currentTarget,event:e,hitRegions:n.hitRegions,initialLayoutMap:n.initialLayoutMap,mountedGroups:t,prevCursorFlags:n.cursorFlags})}function lt(e){if(e.defaultPrevented)return;let t=P(),n=B();switch(t.state){case`active`:if(e.buttons===0){F({cursorFlags:0,state:`inactive`}),t.hitRegions.forEach(e=>{let t=z(e.group.id,!0);V(e.group,t,{isUserInteraction:!0})});return}for(let n of t.hitRegions)if(n.separator){let{element:t}=n.separator;t.hasPointerCapture?.(e.pointerId)||t.setPointerCapture?.(e.pointerId)}st({document:e.currentTarget,event:e,hitRegions:t.hitRegions,initialLayoutMap:t.initialLayoutMap,mountedGroups:n,pointerDownAtPoint:t.pointerDownAtPoint,prevCursorFlags:t.cursorFlags});break;default:{let r=et(e,n);r.length===0?t.state!==`inactive`&&F({cursorFlags:0,state:`inactive`}):F({cursorFlags:0,hitRegions:r,state:`hover`}),Fe(e.currentTarget);break}}}function ut(e){if(e.relatedTarget instanceof HTMLIFrameElement)switch(P().state){case`hover`:F({cursorFlags:0,state:`inactive`})}}function dt(e){e.defaultPrevented||e.pointerType===`mouse`&&e.button>0||Be(e.currentTarget)&&e.preventDefault()}function ft(e){let t=0,n=0,r={};for(let i of e)if(i.defaultSize!==void 0){t++;let e=A(i.defaultSize);n+=e,r[i.panelId]=e}else r[i.panelId]=void 0;let i=e.length-t;if(i!==0){let t=A((100-n)/i);for(let n of e)n.defaultSize===void 0&&(r[n.panelId]=t)}return r}function pt(e,t,n){if(!n[0])return;let r=e.panels.find(e=>e.element===t);if(!r||!r.onResize)return;let i=j({group:e}),a=e.orientation===`horizontal`?r.element.offsetWidth:r.element.offsetHeight,o=r.mutableValues.prevSize,s={asPercentage:A(a/i*100),inPixels:a};r.mutableValues.prevSize=s,r.onResize(s,r.id,o)}function mt(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e)if(e[n]!==t[n])return!1;return!0}function ht({group:e,nextGroupSize:t,prevGroupSize:n,prevLayout:r}){if(n<=0||t<=0||n===t)return r;let i=0,a=0,o=!1,s=new Map,c=[];for(let l of e.panels){let e=r[l.id]??0;switch(l.panelConstraints.groupResizeBehavior){case`preserve-pixel-size`:{o=!0;let r=A(e/100*n/t*100);s.set(l.id,r),i+=r;break}default:c.push(l.id),a+=e}}if(!o||c.length===0)return r;let l=100-i,u={...r};if(s.forEach((e,t)=>{u[t]=e}),a>0)for(let e of c)u[e]=A((r[e]??0)/a*l);else{let e=A(l/c.length);for(let t of c)u[t]=e}return u}function gt(e,t){let n=e.map(e=>e.id),r=Object.keys(t);if(n.length!==r.length)return!1;for(let e of n)if(!r.includes(e))return!1;return!0}var X=new Map;function _t(e){let t=!0;M(e.element.ownerDocument.defaultView,`Cannot register an unmounted Group`);let n=e.element.ownerDocument.defaultView.ResizeObserver,r=new Set,i=new Set,a=new n(n=>{for(let r of n){let{borderBoxSize:n,target:i}=r;if(i===e.element){if(t){let t=j({group:e});if(t===0)return;let n=z(e.id);if(!n)return;let r=de(e),i=n.defaultLayoutDeferred?ft(r):n.layout,a=q({layout:ht({group:e,nextGroupSize:t,prevGroupSize:n.groupSize,prevLayout:i}),panelConstraints:r});if(!n.defaultLayoutDeferred&&K(n.layout,a)&&mt(n.derivedPanelConstraints,r)&&n.groupSize===t)return;V(e,{defaultLayoutDeferred:!1,derivedPanelConstraints:r,groupSize:t,layout:a,separatorToPanels:n.separatorToPanels})}}else pt(e,i,n)}});a.observe(e.element),e.panels.forEach(e=>{M(!r.has(e.id),`Panel ids must be unique; id "${e.id}" was used more than once`),r.add(e.id),e.onResize&&a.observe(e.element)});let o=j({group:e}),s=de(e),c=e.panels.map(({id:e})=>e).join(`,`),l=e.mutableState.defaultLayout;l&&(gt(e.panels,l)||(l=void 0));let u=q({layout:e.mutableState.layouts[c]??l??ft(s),panelConstraints:s}),d=e.element.ownerDocument;X.set(d,(X.get(d)??0)+1);let f=new Map;return be(e).forEach(e=>{e.separator&&f.set(e.separator,e.panels)}),V(e,{defaultLayoutDeferred:o===0,derivedPanelConstraints:s,groupSize:o,layout:u,separatorToPanels:f}),e.separators.forEach(e=>{M(!i.has(e.id),`Separator ids must be unique; id "${e.id}" was used more than once`),i.add(e.id),e.element.addEventListener(`keydown`,at)}),X.get(d)===1&&(d.addEventListener(`contextmenu`,Ve,!0),d.addEventListener(`dblclick`,rt,!0),d.addEventListener(`pointerdown`,ot,!0),d.addEventListener(`pointerleave`,ct),d.addEventListener(`pointermove`,lt),d.addEventListener(`pointerout`,ut),d.addEventListener(`pointerup`,dt,!0)),function(){t=!1,X.set(d,Math.max(0,(X.get(d)??0)-1)),Le(e),e.separators.forEach(e=>{e.element.removeEventListener(`keydown`,at)}),X.get(d)||(d.removeEventListener(`contextmenu`,Ve,!0),d.removeEventListener(`dblclick`,rt,!0),d.removeEventListener(`pointerdown`,ot,!0),d.removeEventListener(`pointerleave`,ct),d.removeEventListener(`pointermove`,lt),d.removeEventListener(`pointerout`,ut),d.removeEventListener(`pointerup`,dt,!0)),a.disconnect()}}function vt(){let[e,t]=(0,O.useState)({});return[e,(0,O.useCallback)(()=>t({}),[])]}function yt(e){let t=(0,O.useId)();return`${e??t}`}var Z=typeof window<`u`?O.useLayoutEffect:O.useEffect;function Q(e){let t=(0,O.useRef)(e);return Z(()=>{t.current=e},[e]),(0,O.useCallback)((...e)=>t.current?.(...e),[t])}function $(...e){return Q(t=>{e.forEach(e=>{if(e)switch(typeof e){case`function`:e(t);break;case`object`:e.current=t;break}})})}function bt(e){let t=(0,O.useRef)({...e});return Z(()=>{for(let n in e)t.current[n]=e[n]},[e]),t.current}var xt=(0,O.createContext)(null);function St(e,t){let n=(0,O.useRef)({getLayout:()=>({}),setLayout:Te});(0,O.useImperativeHandle)(t,()=>n.current,[]),Z(()=>{Object.assign(n.current,it({groupId:e}))})}function Ct({children:e,className:t,defaultLayout:n,disableCursor:r,disabled:i,elementRef:a,groupRef:o,id:s,onLayoutChange:c,onLayoutChanged:l,orientation:u=`horizontal`,resizeTargetMinimumSize:d={coarse:20,fine:10},style:f,...p}){let m=(0,O.useRef)({onLayoutChange:{},onLayoutChanged:{}}),h=Q(e=>{K(m.current.onLayoutChange,e)||(m.current.onLayoutChange=e,c?.(e))}),g=Q((e,t)=>{K(m.current.onLayoutChanged,e)||(m.current.onLayoutChanged=e,l?.(e,{isUserInteraction:t}))}),_=yt(s),v=(0,O.useRef)(null),[y,b]=vt(),x=(0,O.useRef)({lastExpandedPanelSizes:{},layouts:{},panels:[],resizeTargetMinimumSize:d,separators:[]}),S=$(v,a);St(_,o);let C=Q((e,t)=>{let r=P(),i=Re(e),a=z(e);if(a){let e=!1;return r.state===`active`&&(e=r.hitRegions.some(e=>e.group===i)),{flexGrow:a.layout[t]??1,pointerEvents:e?`none`:void 0}}if(n?.[t])return{flexGrow:n?.[t]}}),T=bt({defaultLayout:n,disableCursor:r}),E=(0,O.useMemo)(()=>({get disableCursor(){return!!T.disableCursor},getPanelStyles:C,id:_,orientation:u,registerPanel:e=>{let t=x.current;return t.panels=fe(u,[...t.panels,e]),b(),()=>{t.panels=t.panels.filter(t=>t!==e),b()}},registerSeparator:e=>{let t=x.current;return t.separators=fe(u,[...t.separators,e]),b(),()=>{t.separators=t.separators.filter(t=>t!==e),b()}},updatePanelProps:(e,{disabled:t})=>{let n=x.current.panels.find(t=>t.id===e);n&&(n.panelConstraints.disabled=t);let r=Re(_),i=z(_);r&&i&&V(r,{...i,derivedPanelConstraints:de(r)})},updateSeparatorProps:(e,{disabled:t,disableDoubleClick:n})=>{let r=x.current.separators.find(t=>t.id===e);r&&(r.disabled=t,r.disableDoubleClick=n)}}),[C,_,b,u,T]),D=(0,O.useRef)(null);return Z(()=>{let e=v.current;if(e===null)return;let t=x.current,n;if(T.defaultLayout!==void 0&&Object.keys(T.defaultLayout).length===t.panels.length){n={};for(let e of t.panels){let t=T.defaultLayout[e.id];t!==void 0&&(n[e.id]=t)}}let r={disabled:!!i,element:e,id:_,mutableState:{defaultLayout:n,disableCursor:!!T.disableCursor,expandedPanelSizes:x.current.lastExpandedPanelSizes,layouts:x.current.layouts},orientation:u,panels:t.panels,resizeTargetMinimumSize:t.resizeTargetMinimumSize,separators:t.separators};D.current=r;let a=_t(r),{defaultLayoutDeferred:o,derivedPanelConstraints:s,layout:c}=z(r.id,!0);!o&&s.length>0&&(h(c),g(c,!1));let l=ze(_,e=>{let{defaultLayoutDeferred:t,derivedPanelConstraints:n,layout:i}=e.next;if(t||n.length===0)return;let a=r.panels.map(({id:e})=>e).join(`,`);r.mutableState.layouts[a]=i,n.forEach(t=>{if(t.collapsible){let{layout:n}=e.prev??{};if(n){let e=H(t.collapsedSize,i[t.panelId]),a=H(t.collapsedSize,n[t.panelId]);e&&!a&&(r.mutableState.expandedPanelSizes[t.panelId]=n[t.panelId])}}});let o=P().state!==`active`;h(i),o&&g(i,e.isUserInteraction)});return()=>{D.current=null,a(),l()}},[i,_,g,h,u,y,T]),(0,O.useEffect)(()=>{let e=D.current;e&&(e.mutableState.defaultLayout=n,e.mutableState.disableCursor=!!r)}),(0,w.jsx)(xt.Provider,{value:E,children:(0,w.jsx)(`div`,{...p,className:t,"data-group":!0,"data-testid":_,id:_,ref:S,style:{height:`100%`,width:`100%`,overflow:`hidden`,...f,display:`flex`,flexDirection:u===`horizontal`?`row`:`column`,flexWrap:`nowrap`,touchAction:u===`horizontal`?`pan-y`:`pan-x`},children:e})})}Ct.displayName=`Group`;function wt(){let e=(0,O.useContext)(xt);return M(e,`Group Context not found; did you render a Panel or Separator outside of a Group?`),e}function Tt(e,t){let{id:n}=wt(),r=(0,O.useRef)({collapse:I,expand:I,getSize:()=>({asPercentage:0,inPixels:0}),isCollapsed:()=>!1,resize:I});(0,O.useImperativeHandle)(t,()=>r.current,[]),Z(()=>{Object.assign(r.current,nt({groupId:n,panelId:e}))})}function Et({children:e,className:t,collapsedSize:n=`0%`,collapsible:r=!1,defaultSize:i,disabled:a,elementRef:o,groupResizeBehavior:s=`preserve-relative-size`,id:c,maxSize:l=`100%`,minSize:u=`0%`,onResize:d,panelRef:f,style:p,...m}){let h=!!c,g=yt(c),_=bt({disabled:a}),v=(0,O.useRef)(null),y=$(v,o),{getPanelStyles:b,id:x,orientation:S,registerPanel:C,updatePanelProps:T}=wt(),E=d!==null,D=Q((e,t,n)=>{d?.(e,c,n)});Z(()=>{let e=v.current;if(e!==null){let t={element:e,id:g,idIsStable:h,mutableValues:{expandToSize:void 0,prevSize:void 0},onResize:E?D:void 0,panelConstraints:{groupResizeBehavior:s,collapsedSize:n,collapsible:r,defaultSize:i,disabled:_.disabled,maxSize:l,minSize:u}};return C(t)}},[s,n,r,i,E,g,h,l,u,D,C,_]),(0,O.useEffect)(()=>{T(g,{disabled:a})},[a,g,T]),Tt(g,f);let ee=()=>{let e=b(x,g);if(e)return JSON.stringify(e)},te=(0,O.useSyncExternalStore)(e=>ze(x,e),ee,ee),ne;return ne=te?JSON.parse(te):i===void 0?{flexGrow:1}:{flexGrow:void 0,flexShrink:void 0,flexBasis:i},(0,w.jsx)(`div`,{...m,"data-disabled":a||void 0,"data-panel":!0,"data-testid":g,id:g,ref:y,style:{...Dt,display:`flex`,flexBasis:0,flexShrink:1,overflow:`visible`,...ne},children:(0,w.jsx)(`div`,{className:t,style:{maxHeight:`100%`,maxWidth:`100%`,flexGrow:1,overflow:`auto`,...p,touchAction:S===`horizontal`?`pan-y`:`pan-x`},children:e})})}Et.displayName=`Panel`;var Dt={minHeight:0,maxHeight:`100%`,height:`auto`,minWidth:0,maxWidth:`100%`,width:`auto`,border:`none`,borderWidth:0,padding:0,margin:0};function Ot(){return(0,O.useRef)(null)}function kt({layout:e,panelConstraints:t,panelId:n,panelIndex:r}){let i,a,o=e[n],s=t.find(e=>e.panelId===n);if(s){let c=s.maxSize,l=s.collapsible?s.collapsedSize:s.minSize,u=[r,r+1];a=q({layout:G({delta:l-o,initialLayout:e,panelConstraints:t,pivotIndices:u,prevLayout:e}),panelConstraints:t})[n],i=q({layout:G({delta:c-o,initialLayout:e,panelConstraints:t,pivotIndices:u,prevLayout:e}),panelConstraints:t})[n]}return{valueControls:n,valueMax:i,valueMin:a,valueNow:o}}function At({children:e,className:t,disabled:n,disableDoubleClick:r,elementRef:i,id:a,style:o,...s}){let c=yt(a),l=bt({disabled:n,disableDoubleClick:r}),[u,d]=(0,O.useState)({}),[f,p]=(0,O.useState)(`inactive`),[m,h]=(0,O.useState)(!1),g=(0,O.useRef)(null),_=$(g,i),{disableCursor:v,id:y,orientation:b,registerSeparator:x,updateSeparatorProps:S}=wt(),C=b===`horizontal`?`vertical`:`horizontal`;Z(()=>{let e=g.current;if(e!==null){let t={disabled:l.disabled,disableDoubleClick:l.disableDoubleClick,element:e,id:c},n=x(t),r=Ce(e=>{p(e.next.state!==`inactive`&&e.next.hitRegions.some(e=>e.separator===t)?e.next.state:`inactive`)}),i=ze(y,e=>{let{derivedPanelConstraints:n,layout:r,separatorToPanels:i}=e.next,a=i.get(t);if(a){let e=a[0],t=a.indexOf(e);d(kt({layout:r,panelConstraints:n,panelId:e.id,panelIndex:t}))}});return()=>{r(),i(),n()}}},[y,c,x,l]),(0,O.useEffect)(()=>{S(c,{disabled:n,disableDoubleClick:r})},[n,r,c,S]);let T;n&&!v&&(T=`not-allowed`);let E;if(n)E=`disabled`;else switch(f){case`active`:E=`active`;break;default:E=m?`focus`:f}return(0,w.jsx)(`div`,{...s,"aria-controls":u.valueControls,"aria-disabled":n||void 0,"aria-orientation":C,"aria-valuemax":u.valueMax,"aria-valuemin":u.valueMin,"aria-valuenow":u.valueNow,children:e,className:t,"data-separator":E,"data-testid":c,id:c,onBlur:()=>h(!1),onFocus:()=>h(!0),ref:_,role:`separator`,style:{flexBasis:`auto`,cursor:T,...o,flexGrow:0,flexShrink:0,touchAction:`none`},tabIndex:n?void 0:0})}At.displayName=`Separator`;function jt({className:e,...t}){return(0,w.jsx)(Ct,{className:i(`flex h-full w-full data-[orientation=vertical]:flex-col`,e),...t})}var Mt=Et;function Nt({withHandle:e,className:t,...n}){return(0,w.jsx)(At,{className:i(`relative flex items-center justify-center bg-border`,`focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-1`,`aria-[orientation=vertical]:w-px`,`aria-[orientation=vertical]:after:absolute aria-[orientation=vertical]:after:inset-y-0 aria-[orientation=vertical]:after:left-1/2 aria-[orientation=vertical]:after:w-1 aria-[orientation=vertical]:after:-translate-x-1/2`,`aria-[orientation=horizontal]:h-px aria-[orientation=horizontal]:w-full`,`aria-[orientation=horizontal]:after:absolute aria-[orientation=horizontal]:after:inset-x-0 aria-[orientation=horizontal]:after:top-1/2 aria-[orientation=horizontal]:after:h-1 aria-[orientation=horizontal]:after:-translate-y-1/2`,`aria-[orientation=horizontal]:[&>div]:rotate-90`,t),...n,children:e?(0,w.jsx)(`div`,{className:`z-10 flex h-4 w-3 items-center justify-center rounded-sm border bg-border`,children:(0,w.jsx)(b,{icon:y,className:`size-2.5`})}):null})}function Pt(){let e=Ot(),[t,n]=(0,O.useState)(!0);return{panelRef:e,open:t,toggle:()=>{let t=e.current;t&&(t.isCollapsed()?(t.expand(),n(!0)):(t.collapse(),n(!1)))},onResize:()=>{n(!(e.current?.isCollapsed()??!1))}}}var Ft={flow:{icon:g,label:`Flow`,symbol:`Fl`},signal:{icon:h,label:`Signal`,symbol:`Sg`},store:{icon:t,label:`Store`,symbol:`St`},clock:{icon:p,label:`Clock`,symbol:`Ck`},gate:{icon:f,label:`Gate`,symbol:`Gt`},vault:{icon:x,label:`Vault`,symbol:`Vt`},channel:{icon:n,label:`Channel`,symbol:`Ch`},ai:{icon:c,label:`AI`,symbol:`Ai`}};export{jt as a,re as c,E as d,ee as f,Mt as i,T as l,Pt as n,ae as o,te as p,Nt as r,ie as s,Ft as t,ne as u};
@@ -1 +0,0 @@
1
- import{Yn as e,wr as t}from"./shortcut-keys-DKxNTe_m.js";import{A as n}from"./xyflow-D7n4g6go.js";import{d as r,f as i,l as a,p as o,u as s}from"./element-icons-BVXtRyd3.js";var c=n();function l({icon:n,iconClassName:l,title:u,description:d,children:f,leading:p}){return(0,c.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col`,children:[p?(0,c.jsx)(`header`,{className:e,children:(0,c.jsxs)(`div`,{className:`-ml-2 flex h-full shrink-0 items-stretch`,children:[p,(0,c.jsx)(`span`,{className:`w-px shrink-0 self-stretch bg-border/60`,"aria-hidden":!0})]})}):null,(0,c.jsx)(`div`,{className:`flex min-h-0 flex-1 items-center justify-center p-6`,children:(0,c.jsxs)(a,{className:`border-0`,children:[(0,c.jsxs)(r,{children:[n?(0,c.jsx)(i,{variant:`icon`,className:l,children:(0,c.jsx)(t,{icon:n})}):null,(0,c.jsx)(o,{children:u}),d?(0,c.jsx)(s,{children:d}):null]}),f]})})]})}export{l as t};
@@ -1 +0,0 @@
1
- import{r as e}from"./rolldown-runtime-hePW80VL.js";import{Br as t,Cr as n,E as r,F as i,Fo as a,Jr as o,L as s,Mi as c,P as l,_r as u,ar as d,br as f,cr as p,gr as m,hr as h,kr as g,li as _,mr as v,vr as y,wr as b,x}from"./shortcut-keys-DKxNTe_m.js";import{r as S}from"./react-dom-Bph1y7z7.js";import{A as C,a as w,c as T,d as E,o as D,p as O,r as k,s as A,t as ee}from"./xyflow-D7n4g6go.js";import{n as j,t as te}from"./react-D8E3mtu1.js";import{t as ne}from"./duration-tone-sC3lGABz.js";import{a as re,i as ie,n as ae,o as oe,r as se,t as ce}from"./trace-detail-sheet-B09O8rA6.js";import{r as le}from"./preload-helper-oH4irX4C.js";import{d as ue,t as de}from"./index-_rgpdVzo.js";import{a as fe,c as pe,d as me,f as he,i as ge,l as _e,n as ve,o as ye,p as be,r as xe,t as M,u as Se}from"./element-icons-BVXtRyd3.js";import{a as Ce,c as we,i as Te,l as Ee,o as De,s as Oe}from"./highlighted-json-Awq7gYdu.js";import{C as N,S as ke,_ as P,b as Ae,d as je,f as Me,g as F,h as I,p as Ne,v as L,y as R}from"./request-meta-DV0ywz7t.js";import{a as Pe,c as z,i as Fe,n as Ie,o as Le,r as Re,t as ze}from"./cache-glyph-B5X-NM0-.js";import{t as Be}from"./agent-disclosure-BP0Y0Sux.js";var B=e(S(),1),V=[`flow`,`signal`,`store`,`clock`,`gate`,`vault`,`channel`,`ai`];function H(e,t,n){return{x:P.cx+t*Math.cos(e)-n.width/2,y:P.cy+t*Math.sin(e)-n.height/2}}function Ve(e){if(e<=0)return[];let t=2*Math.PI/e;return Array.from({length:e},(e,n)=>-Math.PI/2+n*t)}var He=2*Math.PI/V.length;function Ue(e,t,n=P.typeRing){if(t<=0)return[];if(t===1)return[e];let r=(L.type.width+10)/n,i=Math.min(r*(t-1),He*.7);return Array.from({length:t},(n,r)=>e-i/2+r/(t-1)*i)}function We(e,t){if(t<=0)return[];let n=P.typeRing,r=P.typeRing+P.typeRow;if(t===1)return[{angle:e,radius:n}];if(t===4)return Ke(e,n,r);if(t<=3)return Ue(e,t,n).map(e=>({angle:e,radius:n}));let i=Math.ceil(t/2),a=t-i;return[...Ue(e,i,n).map(e=>({angle:e,radius:n})),...Ue(e,a,r).map(e=>({angle:e,radius:r}))]}function Ge(e){return Math.abs(Math.cos(e))*L.type.height+Math.abs(Math.sin(e))*L.type.width}function Ke(e,t,n){let r=(Ge(e)+24)/t;return[{angle:e-r/2,radius:t},{angle:e+r/2,radius:t},{angle:e-r/2,radius:n},{angle:e+r/2,radius:n}]}function qe(e){let t=new Set([`flow`]),n=e.trigger;(n?.cron||n?.every)&&t.add(`clock`),n?.signal&&t.add(`signal`),(e.gates?.length??0)>0&&t.add(`gate`);let r=e.effects;return((r?.reads?.length??0)>0||(r?.writes?.length??0)>0)&&t.add(`store`),(r?.emits?.length??0)>0&&t.add(`signal`),(r?.sends?.length??0)>0&&t.add(`channel`),(r?.asks?.length??0)>0&&t.add(`ai`),(r?.secrets?.length??0)>0&&t.add(`vault`),V.filter(e=>t.has(e))}function Je(e){let t=new Set([`flow`]);(e.trigger===`cron`||e.trigger===`every`)&&t.add(`clock`),e.trigger===`signal`&&t.add(`signal`),e.gates.length>0&&t.add(`gate`);for(let n of e.effects)switch(n.kind){case`read`:case`write`:t.add(`store`);break;case`emit`:t.add(`signal`);break;case`send`:t.add(`channel`);break;case`ask`:t.add(`ai`);break;case`secret`:t.add(`vault`)}return V.filter(e=>t.has(e))}function Ye(e,t){let n=new Map,r=(e,t,r)=>{n.has(e)||n.set(e,r===void 0?{id:e,label:t}:{id:e,label:t,badge:r})};switch(t){case`flow`:for(let t of Object.keys(e.flows??{}).sort())r(`flow:${t}`,Re(t),z(t));break;case`signal`:for(let t of Object.keys(e.signals??{}).sort())r(`signal:${t}`,t,`signal`);for(let t of Object.values(e.flows??{})){t.trigger?.signal&&r(`signal:${t.trigger.signal}`,t.trigger.signal,`signal`);for(let e of t.effects?.emits??[])r(`signal:${e}`,e,`signal`)}break;case`store`:for(let[t,n]of Object.entries(e.stores??{})){let e=n.facet;for(let t of Object.keys(n.tables??{}).sort())r(`${e}:${t}`,t,e);let i=n.namespaces&&n.namespaces.length>0?n.namespaces:[];e===`kv`&&i.length===0&&r(`kv:${t}`,t,`kv`);for(let e of[...i].sort())r(`kv:${e}`,e,`kv`);for(let e of[...n.buckets??[]].sort())r(`files:${e}`,e,`files`);for(let e of[...n.indexes??[]].sort())r(`index:${e}`,e,`index`)}for(let t of Object.values(e.flows??{}))for(let e of[...t.effects?.reads??[],...t.effects?.writes??[]]){let t=Xe(e);t&&r(t.id,t.label,t.badge)}break;case`clock`:for(let[t,n]of Object.entries(e.clocks??{}).sort(([e],[t])=>e.localeCompare(t)))r(`clock:${t}`,t,n.cron?`cron`:n.every?`every`:`clock`);for(let[t,n]of Object.entries(e.flows??{}))n.trigger?.cron&&r(`clock:${t}`,n.trigger.cron,`cron`),n.trigger?.every&&r(`clock:${t}`,n.trigger.every,`every`);break;case`gate`:for(let t of Object.keys(e.gates??{}).sort())r(`gate:${t}`,t,`gate`);for(let t of Object.values(e.flows??{}))for(let e of t.gates??[])r(`gate:${e}`,e,`gate`);break;case`vault`:for(let t of Object.keys(e.vault??{}).sort())r(`vault:${t}`,t,`vault`);for(let t of Object.values(e.flows??{}))for(let e of t.effects?.secrets??[])r(`vault:${e}`,e,`vault`);break;case`channel`:for(let t of Object.keys(e.channels??{}).sort())r(`channel:${t}`,t,`channel`);for(let t of Object.values(e.flows??{}))for(let e of t.effects?.sends??[])r(`channel:${e}`,e,`channel`);break;case`ai`:for(let t of Object.keys(e.ai?.prompts??{}).sort())r(`ai:${t}`,t,`prompt`);for(let t of Object.keys(e.ai?.agents??{}).sort())r(`ai:${t}`,t,`agent`);for(let t of Object.values(e.flows??{}))for(let e of t.effects?.asks??[])r(`ai:${e}`,e,`prompt`)}return[...n.values()].sort((e,t)=>e.label.localeCompare(t.label))}function Xe(e){return e.startsWith(`sql:`)?{id:e,label:e.slice(4),badge:`sql`}:e.startsWith(`kv:`)?{id:e,label:e.slice(3),badge:`kv`}:e.startsWith(`files:`)?{id:e,label:e.slice(6),badge:`files`}:e.startsWith(`index:`)?{id:e,label:e.slice(6),badge:`index`}:null}var Ze={flow:je.map(e=>({kind:e,label:Me[e].label})),signal:[{kind:`once`,label:`once`},{kind:`broadcast`,label:`broadcast`},{kind:`live`,label:`live`}],store:[{kind:`sql`,label:`SQL`},{kind:`kv`,label:`KV`},{kind:`files`,label:`Files`},{kind:`index`,label:`Index`}],clock:[{kind:`cron`,label:`cron`},{kind:`every`,label:`every`}],gate:[{kind:`policy`,label:`policy`},{kind:`scope`,label:`scope`},{kind:`rate`,label:`rate`},{kind:`flag`,label:`flag`}],vault:[{kind:`secret`,label:`secret`},{kind:`config`,label:`config`},{kind:`env`,label:`env`}],channel:[{kind:`email`,label:`email`},{kind:`sms`,label:`SMS`},{kind:`whatsapp`,label:`WA`},{kind:`push`,label:`Push`}],ai:[{kind:`model`,label:`model`},{kind:`prompt`,label:`prompt`},{kind:`embed`,label:`embed`},{kind:`agent`,label:`agent`}]};function Qe(e,t){return Ze[t].map(e=>({id:`type:${t}:${e.kind}`,label:e.label,badge:e.kind}))}function $e(e,t){return t?.kind===`rate`||e.startsWith(`rate:`)?`rate`:e.startsWith(`flag:`)?`flag`:(t?.scopes?.length??0)>0?`scope`:`policy`}function et(e){return e?.sensitive===!1?`config`:`secret`}function tt(e,t){let n=t.split(`@`)[0]??t;return e.ai?.agents?.[n]?`agent`:e.ai?.models?.[n]?`model`:`prompt`}function nt(e,t,n){let r=`type:${n}:`;switch(n){case`flow`:return[`${r}${Ne(t.trigger)}`];case`store`:{let e=new Set;for(let n of[...t.effects?.reads??[],...t.effects?.writes??[]]){let t=Xe(n);t?.badge&&e.add(t.badge)}return[...e].map(e=>`${r}${e}`)}case`signal`:{let n=[...t.trigger?.signal?[t.trigger.signal]:[],...t.effects?.emits??[]],i=new Set;for(let t of n){let n=e.signals?.[t]?.delivery;n&&i.add(n)}return[...i].map(e=>`${r}${e}`)}case`clock`:{let e=[];return t.trigger?.cron&&e.push(`${r}cron`),t.trigger?.every&&e.push(`${r}every`),e}case`gate`:return[...new Set((t.gates??[]).map(t=>$e(t,e.gates?.[t])))].map(e=>`${r}${e}`);case`vault`:return[...new Set((t.effects?.secrets??[]).map(t=>et(e.vault?.[t])))].map(e=>`${r}${e}`);case`channel`:{let n=new Set;for(let r of t.effects?.sends??[]){let t=e.channels?.[r]?.medium;t&&t!==`any`&&n.add(t)}return[...n].map(e=>`${r}${e}`)}case`ai`:return[...new Set((t.effects?.asks??[]).map(t=>tt(e,t)))].map(e=>`${r}${e}`)}}function rt(e){let t=e?.flows??{},n=new Map;for(let e of Object.keys(t).sort()){let t=z(e),r=n.get(t)??[];r.push(e),n.set(t,r)}let r=new Map,i=new Map,a=new Map;for(let[e,o]of n){let n=new Set;for(let i of o){let o=t[i];if(o)for(let t of qe(o)){n.add(t);let o=`${e}\0${t}`;r.set(o,(r.get(o)??0)+1);let s=a.get(t)??new Set;s.add(i),a.set(t,s)}}i.set(e,n)}let o=[...n.entries()].sort(([e],[t])=>e.localeCompare(t)).map(([e,t])=>({unit:e,flowCount:t.length,elements:V.filter(t=>i.get(e)?.has(t)),live:0,errors:0})),s=V.map(t=>({element:t,resourceCount:e?Ye(e,t).length:0,flowCount:a.get(t)?.size??0,live:0,errors:0})),c=[];for(let e of o)for(let t of e.elements)c.push({unit:e.unit,element:t,flowCount:r.get(`${e.unit}\0${t}`)??0});return{units:o,hubs:s,couplings:c}}function it(e,t){let n=new Map,r=new Map,i=new Map,a=new Map;for(let e of t){let t=e.unit??z(e.flow);n.set(t,(n.get(t)??0)+1),e.error&&r.set(t,(r.get(t)??0)+1);for(let t of Je(e))i.set(t,(i.get(t)??0)+1),e.error&&a.set(t,(a.get(t)??0)+1)}return{couplings:e.couplings,units:e.units.map(e=>({...e,live:n.get(e.unit)??0,errors:r.get(e.unit)??0})),hubs:e.hubs.map(e=>({...e,live:i.get(e.element)??0,errors:a.get(e.element)??0}))}}function at(e,t=[],n=null){if(!e||Object.keys(e.flows??{}).length===0)return{nodes:[],edges:[],units:[],hubs:[]};let r=it(rt(e),t),i=n?.element,a=r.hubs.find(e=>e.element===`flow`)?.live??0,o=r.hubs.find(e=>e.element===`flow`)?.errors??0,s=[],c=[];s.push(ot(`orbit:elements`,P.elementRing)),s.push(ot(`orbit:types`,P.typeRing)),s.push(ot(`orbit:spokes`,P.spokeRing)),s.push({id:`law:oke`,type:`law`,position:{x:P.cx-L.law.width/2,y:P.cy-L.law.height/2},data:{kind:`law`,label:e.app,refId:`oke`,badge:String(r.units.reduce((e,t)=>e+t.flowCount,0)),live:a,errors:o},selectable:!1,draggable:!1,zIndex:F.leaf,width:L.law.width,height:L.law.height,style:{width:L.law.width,height:L.law.height,overflow:`visible`}});let l=Ve(V.length);if(r.hubs.forEach((e,t)=>{let n=l[t]??0,r=L.hub;s.push({id:`element:${e.element}`,type:`element`,position:H(n,P.elementRing,r),data:{kind:`element`,label:M[e.element].symbol,refId:e.element,badge:String(e.resourceCount),live:e.live,errors:e.errors,dimmed:i!=null&&e.element!==i},draggable:!1,zIndex:F.leaf,width:r.width,height:r.height,style:{width:r.width,height:r.height}}),c.push(U(`element:${e.element}`,`law:oke`,e.element,1,!0))}),!i||i===`flow`){let t=L.type;r.hubs.forEach((n,r)=>{let i=l[r]??0,a=Qe(e,n.element),o=We(i,a.length);a.forEach((e,r)=>{let a=o[r]??{angle:i,radius:P.typeRing};s.push({id:e.id,type:`typeChip`,position:H(a.angle,a.radius,t),data:{kind:n.element,label:e.label,refId:e.id,...e.badge===void 0?{}:{badge:e.badge,facet:e.badge}},draggable:!1,zIndex:F.leaf,width:t.width,height:t.height,style:{width:t.width,height:t.height}}),c.push(U(e.id,`element:${n.element}`,n.element,1))})})}if(i&&i!==`flow`){let t=Ye(e,i),n=Ae.store,r=Ve(t.length);t.forEach((e,t)=>{let a=r[t]??0;s.push({id:e.id,type:i,position:H(a,P.spokeRing,n),data:{kind:i,label:e.label,refId:e.id,...e.badge===void 0?{}:{badge:e.badge,facet:e.badge}},draggable:!1,zIndex:F.leaf,width:n.width,height:n.height,style:{width:n.width,height:n.height}}),c.push(U(e.id,`element:${i}`,i,1))})}else{let t=L.unit,n=Ve(r.units.length);r.units.forEach((e,r)=>{let i=n[r]??0;s.push({id:`unit:${e.unit}`,type:`unitChip`,position:H(i,P.spokeRing,t),data:{kind:`unit`,label:e.unit,refId:e.unit,badge:String(e.flowCount),elements:e.elements.filter(e=>e!==`flow`),live:e.live,errors:e.errors},draggable:!1,zIndex:F.leaf,width:t.width,height:t.height,style:{width:t.width,height:t.height}})});let a=new Map;for(let t of Object.keys(e.flows??{}).sort()){let e=z(t),n=a.get(e)??[];n.push(t),a.set(e,n)}for(let t of r.units){let n=new Map,r=new Set;for(let o of a.get(t.unit)??[]){let t=e.flows?.[o];if(t)for(let a of qe(t)){if(i===`flow`&&a!==`flow`)continue;let o=nt(e,t,a);o.length===0&&r.add(a);for(let e of o)n.set(e,(n.get(e)??0)+1)}}for(let[e,r]of n){let n=e.slice(5).split(`:`)[0];!n||!(n in R)||c.push(U(`unit:${t.unit}`,e,n,r))}for(let e of r)c.push(U(`unit:${t.unit}`,`element:${e}`,e,1))}}return{nodes:s,edges:c,units:r.units,hubs:r.hubs}}function ot(e,t){let n=t*2;return{id:e,type:`orbit`,position:{x:P.cx-t,y:P.cy-t},data:{kind:`law`,label:``,refId:e},selectable:!1,draggable:!1,zIndex:F.edge,width:n,height:n,style:{width:n,height:n}}}function st(e,t){return t===`law:oke`?`trunk`:e.startsWith(`type:`)&&t.startsWith(`element:`)?`bind`:`spoke`}function ct(e){return e===`trunk`?.14:e===`bind`?.2:0}function U(e,t,n,r,i=!1){let a=i?`trunk`:st(e,t),o=a===`trunk`?1.15:1+Math.min(1.25,Math.log2(1+r)*.45);return{id:`couple:${e}->${t}`,source:e,target:t,sourceHandle:`center`,targetHandle:`center`,type:`straight`,data:{kind:`couple`},style:{stroke:I.couple,strokeWidth:o,opacity:ct(a)},zIndex:F.edge}}function lt(e){if(e.startsWith(`element:`)){let t=e.slice(8);return t in R?t:null}if(e.startsWith(`type:`)){let t=e.slice(5).split(`:`)[0];return t&&t in R?t:null}return null}function ut(e,t){for(let n of[t,e]){let e=lt(n);if(e)return R[e].accent}return I.couple}function dt(e,t){let n=new Set,r=new Set,i=(e,t)=>{r.add(`couple:${e}->${t}`)};if(!e)return{nodeIds:n,edgeIds:r};for(let r of t){let t=e.flows?.[r];if(!t)continue;let a=`unit:${z(r)}`;n.add(a);for(let r of qe(t)){let o=`element:${r}`;n.add(o),n.add(`law:oke`),i(o,`law:oke`);let s=nt(e,t,r);s.length===0&&i(a,o);for(let e of s)n.add(e),i(a,e),i(e,o)}}return{nodeIds:n,edgeIds:r}}function ft(e,t,n={}){let r=n.hoverNodeId??null,i=n.highlightedFlowIds??new Set,a=n.highlightedNodeIds??new Set,o=dt(n.manifest,i),s=o.nodeIds.size>0||a.size>0,c=r!=null,l=r==null?null:pt(r,t);return{nodes:e.map(e=>{if(e.type===`orbit`)return{...e,data:{...e.data,highlighted:!1,dimmed:!1}};let t=o.nodeIds.has(e.id)||a.has(e.id)||i.has(e.data.refId),n=l?.has(e.id)===!0;return{...e,data:{...e.data,highlighted:t||c&&e.id===r,dimmed:e.id===`law:oke`?!1:s&&!t||c&&!n}}}),edges:t.map(e=>{let t=l!=null&&l.has(e.source)&&l.has(e.target),n=s&&o.edgeIds.has(e.id),r=c?t:n,i=st(e.source,e.target),a=c||s?r?1:ct(i)*.35:ct(i);return{...e,animated:r,style:{...e.style,stroke:r?ut(e.source,e.target):I.couple,opacity:a,strokeWidth:r?2.25:e.style?.strokeWidth}}})}}function W(e,t){let n=[];for(let r of e)r.source===t?n.push(r.target):r.target===t&&n.push(r.source);return n}function pt(e,t){let n=new Set([e]),r=e=>n.add(e);if(e.startsWith(`unit:`)){for(let n of W(t,e)){if(r(n),n.startsWith(`type:`)){for(let e of W(t,n))if(e.startsWith(`element:`)){r(e);for(let n of W(t,e))n===`law:oke`&&r(n)}}if(n.startsWith(`element:`))for(let e of W(t,n))e===`law:oke`&&r(e)}return n}if(e.startsWith(`type:`)){for(let n of W(t,e))r(n);let i=[...n].find(e=>e.startsWith(`element:`));if(i)for(let e of W(t,i))e===`law:oke`&&r(e);return n}if(e.startsWith(`element:`)||e===`law:oke`)for(let n of W(t,e))r(n);return n}var G=C(),mt={flow:M.flow.icon,signal:M.signal.icon,store:M.store.icon,clock:M.clock.icon,gate:M.gate.icon,vault:M.vault.icon,channel:M.channel.icon,ai:M.ai.icon},ht={flow:`rounded-xl`,store:`rounded-md`,signal:`rounded-full`,clock:`rounded-lg`,gate:`rounded-md`,vault:`rounded-md`,channel:`rounded-xl`,ai:`rounded-2xl`};function K(e,t){return n(`group relative flex h-full w-full items-center gap-2.5 border-2 px-2.5 text-xs transition-[opacity,filter,box-shadow,border-color] duration-200`,ht[t],e.dimmed&&`opacity-30 saturate-[0.35]`,e.highlighted&&`z-10`,e.focused&&`z-10`)}function q(e,t){let n=R[e],r=`color-mix(in oklab, ${n.accent} 20%, var(--card))`;return t.highlighted||t.focused?{borderColor:n.accent,background:`color-mix(in oklab, ${n.accent} 26%, var(--card))`,boxShadow:`0 0 0 1px ${n.accent}, 0 0 22px ${n.glow}`}:{borderColor:`color-mix(in oklab, ${n.accent} 78%, var(--border))`,background:r,boxShadow:`inset 3px 0 0 ${n.accent}`}}function J({data:e,kind:t,className:n,style:r,children:i,...a}){let o=j(),s=R[t];return(0,G.jsx)(te.div,{className:n,style:r,initial:!1,whileHover:o?void 0:{scale:1.04},whileTap:o?void 0:{scale:.97},animate:{scale:o?1:e.active?[1,1.08,1]:e.highlighted?1.02:1,boxShadow:e.active?`0 0 0 2px ${s.accent}, 0 0 30px ${s.glow}`:void 0},transition:e.active?{duration:.5,ease:`easeInOut`}:{type:`spring`,stiffness:400,damping:28},...a,children:i})}function gt({kind:e,size:t=`sm`}){let r=R[e];return(0,G.jsx)(`span`,{className:n(`flex shrink-0 items-center justify-center border`,t===`md`?`size-9`:`size-7`,e===`signal`?`rounded-full`:e===`store`||e===`gate`||e===`vault`?`rounded-md`:`rounded-full`),style:{color:r.accent,background:r.well,borderColor:`color-mix(in oklab, ${r.accent} 55%, transparent)`},"aria-hidden":!0,children:(0,G.jsx)(b,{icon:mt[e],size:t===`md`?17:15,strokeWidth:1.9})})}function _t({text:e}){return(0,G.jsx)(`span`,{className:`rounded border border-border/70 bg-background/50 px-1.5 py-0.5 text-[9px] font-medium uppercase tracking-[0.16em] text-muted-foreground`,children:e})}function vt({type:e,kind:t}){let n=R[t];return(0,G.jsx)(w,{type:e,position:e===`source`?O.Right:O.Left,className:`!size-2 !border-0`,style:{background:n.accent}})}function Y({type:e}){return(0,G.jsx)(w,{id:`center`,type:e,position:e===`source`?O.Right:O.Left,isConnectable:!1,className:`oke-center-handle !top-1/2 !left-1/2 !size-px !-translate-x-1/2 !-translate-y-1/2 !border-0 !bg-transparent !opacity-0`})}function yt({live:e,errors:t}){return e<=0?null:(0,G.jsx)(`span`,{className:n(`size-2 shrink-0 rounded-full`,t>0?`bg-rose-400`:`bg-emerald-400`,e>0&&`animate-pulse`),title:t>0?`${e} live · ${t} failed`:`${e} live`})}function bt({elements:e}){return e.length===0?null:(0,G.jsx)(`span`,{className:`mt-0.5 flex items-center gap-1`,"aria-hidden":!0,children:e.map(e=>(0,G.jsx)(`span`,{className:`size-1.5 rounded-full`,style:{background:R[e].accent},title:M[e].label},e))})}function xt({data:e}){return(0,G.jsx)(`div`,{className:`h-full w-full rounded-xl border border-dashed border-foreground/25 bg-muted/35 px-3 pt-1.5`,children:(0,G.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,G.jsx)(`div`,{className:`text-[10px] font-semibold uppercase tracking-[0.2em] text-muted-foreground`,children:e.label}),e.badge?(0,G.jsx)(_t,{text:e.badge}):null]})})}function St({data:e}){let t=e.kind in R?e.kind:`flow`;return(0,G.jsxs)(J,{data:e,kind:t,className:n(K(e,t),`justify-center gap-0 rounded-full px-2`),style:q(t,e),"data-slot":`type-chip`,"data-type":e.refId,children:[(0,G.jsx)(Y,{type:`source`}),(0,G.jsx)(Y,{type:`target`}),(0,G.jsx)(`div`,{className:`min-w-0 truncate text-center text-[10px] leading-none font-medium tracking-wide text-foreground`,children:e.label})]})}function Ct({data:e}){return(0,G.jsxs)(J,{data:e,kind:`flow`,className:n(K(e,`flow`),`rounded-full px-2.5`),style:q(`flow`,e),"data-slot":`unit-chip`,"data-unit":e.refId,children:[(0,G.jsx)(Y,{type:`source`}),(0,G.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,G.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,G.jsx)(`div`,{className:`truncate font-medium tracking-wide text-foreground uppercase`,children:e.label}),(0,G.jsx)(yt,{live:e.live??0,errors:e.errors??0})]}),(0,G.jsx)(bt,{elements:e.elements??[]})]}),e.badge?(0,G.jsx)(_t,{text:e.badge}):null]})}function wt({data:e}){let t=Ot(e.refId)??`flow`,r=R[t];return(0,G.jsxs)(J,{data:e,kind:t,className:n(K(e,t),`flex-col justify-center gap-0.5 rounded-full px-1.5 text-center`),style:{...q(t,e),boxShadow:e.highlighted?`0 0 0 1px ${r.accent}, 0 0 22px ${r.glow}`:`0 0 0 1px color-mix(in oklab, ${r.accent} 55%, transparent)`},"data-slot":`element-hub`,"data-element":t,children:[(0,G.jsx)(Y,{type:`target`}),(0,G.jsx)(Y,{type:`source`}),(0,G.jsx)(`span`,{className:`text-[18px] font-semibold tracking-tight text-foreground`,title:M[t].label,children:e.label})]})}function Tt(e){return e>=40?1.05:e>=12?1.55:2.2}function Et({data:e}){let t=j(),r=e.live??0,i=e.errors??0,[a,o]=(0,B.useState)(0),s=(0,B.useRef)(r);(0,B.useEffect)(()=>{r>s.current&&o(e=>e+1),s.current=r},[r]);let c=r>0,l=Tt(r),u=i>0?`var(--color-rose-400)`:`var(--foreground)`;return(0,G.jsxs)(`div`,{className:n(`relative flex h-full w-full items-center justify-center overflow-visible`,e.highlighted&&`z-10`),"data-slot":`law-hub`,"data-live":r,children:[(0,G.jsx)(Y,{type:`target`}),!t&&c?(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`span`,{"aria-hidden":!0,className:`oke-law-ripple`,style:{animationDuration:`${l}s`,color:u}}),(0,G.jsx)(`span`,{"aria-hidden":!0,className:`oke-law-ripple`,style:{animationDuration:`${l}s`,animationDelay:`${l/2}s`,color:u}})]}):null,a>0&&!t?(0,G.jsx)(`span`,{"aria-hidden":!0,className:`oke-law-hit`,style:{color:u}},a):null,(0,G.jsx)(te.div,{className:`flex h-full w-full items-center justify-center rounded-full border-4 bg-card px-4 text-center`,style:{borderColor:`color-mix(in oklab, var(--foreground) 82%, var(--border))`,boxShadow:e.highlighted?`0 0 0 1px ${u}, 0 0 36px color-mix(in oklab, ${u} 28%, transparent)`:`inset 0 0 28px color-mix(in oklab, var(--foreground) 7%, transparent), 0 0 22px color-mix(in oklab, ${u} ${c?16:6}%, transparent)`},animate:t||!c?{scale:1}:{scale:[1,1.045,1]},transition:t||!c?{duration:0}:{duration:l,repeat:1/0,ease:`easeInOut`},children:(0,G.jsx)(de,{className:`h-7 w-auto text-foreground`})})]})}function Dt(){return(0,G.jsx)(`div`,{className:`pointer-events-none h-full w-full rounded-full border border-dashed border-foreground/15`,"data-slot":`orbit`})}function Ot(e){return e in R?e:null}function X({data:e,kind:t,slot:n}){return(0,G.jsxs)(J,{data:e,kind:t,className:K(e,t),style:q(t,e),"data-slot":n,"data-flow-id":t===`flow`?e.refId:void 0,"data-highlighted":e.highlighted?`true`:`false`,children:[(0,G.jsx)(vt,{type:`target`,kind:t}),(0,G.jsx)(Y,{type:`source`}),(0,G.jsx)(gt,{kind:t}),(0,G.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,G.jsx)(`div`,{className:`truncate font-medium text-foreground`,children:e.label}),(0,G.jsx)(`div`,{className:`mt-0.5 flex items-center gap-1.5`,children:(0,G.jsx)(_t,{text:e.badge??e.plane??e.facet??t})})]}),t===`flow`||t===`signal`?(0,G.jsx)(vt,{type:`source`,kind:t}):null]})}function kt({data:e}){return(0,G.jsx)(X,{data:e,kind:`flow`,slot:`flow-node`})}function At({data:e}){return(0,G.jsx)(X,{data:e,kind:`store`,slot:`store-node`})}function jt({data:e}){return(0,G.jsx)(X,{data:e,kind:`signal`,slot:`signal-node`})}function Mt({data:e}){return(0,G.jsx)(X,{data:e,kind:`ai`,slot:`ai-node`})}function Nt({data:e}){return(0,G.jsx)(X,{data:e,kind:`clock`,slot:`clock-node`})}function Pt({data:e}){return(0,G.jsx)(X,{data:e,kind:`gate`,slot:`gate-node`})}function Ft({data:e}){return(0,G.jsx)(X,{data:e,kind:`vault`,slot:`vault-node`})}function It({data:e}){return(0,G.jsx)(X,{data:e,kind:`channel`,slot:`channel-node`})}var Lt={unit:xt,unitChip:Ct,typeChip:St,element:wt,law:Et,orbit:Dt,flow:kt,store:At,signal:jt,ai:Mt,clock:Nt,gate:Pt,vault:Ft,channel:It};function Rt(e,t){let n=e.flows??{},r=new Set;if(t.kind===`unit`){for(let e of Object.keys(n))z(e)===t.unit&&r.add(e);let e=[];for(let t of r)for(let r of n[t]?.effects?.calls??[])N(r)||e.push(r);for(let t of e)r.add(t)}else if(t.kind===`flow`){r.add(t.flowId);let e=n[t.flowId];for(let t of e?.effects?.calls??[])N(t)||r.add(t);for(let[e,i]of Object.entries(n))i.effects?.calls?.includes(t.flowId)&&r.add(e)}else for(let[e,i]of Object.entries(n))zt(i,e,t.nodeId)&&r.add(e);let i={};for(let e of r){let t=n[e];t&&(i[e]=t)}return{...e,flows:i}}function zt(e,t,n){if(n===`flow:${t}`||n===`clock:${t}`&&(e.trigger?.cron||e.trigger?.every)||e.trigger?.signal&&n===`signal:${e.trigger.signal}`||e.gates?.some(e=>n===`gate:${e}`))return!0;let r=e.effects;return r?!!(r.reads?.some(e=>e===n)||r.writes?.some(e=>e===n)||r.emits?.some(e=>n===`signal:${e}`)||r.sends?.some(e=>n===`channel:${e}`)||r.asks?.some(e=>n===`ai:${e}`)||r.secrets?.some(e=>n===`vault:${e}`)||r.calls?.some(e=>{let t=N(e);return t?n===ke(t.server):n===`flow:${e}`})):!1}var Bt=[`!=`,`>=`,`<=`,`=`,`>`,`<`],Vt={clauses:[]},Ht=[`flow`,`unit`,`trigger`,`plane`,`tenant`,`principal`,`cache`,`replica`,`error`,`buildVersion`,`promptVersion`,`duration`];function Ut(e){if(!e||!e.trim())return Vt;let t=e.split(/\s+AND\s+/i).map(e=>e.trim()).filter(Boolean),n=[];for(let e of t){let t=en(e);t&&n.push(t)}return{clauses:n}}function Z(e,t){return{clauses:[...e.clauses.filter(e=>e.dimension!==t.dimension),t]}}function Wt(e,t){return{clauses:e.clauses.filter(e=>e.dimension!==t)}}function Gt(e,t){return e.dimension===t.dimension&&e.op===t.op&&e.value===t.value}function Kt(e,t){return e.clauses.some(e=>Gt(e,t))}function qt(e,t){return Kt(e,t)?Wt(e,t.dimension):Z(e,t)}function Jt(e){let t=rn(e.dimension,e.value);return`${e.dimension} ${e.op} ${t}`}function Yt(e,t){for(let n of t.clauses)if(!an(e,n))return!1;return!0}function Xt(e,t){return t.clauses.length===0?[...e]:e.filter(e=>Yt(e,t))}function Zt(e){let t=/^(-?\d+(?:\.\d+)?)\s*(ms|s|m)?$/i.exec(e.trim());if(!t)return;let n=Number(t[1]),r=(t[2]??`ms`).toLowerCase();if(r===`ms`)return n;if(r===`s`)return n*1e3;if(r===`m`)return n*6e4}function Qt(e,t){switch(t){case`flow`:return e.flow;case`unit`:return e.unit??null;case`trigger`:return e.trigger;case`plane`:return e.plane;case`tenant`:return e.tenant??null;case`principal`:return e.principal??null;case`cache`:return e.cache;case`replica`:return e.replica??null;case`replicaLagMs`:case`replica_lag_ms`:return e.replicaLagMs??null;case`error`:case`error_code`:return e.error??null;case`buildVersion`:case`build_version`:return e.buildVersion??null;case`promptVersion`:case`prompt_version`:return e.promptVersion??null;case`cost`:return e.cost??null;case`duration`:case`duration_ms`:return e.durationMs;case`gates`:return e.gates.join(`,`);default:return e.dimensions[t]}}function $t(e){let t=new Set(Ht);for(let n of e)for(let e of Object.keys(n.dimensions))t.add(e);return[...t].sort()}function en(e){let t=null,n=-1;for(let r of Bt){let i=e.indexOf(` ${r} `);if(i!==-1){t=r,n=i;break}}if(t===null||n<0)return null;let r=e.slice(0,n).trim(),i=e.slice(n+t.length+2).trim();if(!r||!i)return null;let a=tn(r,i);return a===void 0?null:{dimension:r,op:t,value:a}}function tn(e,t){return e===`duration`||e===`duration_ms`?Zt(t):t===`true`?!0:t===`false`?!1:t.startsWith(`"`)&&t.endsWith(`"`)||t.startsWith(`'`)&&t.endsWith(`'`)?t.slice(1,-1):/^-?\d+(\.\d+)?$/.test(t)?Number(t):t}function nn(e,t){return rn(e,t)}function rn(e,t){if(e===`duration`||e===`duration_ms`){let e=typeof t==`number`?t:Number(t);return Number.isFinite(e)?e>=6e4&&e%6e4==0?`${e/6e4}m`:e>=1e3&&e%1e3==0?`${e/1e3}s`:`${e}ms`:String(t)}return typeof t==`string`&&/\s/.test(t)?`"${t}"`:String(t)}function an(e,t){let n=Qt(e,t.dimension);if(n==null)return t.op===`!=`;let r=t.value;if(t.op===`=`)return on(n,r);if(t.op===`!=`)return!on(n,r);let i=Q(n),a=Q(r);return i===void 0||a===void 0?!1:t.op===`>`?i>a:t.op===`<`?i<a:t.op===`>=`?i>=a:t.op===`<=`&&i<=a}function on(e,t){if(typeof e==`number`||typeof t==`number`){let n=Q(e),r=Q(t);if(n!==void 0&&r!==void 0)return n===r}return String(e)===String(t)}function Q(e){if(typeof e==`number`&&Number.isFinite(e))return e;if(typeof e==`boolean`)return;let t=Number(e);return Number.isFinite(t)?t:void 0}var sn=new Set(Object.keys(M));function cn(e){if(e.startsWith(`flow:`))return{kind:`flow`,flowId:e.slice(5)};if(e.startsWith(`signal:`))return{kind:`signal`,signal:e.slice(7)};if(e.startsWith(`unit:`))return{kind:`unit`,unit:e.slice(5)};if(e.startsWith(`element:`)){let t=e.slice(8);return sn.has(t)?{kind:`element`,element:t}:null}if(e.startsWith(`type:`)){let t=e.slice(5).split(`:`)[0];return t&&sn.has(t)?{kind:`element`,element:t}:null}return e.startsWith(`sql:`)||e.startsWith(`kv:`)||e.startsWith(`files:`)||e.startsWith(`index:`)||e.startsWith(`vault:`)||e.startsWith(`channel:`)||e.startsWith(`gate:`)||e.startsWith(`clock:`)||e.startsWith(`ai:`)?{kind:`resource`,nodeId:e}:null}function ln(e){switch(e.kind){case`flow`:return e.flowId;case`signal`:return`signal:${e.signal}`;case`unit`:return e.unit;case`element`:return M[e.element].label;case`resource`:return e.nodeId}}function un(e,t){return t?.kind===`flow`?Z(e,{dimension:`flow`,op:`=`,value:t.flowId}):t?.kind===`unit`?Z(e,{dimension:`unit`,op:`=`,value:t.unit}):e}function dn(e,t,n){if(t.kind===`flow`)return Yt(e,{clauses:[{dimension:`flow`,op:`=`,value:t.flowId}]});if(t.kind===`unit`)return(e.unit??z(e.flow))===t.unit;if(t.kind===`element`)return t.element===`flow`||Je(e).includes(t.element);if(t.kind===`resource`)return fn(e,t.nodeId,n);let r=n?.flows??{};for(let[n,i]of Object.entries(r))if(n===e.flow&&(i.trigger?.signal===t.signal||i.effects?.emits?.includes(t.signal)))return!0;return!1}function fn(e,t,n){let r=t.includes(`:`)?t.slice(t.indexOf(`:`)+1):t;if(e.effects.some(e=>e.resource===t||e.resource===r)||e.gates.some(e=>t===`gate:${e}`))return!0;let i=n?.flows?.[e.flow];return!!(i&&zt(i,e.flow,t))}function pn(e,t,n){return t?e.filter(e=>dn(e,t,n)):[...e]}function mn(e){return e?e.kind===`unit`||e.kind===`flow`||e.kind===`resource`?e:e.kind===`signal`?{kind:`resource`,nodeId:`signal:${e.signal}`}:null:null}function hn({manifest:e,runs:t=[],graphFilter:n,highlightedFlowIds:r,highlightedNodeIds:i,follow:a,activeNodeId:o=null,focusedNodeId:s=null,orchestraLabel:c=null,onNodeClick:l,onPaneClick:u}){let{fitView:d}=E(),{theme:f}=le(),[p,m]=(0,B.useState)(null),h=f===`system`?window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`:f,g=mn(n),_=n?.kind===`element`?n.element:null,v=g===null,y=(0,B.useMemo)(()=>at(e,t,_?{kind:`element`,element:_}:null),[e,t,_]),b=(0,B.useMemo)(()=>Le(!g||!e?e:Rt(e,g)),[e,g]),x=(0,B.useMemo)(()=>ft(y.nodes,y.edges,{hoverNodeId:p,highlightedFlowIds:r,highlightedNodeIds:i,manifest:e}),[y.nodes,y.edges,p,r,i,e]),S=(0,B.useMemo)(()=>Fe(b.nodes,r,i,{activeNodeId:o,focusedNodeId:s}),[b.nodes,r,i,o,s]),C=(0,B.useMemo)(()=>Pe(b.edges,S),[b.edges,S]),w=v?x.nodes:S,O=v?x.edges:C;return(0,B.useEffect)(()=>{d({duration:280,padding:.18})},[v,n,e,d]),(0,B.useEffect)(()=>{if(!a||v||r.size===0)return;let e=[...r].map(e=>`flow:${e}`);d({nodes:e.map(e=>({id:e})),duration:300,padding:.2})},[a,v,r,d]),(0,G.jsxs)(`div`,{className:`relative h-full w-full`,children:[n?(0,G.jsxs)(`button`,{type:`button`,"data-slot":`flow-graph-map`,onClick:()=>u?.(),className:`absolute top-2 left-2 z-10 inline-flex max-w-[min(100%-1rem,20rem)] items-center gap-1.5 truncate rounded-md border border-border/70 bg-card/90 px-2 py-1 text-[10px] font-medium text-muted-foreground shadow-sm backdrop-blur-sm transition-colors hover:border-border hover:text-foreground`,children:[(0,G.jsx)(`span`,{className:`text-foreground`,children:`Map`}),(0,G.jsx)(`span`,{"aria-hidden":!0,children:`/`}),(0,G.jsx)(`span`,{className:`truncate`,children:ln(n)})]}):(0,G.jsx)(`div`,{className:`pointer-events-none absolute top-2 left-2 z-10 text-[10px] font-medium tracking-wide text-muted-foreground uppercase`,children:c?(0,G.jsxs)(G.Fragment,{children:[`Orchestra `,(0,G.jsx)(`span`,{className:`text-foreground normal-case`,children:c})]}):`Hover a unit — spokes light the elements it touches`}),(0,G.jsxs)(T,{nodes:w,edges:O,nodeTypes:Lt,colorMode:h,fitView:!0,nodesDraggable:!1,nodesConnectable:!1,elementsSelectable:!0,proOptions:{hideAttribution:!0},minZoom:.15,maxZoom:1.6,defaultEdgeOptions:{type:`smoothstep`,zIndex:F.edge},zIndexMode:`manual`,onNodeClick:(e,t)=>l?.(t.id),onPaneClick:()=>u?.(),onNodeMouseEnter:(e,t)=>m(t.id),onNodeMouseLeave:()=>m(null),children:[(0,G.jsx)(ee,{gap:24,size:1,color:`color-mix(in oklab, var(--foreground) 14%, transparent)`}),(0,G.jsx)(k,{showInteractive:!1}),(0,G.jsx)(D,{pannable:!0,zoomable:!0,ariaLabel:`Flow graph overview`,bgColor:`var(--card)`,maskColor:`color-mix(in oklab, var(--background) 55%, transparent)`,nodeColor:gn,nodeStrokeColor:_n,nodeStrokeWidth:12,nodeBorderRadius:10})]})]})}function gn(e){if(e.type===`orbit`)return`transparent`;let t=e.data.kind;if(t===`law`)return`color-mix(in oklab, var(--foreground) 45%, transparent)`;if(t===`unit`)return`color-mix(in oklab, var(--foreground) 8%, transparent)`;if(t===`element`){let t=e.data.refId;return R[t]?.accent??`#64748B`}return t in R?R[t].accent:`#64748B`}function _n(e){return e.data.kind===`unit`?`color-mix(in oklab, var(--foreground) 32%, transparent)`:`transparent`}function vn(e){let{leading:t,...n}=e;return(0,G.jsxs)(`div`,{className:`flex h-full min-h-0 w-full flex-col`,"data-slot":`flow-graph`,children:[t?(0,G.jsxs)(`header`,{className:h,children:[t,(0,G.jsx)(`span`,{className:`w-px shrink-0 self-stretch bg-border/60`,"aria-hidden":!0})]}):null,(0,G.jsx)(`div`,{className:`min-h-0 flex-1`,children:(0,G.jsx)(A,{children:(0,G.jsx)(hn,{...n})})})]})}var yn=`orch-`;function bn(e){return e.startsWith(yn)}function xn(e,t){return e&&t}function Sn(e,t=Math.random){let n=e.filter(e=>!bn(e.id)&&e.flow.length>0);return n.length===0?null:n[Math.floor(t()*n.length)]??null}function Cn(e,t,n){let r=t-e.startedAt,i=e.flow.replaceAll(`.`,`-`);return{...e,id:`${yn}${n}-${i}`,parentId:null,startedAt:t,endedAt:t+e.durationMs,effects:e.effects.map(e=>({...e,timestamp:e.timestamp+r})),logs:e.logs.map(e=>({...e,at:e.at+r}))}}function wn(e=Math.random){return 1800+Math.floor(e()*1600)}var Tn=1400;function En(e){let t=a(),[n,r]=(0,B.useState)(null),i=(0,B.useRef)(0),o=(0,B.useRef)(null),s=(0,B.useRef)(null),c=(0,B.useRef)(e.paused);return c.current=e.paused,(0,B.useEffect)(()=>{if(!xn(!1,e.enabled))return;let n=()=>{o.current&&=(clearTimeout(o.current),null)},a=()=>{if(c.current||document.hidden)return;let e=Sn(t.getQueryData(De)??[]);if(!e)return;i.current+=1;let a=Cn(e,Date.now(),i.current);t.setQueryData(De,e=>Ee(e??[],a)),r({flowId:a.flow,runId:a.id}),n(),o.current=setTimeout(()=>{r(null),o.current=null},Tn)},l=e=>{s.current=setTimeout(()=>{a(),l(wn())},e)};l(700);let u=()=>{document.hidden&&(r(null),n())};return document.addEventListener(`visibilitychange`,u),()=>{document.removeEventListener(`visibilitychange`,u),s.current&&clearTimeout(s.current),n(),r(null)}},[e.enabled,t]),e.paused?null:n}function Dn(e,t){let n=new Set;if(!t)return n;let r=new Map,i=new Map;for(let t of e)r.set(t.id,t);for(let t of e){if(!t.parentId)continue;let e=i.get(t.parentId)??[];e.push(t),i.set(t.parentId,e)}let a=r.get(t);if(!a)return n;let o=a,s=new Set;for(;o&&!s.has(o.id);)s.add(o.id),n.add(o.flow),o=o.parentId?r.get(o.parentId):void 0;let c=[a];for(;c.length>0;){let e=c.shift();if(!e)break;for(let t of i.get(e.id)??[])s.has(t.id)||(s.add(t.id),n.add(t.flow),c.push(t))}return n}var On=[{id:`signal`,label:`Signal`,expr:`trigger = signal`},{id:`clock`,label:`Clock`,expr:`trigger = cron`},{id:`cache-miss`,label:`Cache miss`,expr:`cache = miss`},{id:`slow`,label:`Slow`,expr:`duration > 100ms`}],kn=`h-7 min-w-0 rounded-none border-0 bg-transparent px-0 font-mono text-[11px] text-foreground shadow-none outline-none focus-visible:ring-0 dark:bg-transparent`,$=`rounded-none border-0 bg-transparent px-1.5 py-1 text-[11px] text-foreground/70 shadow-none transition-colors hover:bg-muted/50 hover:text-foreground`,An=`grid grid-cols-[minmax(0,1fr)_1.25rem_minmax(0,1fr)_1.25rem] items-center gap-x-1`;function jn({query:e,runs:t,onChange:i}){let a=(0,B.useMemo)(()=>$t(t),[t]),o=(0,B.useMemo)(()=>[...new Set([...Ht,...a])].sort(),[a]),[s,c]=(0,B.useState)(`trigger`),[l,u]=(0,B.useState)(`=`),[d,f]=(0,B.useState)(`signal`),[p,m]=(0,B.useState)(!1),h=()=>{let t=Ut(`${s} ${l} ${d}`).clauses[0];t&&(i(Z(e,t)),m(!1))};return(0,G.jsxs)(`div`,{className:`flex flex-col gap-1.5 border-b border-border/60 px-2 py-1.5`,"data-slot":`traces-advanced-filters`,children:[e.clauses.length>0?(0,G.jsx)(`ul`,{"aria-label":`Active filters`,className:`flex flex-col gap-0.5`,children:e.clauses.map(t=>(0,G.jsx)(`li`,{children:(0,G.jsx)(Mn,{clause:t,onRemove:()=>i(Wt(e,t.dimension))})},t.dimension))}):null,p?(0,G.jsxs)(`div`,{className:An,"data-slot":`traces-advanced-composer`,children:[(0,G.jsx)(`select`,{"aria-label":`Filter dimension`,className:kn,value:s,onChange:e=>c(e.target.value),children:o.map(e=>(0,G.jsx)(`option`,{value:e,children:e},e))}),(0,G.jsx)(`select`,{"aria-label":`Filter operator`,className:n(kn,`text-center text-foreground/70`),value:l,onChange:e=>u(e.target.value),children:[`=`,`!=`,`>`,`<`,`>=`,`<=`].map(e=>(0,G.jsx)(`option`,{value:e,children:e},e))}),(0,G.jsx)(r,{"aria-label":`Filter value`,flat:!0,className:`h-7 px-0 font-mono text-[11px]`,value:d,onChange:e=>f(e.target.value),onKeyDown:e=>{e.key===`Enter`&&h()}}),(0,G.jsx)(`button`,{type:`button`,className:$,onClick:h,children:`Add`})]}):null,(0,G.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-2.5 gap-y-1`,children:[On.map(t=>{let r=Ut(t.expr).clauses[0],a=r!==void 0&&Kt(e,r);return(0,G.jsx)(`button`,{type:`button`,"aria-pressed":a,disabled:r===void 0,onClick:()=>{r&&i(qt(e,r))},className:n($,a?`font-medium text-foreground`:`text-foreground/70`),children:t.label},t.id)}),(0,G.jsx)(`button`,{type:`button`,"aria-expanded":p,className:n($,`ml-auto`,p&&`text-foreground`),onClick:()=>m(e=>!e),children:p?`Cancel`:`Add clause`}),e.clauses.length>0?(0,G.jsx)(`button`,{type:`button`,className:$,onClick:()=>i(Ut(``)),children:`Clear`}):null]})]})}function Mn({clause:e,onRemove:r}){let i=Jt(e);return(0,G.jsxs)(`div`,{className:An,"data-slot":`traces-advanced-clause`,children:[(0,G.jsx)(`span`,{className:`truncate font-mono text-[11px] text-foreground/80`,children:e.dimension}),(0,G.jsx)(`span`,{className:`text-center font-mono text-[11px] text-foreground/65`,"aria-hidden":!0,children:e.op}),(0,G.jsx)(`span`,{className:`truncate font-mono text-[11px] text-foreground`,children:nn(e.dimension,e.value)}),(0,G.jsx)(`button`,{type:`button`,className:n($,`flex size-5 items-center justify-center text-foreground/55 hover:text-destructive`),"aria-label":`Remove ${i}`,onClick:r,children:(0,G.jsx)(b,{icon:t,className:`size-3`})})]})}var Nn={query:``,status:`all`,advanced:Vt};function Pn(e,t){let n=t.trim().toLowerCase();return!n||[e.flow,e.unit??``,e.trigger,e.cache,e.id,e.error??``,e.errorMessage??``].some(e=>e.toLowerCase().includes(n))}function Fn(e,t){return Xt(e.filter(e=>!(!Pn(e,t.query)||t.status===`errors`&&e.error===null)),t.advanced)}function In(e,t=Date.now()){let n=t-e;return n<1e3?`just now`:n<6e4?`${Math.floor(n/1e3)}s ago`:n<36e5?`${Math.floor(n/6e4)}m ago`:`${Math.floor(n/36e5)}h ago`}function Ln(e,t=Date.now()){let n=In(e.startedAt,t),r=e.error!==null;return{text:n,title:r?e.errorMessage?`${e.error} — ${e.errorMessage}`:e.error??n:n,failed:r}}function Rn({run:e,selected:t,onSelect:r,copyText:a=async e=>{await navigator.clipboard.writeText(e)}}){let c=Ln(e),u=c.failed,d=ae(e.trigger),f=e.cache,[p,m]=(0,B.useState)(null),h=async t=>{t.stopPropagation();try{await a(se(e)),m(`Copied run id`)}catch{m(`Copy failed`)}};return(0,G.jsxs)(`div`,{"data-slot":`trace-row`,"data-run-id":e.id,"data-selected":t?`true`:`false`,"data-failed":u?`true`:`false`,"data-cache":e.cache,className:n(`group relative flex w-full items-stretch border-b border-border/60 text-xs transition-colors`,`hover:bg-muted/50 focus-within:bg-muted/50`,t&&`bg-muted/70`,u&&`bg-destructive/[0.04]`),children:[(0,G.jsx)(`span`,{"aria-hidden":!0,className:n(`absolute inset-y-0 left-0 w-0.5`,t&&!u&&`bg-sky-500`,u&&`bg-destructive`)}),(0,G.jsxs)(`button`,{type:`button`,"aria-pressed":t,onClick:()=>r(e.id),className:`flex min-w-0 flex-1 items-center gap-2 py-1.5 pr-1 pl-0 text-left outline-none`,children:[(0,G.jsx)(`span`,{className:n(`ml-2.5 size-1.5 shrink-0 rounded-full`,u?`bg-destructive`:`bg-emerald-500`),"aria-hidden":!0}),(0,G.jsx)(`span`,{className:`shrink-0 text-muted-foreground`,title:d.label,"aria-hidden":!0,children:(0,G.jsx)(b,{icon:d.icon,className:`size-3.5`})}),(0,G.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-medium text-foreground`,children:e.flow}),(0,G.jsx)(ze,{cache:f,dataSlot:`trace-row-cache`}),(0,G.jsx)(`span`,{className:n(`w-10 shrink-0 text-right tabular-nums font-medium`,ne(e.durationMs)),children:Te(e.durationMs)}),(0,G.jsx)(`span`,{className:`w-14 shrink-0 truncate text-right tabular-nums text-muted-foreground`,title:c.title,"data-slot":`trace-row-meta`,children:c.text})]}),(0,G.jsx)(`div`,{className:n(`flex shrink-0 items-center gap-0.5 pr-1.5 opacity-0 transition-opacity`,`group-hover:opacity-100 group-focus-within:opacity-100`,p&&`opacity-100`),children:(0,G.jsxs)(l,{children:[(0,G.jsx)(s,{render:e=>(0,G.jsx)(x,{...e,type:`button`,variant:`ghost`,size:`icon-xs`,"aria-label":`Copy run ID`,"data-slot":`trace-copy-id`,onClick:t=>{e.onClick?.(t),h(t)},children:(0,G.jsx)(b,{icon:o,className:`size-3`})})}),(0,G.jsx)(i,{side:`top`,children:`Copy run ID`})]})}),p?(0,G.jsx)(`span`,{className:`sr-only`,role:`status`,children:p}):null]})}var zn=[{value:`all`,label:`All`,icon:c},{value:`errors`,label:`Errors`,icon:g}];function Bn({runs:e,selectedRunId:t,onSelect:r,liveStatus:a,manifest:o,graphFilter:c,onGraphFilterChange:p,focusEffectIndex:g,onFocusEffectChange:v,playbackKey:x,onReplayStart:S,selectedRun:C}){let[w,T]=(0,B.useState)(Nn),[E,D]=(0,B.useState)(!1);(0,B.useEffect)(()=>{(c?.kind===`flow`||c?.kind===`unit`)&&T(e=>({...e,advanced:un(e.advanced,c)}))},[c]);let O=(0,B.useMemo)(()=>pn(Fn(e,w),c,o),[e,w,c,o]),k=(0,B.useMemo)(()=>C===void 0?t?e.find(e=>e.id===t)??null:null:C,[C,e,t]),A=w.advanced.clauses.length>0,ee=e=>{T(t=>({...t,query:e}))},j=e=>{T(t=>({...t,status:e}))};return(0,G.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col overflow-hidden`,"data-slot":`traces-pane`,children:[(0,G.jsxs)(`div`,{className:`shrink-0 border-b border-border/60`,children:[(0,G.jsxs)(`div`,{className:n(f,`border-b-0`),children:[(0,G.jsx)(pe,{value:w.query,onChange:e=>ee(e.target.value),placeholder:`Search traces…`,"aria-label":`Search traces`,"data-slot":`traces-search`}),(0,G.jsxs)(`div`,{className:`flex shrink-0 items-stretch pr-0.5`,children:[e.length>0?(0,G.jsxs)(l,{children:[(0,G.jsx)(s,{render:e=>(0,G.jsxs)(`button`,{...e,type:`button`,"aria-expanded":E,"aria-controls":`traces-advanced-panel`,"aria-label":A?`Advanced filters, ${w.advanced.clauses.length} active`:`Advanced filters`,"data-slot":`traces-advanced-toggle`,onClick:t=>{e.onClick?.(t),D(e=>!e)},className:n(d,`relative`,(E||A)&&`text-foreground`),children:[(0,G.jsx)(b,{icon:_,className:`size-3`,"aria-hidden":!0}),A?(0,G.jsx)(`span`,{className:`absolute -top-0.5 -inset-e-0.5 flex size-3.5 items-center justify-center rounded-full bg-foreground text-[8px] font-medium text-background`,"aria-hidden":!0,children:w.advanced.clauses.length}):null]})}),(0,G.jsx)(i,{side:`bottom`,children:`Advanced`})]}):null,e.length>0?(0,G.jsx)(`span`,{className:`mx-0.5 h-3 w-px bg-border/60`,"aria-hidden":!0}):null,(0,G.jsxs)(`div`,{className:`flex items-center gap-1.5 pr-0.5 text-[10px] text-muted-foreground`,children:[(0,G.jsx)(`span`,{className:a===`open`?`size-1.5 rounded-full bg-emerald-500`:`size-1.5 rounded-full bg-muted-foreground`,"aria-hidden":!0}),a===`open`?`live`:`polling`]})]})]}),e.length>0?(0,G.jsx)(`div`,{className:n(h,`border-t border-b-0`),"data-slot":`traces-filters`,children:(0,G.jsx)(`div`,{className:`flex shrink-0 items-stretch`,role:`group`,"aria-label":`Status filter`,children:zn.map(({value:e,label:t,icon:r})=>{let i=w.status===e;return(0,G.jsxs)(`button`,{type:`button`,"aria-pressed":i,onClick:()=>j(e),className:n(u,`font-semibold tracking-[0.08em] uppercase`,i?e===`errors`?`text-destructive`:m:y),children:[(0,G.jsx)(b,{icon:r,className:`size-3`,"aria-hidden":!0}),t]},e)})})}):null,e.length>0&&c?(0,G.jsxs)(`button`,{type:`button`,"data-slot":`traces-graph-filter`,onClick:()=>p(null),title:`Clear graph filter`,className:`mx-2 mb-1.5 inline-flex max-w-full items-center gap-1 self-start truncate rounded-md border border-sky-500/40 bg-sky-500/10 px-2 py-0.5 text-[10px] font-medium text-sky-700 transition-colors hover:bg-sky-500/20 dark:text-sky-400`,children:[(0,G.jsx)(`span`,{className:`truncate`,children:ln(c)}),(0,G.jsx)(`span`,{"aria-hidden":!0,children:`×`})]}):null]}),e.length>0?(0,G.jsx)(Be,{id:`traces-advanced-panel`,role:`region`,"aria-label":`Advanced filters`,open:E,className:`shrink-0`,children:(0,G.jsx)(jn,{query:w.advanced,runs:e,onChange:e=>{T(t=>({...t,advanced:e}))}})}):null,(0,G.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-y-auto`,children:e.length===0?(0,G.jsx)(_e,{className:`border-none`,children:(0,G.jsxs)(me,{children:[(0,G.jsx)(he,{variant:`icon`,children:(0,G.jsx)(b,{icon:M.flow.icon})}),(0,G.jsx)(be,{children:`No traces yet`}),(0,G.jsx)(Se,{children:`No runs for the flows on this graph yet. Trigger a flow to see live activity here.`})]})}):O.length===0?(0,G.jsx)(_e,{className:`border-none`,children:(0,G.jsxs)(me,{children:[(0,G.jsx)(be,{children:`No matching traces`}),(0,G.jsx)(Se,{children:`Nothing in this list matches the current search, status, or advanced filters.`})]})}):O.map(e=>(0,G.jsx)(Rn,{run:e,selected:e.id===t,onSelect:e=>r(e===t?null:e)},e.id))}),(0,G.jsx)(ce,{run:k,onClose:()=>r(null),focusEffectIndex:g,onFocusEffectChange:v,playbackKey:x,onReplayStart:S})]})}function Vn(){let e=we(),t=Oe(),n=Ce(!0),{selectedRunId:r,selectedFlowId:i,follow:a,setSelectedRun:o,setSelectedFlow:s}=ue(),c=ve(),l=(0,G.jsx)(ye,{open:c.open,onToggle:c.toggle,noun:`traces`,controlsId:`overview-traces`,dataSlot:`overview-traces-toggle`}),[u,d]=(0,B.useState)(null),[f,m]=(0,B.useState)(null),[h,g]=(0,B.useState)(0),[_,y]=(0,B.useState)(null),b=(0,B.useRef)(null),x=(0,B.useMemo)(()=>new Set(Object.keys(e.data?.flows??{})),[e.data]),S=(0,B.useMemo)(()=>Ie(t.data??[],x),[t.data,x]),C=En({enabled:!!e.data&&S.length>0,paused:r!=null||u!=null});(0,B.useEffect)(()=>{i&&d(e=>e?.kind===`flow`&&e.flowId===i?e:{kind:`flow`,flowId:i})},[i]);let w=(0,B.useCallback)(e=>{d(e),e?.kind===`flow`?s(e.flowId):s(null)},[s]),T=(0,B.useMemo)(()=>{let e=Dn(t.data??[],r);return e.size>0?e:i?new Set([i]):C?.flowId?new Set([C.flowId]):e},[t.data,r,i,C?.flowId]),E=(0,B.useMemo)(()=>{let t=new Set,n=e.data?.flows??{};for(let e of T){let r=n[e];if(r){r.trigger?.signal&&t.add(`signal:${r.trigger.signal}`),(r.trigger?.cron||r.trigger?.every)&&t.add(`clock:${e}`);for(let e of r.gates??[])t.add(`gate:${e}`);for(let e of r.effects?.reads??[])t.add(e);for(let e of r.effects?.writes??[])t.add(e);for(let e of r.effects?.emits??[])t.add(`signal:${e}`);for(let e of r.effects?.sends??[])t.add(`channel:${e}`);for(let e of r.effects?.asks??[])t.add(`ai:${e}`);for(let e of r.effects?.secrets??[])t.add(`vault:${e}`)}}return t},[T,e.data]),D=(0,B.useMemo)(()=>r?t.data?.find(e=>e.id===r)??null:null,[t.data,r]),O=(0,B.useCallback)(e=>{let t=cn(e);t&&w(u&&u.kind===t.kind&&JSON.stringify(u)===JSON.stringify(t)?null:t)},[w,u]),k=(0,B.useCallback)(()=>{w(null)},[w]),A=(0,B.useCallback)(()=>{g(e=>e+1)},[]);return(0,B.useEffect)(()=>{if(h===0||!D)return;let n=oe(Dn(t.data??[],D.id),e.data??null);if(n.length===0)return;let r=re(D.durationMs),i=performance.now();return y(n[0]??null),b.current=setInterval(()=>{let e=Math.min(1,(performance.now()-i)/r);y(ie(n,e)),e>=1&&b.current&&(clearInterval(b.current),b.current=null,setTimeout(()=>y(null),400))},60),()=>{b.current&&=(clearInterval(b.current),null),y(null)}},[h,D,t.data,e.data]),(0,G.jsx)(`div`,{className:p,"data-slot":`flows-page`,children:(0,G.jsxs)(fe,{orientation:`horizontal`,className:`min-h-0 flex-1`,children:[(0,G.jsx)(ge,{panelRef:c.panelRef,collapsible:!0,collapsedSize:0,defaultSize:v.start.defaultSize,minSize:v.start.minSize,maxSize:`50%`,onResize:c.onResize,className:`min-h-0`,children:(0,G.jsx)(`div`,{id:`overview-traces`,className:`h-full min-h-0 overflow-hidden`,"data-slot":`overview-traces`,children:(0,G.jsx)(Bn,{runs:S,selectedRunId:r,onSelect:o,liveStatus:n,manifest:e.data??null,graphFilter:u,onGraphFilterChange:w,focusEffectIndex:f,onFocusEffectChange:m,playbackKey:h,onReplayStart:A,selectedRun:D})})}),c.open?(0,G.jsx)(xe,{withHandle:!0}):null,(0,G.jsx)(ge,{defaultSize:v.end.defaultSize,minSize:v.end.minSize,className:`min-h-0`,children:(0,G.jsx)(`div`,{className:`h-full min-h-0 overflow-hidden`,children:(0,G.jsx)(vn,{manifest:e.data??null,runs:S,graphFilter:u,highlightedFlowIds:T,highlightedNodeIds:E,orchestraLabel:C?.flowId??null,follow:a,activeNodeId:_,onNodeClick:O,onPaneClick:k,leading:l})})})]})})}export{Vn as FlowsPage};