@rabbi696/ezrouter 0.5.63 → 0.5.65
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.
- package/app/.next-cli-build/BUILD_ID +1 -1
- package/app/.next-cli-build/app-path-routes-manifest.json +16 -16
- package/app/.next-cli-build/build-manifest.json +3 -3
- package/app/.next-cli-build/react-loadable-manifest.json +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/convoy/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/convoy/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/error-log/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/routing-health/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/_global-error.html +1 -1
- package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/_not-found.html +1 -1
- package/app/.next-cli-build/server/app/_not-found.rsc +4 -4
- package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_not-found.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/version/route.js +1 -1
- package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/callback.html +1 -1
- package/app/.next-cli-build/server/app/callback.rsc +4 -4
- package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/callback.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/callback.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/callback.segments/callback.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/combos.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/convoy.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/convoy.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/convoy.segments/!KGRhc2hib2FyZCk/dashboard/convoy/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/convoy.segments/!KGRhc2hib2FyZCk/dashboard/convoy.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/convoy.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/convoy.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/convoy.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/convoy.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/convoy.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/convoy.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/mitm.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/profile.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/pxpipe.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/pxpipe.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/quota.html +2 -2
- package/app/.next-cli-build/server/app/dashboard/quota.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/routing-health.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/routing-health.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/routing-health.segments/!KGRhc2hib2FyZCk/dashboard/routing-health/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/routing-health.segments/!KGRhc2hib2FyZCk/dashboard/routing-health.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/routing-health.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/routing-health.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/routing-health.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/routing-health.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/routing-health.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/routing-health.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/skills.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/translator.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/usage.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard.html +1 -1
- package/app/.next-cli-build/server/app/dashboard.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/index.html +1 -1
- package/app/.next-cli-build/server/app/index.rsc +4 -4
- package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/index.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/index.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/landing.html +1 -1
- package/app/.next-cli-build/server/app/landing.rsc +4 -4
- package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/landing.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/landing.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/landing.segments/landing.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/login.html +1 -1
- package/app/.next-cli-build/server/app/login.rsc +5 -5
- package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/login.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/login.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/login.segments/login.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app-paths-manifest.json +16 -16
- package/app/.next-cli-build/server/chunks/369.js +1 -1
- package/app/.next-cli-build/server/chunks/4807.js +1 -1
- package/app/.next-cli-build/server/chunks/4843.js +1 -1
- package/app/.next-cli-build/server/chunks/5502.js +1 -1
- package/app/.next-cli-build/server/chunks/5767.js +1 -1
- package/app/.next-cli-build/server/chunks/6606.js +1 -1
- package/app/.next-cli-build/server/chunks/7362.js +1 -1
- package/app/.next-cli-build/server/chunks/7591.js +1 -1
- package/app/.next-cli-build/server/chunks/7775.js +1 -1
- package/app/.next-cli-build/server/chunks/7828.js +1 -1
- package/app/.next-cli-build/server/chunks/7889.js +1 -1
- package/app/.next-cli-build/server/chunks/8327.js +2 -2
- package/app/.next-cli-build/server/chunks/8421.js +1 -1
- package/app/.next-cli-build/server/chunks/921.js +1 -1
- package/app/.next-cli-build/server/chunks/9212.js +1 -1
- package/app/.next-cli-build/server/chunks/9356.js +2 -2
- package/app/.next-cli-build/server/chunks/9573.js +1 -1
- package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
- package/app/.next-cli-build/server/middleware-react-loadable-manifest.js +1 -1
- package/app/.next-cli-build/server/pages/404.html +1 -1
- package/app/.next-cli-build/server/pages/500.html +1 -1
- package/app/.next-cli-build/static/chunks/{1321-d7d11cd830a1611a.js → 1321-87726e7c2c4916d3.js} +1 -1
- package/app/.next-cli-build/static/chunks/1a258343.6854776462735bdd.js +1 -0
- package/app/.next-cli-build/static/chunks/3521.b73873d2f60c2534.js +1 -0
- package/app/.next-cli-build/static/chunks/{8105-60466c24f6741bd0.js → 8105-74ce2cd62f81a87d.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/convoy/page-5ada6cd825b67236.js +1 -0
- package/app/.next-cli-build/static/chunks/{webpack-583426d0cc4260ce.js → webpack-2b9dc501108a7613.js} +1 -1
- package/app/.next-cli-build/static/css/267218cbb7352491.css +1 -0
- package/app/package.json +1 -1
- package/app/public/CHANGELOG.md +709 -0
- package/app/public/ezrouter-logo.png +0 -0
- package/app/public/ezrouter.png +0 -0
- package/app/public/favicon.png +0 -0
- package/app/public/favicon.svg +2 -2
- package/app/public/logo.png +0 -0
- package/package.json +1 -1
- package/src/cli/tray/icon.png +0 -0
- package/app/.next-cli-build/static/chunks/1a258343.a6f5b7f0cfe43484.js +0 -1
- package/app/.next-cli-build/static/chunks/3521.d670947ddf088e9f.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/convoy/page-4906e3b794df3ada.js +0 -1
- package/app/.next-cli-build/static/css/f072845a0645fa45.css +0 -1
- /package/app/.next-cli-build/static/{XZvk7T3YWpwSCjJjC6sFc → 5LTvYvkYfnHKM9ih9YUCE}/_buildManifest.js +0 -0
- /package/app/.next-cli-build/static/{XZvk7T3YWpwSCjJjC6sFc → 5LTvYvkYfnHKM9ih9YUCE}/_ssgManifest.js +0 -0
|
Binary file
|
package/app/public/ezrouter.png
CHANGED
|
Binary file
|
|
Binary file
|
package/app/public/favicon.svg
CHANGED
|
@@ -7,11 +7,11 @@
|
|
|
7
7
|
fill: url(#linear-gradient);
|
|
8
8
|
}
|
|
9
9
|
</style>
|
|
10
|
-
<linearGradient id="linear-gradient" x1="0" y1="
|
|
10
|
+
<linearGradient id="linear-gradient" x1="0" y1="1046" x2="32" y2="1078" gradientTransform="translate(0 -1046)" gradientUnits="userSpaceOnUse">
|
|
11
11
|
<stop offset="0" stop-color="#f97815"/>
|
|
12
12
|
<stop offset="1" stop-color="#c2590a"/>
|
|
13
13
|
</linearGradient>
|
|
14
14
|
</defs>
|
|
15
15
|
<rect class="st0" width="32" height="32" rx="6" ry="6"/>
|
|
16
|
-
<image width="512" height="512" transform="translate(.32 .32) scale(.06)" xlink:href="data:image/png;base64,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"/>
|
|
16
|
+
<image width="512" height="512" transform="scale(.06)" xlink:href="data:image/png;base64,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"/>
|
|
17
17
|
</svg>
|
package/app/public/logo.png
CHANGED
|
Binary file
|
package/package.json
CHANGED
package/src/cli/tray/icon.png
CHANGED
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3862],{81750:(e,t,n)=>{n.d(t,{Gc:()=>tw,H2:()=>tR,aV:()=>tP,h7:()=>eC,tE:()=>eT});var o,r,a=n(95155),i=n(12115),l=n(69684),s=n(6793),d=n(82282),c=n(94907);n(47650);let u=(0,i.createContext)(null),g=u.Provider,f=s.xc.error001("react");function p(e,t){let n=(0,i.useContext)(u);if(null===n)throw Error(f);return(0,d.n)(n,e,t)}function h(){let e=(0,i.useContext)(u);if(null===e)throw Error(f);return(0,i.useMemo)(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}let m={display:"none"},y={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},b="react-flow__node-desc",x="react-flow__edge-desc",S=e=>e.ariaLiveMessage,v=e=>e.ariaLabelConfig;function w({rfId:e}){let t=p(S);return(0,a.jsx)("div",{id:`react-flow__aria-live-${e}`,"aria-live":"assertive","aria-atomic":"true",style:y,children:t})}function C({rfId:e,disableKeyboardA11y:t}){let n=p(v);return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{id:`${b}-${e}`,style:m,children:t?n["node.a11yDescription.default"]:n["node.a11yDescription.keyboardDisabled"]}),(0,a.jsx)("div",{id:`${x}-${e}`,style:m,children:n["edge.a11yDescription.default"]}),!t&&(0,a.jsx)(w,{rfId:e})]})}let E=(0,i.forwardRef)(({position:e="top-left",children:t,className:n,style:o,...r},i)=>{let s=`${e}`.split("-");return(0,a.jsx)("div",{className:(0,l.A)(["react-flow__panel",n,...s]),style:o,ref:i,...r,children:t})});E.displayName="Panel";let N="https://reactflow.dev?utm_source=attribution";function k({proOptions:e,position:t="bottom-right"}){return e?.hideAttribution?null:(0,a.jsx)(E,{position:t,className:"react-flow__attribution","data-message":`Please only hide this attribution when you are subscribed to React Flow Pro: ${N}`,children:(0,a.jsx)("a",{href:N,target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}let M=e=>{let t=[],n=[];for(let[,n]of e.nodeLookup)n.selected&&t.push(n.internals.userNode);for(let[,t]of e.edgeLookup)t.selected&&n.push(t);return{selectedNodes:t,selectedEdges:n}},P=e=>e.id;function D(e,t){return(0,c.x)(e.selectedNodes.map(P),t.selectedNodes.map(P))&&(0,c.x)(e.selectedEdges.map(P),t.selectedEdges.map(P))}function j({onSelectionChange:e}){let t=h(),{selectedNodes:n,selectedEdges:o}=p(M,D);return(0,i.useEffect)(()=>{let r={nodes:n,edges:o};e?.(r),t.getState().onSelectionChangeHandlers.forEach(e=>e(r))},[n,o,e]),null}let R=e=>!!e.onSelectionChangeHandlers;function A({onSelectionChange:e}){let t=p(R);return e||t?(0,a.jsx)(j,{onSelectionChange:e}):null}let O=[0,0],I={x:0,y:0,zoom:1},_=["nodes","edges","defaultNodes","defaultEdges","onConnect","onConnectStart","onConnectEnd","onClickConnectStart","onClickConnectEnd","nodesDraggable","autoPanOnNodeFocus","nodesConnectable","nodesFocusable","edgesFocusable","edgesReconnectable","elevateNodesOnSelect","elevateEdgesOnSelect","minZoom","maxZoom","nodeExtent","onNodesChange","onEdgesChange","elementsSelectable","connectionMode","snapGrid","snapToGrid","translateExtent","connectOnClick","defaultEdgeOptions","fitView","fitViewOptions","onNodesDelete","onEdgesDelete","onDelete","onNodeDrag","onNodeDragStart","onNodeDragStop","onSelectionDrag","onSelectionDragStart","onSelectionDragStop","onMoveStart","onMove","onMoveEnd","noPanClassName","nodeOrigin","autoPanOnConnect","autoPanOnNodeDrag","onError","connectionRadius","isValidConnection","selectNodesOnDrag","nodeDragThreshold","connectionDragThreshold","onBeforeDelete","debug","autoPanSpeed","ariaLabelConfig","zIndexMode","rfId"],L=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges}),z={translateExtent:s.ZO,nodeOrigin:O,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function B(e){let{setNodes:t,setEdges:n,setMinZoom:o,setMaxZoom:r,setTranslateExtent:a,setNodeExtent:l,reset:d,setDefaultNodesAndEdges:u}=p(L,c.x),g=h();(0,i.useEffect)(()=>(u(e.defaultNodes,e.defaultEdges),()=>{f.current=z,d()}),[]);let f=(0,i.useRef)(z);return(0,i.useEffect)(()=>{for(let i of _){let d=e[i];d!==f.current[i]&&void 0!==e[i]&&("nodes"===i?t(d):"edges"===i?n(d):"minZoom"===i?o(d):"maxZoom"===i?r(d):"translateExtent"===i?a(d):"nodeExtent"===i?l(d):"ariaLabelConfig"===i?g.setState({ariaLabelConfig:(0,s.Q6)(d)}):"fitView"===i?g.setState({fitViewQueued:d}):"fitViewOptions"===i?g.setState({fitViewOptions:d}):g.setState({[i]:d}))}f.current=e},_.map(t=>e[t])),null}function V(){return"u"<typeof window||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}let $="u">typeof document?document:null;function H(e=null,t={target:$,actInsideInputWithModifier:!0}){let[n,o]=(0,i.useState)(!1),r=(0,i.useRef)(!1),a=(0,i.useRef)(new Set([])),[l,d]=(0,i.useMemo)(()=>{if(null!==e){let t=(Array.isArray(e)?e:[e]).filter(e=>"string"==typeof e).map(e=>e.replace("+","\n").replace("\n\n","\n+").split("\n")),n=t.reduce((e,t)=>e.concat(...t),[]);return[t,n]}return[[],[]]},[e]);return(0,i.useEffect)(()=>{let n=t?.target??$,i=t?.actInsideInputWithModifier??!0;if(null!==e){let e=e=>{if(r.current=e.ctrlKey||e.metaKey||e.shiftKey||e.altKey,(!r.current||r.current&&!i)&&(0,s.v5)(e))return!1;let n=T(e.code,d);if(a.current.add(e[n]),F(l,a.current,!1)){let n=e.composedPath?.()?.[0]||e.target,a=n?.nodeName==="BUTTON"||n?.nodeName==="A";!1!==t.preventDefault&&(r.current||!a)&&e.preventDefault(),o(!0)}},c=e=>{let t=T(e.code,d);F(l,a.current,!0)?(o(!1),a.current.clear()):a.current.delete(e[t]),"Meta"===e.key&&a.current.clear(),r.current=!1},u=()=>{a.current.clear(),o(!1)};return n?.addEventListener("keydown",e),n?.addEventListener("keyup",c),window.addEventListener("blur",u),window.addEventListener("contextmenu",u),()=>{n?.removeEventListener("keydown",e),n?.removeEventListener("keyup",c),window.removeEventListener("blur",u),window.removeEventListener("contextmenu",u)}}},[e,o]),n}function F(e,t,n){return e.filter(e=>n||e.length===t.size).some(e=>e.every(e=>t.has(e)))}function T(e,t){return t.includes(e)?"code":"key"}function Z(e,t){let n=[],o=new Map,r=[];for(let t of e)if("add"===t.type){r.push(t);continue}else if("remove"===t.type||"replace"===t.type)o.set(t.id,[t]);else{let e=o.get(t.id);e?e.push(t):o.set(t.id,[t])}for(let e of t){let t=o.get(e.id);if(!t){n.push(e);continue}if("remove"===t[0].type)continue;if("replace"===t[0].type){n.push({...t[0].item});continue}let r={...e};for(let e of t){var a=e,i=r;switch(a.type){case"select":i.selected=a.selected;break;case"position":void 0!==a.position&&(i.position=a.position),void 0!==a.dragging&&(i.dragging=a.dragging);break;case"dimensions":void 0!==a.dimensions&&(i.measured={...a.dimensions},a.setAttributes&&((!0===a.setAttributes||"width"===a.setAttributes)&&(i.width=a.dimensions.width),(!0===a.setAttributes||"height"===a.setAttributes)&&(i.height=a.dimensions.height))),"boolean"==typeof a.resizing&&(i.resizing=a.resizing)}}n.push(r)}return r.length&&r.forEach(e=>{void 0!==e.index?n.splice(e.index,0,{...e.item}):n.push({...e.item})}),n}function X(e,t){return{id:e,type:"select",selected:t}}function K(e,t=new Set,n=!1){let o=[];for(let[r,a]of e){let e=t.has(r);(void 0!==a.selected||e)&&a.selected!==e&&(n&&(a.selected=e),o.push(X(a.id,e)))}return o}function W({items:e=[],lookup:t}){let n=[],o=new Map(e.map(e=>[e.id,e]));for(let[o,r]of e.entries()){let e=t.get(r.id),a=e?.internals?.userNode??e;void 0!==a&&a!==r&&n.push({id:r.id,item:r,type:"replace"}),void 0===a&&n.push({item:r,type:"add",index:o})}for(let[e]of t)void 0===o.get(e)&&n.push({id:e,type:"remove"});return n}function Y(e){return{id:e.id,type:"remove"}}let Q=(0,s.kr)("React Flow","https://reactflow.dev/"),U=e=>(0,s.oB)(e);function q(e){return(0,i.forwardRef)(e)}let G="u">typeof window?i.useLayoutEffect:i.useEffect;function J(e){let[t,n]=(0,i.useState)(BigInt(0)),[o]=(0,i.useState)(()=>{var e;let t;return e=()=>n(e=>e+BigInt(1)),t=[],{get:()=>t,reset:()=>{t=[]},push:n=>{t.push(n),e()}}});return G(()=>{let t=o.get();t.length&&(e(t),o.reset())},[t]),o}let ee=(0,i.createContext)(null);function et({children:e}){let t=h(),n=J((0,i.useCallback)(e=>{let{nodes:n=[],setNodes:o,hasDefaultNodes:r,onNodesChange:a,nodeLookup:i,fitViewQueued:l,onNodesChangeMiddlewareMap:s}=t.getState(),d=n;for(let t of e)d="function"==typeof t?t(d):t;let c=W({items:d,lookup:i});for(let e of s.values())c=e(c);r&&o(d),c.length>0?a?.(c):l&&window.requestAnimationFrame(()=>{let{fitViewQueued:e,nodes:n,setNodes:o}=t.getState();e&&o(n)})},[])),o=J((0,i.useCallback)(e=>{let{edges:n=[],setEdges:o,hasDefaultEdges:r,onEdgesChange:a,edgeLookup:i}=t.getState(),l=n;for(let t of e)l="function"==typeof t?t(l):t;r?o(l):a&&a(W({items:l,lookup:i}))},[])),r=(0,i.useMemo)(()=>({nodeQueue:n,edgeQueue:o}),[]);return(0,a.jsx)(ee.Provider,{value:r,children:e})}let en=e=>!!e.panZoom;function eo(){let e,t=(e=h(),(0,i.useMemo)(()=>({zoomIn:async t=>{let{panZoom:n}=e.getState();return!!n&&n.scaleBy(1.2,t)},zoomOut:async t=>{let{panZoom:n}=e.getState();return!!n&&n.scaleBy(1/1.2,t)},zoomTo:async(t,n)=>{let{panZoom:o}=e.getState();return!!o&&o.scaleTo(t,n)},getZoom:()=>e.getState().transform[2],setViewport:async(t,n)=>{let{transform:[o,r,a],panZoom:i}=e.getState();return!!i&&(await i.setViewport({x:t.x??o,y:t.y??r,zoom:t.zoom??a},n),!0)},getViewport:()=>{let[t,n,o]=e.getState().transform;return{x:t,y:n,zoom:o}},setCenter:async(t,n,o)=>e.getState().setCenter(t,n,o),fitBounds:async(t,n)=>{let{width:o,height:r,minZoom:a,maxZoom:i,panZoom:l}=e.getState(),d=(0,s.R4)(t,o,r,a,i,n?.padding??.1);return!!l&&(await l.setViewport(d,{duration:n?.duration,ease:n?.ease,interpolate:n?.interpolate}),!0)},screenToFlowPosition:(t,n={})=>{let{transform:o,snapGrid:r,snapToGrid:a,domNode:i}=e.getState();if(!i)return t;let{x:l,y:d}=i.getBoundingClientRect(),c={x:t.x-l,y:t.y-d},u=n.snapGrid??r,g=n.snapToGrid??a;return(0,s.Ff)(c,o,g,u)},flowToScreenPosition:t=>{let{transform:n,domNode:o}=e.getState();if(!o)return t;let{x:r,y:a}=o.getBoundingClientRect(),i=(0,s.zj)(t,n);return{x:i.x+r,y:i.y+a}}}),[])),n=h(),o=function(){let e=(0,i.useContext)(ee);if(!e)throw Error("useBatchContext must be used within a BatchProvider");return e}(),r=p(en),a=(0,i.useMemo)(()=>{let e=e=>n.getState().nodeLookup.get(e),t=e=>{o.nodeQueue.push(e)},r=e=>{o.edgeQueue.push(e)},a=e=>{let{nodeLookup:t,nodeOrigin:o}=n.getState(),r=U(e)?e:t.get(e.id),a=r.parentId?(0,s.us)(r.position,r.measured,r.parentId,t,o):r.position,i={...r,position:a,width:r.measured?.width??r.width,height:r.measured?.height??r.height};return(0,s.kM)(i)},i=(e,n,o={replace:!1})=>{t(t=>t.map(t=>{if(t.id===e){let e="function"==typeof n?n(t):n;return o.replace&&U(e)?e:{...t,...e}}return t}))},l=(e,t,n={replace:!1})=>{r(o=>o.map(o=>{if(o.id===e){let e="function"==typeof t?t(o):t;return n.replace&&(0,s.b$)(e)?e:{...o,...e}}return o}))};return{getNodes:()=>n.getState().nodes.map(e=>({...e})),getNode:t=>e(t)?.internals.userNode,getInternalNode:e,getEdges:()=>{let{edges:e=[]}=n.getState();return e.map(e=>({...e}))},getEdge:e=>n.getState().edgeLookup.get(e),setNodes:t,setEdges:r,addNodes:e=>{let t=Array.isArray(e)?e:[e];o.nodeQueue.push(e=>[...e,...t])},addEdges:e=>{let t=Array.isArray(e)?e:[e];o.edgeQueue.push(e=>[...e,...t])},toObject:()=>{let{nodes:e=[],edges:t=[],transform:o}=n.getState(),[r,a,i]=o;return{nodes:e.map(e=>({...e})),edges:t.map(e=>({...e})),viewport:{x:r,y:a,zoom:i}}},deleteElements:async({nodes:e=[],edges:t=[]})=>{let{nodes:o,edges:r,onNodesDelete:a,onEdgesDelete:i,triggerNodeChanges:l,triggerEdgeChanges:d,onDelete:c,onBeforeDelete:u}=n.getState(),{nodes:g,edges:f}=await (0,s.Tq)({nodesToRemove:e,edgesToRemove:t,nodes:o,edges:r,onBeforeDelete:u}),p=f.length>0,h=g.length>0;if(p){let e=f.map(Y);i?.(f),d(e)}if(h){let e=g.map(Y);a?.(g),l(e)}return(h||p)&&c?.({nodes:g,edges:f}),{deletedNodes:g,deletedEdges:f}},getIntersectingNodes:(e,t=!0,o)=>{let r=(0,s.mW)(e),i=r?e:a(e),l=void 0!==o;return i?(o||n.getState().nodes).filter(o=>{let a=n.getState().nodeLookup.get(o.id);if(a&&!r&&(o.id===e.id||!a.internals.positionAbsolute))return!1;let d=(0,s.kM)(l?o:a),c=(0,s.X6)(d,i);return t&&c>0||c>=d.width*d.height||c>=i.width*i.height}):[]},isNodeIntersecting:(e,t,n=!0)=>{let o=(0,s.mW)(e)?e:a(e);if(!o)return!1;let r=(0,s.X6)(o,t);return n&&r>0||r>=t.width*t.height||r>=o.width*o.height},updateNode:i,updateNodeData:(e,t,n={replace:!1})=>{i(e,e=>{let o="function"==typeof t?t(e):t;return n.replace?{...e,data:o}:{...e,data:{...e.data,...o}}},n)},updateEdge:l,updateEdgeData:(e,t,n={replace:!1})=>{l(e,e=>{let o="function"==typeof t?t(e):t;return n.replace?{...e,data:o}:{...e,data:{...e.data,...o}}},n)},getNodesBounds:e=>{let{nodeLookup:t,nodeOrigin:o}=n.getState();return(0,s.Jo)(e,{nodeLookup:t,nodeOrigin:o})},getHandleConnections:({type:e,id:t,nodeId:o})=>Array.from(n.getState().connectionLookup.get(`${o}-${e}${t?`-${t}`:""}`)?.values()??[]),getNodeConnections:({type:e,handleId:t,nodeId:o})=>Array.from(n.getState().connectionLookup.get(`${o}${e?t?`-${e}-${t}`:`-${e}`:""}`)?.values()??[]),fitView:async e=>{let t=n.getState().fitViewResolver??(0,s.YN)();return n.setState({fitViewQueued:!0,fitViewOptions:e,fitViewResolver:t}),o.nodeQueue.push(e=>[...e]),t.promise}}},[]);return(0,i.useMemo)(()=>({...a,...t,viewportInitialized:r}),[r])}let er=e=>e.selected,ea="u">typeof window?window:void 0,ei={position:"absolute",width:"100%",height:"100%",top:0,left:0},el=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib,connectionInProgress:e.connection.inProgress});function es({onPaneContextMenu:e,zoomOnScroll:t=!0,zoomOnPinch:n=!0,panOnScroll:o=!1,panOnScrollSpeed:r=.5,panOnScrollMode:l=s.ny.Free,zoomOnDoubleClick:d=!0,panOnDrag:u=!0,defaultViewport:g,translateExtent:f,minZoom:m,maxZoom:y,zoomActivationKeyCode:b,preventScrolling:x=!0,children:S,noWheelClassName:v,noPanClassName:w,onViewportChange:C,isControlledViewport:E,paneClickDistance:N,selectionOnDrag:k}){let M,P=h(),D=(0,i.useRef)(null),{userSelectionActive:j,lib:R,connectionInProgress:A}=p(el,c.x),O=H(b),I=(0,i.useRef)();M=h(),(0,i.useEffect)(()=>{let e=()=>{if(!D.current||!(D.current.checkVisibility?.()??!0))return!1;let e=(0,s.Eo)(D.current);(0===e.height||0===e.width)&&M.getState().onError?.("004",s.xc.error004()),M.setState({width:e.width||500,height:e.height||500})};if(D.current){e(),window.addEventListener("resize",e);let t=new ResizeObserver(()=>e());return t.observe(D.current),()=>{window.removeEventListener("resize",e),t&&D.current&&t.unobserve(D.current)}}},[]);let _=(0,i.useCallback)(e=>{C?.({x:e[0],y:e[1],zoom:e[2]}),E||P.setState({transform:e})},[C,E]);return(0,i.useEffect)(()=>{if(D.current){I.current=(0,s.kO)({domNode:D.current,minZoom:m,maxZoom:y,translateExtent:f,viewport:g,onDraggingChange:e=>P.setState(t=>t.paneDragging===e?t:{paneDragging:e}),onPanZoomStart:(e,t)=>{let{onViewportChangeStart:n,onMoveStart:o}=P.getState();o?.(e,t),n?.(t)},onPanZoom:(e,t)=>{let{onViewportChange:n,onMove:o}=P.getState();o?.(e,t),n?.(t)},onPanZoomEnd:(e,t)=>{let{onViewportChangeEnd:n,onMoveEnd:o}=P.getState();o?.(e,t),n?.(t)}});let{x:e,y:t,zoom:n}=I.current.getViewport();return P.setState({panZoom:I.current,transform:[e,t,n],domNode:D.current.closest(".react-flow")}),()=>{I.current?.destroy()}}},[]),(0,i.useEffect)(()=>{I.current?.update({onPaneContextMenu:e,zoomOnScroll:t,zoomOnPinch:n,panOnScroll:o,panOnScrollSpeed:r,panOnScrollMode:l,zoomOnDoubleClick:d,panOnDrag:u,zoomActivationKeyPressed:O,preventScrolling:x,noPanClassName:w,userSelectionActive:j,noWheelClassName:v,lib:R,onTransformChange:_,connectionInProgress:A,selectionOnDrag:k,paneClickDistance:N})},[e,t,n,o,r,l,d,u,O,x,w,j,v,R,_,A,k,N]),(0,a.jsx)("div",{className:"react-flow__renderer",ref:D,style:ei,children:S})}let ed=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function ec(){let{userSelectionActive:e,userSelectionRect:t}=p(ed,c.x);return e&&t?(0,a.jsx)("div",{className:"react-flow__selection react-flow__container",style:{width:t.width,height:t.height,transform:`translate(${t.x}px, ${t.y}px)`}}):null}let eu=(e,t)=>n=>{n.target===t.current&&e?.(n)},eg=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,dragging:e.paneDragging,panBy:e.panBy,autoPanSpeed:e.autoPanSpeed});function ef({isSelecting:e,selectionKeyPressed:t,selectionMode:n=s.Qc.Full,panOnDrag:o,autoPanOnSelection:r,paneClickDistance:d,selectionOnDrag:u,onSelectionStart:g,onSelectionEnd:f,onPaneClick:m,onPaneContextMenu:y,onPaneScroll:b,onPaneMouseEnter:x,onPaneMouseMove:S,onPaneMouseLeave:v,children:w}){let C=(0,i.useRef)(0),E=h(),{userSelectionActive:N,elementsSelectable:k,dragging:M,panBy:P,autoPanSpeed:D}=p(eg,c.x),j=k&&(e||N),R=(0,i.useRef)(null),A=(0,i.useRef)(),O=(0,i.useRef)(new Set),I=(0,i.useRef)(new Set),_=(0,i.useRef)(!1),L=(0,i.useRef)(!1),z=(0,i.useRef)({x:0,y:0}),B=(0,i.useRef)(!1),V=e=>{if(L.current||_.current||E.getState().connection.inProgress){L.current=!1,_.current=!1;return}m?.(e),E.getState().resetSelectedElements(),E.setState({nodesSelectionActive:!1})};function $(e,t){let{userSelectionRect:o}=E.getState();if(!o)return;let{transform:r,nodeLookup:a,edgeLookup:i,connectionLookup:l,triggerNodeChanges:d,triggerEdgeChanges:c,defaultEdgeOptions:u}=E.getState(),g={x:o.startX,y:o.startY},{x:f,y:p}=(0,s.zj)(g,r),h={startX:g.x,startY:g.y,x:e<f?e:f,y:t<p?t:p,width:Math.abs(e-f),height:Math.abs(t-p)},m=O.current,y=I.current;O.current=new Set((0,s.U$)(a,h,r,n===s.Qc.Partial,!0).map(e=>e.id)),I.current=new Set;let b=u?.selectable??!0;for(let e of O.current){let t=l.get(e);if(t)for(let{edgeId:e}of t.values()){let t=i.get(e);t&&(t.selectable??b)&&I.current.add(e)}}(0,s._s)(m,O.current)||d(K(a,O.current,!0)),(0,s._s)(y,I.current)||c(K(i,I.current)),E.setState({userSelectionRect:h,userSelectionActive:!0,nodesSelectionActive:!1})}let H=()=>{cancelAnimationFrame(C.current),C.current=0,B.current=!1};(0,i.useEffect)(()=>()=>H(),[]);let F=!0===o||Array.isArray(o)&&o.includes(0);return(0,a.jsxs)("div",{className:(0,l.A)(["react-flow__pane",{draggable:F,dragging:M,selection:e}]),onClick:j?void 0:eu(V,R),onContextMenu:eu(e=>{Array.isArray(o)&&o?.includes(2)?e.preventDefault():y?.(e)},R),onWheel:eu(b?e=>b(e):void 0,R),onPointerEnter:j?void 0:x,onPointerMove:j?e=>{let{userSelectionRect:n,transform:o,resetSelectedElements:a}=E.getState();if(!A.current||!n)return;let{x:i,y:l}=(0,s.q1)(e.nativeEvent,A.current);z.current={x:i,y:l};let c=(0,s.zj)({x:n.startX,y:n.startY},o);if(!L.current){if(Math.hypot(i-c.x,l-c.y)<=(t?0:d))return;a(),g?.(e)}L.current=!0,B.current||(!function e(){if(!r||!A.current)return;let[t,n]=(0,s._7)(z.current,A.current,D);P({x:t,y:n}).then(t=>{if(!L.current||!t){C.current=requestAnimationFrame(e);return}let{x:n,y:o}=z.current;$(n,o),C.current=requestAnimationFrame(e)})}(),B.current=!0),$(i,l)}:S,onPointerUp:e=>{if(!j){e.target===R.current&&E.getState().connection.inProgress&&(_.current=!0);return}0===e.button&&(e.target?.releasePointerCapture?.(e.pointerId),!N&&e.target===R.current&&E.getState().userSelectionRect&&V?.(e),E.setState({userSelectionActive:!1,userSelectionRect:null}),L.current&&(f?.(e),E.setState({nodesSelectionActive:O.current.size>0})),H())},onPointerCancel:j?e=>{e.target?.releasePointerCapture?.(e.pointerId),H()}:void 0,onPointerDownCapture:j?n=>{let{domNode:o,transform:r}=E.getState();if(A.current=o?.getBoundingClientRect(),!A.current)return;let a=n.target===R.current;if(!a&&n.target.closest(".nokey")||!e||!(u&&a||t)||0!==n.button||!n.isPrimary)return;n.target?.setPointerCapture?.(n.pointerId),L.current=!1;let{x:i,y:l}=(0,s.q1)(n.nativeEvent,A.current),d=(0,s.Ff)({x:i,y:l},r);E.setState({userSelectionRect:{width:0,height:0,startX:d.x,startY:d.y,x:i,y:l}}),a||(n.stopPropagation(),n.preventDefault())}:void 0,onClickCapture:j?e=>{L.current&&(e.stopPropagation(),L.current=!1)}:void 0,onPointerLeave:v,ref:R,style:ei,children:[w,(0,a.jsx)(ec,{})]})}function ep({id:e,store:t,unselect:n=!1,nodeRef:o}){let{addSelectedNodes:r,unselectNodesAndEdges:a,multiSelectionActive:i,nodeLookup:l,onError:d}=t.getState(),c=l.get(e);c?(t.setState({nodesSelectionActive:!1}),c.selected?(n||c.selected&&i)&&(a({nodes:[c],edges:[]}),requestAnimationFrame(()=>o?.current?.blur())):r([e])):d?.("012",s.xc.error012(e))}function eh({nodeRef:e,disabled:t=!1,noDragClassName:n,handleSelector:o,nodeId:r,isSelectable:a,nodeClickDistance:l}){let d=h(),[c,u]=(0,i.useState)(!1),g=(0,i.useRef)();return(0,i.useEffect)(()=>{if(!t)return g.current=(0,s.I$)({getStoreItems:()=>d.getState(),onNodeMouseDown:t=>{ep({id:t,store:d,nodeRef:e})},onDragStart:()=>{u(!0)},onDragStop:()=>{u(!1)}}),()=>{g.current?.destroy(),g.current=void 0}},[t,d,e]),(0,i.useEffect)(()=>{!t&&e.current&&g.current&&g.current.update({noDragClassName:n,handleSelector:o,domNode:e.current,isSelectable:a,nodeId:r,nodeClickDistance:l})},[n,o,t,a,e,r,l]),c}function em(){let e=h();return(0,i.useCallback)(t=>{let{nodeExtent:n,snapToGrid:o,snapGrid:r,nodesDraggable:a,onError:i,updateNodePositions:l,nodeLookup:d,nodeOrigin:c}=e.getState(),u=new Map,g=e=>e.selected&&(e.draggable||a&&void 0===e.draggable),f=o?r[0]:5,p=o?r[1]:5,h=t.direction.x*f*t.factor,m=t.direction.y*p*t.factor;for(let[,e]of d){if(!g(e))continue;let t={x:e.internals.positionAbsolute.x+h,y:e.internals.positionAbsolute.y+m};o&&(t=(0,s.s_)(t,r));let{position:a,positionAbsolute:l}=(0,s.aE)({nodeId:e.id,nextPosition:t,nodeLookup:d,nodeExtent:n,nodeOrigin:c,onError:i});e.position=a,e.internals.positionAbsolute=l,u.set(e.id,e)}l(u)},[])}let ey=(0,i.createContext)(null),eb=ey.Provider;ey.Consumer;let ex=e=>({connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName,rfId:e.rfId}),eS=(0,i.createContext)(null);function ev({children:e}){let t=p(ex,c.x);return(0,a.jsx)(eS.Provider,{value:t,children:e})}let ew={connectingFrom:!1,connectingTo:!1,clickConnecting:!1,isPossibleEndHandle:!0,connectionInProcess:!1,clickConnectionInProcess:!1,valid:!1},eC=(0,i.memo)(q(function({type:e="source",position:t=s.yX.Top,isValidConnection:n,isConnectable:o=!0,isConnectableStart:r=!0,isConnectableEnd:d=!0,id:u,onConnect:g,children:f,className:m,onMouseDown:y,onTouchStart:b,...x},S){let v=u||null,w="target"===e,C=h(),E=(0,i.useContext)(ey),{connectOnClick:N,noPanClassName:k,rfId:M}=function(){let e=(0,i.useContext)(eS);if(!e)throw Error("useHandleConfig must be used within a HandleConfigProvider");return e}(),{connectingFrom:P,connectingTo:D,clickConnecting:j,isPossibleEndHandle:R,connectionInProcess:A,clickConnectionInProcess:O,valid:I}=p(t=>{let{connectionClickStartHandle:n,connectionMode:o,connection:r}=t,{fromHandle:a,toHandle:i,isValid:l}=r;if(!a&&!n)return ew;let d=i?.nodeId===E&&i?.id===v&&i?.type===e;return{connectingFrom:a?.nodeId===E&&a?.id===v&&a?.type===e,connectingTo:d,clickConnecting:n?.nodeId===E&&n?.id===v&&n?.type===e,isPossibleEndHandle:o===s.WZ.Strict?a?.type!==e:E!==a?.nodeId||v!==a?.id,connectionInProcess:!!a,clickConnectionInProcess:!!n,valid:d&&l}},c.x);E||C.getState().onError?.("010",s.xc.error010());let _=e=>{let{defaultEdgeOptions:t,onConnect:n,hasDefaultEdges:o}=C.getState(),r={...t,...e};if(o){let{edges:e,setEdges:t,onError:n}=C.getState();t(function(e,t,n={}){return(0,s.rN)(e,t,{...n,onError:n.onError??Q})}(r,e,{onError:n}))}n?.(r),g?.(r)},L=e=>{if(!E)return;let t=(0,s.Er)(e.nativeEvent);if(r&&(t&&0===e.button||!t)){let t=C.getState();s.aQ.onPointerDown(e.nativeEvent,{handleDomNode:e.currentTarget,autoPanOnConnect:t.autoPanOnConnect,connectionMode:t.connectionMode,connectionRadius:t.connectionRadius,domNode:t.domNode,nodeLookup:t.nodeLookup,lib:t.lib,isTarget:w,handleId:v,nodeId:E,flowId:t.rfId,panBy:t.panBy,cancelConnection:t.cancelConnection,onConnectStart:t.onConnectStart,onConnectEnd:(...e)=>C.getState().onConnectEnd?.(...e),updateConnection:t.updateConnection,onConnect:_,isValidConnection:n||((...e)=>C.getState().isValidConnection?.(...e)??!0),getTransform:()=>C.getState().transform,getFromHandle:()=>C.getState().connection.fromHandle,autoPanSpeed:t.autoPanSpeed,dragThreshold:t.connectionDragThreshold})}t?y?.(e):b?.(e)};return(0,a.jsx)("div",{"data-handleid":v,"data-nodeid":E,"data-handlepos":t,"data-id":`${M}-${E}-${v}-${e}`,className:(0,l.A)(["react-flow__handle",`react-flow__handle-${t}`,"nodrag",k,m,{source:!w,target:w,connectable:o,connectablestart:r,connectableend:d,clickconnecting:j,connectingfrom:P,connectingto:D,valid:I,connectionindicator:o&&(!A||R)&&(A||O?d:r)}]),onMouseDown:L,onTouchStart:L,onClick:N?t=>{let{onClickConnectStart:o,onClickConnectEnd:a,connectionClickStartHandle:i,connectionMode:l,isValidConnection:d,lib:c,rfId:u,nodeLookup:g,connection:f}=C.getState();if(!E||!i&&!r)return;if(!i){o?.(t.nativeEvent,{nodeId:E,handleId:v,handleType:e}),C.setState({connectionClickStartHandle:{nodeId:E,type:e,id:v}});return}let p=(0,s.oj)(t.target),h=n||d,{connection:m,isValid:y}=s.aQ.isValid(t.nativeEvent,{handle:{nodeId:E,id:v,type:e},connectionMode:l,fromNodeId:i.nodeId,fromHandleId:i.id||null,fromType:i.type,isValidConnection:h,flowId:u,doc:p,lib:c,nodeLookup:g});y&&m&&_(m);let b=structuredClone(f);delete b.inProgress,b.toPosition=b.toHandle?b.toHandle.position:null,a?.(t,b),C.setState({connectionClickStartHandle:null})}:void 0,ref:S,...x,children:f})})),eE={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},eN={input:function({data:e,isConnectable:t,sourcePosition:n=s.yX.Bottom}){return(0,a.jsxs)(a.Fragment,{children:[e?.label,(0,a.jsx)(eC,{type:"source",position:n,isConnectable:t})]})},default:function({data:e,isConnectable:t,targetPosition:n=s.yX.Top,sourcePosition:o=s.yX.Bottom}){return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(eC,{type:"target",position:n,isConnectable:t}),e?.label,(0,a.jsx)(eC,{type:"source",position:o,isConnectable:t})]})},output:function({data:e,isConnectable:t,targetPosition:n=s.yX.Top}){return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(eC,{type:"target",position:n,isConnectable:t}),e?.label]})},group:function(){return null}},ek=e=>{let{width:t,height:n,x:o,y:r}=(0,s.aZ)(e.nodeLookup,{filter:e=>!!e.selected});return{width:(0,s.kf)(t)?t:null,height:(0,s.kf)(n)?n:null,userSelectionActive:e.userSelectionActive,transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]}) translate(${o}px,${r}px)`}};function eM({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:n}){let o=h(),{width:r,height:s,transformString:d,userSelectionActive:u}=p(ek,c.x),g=em(),f=(0,i.useRef)(null);(0,i.useEffect)(()=>{n||f.current?.focus({preventScroll:!0})},[n]);let m=!u&&null!==r&&null!==s;if(eh({nodeRef:f,disabled:!m}),!m)return null;let y=e?t=>{e(t,o.getState().nodes.filter(e=>e.selected))}:void 0;return(0,a.jsx)("div",{className:(0,l.A)(["react-flow__nodesselection","react-flow__container",t]),style:{transform:d},children:(0,a.jsx)("div",{ref:f,className:"react-flow__nodesselection-rect",onContextMenu:y,tabIndex:n?void 0:-1,onKeyDown:n?void 0:e=>{Object.prototype.hasOwnProperty.call(eE,e.key)&&(e.preventDefault(),g({direction:eE[e.key],factor:e.shiftKey?4:1}))},style:{width:r,height:s}})})}let eP="u">typeof window?window:void 0,eD=e=>({nodesSelectionActive:e.nodesSelectionActive,userSelectionActive:e.userSelectionActive});function ej({children:e,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:o,onPaneMouseLeave:r,onPaneContextMenu:l,onPaneScroll:s,paneClickDistance:d,deleteKeyCode:u,selectionKeyCode:g,selectionOnDrag:f,selectionMode:m,onSelectionStart:y,onSelectionEnd:b,multiSelectionKeyCode:x,panActivationKeyCode:S,zoomActivationKeyCode:v,elementsSelectable:w,zoomOnScroll:C,zoomOnPinch:E,panOnScroll:N,panOnScrollSpeed:k,panOnScrollMode:M,zoomOnDoubleClick:P,panOnDrag:D,autoPanOnSelection:j,defaultViewport:R,translateExtent:A,minZoom:O,maxZoom:I,preventScrolling:_,onSelectionContextMenu:L,noWheelClassName:z,noPanClassName:B,disableKeyboardA11y:V,onViewportChange:$,isControlledViewport:F}){let{nodesSelectionActive:T,userSelectionActive:Z}=p(eD,c.x),X=H(g,{target:eP}),K=H(S,{target:eP}),W=K||D,Y=K||N,Q=f&&!0!==W,U=X||Z||Q;return!function({deleteKeyCode:e,multiSelectionKeyCode:t}){let n=h(),{deleteElements:o}=eo(),r=H(e,{actInsideInputWithModifier:!1}),a=H(t,{target:ea});(0,i.useEffect)(()=>{if(r){let{edges:e,nodes:t}=n.getState();o({nodes:t.filter(er),edges:e.filter(er)}),n.setState({nodesSelectionActive:!1})}},[r]),(0,i.useEffect)(()=>{n.setState({multiSelectionActive:a})},[a])}({deleteKeyCode:u,multiSelectionKeyCode:x}),(0,a.jsx)(es,{onPaneContextMenu:l,elementsSelectable:w,zoomOnScroll:C,zoomOnPinch:E,panOnScroll:Y,panOnScrollSpeed:k,panOnScrollMode:M,zoomOnDoubleClick:P,panOnDrag:!X&&W,defaultViewport:R,translateExtent:A,minZoom:O,maxZoom:I,zoomActivationKeyCode:v,preventScrolling:_,noWheelClassName:z,noPanClassName:B,onViewportChange:$,isControlledViewport:F,paneClickDistance:d,selectionOnDrag:Q,children:(0,a.jsxs)(ef,{onSelectionStart:y,onSelectionEnd:b,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:o,onPaneMouseLeave:r,onPaneContextMenu:l,onPaneScroll:s,panOnDrag:W,autoPanOnSelection:j,isSelecting:!!U,selectionMode:m,selectionKeyPressed:X,paneClickDistance:d,selectionOnDrag:Q,children:[e,T&&(0,a.jsx)(eM,{onSelectionContextMenu:L,noPanClassName:B,disableKeyboardA11y:V})]})})}ej.displayName="FlowRenderer";let eR=(0,i.memo)(ej),eA=e=>e.updateNodeInternals;var eO=(0,i.memo)(function({id:e,onClick:t,onMouseEnter:n,onMouseMove:o,onMouseLeave:r,onContextMenu:d,onDoubleClick:u,nodesDraggable:g,elementsSelectable:f,nodesConnectable:m,nodesFocusable:y,resizeObserver:x,noDragClassName:S,noPanClassName:v,disableKeyboardA11y:w,rfId:C,nodeTypes:E,nodeClickDistance:N,onError:k}){let{node:M,internals:P,isParent:D}=p(t=>{let n=t.nodeLookup.get(e),o=t.parentLookup.has(e);return{node:n,internals:n.internals,isParent:o}},c.x),j=M.type||"default",R=E?.[j]||eN[j];void 0===R&&(k?.("003",s.xc.error003(j)),j="default",R=E?.default||eN.default);let A=!!(M.draggable||g&&void 0===M.draggable),O=!!(M.selectable||f&&void 0===M.selectable),I=!!(M.connectable||m&&void 0===M.connectable),_=!!(M.focusable||y&&void 0===M.focusable),L=h(),z=(0,s.QE)(M),B=function({node:e,nodeType:t,hasDimensions:n,resizeObserver:o}){let r=h(),a=(0,i.useRef)(null),l=(0,i.useRef)(null),s=(0,i.useRef)(e.sourcePosition),d=(0,i.useRef)(e.targetPosition),c=(0,i.useRef)(t),u=n&&!!e.internals.handleBounds;return(0,i.useEffect)(()=>{!a.current||e.hidden||u&&l.current===a.current||(l.current&&o?.unobserve(l.current),o?.observe(a.current),l.current=a.current)},[u,e.hidden]),(0,i.useEffect)(()=>()=>{l.current&&(o?.unobserve(l.current),l.current=null)},[]),(0,i.useEffect)(()=>{if(a.current){let n=c.current!==t,o=s.current!==e.sourcePosition,i=d.current!==e.targetPosition;(n||o||i)&&(c.current=t,s.current=e.sourcePosition,d.current=e.targetPosition,r.getState().updateNodeInternals(new Map([[e.id,{id:e.id,nodeElement:a.current,force:!0}]])))}},[e.id,t,e.sourcePosition,e.targetPosition]),a}({node:M,nodeType:j,hasDimensions:z,resizeObserver:x}),V=eh({nodeRef:B,disabled:M.hidden||!A,noDragClassName:S,handleSelector:M.dragHandle,nodeId:e,isSelectable:O,nodeClickDistance:N}),$=em();if(M.hidden)return null;let H=(0,s.uD)(M),F=void 0===M.internals.handleBounds?{width:M.width??M.initialWidth??M.style?.width,height:M.height??M.initialHeight??M.style?.height}:{width:M.width??M.style?.width,height:M.height??M.style?.height},T=O||A||t||n||o||r,Z=n?e=>n(e,{...P.userNode}):void 0,X=o?e=>o(e,{...P.userNode}):void 0,K=r?e=>r(e,{...P.userNode}):void 0,W=d?e=>d(e,{...P.userNode}):void 0,Y=u?e=>u(e,{...P.userNode}):void 0;return(0,a.jsx)("div",{className:(0,l.A)(["react-flow__node",`react-flow__node-${j}`,{[v]:A},M.className,{selected:M.selected,selectable:O,parent:D,draggable:A,dragging:V}]),ref:B,style:{zIndex:P.z,transform:`translate(${P.positionAbsolute.x}px,${P.positionAbsolute.y}px)`,pointerEvents:T?"all":"none",visibility:z?"visible":"hidden",...M.style,...F},"data-id":e,"data-testid":`rf__node-${e}`,onMouseEnter:Z,onMouseMove:X,onMouseLeave:K,onContextMenu:W,onClick:n=>{let{selectNodesOnDrag:o,nodeDragThreshold:r}=L.getState();O&&(!o||!A||r>0)&&ep({id:e,store:L,nodeRef:B}),t&&t(n,{...P.userNode})},onDoubleClick:Y,onKeyDown:_?t=>{if(!(0,s.v5)(t.nativeEvent)&&!w){if(s.tn.includes(t.key)&&O)ep({id:e,store:L,unselect:"Escape"===t.key,nodeRef:B});else if(A&&M.selected&&Object.prototype.hasOwnProperty.call(eE,t.key)){t.preventDefault();let{ariaLabelConfig:e}=L.getState();L.setState({ariaLiveMessage:e["node.a11yDescription.ariaLiveMessage"]({direction:t.key.replace("Arrow","").toLowerCase(),x:~~P.positionAbsolute.x,y:~~P.positionAbsolute.y})}),$({direction:eE[t.key],factor:t.shiftKey?4:1})}}}:void 0,tabIndex:_?0:void 0,onFocus:_?()=>{if(w||!B.current?.matches(":focus-visible"))return;let{transform:t,width:n,height:o,autoPanOnNodeFocus:r,setCenter:a}=L.getState();!r||(0,s.U$)(new Map([[e,M]]),{x:0,y:0,width:n,height:o},t,!0).length>0||a(M.position.x+H.width/2,M.position.y+H.height/2,{zoom:t[2]})}:void 0,role:M.ariaRole??(_?"group":void 0),"aria-roledescription":"node","aria-describedby":w?void 0:`${b}-${C}`,"aria-label":M.ariaLabel,...M.domAttributes,children:(0,a.jsx)(eb,{value:e,children:(0,a.jsx)(R,{id:e,data:M.data,type:j,positionAbsoluteX:P.positionAbsolute.x,positionAbsoluteY:P.positionAbsolute.y,selected:M.selected??!1,selectable:O,draggable:A,deletable:M.deletable??!0,isConnectable:I,sourcePosition:M.sourcePosition,targetPosition:M.targetPosition,dragging:V,dragHandle:M.dragHandle,zIndex:P.z,parentId:M.parentId,...H})})})});let eI=e=>({nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError});function e_(e){var t;let{nodesConnectable:n,nodesFocusable:o,elementsSelectable:r,onError:l}=p(eI,c.x),d=(t=e.onlyRenderVisibleElements,p((0,i.useCallback)(e=>t?(0,s.U$)(e.nodeLookup,{x:0,y:0,width:e.width,height:e.height},e.transform,!0).map(e=>e.id):Array.from(e.nodeLookup.keys()),[t]),c.x)),u=function(){let e=p(eA),[t]=(0,i.useState)(()=>"u"<typeof ResizeObserver?null:new ResizeObserver(t=>{let n=new Map;t.forEach(e=>{let t=e.target.getAttribute("data-id");n.set(t,{id:t,nodeElement:e.target,force:!0})}),e(n)}));return(0,i.useEffect)(()=>()=>{t?.disconnect()},[t]),t}();return(0,a.jsx)("div",{className:"react-flow__nodes",style:ei,children:d.map(t=>(0,a.jsx)(eO,{id:t,nodeTypes:e.nodeTypes,nodeExtent:e.nodeExtent,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,resizeObserver:u,nodesDraggable:e.nodesDraggable??!0,nodesConnectable:n,nodesFocusable:o,elementsSelectable:r,nodeClickDistance:e.nodeClickDistance,onError:l},t))})}e_.displayName="NodeRenderer";let eL=(0,i.memo)(e_),ez={[s.TG.Arrow]:({color:e="none",strokeWidth:t=1})=>{let n={strokeWidth:t,...e&&{stroke:e}};return(0,a.jsx)("polyline",{className:"arrow",style:n,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},[s.TG.ArrowClosed]:({color:e="none",strokeWidth:t=1})=>{let n={strokeWidth:t,...e&&{stroke:e,fill:e}};return(0,a.jsx)("polyline",{className:"arrowclosed",style:n,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})}},eB=({id:e,type:t,color:n,width:o=12.5,height:r=12.5,markerUnits:l="strokeWidth",strokeWidth:d,orient:c="auto-start-reverse"})=>{let u,g=(u=h(),(0,i.useMemo)(()=>Object.prototype.hasOwnProperty.call(ez,t)?ez[t]:(u.getState().onError?.("009",s.xc.error009(t)),null),[t]));return g?(0,a.jsx)("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${o}`,markerHeight:`${r}`,viewBox:"-10 -10 20 20",markerUnits:l,orient:c,refX:"0",refY:"0",children:(0,a.jsx)(g,{color:n,strokeWidth:d})}):null},eV=({defaultColor:e,rfId:t})=>{let n=p(e=>e.edges),o=p(e=>e.defaultEdgeOptions),r=(0,i.useMemo)(()=>(0,s.Hm)(n,{id:t,defaultColor:e,defaultMarkerStart:o?.markerStart,defaultMarkerEnd:o?.markerEnd}),[n,o,t,e]);return r.length?(0,a.jsx)("svg",{className:"react-flow__marker","aria-hidden":"true",children:(0,a.jsx)("defs",{children:r.map(e=>(0,a.jsx)(eB,{id:e.id,type:e.type,color:e.color,width:e.width,height:e.height,markerUnits:e.markerUnits,strokeWidth:e.strokeWidth,orient:e.orient},e.id))})}):null};eV.displayName="MarkerDefinitions";var e$=(0,i.memo)(eV);function eH({x:e,y:t,label:n,labelStyle:o,labelShowBg:r=!0,labelBgStyle:s,labelBgPadding:d=[2,4],labelBgBorderRadius:c=2,children:u,className:g,...f}){let[p,h]=(0,i.useState)({x:1,y:0,width:0,height:0}),m=(0,l.A)(["react-flow__edge-textwrapper",g]),y=(0,i.useRef)(null);return((0,i.useEffect)(()=>{if(y.current){let e=y.current.getBBox();h({x:e.x,y:e.y,width:e.width,height:e.height})}},[n]),n)?(0,a.jsxs)("g",{transform:`translate(${e-p.width/2} ${t-p.height/2})`,className:m,visibility:p.width?"visible":"hidden",...f,children:[r&&(0,a.jsx)("rect",{width:p.width+2*d[0],x:-d[0],y:-d[1],height:p.height+2*d[1],className:"react-flow__edge-textbg",style:s,rx:c,ry:c}),(0,a.jsx)("text",{className:"react-flow__edge-text",y:p.height/2,dy:"0.3em",ref:y,style:o,children:n}),u]}):null}eH.displayName="EdgeText";let eF=(0,i.memo)(eH);function eT({path:e,labelX:t,labelY:n,label:o,labelStyle:r,labelShowBg:i,labelBgStyle:d,labelBgPadding:c,labelBgBorderRadius:u,interactionWidth:g=20,...f}){return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("path",{...f,d:e,fill:"none",className:(0,l.A)(["react-flow__edge-path",f.className])}),g?(0,a.jsx)("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:g,className:"react-flow__edge-interaction"}):null,o&&(0,s.kf)(t)&&(0,s.kf)(n)?(0,a.jsx)(eF,{x:t,y:n,label:o,labelStyle:r,labelShowBg:i,labelBgStyle:d,labelBgPadding:c,labelBgBorderRadius:u}):null]})}function eZ({pos:e,x1:t,y1:n,x2:o,y2:r}){return e===s.yX.Left||e===s.yX.Right?[.5*(t+o),n]:[t,.5*(n+r)]}function eX({sourceX:e,sourceY:t,sourcePosition:n=s.yX.Bottom,targetX:o,targetY:r,targetPosition:a=s.yX.Top}){let[i,l]=eZ({pos:n,x1:e,y1:t,x2:o,y2:r}),[d,c]=eZ({pos:a,x1:o,y1:r,x2:e,y2:t}),[u,g,f,p]=(0,s.e_)({sourceX:e,sourceY:t,targetX:o,targetY:r,sourceControlX:i,sourceControlY:l,targetControlX:d,targetControlY:c});return[`M${e},${t} C${i},${l} ${d},${c} ${o},${r}`,u,g,f,p]}function eK(e){return(0,i.memo)(({id:t,sourceX:n,sourceY:o,targetX:r,targetY:i,sourcePosition:l,targetPosition:s,label:d,labelStyle:c,labelShowBg:u,labelBgStyle:g,labelBgPadding:f,labelBgBorderRadius:p,style:h,markerEnd:m,markerStart:y,interactionWidth:b})=>{let[x,S,v]=eX({sourceX:n,sourceY:o,sourcePosition:l,targetX:r,targetY:i,targetPosition:s}),w=e.isInternal?void 0:t;return(0,a.jsx)(eT,{id:w,path:x,labelX:S,labelY:v,label:d,labelStyle:c,labelShowBg:u,labelBgStyle:g,labelBgPadding:f,labelBgBorderRadius:p,style:h,markerEnd:m,markerStart:y,interactionWidth:b})})}let eW=eK({isInternal:!1}),eY=eK({isInternal:!0});function eQ(e){return(0,i.memo)(({id:t,sourceX:n,sourceY:o,targetX:r,targetY:i,label:l,labelStyle:d,labelShowBg:c,labelBgStyle:u,labelBgPadding:g,labelBgBorderRadius:f,style:p,sourcePosition:h=s.yX.Bottom,targetPosition:m=s.yX.Top,markerEnd:y,markerStart:b,pathOptions:x,interactionWidth:S})=>{let[v,w,C]=(0,s.oN)({sourceX:n,sourceY:o,sourcePosition:h,targetX:r,targetY:i,targetPosition:m,borderRadius:x?.borderRadius,offset:x?.offset,stepPosition:x?.stepPosition}),E=e.isInternal?void 0:t;return(0,a.jsx)(eT,{id:E,path:v,labelX:w,labelY:C,label:l,labelStyle:d,labelShowBg:c,labelBgStyle:u,labelBgPadding:g,labelBgBorderRadius:f,style:p,markerEnd:y,markerStart:b,interactionWidth:S})})}eW.displayName="SimpleBezierEdge",eY.displayName="SimpleBezierEdgeInternal";let eU=eQ({isInternal:!1}),eq=eQ({isInternal:!0});function eG(e){return(0,i.memo)(({id:t,...n})=>{let o=e.isInternal?void 0:t;return(0,a.jsx)(eU,{...n,id:o,pathOptions:(0,i.useMemo)(()=>({borderRadius:0,offset:n.pathOptions?.offset}),[n.pathOptions?.offset])})})}eU.displayName="SmoothStepEdge",eq.displayName="SmoothStepEdgeInternal";let eJ=eG({isInternal:!1}),e0=eG({isInternal:!0});function e1(e){return(0,i.memo)(({id:t,sourceX:n,sourceY:o,targetX:r,targetY:i,label:l,labelStyle:d,labelShowBg:c,labelBgStyle:u,labelBgPadding:g,labelBgBorderRadius:f,style:p,markerEnd:h,markerStart:m,interactionWidth:y})=>{let[b,x,S]=(0,s.ah)({sourceX:n,sourceY:o,targetX:r,targetY:i}),v=e.isInternal?void 0:t;return(0,a.jsx)(eT,{id:v,path:b,labelX:x,labelY:S,label:l,labelStyle:d,labelShowBg:c,labelBgStyle:u,labelBgPadding:g,labelBgBorderRadius:f,style:p,markerEnd:h,markerStart:m,interactionWidth:y})})}eJ.displayName="StepEdge",e0.displayName="StepEdgeInternal";let e3=e1({isInternal:!1}),e2=e1({isInternal:!0});function e4(e){return(0,i.memo)(({id:t,sourceX:n,sourceY:o,targetX:r,targetY:i,sourcePosition:l=s.yX.Bottom,targetPosition:d=s.yX.Top,label:c,labelStyle:u,labelShowBg:g,labelBgStyle:f,labelBgPadding:p,labelBgBorderRadius:h,style:m,markerEnd:y,markerStart:b,pathOptions:x,interactionWidth:S})=>{let[v,w,C]=(0,s.Fp)({sourceX:n,sourceY:o,sourcePosition:l,targetX:r,targetY:i,targetPosition:d,curvature:x?.curvature}),E=e.isInternal?void 0:t;return(0,a.jsx)(eT,{id:E,path:v,labelX:w,labelY:C,label:c,labelStyle:u,labelShowBg:g,labelBgStyle:f,labelBgPadding:p,labelBgBorderRadius:h,style:m,markerEnd:y,markerStart:b,interactionWidth:S})})}e3.displayName="StraightEdge",e2.displayName="StraightEdgeInternal";let e5=e4({isInternal:!1}),e6=e4({isInternal:!0});e5.displayName="BezierEdge",e6.displayName="BezierEdgeInternal";let e7={default:e6,straight:e2,step:e0,smoothstep:eq,simplebezier:eY},e8={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null,zIndex:void 0},e9="react-flow__edgeupdater";function te({position:e,centerX:t,centerY:n,radius:o=10,onMouseDown:r,onMouseEnter:i,onMouseOut:d,type:c}){return(0,a.jsx)("circle",{onMouseDown:r,onMouseEnter:i,onMouseOut:d,className:(0,l.A)([e9,`${e9}-${c}`]),cx:e===s.yX.Left?t-o:e===s.yX.Right?t+o:t,cy:e===s.yX.Top?n-o:e===s.yX.Bottom?n+o:n,r:o,stroke:"transparent",fill:"transparent"})}function tt({isReconnectable:e,reconnectRadius:t,edge:n,sourceX:o,sourceY:r,targetX:i,targetY:l,sourcePosition:d,targetPosition:c,onReconnect:u,onReconnectStart:g,onReconnectEnd:f,setReconnecting:p,setUpdateHover:m}){let y=h(),b=(e,t)=>{if(0!==e.button)return;let{autoPanOnConnect:o,domNode:r,connectionMode:a,connectionRadius:i,lib:l,onConnectStart:d,cancelConnection:c,nodeLookup:h,rfId:m,panBy:b,updateConnection:x}=y.getState(),S="target"===t.type;s.aQ.onPointerDown(e.nativeEvent,{autoPanOnConnect:o,connectionMode:a,connectionRadius:i,domNode:r,handleId:t.id,nodeId:t.nodeId,nodeLookup:h,isTarget:S,edgeUpdaterType:t.type,lib:l,flowId:m,cancelConnection:c,panBy:b,isValidConnection:(...e)=>y.getState().isValidConnection?.(...e)??!0,onConnect:e=>u?.(n,e),onConnectStart:(o,r)=>{p(!0),g?.(e,n,t.type),d?.(o,r)},onConnectEnd:(...e)=>y.getState().onConnectEnd?.(...e),onReconnectEnd:(e,o)=>{p(!1),f?.(e,n,t.type,o)},updateConnection:x,getTransform:()=>y.getState().transform,getFromHandle:()=>y.getState().connection.fromHandle,dragThreshold:y.getState().connectionDragThreshold,handleDomNode:e.currentTarget})},x=()=>m(!0),S=()=>m(!1);return(0,a.jsxs)(a.Fragment,{children:[(!0===e||"source"===e)&&(0,a.jsx)(te,{position:d,centerX:o,centerY:r,radius:t,onMouseDown:e=>b(e,{nodeId:n.target,id:n.targetHandle??null,type:"target"}),onMouseEnter:x,onMouseOut:S,type:"source"}),(!0===e||"target"===e)&&(0,a.jsx)(te,{position:c,centerX:i,centerY:l,radius:t,onMouseDown:e=>b(e,{nodeId:n.source,id:n.sourceHandle??null,type:"source"}),onMouseEnter:x,onMouseOut:S,type:"target"})]})}var tn=(0,i.memo)(function({id:e,edgesFocusable:t,edgesReconnectable:n,elementsSelectable:o,onClick:r,onDoubleClick:d,onContextMenu:u,onMouseEnter:g,onMouseMove:f,onMouseLeave:m,reconnectRadius:y,onReconnect:b,onReconnectStart:S,onReconnectEnd:v,rfId:w,edgeTypes:C,noPanClassName:E,onError:N,disableKeyboardA11y:k}){let M=p(t=>t.edgeLookup.get(e)),P=p(e=>e.defaultEdgeOptions),D=(M=P?{...P,...M}:M).type||"default",j=C?.[D]||e7[D];void 0===j&&(N?.("011",s.xc.error011(D)),D="default",j=C?.default||e7.default);let R=!!(M.focusable||t&&void 0===M.focusable),A=void 0!==b&&(M.reconnectable||n&&void 0===M.reconnectable),O=!!(M.selectable||o&&void 0===M.selectable),I=(0,i.useRef)(null),[_,L]=(0,i.useState)(!1),[z,B]=(0,i.useState)(!1),V=h(),{zIndex:$=M.zIndex,sourceX:H,sourceY:F,targetX:T,targetY:Z,sourcePosition:X,targetPosition:K}=p((0,i.useCallback)(t=>{let n=t.nodeLookup.get(M.source),o=t.nodeLookup.get(M.target);if(!n||!o)return e8;let r=(0,s.b5)({id:e,sourceNode:n,targetNode:o,sourceHandle:M.sourceHandle||null,targetHandle:M.targetHandle||null,connectionMode:t.connectionMode,onError:N}),a=(0,s.qX)({selected:M.selected,zIndex:M.zIndex,sourceNode:n,targetNode:o,elevateOnSelect:t.elevateEdgesOnSelect,zIndexMode:t.zIndexMode});return{...r||e8,zIndex:a}},[M.source,M.target,M.sourceHandle,M.targetHandle,M.selected,M.zIndex]),c.x),W=(0,i.useMemo)(()=>M.markerStart?`url('#${(0,s.aW)(M.markerStart,w)}')`:void 0,[M.markerStart,w]),Y=(0,i.useMemo)(()=>M.markerEnd?`url('#${(0,s.aW)(M.markerEnd,w)}')`:void 0,[M.markerEnd,w]);if(M.hidden||null===H||null===F||null===T||null===Z)return null;let Q=d?e=>{d(e,{...M})}:void 0,U=u?e=>{u(e,{...M})}:void 0,q=g?e=>{g(e,{...M})}:void 0,G=f?e=>{f(e,{...M})}:void 0,J=m?e=>{m(e,{...M})}:void 0;return(0,a.jsx)("svg",{style:{zIndex:$},children:(0,a.jsxs)("g",{className:(0,l.A)(["react-flow__edge",`react-flow__edge-${D}`,M.className,E,{selected:M.selected,animated:M.animated,inactive:!O&&!r,updating:_,selectable:O}]),onClick:t=>{let{addSelectedEdges:n,unselectNodesAndEdges:o,multiSelectionActive:a}=V.getState();O&&(V.setState({nodesSelectionActive:!1}),M.selected&&a?(o({nodes:[],edges:[M]}),I.current?.blur()):n([e])),r&&r(t,M)},onDoubleClick:Q,onContextMenu:U,onMouseEnter:q,onMouseMove:G,onMouseLeave:J,onKeyDown:R?t=>{if(!k&&s.tn.includes(t.key)&&O){let{unselectNodesAndEdges:n,addSelectedEdges:o}=V.getState();"Escape"===t.key?(I.current?.blur(),n({edges:[M]})):o([e])}}:void 0,tabIndex:R?0:void 0,role:M.ariaRole??(R?"group":"img"),"aria-roledescription":"edge","data-id":e,"data-testid":`rf__edge-${e}`,"aria-label":null===M.ariaLabel?void 0:M.ariaLabel||`Edge from ${M.source} to ${M.target}`,"aria-describedby":R?`${x}-${w}`:void 0,ref:I,...M.domAttributes,children:[!z&&(0,a.jsx)(j,{id:e,source:M.source,target:M.target,type:M.type,selected:M.selected,animated:M.animated,selectable:O,deletable:M.deletable??!0,label:M.label,labelStyle:M.labelStyle,labelShowBg:M.labelShowBg,labelBgStyle:M.labelBgStyle,labelBgPadding:M.labelBgPadding,labelBgBorderRadius:M.labelBgBorderRadius,sourceX:H,sourceY:F,targetX:T,targetY:Z,sourcePosition:X,targetPosition:K,data:M.data,style:M.style,sourceHandleId:M.sourceHandle,targetHandleId:M.targetHandle,markerStart:W,markerEnd:Y,pathOptions:"pathOptions"in M?M.pathOptions:void 0,interactionWidth:M.interactionWidth}),A&&(0,a.jsx)(tt,{edge:M,isReconnectable:A,reconnectRadius:y,onReconnect:b,onReconnectStart:S,onReconnectEnd:v,sourceX:H,sourceY:F,targetX:T,targetY:Z,sourcePosition:X,targetPosition:K,setUpdateHover:L,setReconnecting:B})]})})});let to=e=>({edgesFocusable:e.edgesFocusable,edgesReconnectable:e.edgesReconnectable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError});function tr({defaultMarkerColor:e,onlyRenderVisibleElements:t,rfId:n,edgeTypes:o,noPanClassName:r,onReconnect:l,onEdgeContextMenu:d,onEdgeMouseEnter:u,onEdgeMouseMove:g,onEdgeMouseLeave:f,onEdgeClick:h,reconnectRadius:m,onEdgeDoubleClick:y,onReconnectStart:b,onReconnectEnd:x,disableKeyboardA11y:S}){let{edgesFocusable:v,edgesReconnectable:w,elementsSelectable:C,onError:E}=p(to,c.x),N=p((0,i.useCallback)(e=>{if(!t)return e.edges.map(e=>e.id);let n=[];if(e.width&&e.height)for(let t of e.edges){let o=e.nodeLookup.get(t.source),r=e.nodeLookup.get(t.target);o&&r&&(0,s.uj)({sourceNode:o,targetNode:r,width:e.width,height:e.height,transform:e.transform})&&n.push(t.id)}return n},[t]),c.x);return(0,a.jsxs)("div",{className:"react-flow__edges",children:[(0,a.jsx)(e$,{defaultColor:e,rfId:n}),N.map(e=>(0,a.jsx)(tn,{id:e,edgesFocusable:v,edgesReconnectable:w,elementsSelectable:C,noPanClassName:r,onReconnect:l,onContextMenu:d,onMouseEnter:u,onMouseMove:g,onMouseLeave:f,onClick:h,reconnectRadius:m,onDoubleClick:y,onReconnectStart:b,onReconnectEnd:x,rfId:n,onError:E,edgeTypes:o,disableKeyboardA11y:S},e))]})}tr.displayName="EdgeRenderer";let ta=(0,i.memo)(tr),ti=e=>`translate(${e[0]}px,${e[1]}px) scale(${e[2]})`;function tl({children:e}){let t=h(),n=(0,i.useRef)(null),[o]=(0,i.useState)(()=>t.getState().transform);return G(()=>{let e=null,o=()=>{let o=t.getState().transform;(!e||o[0]!==e[0]||o[1]!==e[1]||o[2]!==e[2])&&(e=o,n.current&&(n.current.style.transform=ti(o)))};return o(),t.subscribe(o)},[t]),(0,a.jsx)("div",{ref:n,className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:ti(o)},children:e})}let ts=e=>e.panZoom?.syncViewport;function td(e){return e.connection.inProgress?{...e.connection,to:(0,s.Ff)(e.connection.to,e.transform)}:{...e.connection}}let tc=e=>({nodesConnectable:e.nodesConnectable,isValid:e.connection.isValid,inProgress:e.connection.inProgress,width:e.width,height:e.height});function tu({containerStyle:e,style:t,type:n,component:o}){let{nodesConnectable:r,width:i,height:d,isValid:u,inProgress:g}=p(tc,c.x);return i&&r&&g?(0,a.jsx)("svg",{style:e,width:i,height:d,className:"react-flow__connectionline react-flow__container",children:(0,a.jsx)("g",{className:(0,l.A)(["react-flow__connection",(0,s.HF)(u)]),children:(0,a.jsx)(tg,{style:t,type:n,CustomComponent:o,isValid:u})})}):null}let tg=({style:e,type:t=s.Do.Bezier,CustomComponent:n,isValid:o})=>{let{inProgress:r,from:i,fromNode:l,fromHandle:d,fromPosition:u,to:g,toNode:f,toHandle:h,toPosition:m,pointer:y}=p(td,c.x);if(!r)return;if(n)return(0,a.jsx)(n,{connectionLineType:t,connectionLineStyle:e,fromNode:l,fromHandle:d,fromX:i.x,fromY:i.y,toX:g.x,toY:g.y,fromPosition:u,toPosition:m,connectionStatus:(0,s.HF)(o),toNode:f,toHandle:h,pointer:y});let b="",x={sourceX:i.x,sourceY:i.y,sourcePosition:u,targetX:g.x,targetY:g.y,targetPosition:m};switch(t){case s.Do.Bezier:[b]=(0,s.Fp)(x);break;case s.Do.SimpleBezier:[b]=eX(x);break;case s.Do.Step:[b]=(0,s.oN)({...x,borderRadius:0});break;case s.Do.SmoothStep:[b]=(0,s.oN)(x);break;default:[b]=(0,s.ah)(x)}return(0,a.jsx)("path",{d:b,fill:"none",className:"react-flow__connection-path",style:e})};tg.displayName="ConnectionLine";let tf={};function tp(e=tf){(0,i.useRef)(e),h(),(0,i.useEffect)(()=>{},[e])}function th({nodeTypes:e,edgeTypes:t,onInit:n,onNodeClick:o,onEdgeClick:r,onNodeDoubleClick:l,onEdgeDoubleClick:s,onNodeMouseEnter:d,onNodeMouseMove:c,onNodeMouseLeave:u,onNodeContextMenu:g,onSelectionContextMenu:f,onSelectionStart:m,onSelectionEnd:y,connectionLineType:b,connectionLineStyle:x,connectionLineComponent:S,connectionLineContainerStyle:v,selectionKeyCode:w,selectionOnDrag:C,selectionMode:E,multiSelectionKeyCode:N,panActivationKeyCode:k,zoomActivationKeyCode:M,deleteKeyCode:P,onlyRenderVisibleElements:D,elementsSelectable:j,defaultViewport:R,translateExtent:A,minZoom:O,maxZoom:I,preventScrolling:_,defaultMarkerColor:L,zoomOnScroll:z,zoomOnPinch:B,panOnScroll:V,panOnScrollSpeed:$,panOnScrollMode:H,zoomOnDoubleClick:F,panOnDrag:T,autoPanOnSelection:Z,onPaneClick:X,onPaneMouseEnter:K,onPaneMouseMove:W,onPaneMouseLeave:Y,onPaneScroll:Q,onPaneContextMenu:U,paneClickDistance:q,nodeClickDistance:G,onEdgeContextMenu:J,onEdgeMouseEnter:ee,onEdgeMouseMove:et,onEdgeMouseLeave:en,reconnectRadius:er,onReconnect:ea,onReconnectStart:ei,onReconnectEnd:el,noDragClassName:es,noWheelClassName:ed,noPanClassName:ec,disableKeyboardA11y:eu,nodeExtent:eg,rfId:ef,viewport:ep,onViewportChange:eh,nodesDraggable:em}){let ey,eb,ex,eS;return tp(e),tp(t),h(),(0,i.useRef)(!1),(0,i.useEffect)(()=>{},[]),ey=eo(),eb=(0,i.useRef)(!1),(0,i.useEffect)(()=>{!eb.current&&ey.viewportInitialized&&n&&(setTimeout(()=>n(ey),1),eb.current=!0)},[n,ey.viewportInitialized]),ex=p(ts),eS=h(),(0,i.useEffect)(()=>{ep&&(ex?.(ep),eS.setState({transform:[ep.x,ep.y,ep.zoom]}))},[ep,ex]),(0,a.jsx)(eR,{onPaneClick:X,onPaneMouseEnter:K,onPaneMouseMove:W,onPaneMouseLeave:Y,onPaneContextMenu:U,onPaneScroll:Q,paneClickDistance:q,deleteKeyCode:P,selectionKeyCode:w,selectionOnDrag:C,selectionMode:E,onSelectionStart:m,onSelectionEnd:y,multiSelectionKeyCode:N,panActivationKeyCode:k,zoomActivationKeyCode:M,elementsSelectable:j,zoomOnScroll:z,zoomOnPinch:B,zoomOnDoubleClick:F,panOnScroll:V,panOnScrollSpeed:$,panOnScrollMode:H,panOnDrag:T,autoPanOnSelection:Z,defaultViewport:R,translateExtent:A,minZoom:O,maxZoom:I,onSelectionContextMenu:f,preventScrolling:_,noDragClassName:es,noWheelClassName:ed,noPanClassName:ec,disableKeyboardA11y:eu,onViewportChange:eh,isControlledViewport:!!ep,children:(0,a.jsxs)(tl,{children:[(0,a.jsx)(ta,{edgeTypes:t,onEdgeClick:r,onEdgeDoubleClick:s,onReconnect:ea,onReconnectStart:ei,onReconnectEnd:el,onlyRenderVisibleElements:D,onEdgeContextMenu:J,onEdgeMouseEnter:ee,onEdgeMouseMove:et,onEdgeMouseLeave:en,reconnectRadius:er,defaultMarkerColor:L,noPanClassName:ec,disableKeyboardA11y:eu,rfId:ef}),(0,a.jsx)(tu,{style:x,type:b,component:S,containerStyle:v}),(0,a.jsx)("div",{className:"react-flow__edgelabel-renderer"}),(0,a.jsx)(eL,{nodeTypes:e,onNodeClick:o,onNodeDoubleClick:l,onNodeMouseEnter:d,onNodeMouseMove:c,onNodeMouseLeave:u,onNodeContextMenu:g,nodeClickDistance:G,onlyRenderVisibleElements:D,noPanClassName:ec,noDragClassName:es,disableKeyboardA11y:eu,nodeExtent:eg,rfId:ef,nodesDraggable:em}),(0,a.jsx)("div",{className:"react-flow__viewport-portal"})]})})}th.displayName="GraphView";let tm=(0,i.memo)(th),ty=(0,s.kr)("React Flow","https://reactflow.dev/"),tb=({nodes:e,edges:t,defaultNodes:n,defaultEdges:o,width:r,height:a,fitView:i,fitViewOptions:l,minZoom:d=.5,maxZoom:c=2,nodeOrigin:u,nodeExtent:g,zIndexMode:f="basic"}={})=>{let p=new Map,h=new Map,m=new Map,y=new Map,b=o??t??[],x=n??e??[],S=u??[0,0],v=g??s.ZO;(0,s.qn)(m,y,b);let{nodesInitialized:w}=(0,s.bi)(x,p,h,{nodeOrigin:S,nodeExtent:v,zIndexMode:f}),C=[0,0,1];if(i&&r&&a){let e=(0,s.aZ)(p,{filter:e=>!!((e.width||e.initialWidth)&&(e.height||e.initialHeight))}),{x:t,y:n,zoom:o}=(0,s.R4)(e,r,a,d,c,l?.padding??.1);C=[t,n,o]}return{rfId:"1",width:r??0,height:a??0,transform:C,nodes:x,nodesInitialized:w,nodeLookup:p,parentLookup:h,edges:b,edgeLookup:y,connectionLookup:m,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:void 0!==n,hasDefaultEdges:void 0!==o,panZoom:null,minZoom:d,maxZoom:c,translateExtent:s.ZO,nodeExtent:v,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:s.WZ.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:S,nodeDragThreshold:1,connectionDragThreshold:1,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesReconnectable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,elevateEdgesOnSelect:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,fitViewQueued:i??!1,fitViewOptions:l,fitViewResolver:null,connection:{...s.bK},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:ty,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:s.tM,zIndexMode:f,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}};function tx({initialNodes:e,initialEdges:t,defaultNodes:n,defaultEdges:o,initialWidth:r,initialHeight:l,initialMinZoom:c,initialMaxZoom:u,initialFitViewOptions:f,fitView:p,nodeOrigin:h,nodeExtent:m,zIndexMode:y,children:b}){let[x]=(0,i.useState)(()=>(({nodes:e,edges:t,defaultNodes:n,defaultEdges:o,width:r,height:a,fitView:i,fitViewOptions:l,minZoom:c,maxZoom:u,nodeOrigin:g,nodeExtent:f,zIndexMode:p})=>(0,d.h)((d,h)=>{async function m(){let{nodeLookup:e,panZoom:t,fitViewOptions:n,fitViewResolver:o,width:r,height:a,minZoom:i,maxZoom:l}=h();t&&(await (0,s.IO)({nodes:e,width:r,height:a,panZoom:t,minZoom:i,maxZoom:l},n),o?.resolve(!0),d({fitViewResolver:null}))}return{...tb({nodes:e,edges:t,width:r,height:a,fitView:i,fitViewOptions:l,minZoom:c,maxZoom:u,nodeOrigin:g,nodeExtent:f,defaultNodes:n,defaultEdges:o,zIndexMode:p}),setNodes:e=>{let{nodeLookup:t,parentLookup:n,nodeOrigin:o,elevateNodesOnSelect:r,fitViewQueued:a,zIndexMode:i,nodesSelectionActive:l}=h(),{nodesInitialized:c,hasSelectedNodes:u}=(0,s.bi)(e,t,n,{nodeOrigin:o,nodeExtent:f,elevateNodesOnSelect:r,checkEquality:!0,zIndexMode:i}),g=l&&u;a&&c?(m(),d({nodes:e,nodesInitialized:c,fitViewQueued:!1,fitViewOptions:void 0,nodesSelectionActive:g})):d({nodes:e,nodesInitialized:c,nodesSelectionActive:g})},setEdges:e=>{let{connectionLookup:t,edgeLookup:n}=h();(0,s.qn)(t,n,e),d({edges:e})},setDefaultNodesAndEdges:(e,t)=>{if(e){let{setNodes:t}=h();t(e),d({hasDefaultNodes:!0})}if(t){let{setEdges:e}=h();e(t),d({hasDefaultEdges:!0})}},updateNodeInternals:e=>{let{triggerNodeChanges:t,nodeLookup:n,parentLookup:o,domNode:r,nodeOrigin:a,nodeExtent:i,debug:l,fitViewQueued:c,zIndexMode:u}=h(),{changes:g,updatedInternals:f}=(0,s.uL)(e,n,o,r,a,i,u);f&&((0,s.vS)(n,o,{nodeOrigin:a,nodeExtent:i,zIndexMode:u}),c?(m(),d({fitViewQueued:!1,fitViewOptions:void 0})):d({}),g?.length>0&&(l&&console.log("React Flow: trigger node changes",g),t?.(g)))},updateNodePositions:(e,t=!1)=>{let n=[],o=[],{nodeLookup:r,triggerNodeChanges:a,connection:i,updateConnection:l,onNodesChangeMiddlewareMap:d}=h();for(let[a,d]of e){let e=r.get(a),c=!!(e?.expandParent&&e?.parentId&&d?.position),u={id:a,type:"position",position:c?{x:Math.max(0,d.position.x),y:Math.max(0,d.position.y)}:d.position,dragging:t};if(e&&i.inProgress&&i.fromNode.id===e.id){let t=(0,s.M_)(e,i.fromHandle,s.yX.Left,!0);l({...i,from:t})}c&&e.parentId&&n.push({id:a,parentId:e.parentId,rect:{...d.internals.positionAbsolute,width:d.measured.width??0,height:d.measured.height??0}}),o.push(u)}if(n.length>0){let{parentLookup:e,nodeOrigin:t}=h(),a=(0,s.r8)(n,r,e,t);o.push(...a)}for(let e of d.values())o=e(o);a(o)},triggerNodeChanges:e=>{let{onNodesChange:t,setNodes:n,nodes:o,hasDefaultNodes:r,debug:a}=h();e?.length&&(r&&n(Z(e,o)),a&&console.log("React Flow: trigger node changes",e),t?.(e))},triggerEdgeChanges:e=>{let{onEdgesChange:t,setEdges:n,edges:o,hasDefaultEdges:r,debug:a}=h();e?.length&&(r&&n(Z(e,o)),a&&console.log("React Flow: trigger edge changes",e),t?.(e))},addSelectedNodes:e=>{let{multiSelectionActive:t,edgeLookup:n,nodeLookup:o,triggerNodeChanges:r,triggerEdgeChanges:a}=h();t?r(e.map(e=>X(e,!0))):(r(K(o,new Set([...e]),!0)),a(K(n)))},addSelectedEdges:e=>{let{multiSelectionActive:t,edgeLookup:n,nodeLookup:o,triggerNodeChanges:r,triggerEdgeChanges:a}=h();t?a(e.map(e=>X(e,!0))):(a(K(n,new Set([...e]))),r(K(o,new Set,!0)))},unselectNodesAndEdges:({nodes:e,edges:t}={})=>{let{edges:n,nodes:o,nodeLookup:r,triggerNodeChanges:a,triggerEdgeChanges:i}=h(),l=[];for(let t of e||o){if(!t.selected)continue;let e=r.get(t.id);e&&(e.selected=!1),l.push(X(t.id,!1))}let s=[];for(let e of t||n)e.selected&&s.push(X(e.id,!1));a(l),i(s)},setMinZoom:e=>{let{panZoom:t,maxZoom:n}=h();t?.setScaleExtent([e,n]),d({minZoom:e})},setMaxZoom:e=>{let{panZoom:t,minZoom:n}=h();t?.setScaleExtent([n,e]),d({maxZoom:e})},setTranslateExtent:e=>{h().panZoom?.setTranslateExtent(e),d({translateExtent:e})},resetSelectedElements:()=>{let{edges:e,nodes:t,triggerNodeChanges:n,triggerEdgeChanges:o,elementsSelectable:r}=h();if(!r)return;let a=t.reduce((e,t)=>t.selected?[...e,X(t.id,!1)]:e,[]),i=e.reduce((e,t)=>t.selected?[...e,X(t.id,!1)]:e,[]);n(a),o(i)},setNodeExtent:e=>{let{nodes:t,nodeLookup:n,parentLookup:o,nodeOrigin:r,elevateNodesOnSelect:a,nodeExtent:i,zIndexMode:l}=h();(e[0][0]!==i[0][0]||e[0][1]!==i[0][1]||e[1][0]!==i[1][0]||e[1][1]!==i[1][1])&&((0,s.bi)(t,n,o,{nodeOrigin:r,nodeExtent:e,elevateNodesOnSelect:a,checkEquality:!1,zIndexMode:l}),d({nodeExtent:e}))},panBy:e=>{let{transform:t,width:n,height:o,panZoom:r,translateExtent:a}=h();return(0,s.No)({delta:e,panZoom:r,transform:t,translateExtent:a,width:n,height:o})},setCenter:async(e,t,n)=>{let{width:o,height:r,maxZoom:a,panZoom:i}=h();if(!i)return!1;let l=void 0!==n?.zoom?n.zoom:a;return await i.setViewport({x:o/2-e*l,y:r/2-t*l,zoom:l},{duration:n?.duration,ease:n?.ease,interpolate:n?.interpolate}),!0},cancelConnection:()=>{d({connection:{...s.bK}})},updateConnection:e=>{d({connection:e})},reset:()=>d({...tb()})}},Object.is))({nodes:e,edges:t,defaultNodes:n,defaultEdges:o,width:r,height:l,fitView:p,minZoom:c,maxZoom:u,fitViewOptions:f,nodeOrigin:h,nodeExtent:m,zIndexMode:y}));return(0,a.jsx)(g,{value:x,children:(0,a.jsx)(et,{children:(0,a.jsx)(ev,{children:b})})})}function tS({children:e,nodes:t,edges:n,defaultNodes:o,defaultEdges:r,width:l,height:s,fitView:d,fitViewOptions:c,minZoom:g,maxZoom:f,nodeOrigin:p,nodeExtent:h,zIndexMode:m}){return(0,i.useContext)(u)?(0,a.jsx)(a.Fragment,{children:e}):(0,a.jsx)(tx,{initialNodes:t,initialEdges:n,defaultNodes:o,defaultEdges:r,initialWidth:l,initialHeight:s,fitView:d,initialFitViewOptions:c,initialMinZoom:g,initialMaxZoom:f,nodeOrigin:p,nodeExtent:h,zIndexMode:m,children:e})}let tv={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};var tw=q(function({nodes:e,edges:t,defaultNodes:n,defaultEdges:o,className:r,nodeTypes:d,edgeTypes:c,onNodeClick:u,onEdgeClick:g,onInit:f,onMove:p,onMoveStart:h,onMoveEnd:m,onConnect:y,onConnectStart:b,onConnectEnd:x,onClickConnectStart:S,onClickConnectEnd:v,onNodeMouseEnter:w,onNodeMouseMove:E,onNodeMouseLeave:N,onNodeContextMenu:M,onNodeDoubleClick:P,onNodeDragStart:D,onNodeDrag:j,onNodeDragStop:R,onNodesDelete:_,onEdgesDelete:L,onDelete:z,onSelectionChange:$,onSelectionDragStart:H,onSelectionDrag:F,onSelectionDragStop:T,onSelectionContextMenu:Z,onSelectionStart:X,onSelectionEnd:K,onBeforeDelete:W,connectionMode:Y,connectionLineType:Q=s.Do.Bezier,connectionLineStyle:U,connectionLineComponent:q,connectionLineContainerStyle:G,deleteKeyCode:J="Backspace",selectionKeyCode:ee="Shift",selectionOnDrag:et=!1,selectionMode:en=s.Qc.Full,panActivationKeyCode:eo="Space",multiSelectionKeyCode:er=(0,s.Ue)()?"Meta":"Control",zoomActivationKeyCode:ea=(0,s.Ue)()?"Meta":"Control",snapToGrid:ei,snapGrid:el,onlyRenderVisibleElements:es=!1,selectNodesOnDrag:ed,nodesDraggable:ec,autoPanOnNodeFocus:eu,nodesConnectable:eg,nodesFocusable:ef,nodeOrigin:ep=O,edgesFocusable:eh,edgesReconnectable:em,elementsSelectable:ey=!0,defaultViewport:eb=I,minZoom:ex=.5,maxZoom:eS=2,translateExtent:ev=s.ZO,preventScrolling:ew=!0,nodeExtent:eC,defaultMarkerColor:eE="#b1b1b7",zoomOnScroll:eN=!0,zoomOnPinch:ek=!0,panOnScroll:eM=!1,panOnScrollSpeed:eP=.5,panOnScrollMode:eD=s.ny.Free,zoomOnDoubleClick:ej=!0,panOnDrag:eR=!0,onPaneClick:eA,onPaneMouseEnter:eO,onPaneMouseMove:eI,onPaneMouseLeave:e_,onPaneScroll:eL,onPaneContextMenu:ez,paneClickDistance:eB=1,nodeClickDistance:eV=0,children:e$,onReconnect:eH,onReconnectStart:eF,onReconnectEnd:eT,onEdgeContextMenu:eZ,onEdgeDoubleClick:eX,onEdgeMouseEnter:eK,onEdgeMouseMove:eW,onEdgeMouseLeave:eY,reconnectRadius:eQ=10,onNodesChange:eU,onEdgesChange:eq,noDragClassName:eG="nodrag",noWheelClassName:eJ="nowheel",noPanClassName:e0="nopan",fitView:e1,fitViewOptions:e3,connectOnClick:e2,attributionPosition:e4,proOptions:e5,defaultEdgeOptions:e6,elevateNodesOnSelect:e7=!0,elevateEdgesOnSelect:e8=!1,disableKeyboardA11y:e9=!1,autoPanOnConnect:te,autoPanOnNodeDrag:tt,autoPanOnSelection:tn=!0,autoPanSpeed:to,connectionRadius:tr,isValidConnection:ta,onError:ti,style:tl,id:ts,nodeDragThreshold:td,connectionDragThreshold:tc,viewport:tu,onViewportChange:tg,width:tf,height:tp,colorMode:th="light",debug:ty,onScroll:tb,ariaLabelConfig:tx,zIndexMode:tw="basic",...tC},tE){let tN=ts||"1",tk=function(e){let[t,n]=(0,i.useState)("system"===e?null:e);return(0,i.useEffect)(()=>{if("system"!==e)return void n(e);let t=V(),o=()=>n(t?.matches?"dark":"light");return o(),t?.addEventListener("change",o),()=>{t?.removeEventListener("change",o)}},[e]),null!==t?t:V()?.matches?"dark":"light"}(th),tM=(0,i.useCallback)(e=>{e.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),tb?.(e)},[tb]);return(0,a.jsx)("div",{"data-testid":"rf__wrapper",...tC,onScroll:tM,style:{...tl,...tv},ref:tE,className:(0,l.A)(["react-flow",r,tk]),id:ts,role:"application",children:(0,a.jsxs)(tS,{nodes:e,edges:t,width:tf,height:tp,fitView:e1,fitViewOptions:e3,minZoom:ex,maxZoom:eS,nodeOrigin:ep,nodeExtent:eC,zIndexMode:tw,children:[(0,a.jsx)(B,{nodes:e,edges:t,defaultNodes:n,defaultEdges:o,onConnect:y,onConnectStart:b,onConnectEnd:x,onClickConnectStart:S,onClickConnectEnd:v,nodesDraggable:ec,autoPanOnNodeFocus:eu,nodesConnectable:eg,nodesFocusable:ef,edgesFocusable:eh,edgesReconnectable:em,elementsSelectable:ey,elevateNodesOnSelect:e7,elevateEdgesOnSelect:e8,minZoom:ex,maxZoom:eS,nodeExtent:eC,onNodesChange:eU,onEdgesChange:eq,snapToGrid:ei,snapGrid:el,connectionMode:Y,translateExtent:ev,connectOnClick:e2,defaultEdgeOptions:e6,fitView:e1,fitViewOptions:e3,onNodesDelete:_,onEdgesDelete:L,onDelete:z,onNodeDragStart:D,onNodeDrag:j,onNodeDragStop:R,onSelectionDrag:F,onSelectionDragStart:H,onSelectionDragStop:T,onMove:p,onMoveStart:h,onMoveEnd:m,noPanClassName:e0,nodeOrigin:ep,rfId:tN,autoPanOnConnect:te,autoPanOnNodeDrag:tt,autoPanSpeed:to,onError:ti,connectionRadius:tr,isValidConnection:ta,selectNodesOnDrag:ed,nodeDragThreshold:td,connectionDragThreshold:tc,onBeforeDelete:W,debug:ty,ariaLabelConfig:tx,zIndexMode:tw}),(0,a.jsx)(tm,{onInit:f,onNodeClick:u,onEdgeClick:g,onNodeMouseEnter:w,onNodeMouseMove:E,onNodeMouseLeave:N,onNodeContextMenu:M,onNodeDoubleClick:P,nodeTypes:d,edgeTypes:c,connectionLineType:Q,connectionLineStyle:U,connectionLineComponent:q,connectionLineContainerStyle:G,selectionKeyCode:ee,selectionOnDrag:et,selectionMode:en,deleteKeyCode:J,multiSelectionKeyCode:er,panActivationKeyCode:eo,zoomActivationKeyCode:ea,onlyRenderVisibleElements:es,defaultViewport:eb,translateExtent:ev,minZoom:ex,maxZoom:eS,preventScrolling:ew,zoomOnScroll:eN,zoomOnPinch:ek,zoomOnDoubleClick:ej,panOnScroll:eM,panOnScrollSpeed:eP,panOnScrollMode:eD,panOnDrag:eR,autoPanOnSelection:tn,onPaneClick:eA,onPaneMouseEnter:eO,onPaneMouseMove:eI,onPaneMouseLeave:e_,onPaneScroll:eL,onPaneContextMenu:ez,paneClickDistance:eB,nodeClickDistance:eV,onSelectionContextMenu:Z,onSelectionStart:X,onSelectionEnd:K,onReconnect:eH,onReconnectStart:eF,onReconnectEnd:eT,onEdgeContextMenu:eZ,onEdgeDoubleClick:eX,onEdgeMouseEnter:eK,onEdgeMouseMove:eW,onEdgeMouseLeave:eY,reconnectRadius:eQ,defaultMarkerColor:eE,noDragClassName:eG,noWheelClassName:eJ,noPanClassName:e0,rfId:tN,disableKeyboardA11y:e9,nodeExtent:eC,viewport:tu,onViewportChange:tg,nodesDraggable:ec}),(0,a.jsx)(A,{onSelectionChange:$}),e$,(0,a.jsx)(k,{proOptions:e5,position:e4}),(0,a.jsx)(C,{rfId:tN,disableKeyboardA11y:e9})]})})});function tC(){return(0,a.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:(0,a.jsx)("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function tE(){return(0,a.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:(0,a.jsx)("path",{d:"M0 0h32v4.2H0z"})})}function tN(){return(0,a.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:(0,a.jsx)("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"})})}function tk(){return(0,a.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:(0,a.jsx)("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"})})}function tM(){return(0,a.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:(0,a.jsx)("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"})})}function tP({children:e,className:t,...n}){return(0,a.jsx)("button",{type:"button",className:(0,l.A)(["react-flow__controls-button",t]),...n,children:e})}s.xc.error014(),(o=r||(r={})).Lines="lines",o.Dots="dots",o.Cross="cross",r.Dots,r.Lines,r.Cross;let tD=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom,ariaLabelConfig:e.ariaLabelConfig});function tj({style:e,showZoom:t=!0,showFitView:n=!0,showInteractive:o=!0,fitViewOptions:r,onZoomIn:i,onZoomOut:s,onFitView:d,onInteractiveChange:u,className:g,children:f,position:m="bottom-left",orientation:y="vertical","aria-label":b}){let x=h(),{isInteractive:S,minZoomReached:v,maxZoomReached:w,ariaLabelConfig:C}=p(tD,c.x),{zoomIn:N,zoomOut:k,fitView:M}=eo();return(0,a.jsxs)(E,{className:(0,l.A)(["react-flow__controls","horizontal"===y?"horizontal":"vertical",g]),position:m,style:e,"data-testid":"rf__controls","aria-label":b??C["controls.ariaLabel"],children:[t&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(tP,{onClick:()=>{N(),i?.()},className:"react-flow__controls-zoomin",title:C["controls.zoomIn.ariaLabel"],"aria-label":C["controls.zoomIn.ariaLabel"],disabled:w,children:(0,a.jsx)(tC,{})}),(0,a.jsx)(tP,{onClick:()=>{k(),s?.()},className:"react-flow__controls-zoomout",title:C["controls.zoomOut.ariaLabel"],"aria-label":C["controls.zoomOut.ariaLabel"],disabled:v,children:(0,a.jsx)(tE,{})})]}),n&&(0,a.jsx)(tP,{className:"react-flow__controls-fitview",onClick:()=>{M(r),d?.()},title:C["controls.fitView.ariaLabel"],"aria-label":C["controls.fitView.ariaLabel"],children:(0,a.jsx)(tN,{})}),o&&(0,a.jsx)(tP,{className:"react-flow__controls-interactive",onClick:()=>{x.setState({nodesDraggable:!S,nodesConnectable:!S,elementsSelectable:!S}),u?.(!S)},title:C["controls.interactive.ariaLabel"],"aria-label":C["controls.interactive.ariaLabel"],children:S?(0,a.jsx)(tM,{}):(0,a.jsx)(tk,{})}),f]})}tj.displayName="Controls";let tR=(0,i.memo)(tj),tA=(0,i.memo)(function({id:e,x:t,y:n,width:o,height:r,style:i,color:s,strokeColor:d,strokeWidth:c,className:u,borderRadius:g,shapeRendering:f,selected:p,onClick:h}){let{background:m,backgroundColor:y}=i||{};return(0,a.jsx)("rect",{className:(0,l.A)(["react-flow__minimap-node",{selected:p},u]),x:t,y:n,rx:g,ry:g,width:o,height:r,style:{fill:s||m||y,stroke:d,strokeWidth:c},shapeRendering:f,onClick:h?t=>h(t,e):void 0})}),tO=e=>e.nodes.map(e=>e.id),tI=e=>e instanceof Function?e:()=>e,t_=(0,i.memo)(function({id:e,nodeColorFunc:t,nodeStrokeColorFunc:n,nodeClassNameFunc:o,nodeBorderRadius:r,nodeStrokeWidth:i,shapeRendering:l,NodeComponent:d,onClick:u}){let{node:g,x:f,y:h,width:m,height:y}=p(t=>{let n=t.nodeLookup.get(e);if(!n)return{node:void 0,x:0,y:0,width:0,height:0};let o=n.internals.userNode,{x:r,y:a}=n.internals.positionAbsolute,{width:i,height:l}=(0,s.uD)(o);return{node:o,x:r,y:a,width:i,height:l}},c.x);return g&&!g.hidden&&(0,s.QE)(g)?(0,a.jsx)(d,{x:f,y:h,width:m,height:y,style:g.style,selected:!!g.selected,className:o(g),color:t(g),borderRadius:r,strokeColor:n(g),strokeWidth:i,shapeRendering:l,onClick:u,id:g.id}):null});s.xN.Line,s.xN.Handle}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3521],{63521:(e,t,r)=>{r.r(t),r.d(t,{default:()=>g});var o=r(95155),s=r(12115),a=r(14051),n=r.n(a),l=r(81750),i=r(6793);r(53255);var d=r(88105),c=r(8247);function p({data:e}){let{label:t,color:r,imageUrl:a,textIcon:n,active:d}=e,[u,h]=(0,s.useState)(!1);return(0,o.jsxs)("div",{className:"flex items-center gap-2.5 px-3.5 py-2 rounded-lg border-2 transition-all duration-300 bg-bg",style:{borderColor:d?r:"var(--color-border)",boxShadow:d?`0 0 18px ${r}50`:"none",minWidth:"140px"},children:[(0,o.jsx)(l.h7,{type:"target",position:i.yX.Top,id:"top",className:"!bg-transparent !border-0 !w-0 !h-0"}),(0,o.jsx)(l.h7,{type:"target",position:i.yX.Bottom,id:"bottom",className:"!bg-transparent !border-0 !w-0 !h-0"}),(0,o.jsx)(l.h7,{type:"target",position:i.yX.Left,id:"left",className:"!bg-transparent !border-0 !w-0 !h-0"}),(0,o.jsx)(l.h7,{type:"target",position:i.yX.Right,id:"right",className:"!bg-transparent !border-0 !w-0 !h-0"}),(0,o.jsx)(l.h7,{type:"source",position:i.yX.Top,id:"s-top",className:"!bg-transparent !border-0 !w-0 !h-0"}),(0,o.jsx)(l.h7,{type:"source",position:i.yX.Bottom,id:"s-bottom",className:"!bg-transparent !border-0 !w-0 !h-0"}),(0,o.jsx)(l.h7,{type:"source",position:i.yX.Left,id:"s-left",className:"!bg-transparent !border-0 !w-0 !h-0"}),(0,o.jsx)(l.h7,{type:"source",position:i.yX.Right,id:"s-right",className:"!bg-transparent !border-0 !w-0 !h-0"}),(0,o.jsx)("div",{className:"w-5 h-5 rounded flex items-center justify-center shrink-0",style:{backgroundColor:`${r}15`},children:a&&!u?(0,o.jsx)("img",{src:a,alt:t,className:"w-3.5 h-3.5 rounded-sm object-contain",loading:"lazy",decoding:"async",onError:()=>{let e=a?.match(/^\/providers\/([^/]+)\.png$/i);e&&(0,c.Kw)(e[1]),h(!0)}}):(0,o.jsx)("span",{className:"text-[9px] font-bold",style:{color:r},children:n})}),(0,o.jsx)("span",{className:"text-sm font-semibold truncate",style:{color:d?r:"var(--color-text)"},children:t}),d&&(0,o.jsxs)("span",{className:"relative flex h-2 w-2 shrink-0 ml-auto",children:[(0,o.jsx)("span",{className:"animate-ping absolute inline-flex h-full w-full rounded-full opacity-75",style:{backgroundColor:r}}),(0,o.jsx)("span",{className:"relative inline-flex rounded-full h-2 w-2",style:{backgroundColor:r}})]})]})}function u({data:e}){let{label:t,active:r,radialRotation:s=0,radialHandle:a="left"}=e;return(0,o.jsx)("div",{className:"relative h-7 w-40",children:(0,o.jsxs)("div",{className:`absolute left-1/2 top-1/2 flex w-max max-w-40 items-center gap-1.5 rounded-full border px-2.5 py-0.5 font-mono text-[10px] tracking-tight transition-all duration-300 ${r?"bg-cyan-950/70 border-cyan-400 text-cyan-200 shadow-[0_0_14px_rgba(34,211,238,0.75)] font-bold animate-pulse z-20 scale-105":"bg-bg-subtle/95 border-border/80 text-text-muted hover:border-primary/50 hover:text-text shadow-xs"}`,style:{transform:`translate(-50%, -50%) rotate(${s}deg)`,transformOrigin:"center"},children:[(0,o.jsx)(l.h7,{type:"target",position:"right"===a?i.yX.Right:i.yX.Left,id:"radial",className:"!bg-transparent !border-0 !w-0 !h-0"}),(0,o.jsx)("span",{className:"relative flex h-1.5 w-1.5 shrink-0",children:r?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("span",{className:"animate-ping absolute inline-flex h-full w-full rounded-full bg-cyan-400 opacity-80"}),(0,o.jsx)("span",{className:"relative inline-flex rounded-full h-1.5 w-1.5 bg-cyan-400"})]}):(0,o.jsx)("span",{className:"relative inline-flex rounded-full h-1.5 w-1.5 bg-text-muted/40"})}),(0,o.jsx)("span",{className:"truncate",title:t,children:t})]})})}function h({data:e}){let t=(e.activeCount||0)>0;return(0,o.jsxs)("div",{className:`relative z-[1] flex items-center justify-center px-5 py-3 rounded-xl border-2 min-w-[130px] ${t?"topology-router-core border-yellow-300 bg-gradient-to-br from-primary/30 via-yellow-400/20 to-cyan-400/25":"border-primary bg-primary/5 shadow-md"}`,children:[(0,o.jsx)(l.h7,{type:"source",position:i.yX.Top,id:"top",className:"!bg-transparent !border-0 !w-0 !h-0"}),(0,o.jsx)(l.h7,{type:"source",position:i.yX.Bottom,id:"bottom",className:"!bg-transparent !border-0 !w-0 !h-0"}),(0,o.jsx)(l.h7,{type:"source",position:i.yX.Left,id:"left",className:"!bg-transparent !border-0 !w-0 !h-0"}),(0,o.jsx)(l.h7,{type:"source",position:i.yX.Right,id:"right",className:"!bg-transparent !border-0 !w-0 !h-0"}),(0,o.jsx)("img",{src:"/logo.png",alt:"EzRouter",className:`w-6 h-6 mr-2 ${t?"topology-router-icon":""}`,loading:"lazy",decoding:"async",onError:e=>{e.target.onerror=null,e.target.src="/favicon.svg"}}),(0,o.jsx)("span",{className:`text-sm font-bold ${t?"topology-router-label text-yellow-300":"text-primary"}`,children:"EzRouter"}),e.activeCount>0&&(0,o.jsx)("span",{className:"ml-2 px-1.5 py-0.5 rounded-full bg-yellow-400 text-black text-xs font-bold topology-router-badge",children:e.activeCount})]})}function m({id:e,sourceX:t,sourceY:r,targetX:s,targetY:a,sourcePosition:n,targetPosition:d,style:c={},data:p}){let[u]=(0,i.Fp)({sourceX:t,sourceY:r,sourcePosition:n,targetX:s,targetY:a,targetPosition:d}),h=!!p?.active,x=c.stroke||"var(--color-border)",b=`topo-electric-${e}`;return h?(0,o.jsxs)("g",{className:"topology-edge-electric",children:[(0,o.jsx)("defs",{children:(0,o.jsxs)("filter",{id:b,x:"-40%",y:"-40%",width:"180%",height:"180%",children:[(0,o.jsx)("feTurbulence",{type:"fractalNoise",baseFrequency:"0.9",numOctaves:"2",seed:"2",result:"noise",children:(0,o.jsx)("animate",{attributeName:"baseFrequency",values:"0.8;1.4;0.8",dur:"0.25s",repeatCount:"indefinite"})}),(0,o.jsx)("feDisplacementMap",{in:"SourceGraphic",in2:"noise",scale:"3.5",xChannelSelector:"R",yChannelSelector:"G"})]})}),(0,o.jsx)("path",{d:u,fill:"none",stroke:"#22d3ee",strokeWidth:10,strokeOpacity:.35,strokeLinecap:"round",filter:`url(#${b})`,className:"topology-edge-halo"}),(0,o.jsx)("path",{d:u,fill:"none",stroke:"#4ade80",strokeWidth:5,strokeOpacity:.85,strokeLinecap:"round",filter:`url(#${b})`,className:"topology-edge-plasma"}),(0,o.jsx)(l.tE,{id:e,path:u,style:{stroke:"#f8fafc",strokeWidth:2.2,opacity:1},className:"topology-edge-kame"}),Array.from({length:6},(t,r)=>(0,o.jsx)("circle",{r:r%2==0?4:2.5,fill:r%3==0?"#fde047":r%3==1?"#67e8f9":"#fff",opacity:.95,style:{filter:"drop-shadow(0 0 4px #22d3ee)"},children:(0,o.jsx)("animateMotion",{dur:`${.4+.08*r}s`,repeatCount:"indefinite",path:u,begin:`${.09*r}s`})},`${e}-p-${r}`)),Array.from({length:5},(t,r)=>(0,o.jsxs)("circle",{r:1.8,fill:"#e0f2fe",opacity:0,children:[(0,o.jsx)("animate",{attributeName:"opacity",values:"0;1;0;0;1;0",dur:`${.35+r%3*.1}s`,begin:`${.07*r}s`,repeatCount:"indefinite"}),(0,o.jsx)("animateMotion",{dur:`${.28+.05*r}s`,repeatCount:"indefinite",path:u,begin:`${.11*r}s`})]},`${e}-s-${r}`))]}):(0,o.jsx)(l.tE,{id:e,path:u,style:{...c,stroke:x}})}p.propTypes={data:n().object.isRequired},u.propTypes={data:n().object.isRequired},h.propTypes={data:n().object.isRequired},m.propTypes={id:n().string,sourceX:n().number,sourceY:n().number,targetX:n().number,targetY:n().number,sourcePosition:n().string,targetPosition:n().string,style:n().object,data:n().object};let x={provider:p,router:h,model:u},b={topology:m};function g({providers:e=[],activeRequests:t=[],lastProvider:r="",errorProvider:a=""}){let n=(0,s.useMemo)(()=>(t||[]).map(e=>`${e.provider}:${e.model}`).sort().join(","),[t]),i=r?.toLowerCase()||"",p=a?.toLowerCase()||"",u=(0,s.useMemo)(()=>{let e=new Set,r=new Set;return(t||[]).forEach(t=>{if(t.provider&&e.add(t.provider.toLowerCase()),t.model){let e=t.model.toLowerCase();r.add(e),e.includes("/")&&r.add(e.split("/").pop())}}),{pSet:e,mSet:r}},[n]),h=(0,s.useMemo)(()=>new Set(i?[i]:[]),[i]),m=(0,s.useMemo)(()=>new Set(p?[p]:[]),[p]),f=(0,s.useRef)({}),[y,v]=(0,s.useState)(0);(0,s.useEffect)(()=>{let e=f.current,t=Date.now();for(let r of u.pSet)e[r]||(e[r]=t);for(let t of Object.keys(e))u.pSet.has(t)||delete e[t]},[u]),(0,s.useEffect)(()=>{if(0===u.pSet.size)return;let e=setInterval(()=>v(e=>e+1),1e3);return()=>clearInterval(e)},[u]);let j=(0,s.useMemo)(()=>{let e=Date.now(),t=new Set;for(let r of u.pSet){let o=f.current[r];(!o||e-o<6e4)&&t.add(r)}return t},[u,y]),w=u.mSet,[N,k]=(0,s.useState)("auto"),[M,$]=(0,s.useState)("providers"),{nodes:C,edges:S}=(0,s.useMemo)(()=>(function(e,t,r,o,s,a="on"){let n=e.length;if(0===n)return{nodes:[{id:"router",type:"router",position:{x:0,y:0},data:{activeCount:t.size},draggable:!1}],edges:[]};let l=Math.max(185,125*n/(2*Math.PI)),i=Math.max(145,.72*l),p=[],u=[];p.push({id:"router",type:"router",position:{x:-60,y:-22},data:{activeCount:t.size},draggable:!1});let h=(e,t,r)=>r?{stroke:"#ef4444",strokeWidth:2.5,opacity:.9}:e?{stroke:"#22d3ee",strokeWidth:3.5,opacity:1}:t?{stroke:"#f59e0b",strokeWidth:2,opacity:.7}:{stroke:"var(--color-border)",strokeWidth:1,opacity:.3};return e.forEach((e,m)=>{var x,b;let g,f,y=(x=e.provider,d.Q2[x]||{color:"#6b7280",name:x}),v=e.provider?.toLowerCase(),j=e.models||[],w=j.some(e=>{let t=e.toLowerCase();return r.has(t)||r.has(`${v}/${t}`)}),N=t.has(v)||w,k=!N&&o.has(v),M=!N&&s.has(v),$=`provider-${e.provider}`,C=-Math.PI/2+2*Math.PI*m/n,S=l*Math.cos(C),I=i*Math.sin(C);Math.abs(C+Math.PI/2)<Math.PI/4||Math.abs(C-3*Math.PI/2)<Math.PI/4?(g="top",f="bottom"):Math.abs(C-Math.PI/2)<Math.PI/4?(g="bottom",f="top"):S>0?(g="right",f="left"):(g="left",f="right"),p.push({id:$,type:"provider",position:{x:S-75,y:I-17},data:{label:(y.name!==e.provider?y.name:null)||e.nodeName||e.name||e.provider,color:y.color||"#6b7280",imageUrl:(b=e.provider,(0,c.HY)(b)),textIcon:y.textIcon||(e.provider||"?").slice(0,2).toUpperCase(),active:N},draggable:!1}),u.push({id:`e-${$}`,type:"topology",source:"router",sourceHandle:g,target:$,targetHandle:f,animated:!1,data:{active:N},style:h(N,k,M)});let P=[];if((P="on"===a?j:"auto"===a?j.filter(e=>{let t=e.toLowerCase();return r.has(t)||r.has(`${v}/${t}`)}):[]).length>0){let t=P.length,o=t>9?3:t>3?2:1;P.forEach((s,a)=>{let d=`model-${e.provider}-${s}`,c=s.toLowerCase(),m=r.has(c)||r.has(`${v}/${c}`),x=a%o,b=Math.floor(a/o),g=Math.ceil((t-x)/o),f=b-(g-1)/2,j=2*Math.PI/n,w=C+f*(g>1?.68*j/(g-1):0),N=120+150*x+16*Math.abs(f),k=(l+N)*Math.cos(w),M=(i+.85*N)*Math.sin(w),S=Math.atan2(M,k),I=180*S/Math.PI;I>90&&(I-=180),I<-90&&(I+=180);let P=0>Math.cos(S)?"right":"left",O="s-right";S<-Math.PI/4&&S>-(3*Math.PI)/4?O="s-top":S>Math.PI/4&&S<3*Math.PI/4?O="s-bottom":0>Math.cos(S)&&(O="s-left"),p.push({id:d,type:"model",position:{x:k-80,y:M-14},data:{label:s,active:m,color:y.color||"#22d3ee",radialRotation:I,radialHandle:P},draggable:!1}),u.push({id:`e-${d}`,type:"topology",source:$,sourceHandle:O,target:d,targetHandle:"radial",animated:!1,data:{active:m},style:h(m,!1,!1)})})}}),{nodes:p,edges:u}})(e,j,w,h,m,N),[e,j,w,h,m,N]),I=(0,s.useMemo)(()=>e.map(e=>`${e.provider}:${(e.models||[]).join("-")}`).sort().join(","),[e]),P=(0,s.useRef)(null),O=(0,s.useRef)(null),E=(0,s.useCallback)((e=M)=>{if(P.current&&0!==C.length)if("providers"===e){let e=C.filter(e=>"router"===e.type||"provider"===e.type);P.current.fitView({nodes:e.length>0?e:C,padding:-.15,duration:300})}else P.current.fitView({padding:.05,duration:300})},[C,M]),X=(0,s.useCallback)(e=>{P.current=e,setTimeout(()=>{let t=C.filter(e=>"router"===e.type||"provider"===e.type);e.fitView({nodes:t.length>0?t:C,padding:-.15,duration:300})},60)},[C]);(0,s.useEffect)(()=>{let e=O.current;if(!e)return;let t=new ResizeObserver(()=>{E(M)});return t.observe(e),()=>t.disconnect()},[E,M]),(0,s.useEffect)(()=>{if(P.current&&C.length>0){let e=setTimeout(()=>E(M),60);return()=>clearTimeout(e)}},[C.length,M,E]);let R=(0,s.useCallback)(()=>{$("models"),E("models")},[E]),T=(0,s.useCallback)(()=>{$("providers"),E("providers")},[E]);return(0,o.jsxs)("div",{ref:O,className:"relative h-[380px] w-full min-w-0 rounded-lg border border-border bg-bg-subtle/30 sm:h-[540px]",children:[e.length>0&&(0,o.jsxs)("div",{className:"absolute top-3 right-3 z-10 flex flex-wrap items-center gap-2 rounded-lg border border-border/80 bg-bg/90 p-1.5 backdrop-blur-md shadow-md text-xs",children:[(0,o.jsxs)("div",{className:"flex items-center gap-1 bg-bg-subtle/90 px-1 py-0.5 rounded-md border border-border/60",children:[(0,o.jsx)("span",{className:"text-[11px] text-text-muted px-1 font-semibold",children:"Models:"}),(0,o.jsx)("button",{type:"button",onClick:()=>k("on"),className:`px-2 py-0.5 rounded text-[11px] font-bold transition-all ${"on"===N?"bg-primary text-white shadow-xs":"text-text-muted hover:text-text hover:bg-bg-hover"}`,title:"Munculkan SEMUA cabang model",children:"ON"}),(0,o.jsx)("button",{type:"button",onClick:()=>k("auto"),className:`px-2 py-0.5 rounded text-[11px] font-bold transition-all ${"auto"===N?"bg-cyan-500 text-white shadow-xs":"text-text-muted hover:text-text hover:bg-bg-hover"}`,title:"Model HANYA muncul saat sedang diproses/aktif",children:"AUTO"}),(0,o.jsx)("button",{type:"button",onClick:()=>k("off"),className:`px-2 py-0.5 rounded text-[11px] font-bold transition-all ${"off"===N?"bg-stone-700 text-white shadow-xs":"text-text-muted hover:text-text hover:bg-bg-hover"}`,title:"Sembunyikan SEMUA cabang model",children:"OFF"})]}),(0,o.jsx)("div",{className:"w-[1px] h-4 bg-border/60"}),(0,o.jsxs)("div",{className:"flex items-center gap-1",children:[(0,o.jsxs)("button",{type:"button",onClick:T,className:`flex items-center gap-1 px-2 py-0.5 rounded-md font-medium transition-colors ${"providers"===M?"bg-primary/20 text-primary border border-primary/30 font-semibold":"text-text-muted hover:text-text hover:bg-bg-hover"}`,title:"Zoom In 115% Fokus ke Provider",children:[(0,o.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"hub"}),(0,o.jsx)("span",{children:"Providers"})]}),(0,o.jsxs)("button",{type:"button",onClick:R,className:`flex items-center gap-1 px-2 py-0.5 rounded-md font-medium transition-colors ${"models"===M?"bg-primary/20 text-primary border border-primary/30 font-semibold":"text-text-muted hover:text-text hover:bg-bg-hover"}`,title:"Zoom Full semua model",children:[(0,o.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"account_tree"}),(0,o.jsx)("span",{children:"All"})]})]})]}),0===e.length?(0,o.jsx)("div",{className:"h-full flex items-center justify-center text-text-muted text-sm",children:"No providers connected"}):(0,o.jsx)(l.Gc,{nodes:C,edges:S,nodeTypes:x,edgeTypes:b,fitView:!1,minZoom:.5,maxZoom:2.5,onInit:X,proOptions:{hideAttribution:!0},panOnDrag:!0,zoomOnScroll:!0,zoomOnPinch:!0,zoomOnDoubleClick:!0,preventScrolling:!1,nodesDraggable:!1,nodesConnectable:!1,elementsSelectable:!1,children:(0,o.jsxs)(l.H2,{showInteractive:!1,className:"react-flow-controls-custom",children:[(0,o.jsx)(l.aV,{onClick:T,title:"Zoom In 115% Providers Only",children:(0,o.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:"hub"})}),(0,o.jsx)(l.aV,{onClick:R,title:"Fit All Models",children:(0,o.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:"fit_screen"})})]})},I)]})}g.propTypes={providers:n().arrayOf(n().shape({id:n().string,provider:n().string,name:n().string,models:n().arrayOf(n().string)})),activeRequests:n().arrayOf(n().shape({provider:n().string,model:n().string,account:n().string})),lastProvider:n().string,errorProvider:n().string}}}]);
|
package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/convoy/page-4906e3b794df3ada.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[272],{19445:(e,t,a)=>{Promise.resolve().then(a.bind(a,68068))},68068:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>c});var s=a(95155),l=a(12115),n=a(35497);let i=[{value:"literal",label:"Literal"},{value:"regex",label:"Regex"}],r=[{value:"replace",label:"Replace"},{value:"delete",label:"Delete"}];function c(){let[e,t]=(0,l.useState)([]),[a,c]=(0,l.useState)(!0),[d,o]=(0,l.useState)(!1),[p,x]=(0,l.useState)(null),[m,h]=(0,l.useState)(!1),[u,v]=(0,l.useState)([]),[j,g]=(0,l.useState)(""),[y,b]=(0,l.useState)({name:"",enabled:!0,priority:1,matchType:"literal",action:"replace",pattern:"",replacement:"",caseSensitive:!0,providerIds:[]}),f=async()=>{try{let e=await fetch("/api/convoy/rules"),a=await e.json();t(a.items||[])}catch(e){console.error("Failed to fetch rules",e)}finally{c(!1)}};(0,l.useEffect)(()=>{fetch("/api/convoy/rules").then(e=>e.ok?e.json():Promise.reject(Error("Failed to load rules"))).then(e=>t(e.items||[])).catch(e=>console.error("Failed to fetch rules",e)).finally(()=>c(!1))},[]),(0,l.useEffect)(()=>{fetch("/api/providers").then(e=>e.ok?e.json():Promise.reject(Error("Failed to load providers"))).then(e=>{let t=new Set;v((e.connections||[]).filter(e=>!(!e.provider||t.has(e.provider))&&(t.add(e.provider),!0)).map(e=>({id:e.provider,name:e.name||e.displayName||e.provider})))}).catch(()=>v([]))},[]);let N=()=>{b({name:"",enabled:!0,priority:e.length+1,matchType:"literal",action:"replace",pattern:"",replacement:"",caseSensitive:!0,providerIds:[]}),x(null),h(!1)},C=async()=>{if(y.name.trim()&&y.pattern.trim()){o(!0),g("");try{let e=p?{...y,id:p}:y,t=await fetch("/api/convoy/rules",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(t.ok)await f(),N();else{let e=await t.json().catch(()=>({}));g(e.error||"Failed to save rule")}}catch(e){console.error("Failed to save rule",e)}finally{o(!1)}}},w=async e=>{if(confirm("Delete this rule?"))try{await fetch(`/api/convoy/rules?id=${encodeURIComponent(e)}`,{method:"DELETE"}),await f()}catch(e){console.error("Failed to delete rule",e)}},z=async e=>{try{await fetch("/api/convoy/rules",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...e,enabled:!e.enabled})}),await f()}catch(e){console.error("Failed to toggle rule",e)}};return a?(0,s.jsx)("div",{className:"p-6 text-sm text-zinc-400",children:"Loading..."}):(0,s.jsxs)("div",{className:"p-6 max-w-4xl",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between mb-6",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("h2",{className:"text-lg font-semibold text-zinc-100",children:"Input Guard"}),(0,s.jsx)("p",{className:"text-sm text-zinc-400 mt-1",children:"Text replacement rules applied to chat request bodies before they reach upstream providers."})]}),(0,s.jsx)(n.$n,{onClick:()=>{N(),b(t=>({...t,priority:e.length+1})),h(!0)},children:"+ Add Rule"})]}),0===e.length&&!m&&(0,s.jsx)(n.Zp,{className:"p-8 text-center text-zinc-500",children:"No rules yet. Add a rule to start filtering request content."}),e.map(e=>(0,s.jsx)(n.Zp,{className:"mb-3 p-4",children:(0,s.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,s.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 mb-1",children:[(0,s.jsx)("span",{className:"text-sm font-medium text-zinc-200",children:e.name}),(0,s.jsxs)("span",{className:"text-xs text-zinc-500",children:["#",e.priority]})]}),(0,s.jsxs)("div",{className:"text-xs text-zinc-400 font-mono truncate",children:[(0,s.jsxs)("span",{className:"text-zinc-500",children:[e.matchType,":"]})," ",e.pattern.length>60?e.pattern.slice(0,60)+"...":e.pattern,"replace"===e.action&&(0,s.jsxs)(s.Fragment,{children:[" ",(0,s.jsx)("span",{className:"text-emerald-500",children:"->"})," ",(e.replacement||"").length>40?(e.replacement||"").slice(0,40)+"...":e.replacement||"(empty)"]}),"delete"===e.action&&(0,s.jsxs)(s.Fragment,{children:[" ",(0,s.jsx)("span",{className:"text-red-500",children:"[delete]"})]})]})]}),(0,s.jsxs)("div",{className:"flex items-center gap-2 shrink-0",children:[(0,s.jsx)(n.lM,{checked:e.enabled,onChange:()=>z(e)}),(0,s.jsx)(n.$n,{variant:"ghost",size:"sm",onClick:()=>{x(e.id),b({name:e.name,enabled:e.enabled,priority:e.priority,matchType:e.matchType||"literal",action:e.action||"replace",pattern:e.pattern,replacement:e.replacement||"",caseSensitive:e.caseSensitive,providerIds:e.providerIds||[]}),h(!0)},children:"Edit"}),(0,s.jsx)(n.$n,{variant:"ghost",size:"sm",onClick:()=>w(e.id),children:"Delete"})]})]})},e.id)),m&&(0,s.jsx)(n.aF,{isOpen:m,onClose:N,title:p?"Edit Rule":"New Rule",size:"lg",children:(0,s.jsxs)("div",{className:"space-y-4",children:[(0,s.jsx)(n.pd,{label:"Name",value:y.name,onChange:e=>b({...y,name:e.target.value}),placeholder:"e.g. Claude -> CodeBuddy"}),(0,s.jsxs)("div",{className:"grid grid-cols-3 gap-3",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("label",{className:"block text-xs text-zinc-400 mb-1",children:"Match Type"}),(0,s.jsx)(n.l6,{value:y.matchType,onChange:e=>b({...y,matchType:e.target.value}),options:i})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)("label",{className:"block text-xs text-zinc-400 mb-1",children:"Action"}),(0,s.jsx)(n.l6,{value:y.action,onChange:e=>b({...y,action:e.target.value}),options:r})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)("label",{className:"block text-xs text-zinc-400 mb-1",children:"Priority"}),(0,s.jsx)(n.pd,{type:"number",value:y.priority,onChange:e=>b({...y,priority:parseInt(e.target.value)||0})})]})]}),(0,s.jsx)(n.pd,{label:"Pattern",value:y.pattern,onChange:e=>b({...y,pattern:e.target.value}),placeholder:"regex"===y.matchType?"e.g. You are \\w+ Code":"e.g. You are Claude Code"}),"replace"===y.action&&(0,s.jsx)(n.pd,{label:"Replacement",value:y.replacement,onChange:e=>b({...y,replacement:e.target.value}),placeholder:"e.g. You are CodeBuddy"}),(0,s.jsxs)("div",{children:[(0,s.jsxs)("div",{className:"mb-2 flex items-center justify-between gap-3",children:[(0,s.jsx)("label",{className:"text-xs text-zinc-400",children:"Providers"}),(0,s.jsx)("span",{className:"text-xs text-zinc-500",children:"None selected means all providers"})]}),(0,s.jsx)("div",{className:"max-h-40 overflow-y-auto rounded-lg border border-white/10 p-2",children:0===u.length?(0,s.jsx)("div",{className:"p-2 text-xs text-zinc-500",children:"No connected providers"}):u.map(e=>{let t=y.providerIds.includes(e.id);return(0,s.jsxs)("label",{className:"flex cursor-pointer items-center gap-2 rounded px-2 py-1.5 hover:bg-white/5",children:[(0,s.jsx)("input",{type:"checkbox",checked:t,onChange:()=>b({...y,providerIds:t?y.providerIds.filter(t=>t!==e.id):[...y.providerIds,e.id]})}),(0,s.jsx)("span",{className:"text-sm text-zinc-300",children:e.name}),(0,s.jsx)("span",{className:"ml-auto font-mono text-xs text-zinc-500",children:e.id})]},e.id)})})]}),(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(n.lM,{checked:y.enabled,onChange:e=>b({...y,enabled:e})}),(0,s.jsx)("span",{className:"text-sm text-zinc-300",children:"Enabled"}),(0,s.jsx)("span",{className:"mx-2 text-zinc-600",children:"|"}),(0,s.jsx)(n.lM,{checked:y.caseSensitive,onChange:e=>b({...y,caseSensitive:e})}),(0,s.jsx)("span",{className:"text-sm text-zinc-300",children:"Case Sensitive"})]}),(0,s.jsxs)("div",{className:"flex justify-end gap-2 pt-2",children:[j&&(0,s.jsx)("div",{className:"mr-auto self-center text-sm text-red-400",children:j}),(0,s.jsx)(n.$n,{variant:"ghost",onClick:N,children:"Cancel"}),(0,s.jsx)(n.$n,{onClick:C,disabled:d,children:d?"Saving...":"Save"})]})]})})]})}}},e=>{e.O(0,[8010,8105,1321,801,5497,8441,3794,7358],()=>e(e.s=19445)),_N_E=e.O()}]);
|