@jheavenknows/bluerouter 4.0.81 → 4.0.83
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 +4 -4
- package/app/.next-cli-build/build-manifest.json +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/analytics/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/analytics/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/api-keys/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/api-keys/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
- 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.js.nft.json +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.js.nft.json +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.js.nft.json +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.js.nft.json +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/endpoint/page.js.nft.json +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/media-providers/[kind]/[id]/page.js.nft.json +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.js.nft.json +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.js.nft.json +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.js.nft.json +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.js.nft.json +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.js.nft.json +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/personalcloudprovider/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalcloudprovider/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +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/prompt-logs/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/prompt-logs/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/provider-health/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/provider-health/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +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.js.nft.json +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.js.nft.json +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.js.nft.json +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/quota/page.js.nft.json +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/skills/page.js.nft.json +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/translator/page.js.nft.json +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.js.nft.json +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.js.nft.json +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.js.nft.json +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 +3 -3
- package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +3 -3
- 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 +3 -3
- 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 +1 -1
- package/app/.next-cli-build/server/app/api/auth/ldap/test/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/ldap/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/ldap/users/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/ldap/users/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/login/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/status/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/autostart/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/prompt-log-db/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/root-ca/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/qwen-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/dashboard/analytics/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/dashboard/combos/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/dashboard/endpoint/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/options/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/keys/[id]/rotate/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/personal-cloud-providers/permissions/route.js +1 -1
- package/app/.next-cli-build/server/app/api/personal-cloud-providers/permissions/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/personal-cloud-providers/route.js +1 -1
- package/app/.next-cli-build/server/app/api/personal-cloud-providers/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/provider-health/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tags/route.js.nft.json +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/route.js.nft.json +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/console-logs/stream/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +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/send/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-login/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-start-daemon/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/search/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/version/restart/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/version/route.js +1 -1
- package/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
- package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
- package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/callback/page.js.nft.json +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 +3 -3
- package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +3 -3
- 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 +3 -3
- package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +1 -1
- 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/analytics.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/analytics.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/analytics.segments/!KGRhc2hib2FyZCk/dashboard/analytics/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/analytics.segments/!KGRhc2hib2FyZCk/dashboard/analytics.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/analytics.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/analytics.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/analytics.segments/_full.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/analytics.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/analytics.segments/_index.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/analytics.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/api-keys.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/api-keys.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/api-keys.segments/!KGRhc2hib2FyZCk/dashboard/api-keys/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/api-keys.segments/!KGRhc2hib2FyZCk/dashboard/api-keys.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/api-keys.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/api-keys.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/api-keys.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/api-keys.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/api-keys.segments/_index.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/api-keys.segments/_tree.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 +5 -5
- 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 +5 -5
- 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 +3 -3
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +5 -5
- 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 +5 -5
- 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 +3 -3
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/combos.rsc +5 -5
- 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 +5 -5
- 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 +3 -3
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +5 -5
- 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 +5 -5
- 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 +3 -3
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +1 -1
- 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 +5 -5
- 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 +5 -5
- 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 +3 -3
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/mitm.rsc +5 -5
- 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 +5 -5
- 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 +3 -3
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/profile.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +1 -1
- 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 +4 -4
- 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 +3 -3
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/prompt-logs.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/prompt-logs.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/!KGRhc2hib2FyZCk/dashboard/prompt-logs/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/!KGRhc2hib2FyZCk/dashboard/prompt-logs.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/_full.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/_index.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/provider-health.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/provider-health.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/provider-health.segments/!KGRhc2hib2FyZCk/dashboard/provider-health/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/provider-health.segments/!KGRhc2hib2FyZCk/dashboard/provider-health.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/provider-health.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/provider-health.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/provider-health.segments/_full.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/provider-health.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/provider-health.segments/_index.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/provider-health.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +5 -5
- 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 +5 -5
- 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 +3 -3
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers.rsc +5 -5
- 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 +5 -5
- 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 +3 -3
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +5 -5
- 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 +5 -5
- 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 +3 -3
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/quota.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/quota.rsc +6 -6
- 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 +6 -6
- 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 +3 -3
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
- 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 +3 -3
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +3 -3
- 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 +3 -3
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +1 -1
- 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 +5 -5
- 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 +5 -5
- 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 +3 -3
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/translator.rsc +5 -5
- 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 +5 -5
- 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 +3 -3
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/usage.rsc +5 -5
- 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 +5 -5
- 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 +3 -3
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard.html +1 -1
- package/app/.next-cli-build/server/app/dashboard.rsc +5 -5
- 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 +5 -5
- 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 +3 -3
- package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/favicon.ico/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/index.html +1 -1
- package/app/.next-cli-build/server/app/index.rsc +3 -3
- 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 +3 -3
- 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 +3 -3
- package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
- 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 +3 -3
- package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +3 -3
- 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 +3 -3
- package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +1 -1
- 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.js.nft.json +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 +4 -4
- package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +4 -4
- 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 +3 -3
- package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +1 -1
- 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/manifest.webmanifest/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/page.js.nft.json +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 +4 -4
- package/app/.next-cli-build/server/chunks/2338.js +3 -3
- package/app/.next-cli-build/server/chunks/3104.js +1 -1
- package/app/.next-cli-build/server/chunks/3110.js +1 -1
- package/app/.next-cli-build/server/chunks/402.js +2 -2
- package/app/.next-cli-build/server/chunks/42.js +1 -0
- package/app/.next-cli-build/server/chunks/436.js +1 -0
- package/app/.next-cli-build/server/chunks/4746.js +1 -1
- package/app/.next-cli-build/server/chunks/{8376.js → 5060.js} +2 -2
- package/app/.next-cli-build/server/chunks/6604.js +1 -1
- package/app/.next-cli-build/server/chunks/7130.js +1 -1
- package/app/.next-cli-build/server/chunks/7153.js +1 -1
- package/app/.next-cli-build/server/chunks/{4867.js → 8025.js} +1 -1
- package/app/.next-cli-build/server/chunks/8255.js +1 -1
- package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
- package/app/.next-cli-build/server/middleware.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/{5497-3b67afaa18bbb7a7.js → 5497-ee00393742cdf0c0.js} +1 -1
- package/app/.next-cli-build/static/chunks/{620-aa6095406af48c78.js → 620-e52cdb7bf4372c8c.js} +1 -1
- package/app/.next-cli-build/static/chunks/7055-827f7946161347b5.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-96a823ea01f06ce0.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/{page-34f98482077d7076.js → page-3c2cc260fa5c3c0c.js} +2 -2
- package/app/cli/.build-home/AppData/Roaming/bluerouter/db/data.sqlite-shm +0 -0
- package/app/cli/.build-home/AppData/Roaming/bluerouter/db/data.sqlite-wal +0 -0
- package/app/package.json +1 -1
- package/package.json +1 -1
- package/app/.next-cli-build/server/chunks/2680.js +0 -1
- package/app/.next-cli-build/server/chunks/4306.js +0 -1
- package/app/.next-cli-build/server/chunks/4778.js +0 -1
- package/app/.next-cli-build/static/chunks/7055-e70807a3a34c0ede.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-ee3b462931f0f837.js +0 -1
- /package/app/.next-cli-build/static/{Awp_vjC7WM4vYwbL-39fu → y-ShvaR6T98oLeXmHwJmi}/_buildManifest.js +0 -0
- /package/app/.next-cli-build/static/{Awp_vjC7WM4vYwbL-39fu → y-ShvaR6T98oLeXmHwJmi}/_ssgManifest.js +0 -0
- /package/app/cli/.build-home/AppData/Roaming/bluerouter/db/backups/{upgrade-4.0.76-to-4.0.77-4.0.77-20260623-152446 → upgrade-4.0.80-to-4.0.81-4.0.81-20260624-130417}/data.sqlite +0 -0
- /package/app/cli/.build-home/AppData/Roaming/bluerouter/db/backups/{upgrade-4.0.77-to-4.0.78-4.0.78-20260623-155236 → upgrade-4.0.81-to-4.0.82-4.0.82-20260624-131811}/data.sqlite +0 -0
|
@@ -4,4 +4,4 @@ exports.id=4746,exports.ids=[4746],exports.modules={17113:(a,b,c)=>{"use strict"
|
|
|
4
4
|
data: ${d}
|
|
5
5
|
|
|
6
6
|
`)}catch{}}}),f.stderr.on("data",b=>console.log(`[mcp:${a}]`,b.toString().trim())),f.on("exit",c=>{console.log(`[mcp:${a}] exited`,c),b.delete(a)}),c}a.exports={getOrSpawn:q,registerSession:function(a,b){let c=q(a),d=g.randomUUID();return c.sessions.set(d,b),d},unregisterSession:function(a,b){let c=m().get(a);c&&c.sessions.delete(b)},sendToChild:function(a,b){let c=m().get(a);if(!c?.proc?.stdin?.writable)throw Error(`Bridge not running: ${a}`);c.proc.stdin.write(`${JSON.stringify(b)}
|
|
7
|
-
`)},isRunning:function(a){let b=m().get(a);return!!(b?.proc&&!b.proc.killed&&null===b.proc.exitCode)},findPlugin:p,registerCustomPlugin:function(a){if(!o(a?.command))throw Error(`Blocked: command '${a?.command}' not in MCP allowlist`);n().set(a.name,a)}}},19713:function(a,b,c){a.exports=function(a,b){var d=[function(a,b,c){a.exports=c(34)},function(a,b,c){var d=c(29)("wks"),e=c(33),f=c(2).Symbol,g="function"==typeof f;(a.exports=function(a){return d[a]||(d[a]=g&&f[a]||(g?f:e)("Symbol."+a))}).store=d},function(a,b){var c=a.exports="u">typeof window&&window.Math==Math?window:"u">typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=c)},function(a,b,c){var d=c(9);a.exports=function(a){if(!d(a))throw TypeError(a+" is not an object!");return a}},function(a,b,c){a.exports=!c(24)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(a,b,c){var d=c(12),e=c(17);a.exports=c(4)?function(a,b,c){return d.f(a,b,e(1,c))}:function(a,b,c){return a[b]=c,a}},function(a,b){var c=a.exports={version:"2.4.0"};"number"==typeof __e&&(__e=c)},function(a,b,c){var d=c(14);a.exports=function(a,b,c){if(d(a),void 0===b)return a;switch(c){case 1:return function(c){return a.call(b,c)};case 2:return function(c,d){return a.call(b,c,d)};case 3:return function(c,d,e){return a.call(b,c,d,e)}}return function(){return a.apply(b,arguments)}}},function(a,b){var c={}.hasOwnProperty;a.exports=function(a,b){return c.call(a,b)}},function(a,b){a.exports=function(a){return"object"==typeof a?null!==a:"function"==typeof a}},function(a,b){a.exports={}},function(a,b){var c={}.toString;a.exports=function(a){return c.call(a).slice(8,-1)}},function(a,b,c){var d=c(3),e=c(26),f=c(32),g=Object.defineProperty;b.f=c(4)?Object.defineProperty:function(a,b,c){if(d(a),b=f(b,!0),d(c),e)try{return g(a,b,c)}catch(a){}if("get"in c||"set"in c)throw TypeError("Accessors not supported!");return"value"in c&&(a[b]=c.value),a}},function(a,b,c){var d=c(42),e=c(15);a.exports=function(a){return d(e(a))}},function(a,b){a.exports=function(a){if("function"!=typeof a)throw TypeError(a+" is not a function!");return a}},function(a,b){a.exports=function(a){if(void 0==a)throw TypeError("Can't call method on "+a);return a}},function(a,b,c){var d=c(9),e=c(2).document,f=d(e)&&d(e.createElement);a.exports=function(a){return f?e.createElement(a):{}}},function(a,b){a.exports=function(a,b){return{enumerable:!(1&a),configurable:!(2&a),writable:!(4&a),value:b}}},function(a,b,c){var d=c(12).f,e=c(8),f=c(1)("toStringTag");a.exports=function(a,b,c){a&&!e(a=c?a:a.prototype,f)&&d(a,f,{configurable:!0,value:b})}},function(a,b,c){var d=c(29)("keys"),e=c(33);a.exports=function(a){return d[a]||(d[a]=e(a))}},function(a,b){var c=Math.ceil,d=Math.floor;a.exports=function(a){return isNaN(a*=1)?0:(a>0?d:c)(a)}},function(a,b,c){var d=c(11),e=c(1)("toStringTag"),f="Arguments"==d(function(){return arguments}()),g=function(a,b){try{return a[b]}catch(a){}};a.exports=function(a){var b,c,h;return void 0===a?"Undefined":null===a?"Null":"string"==typeof(c=g(b=Object(a),e))?c:f?d(b):"Object"==(h=d(b))&&"function"==typeof b.callee?"Arguments":h}},function(a,b){a.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(a,b,c){var d=c(2),e=c(6),f=c(7),g=c(5),h="prototype",i=function(a,b,c){var j,k,l,m=a&i.F,n=a&i.G,o=a&i.S,p=a&i.P,q=a&i.B,r=a&i.W,s=n?e:e[b]||(e[b]={}),t=s[h],u=n?d:o?d[b]:(d[b]||{})[h];for(j in n&&(c=b),c)(k=!m&&u&&void 0!==u[j])&&j in s||(l=k?u[j]:c[j],s[j]=n&&"function"!=typeof u[j]?c[j]:q&&k?f(l,d):r&&u[j]==l?function(a){var b=function(b,c,d){if(this instanceof a){switch(arguments.length){case 0:return new a;case 1:return new a(b);case 2:return new a(b,c)}return new a(b,c,d)}return a.apply(this,arguments)};return b[h]=a[h],b}(l):p&&"function"==typeof l?f(Function.call,l):l,p&&((s.virtual||(s.virtual={}))[j]=l,a&i.R&&t&&!t[j]&&g(t,j,l)))};i.F=1,i.G=2,i.S=4,i.P=8,i.B=16,i.W=32,i.U=64,i.R=128,a.exports=i},function(a,b){a.exports=function(a){try{return!!a()}catch(a){return!0}}},function(a,b,c){a.exports=c(2).document&&document.documentElement},function(a,b,c){a.exports=!c(4)&&!c(24)(function(){return 7!=Object.defineProperty(c(16)("div"),"a",{get:function(){return 7}}).a})},function(a,b,c){"use strict";var d=c(28),e=c(23),f=c(57),g=c(5),h=c(8),i=c(10),j=c(45),k=c(18),l=c(52),m=c(1)("iterator"),n=!([].keys&&"next"in[].keys()),o="keys",p="values",q=function(){return this};a.exports=function(a,b,c,r,s,t,u){j(c,b,r);var v,w,x,y=function(a){if(!n&&a in C)return C[a];switch(a){case o:case p:return function(){return new c(this,a)}}return function(){return new c(this,a)}},z=b+" Iterator",A=s==p,B=!1,C=a.prototype,D=C[m]||C["@@iterator"]||s&&C[s],E=D||y(s),F=s?A?y("entries"):E:void 0,G="Array"==b&&C.entries||D;if(G&&(x=l(G.call(new a)))!==Object.prototype&&(k(x,z,!0),d||h(x,m)||g(x,m,q)),A&&D&&D.name!==p&&(B=!0,E=function(){return D.call(this)}),(!d||u)&&(n||B||!C[m])&&g(C,m,E),i[b]=E,i[z]=q,s)if(v={values:A?E:y(p),keys:t?E:y(o),entries:F},u)for(w in v)w in C||f(C,w,v[w]);else e(e.P+e.F*(n||B),b,v);return v}},function(a,b){a.exports=!0},function(a,b,c){var d=c(2),e="__core-js_shared__",f=d[e]||(d[e]={});a.exports=function(a){return f[a]||(f[a]={})}},function(a,b,c){var d,e,f,g=c(7),h=c(41),i=c(25),j=c(16),k=c(2),l=k.process,m=k.setImmediate,n=k.clearImmediate,o=k.MessageChannel,p=0,q={},r="onreadystatechange",s=function(){var a=+this;if(q.hasOwnProperty(a)){var b=q[a];delete q[a],b()}},t=function(a){s.call(a.data)};m&&n||(m=function(a){for(var b=[],c=1;arguments.length>c;)b.push(arguments[c++]);return q[++p]=function(){h("function"==typeof a?a:Function(a),b)},d(p),p},n=function(a){delete q[a]},"process"==c(11)(l)?d=function(a){l.nextTick(g(s,a,1))}:o?(f=(e=new o).port2,e.port1.onmessage=t,d=g(f.postMessage,f,1)):k.addEventListener&&"function"==typeof postMessage&&!k.importScripts?(d=function(a){k.postMessage(a+"","*")},k.addEventListener("message",t,!1)):d=r in j("script")?function(a){i.appendChild(j("script"))[r]=function(){i.removeChild(this),s.call(a)}}:function(a){setTimeout(g(s,a,1),0)}),a.exports={set:m,clear:n}},function(a,b,c){var d=c(20),e=Math.min;a.exports=function(a){return a>0?e(d(a),0x1fffffffffffff):0}},function(a,b,c){var d=c(9);a.exports=function(a,b){var c,e;if(!d(a))return a;if(b&&"function"==typeof(c=a.toString)&&!d(e=c.call(a))||"function"==typeof(c=a.valueOf)&&!d(e=c.call(a))||!b&&"function"==typeof(c=a.toString)&&!d(e=c.call(a)))return e;throw TypeError("Can't convert object to primitive value")}},function(a,b){var c=0,d=Math.random();a.exports=function(a){return"Symbol(".concat(void 0===a?"":a,")_",(++c+d).toString(36))}},function(a,b,c){"use strict";function d(a){return(0,i.createHash)("sha256").update(a).digest("hex")}function e(a){switch(j){case"darwin":return a.split("IOPlatformUUID")[1].split("\n")[0].replace(/\=|\s+|\"/gi,"").toLowerCase();case"win32":return a.toString().split("REG_SZ")[1].replace(/\r+|\n+|\s+/gi,"").toLowerCase();case"linux":case"freebsd":return a.toString().replace(/\r+|\n+|\s+/gi,"").toLowerCase();default:throw Error("Unsupported platform: "+process.platform)}}Object.defineProperty(b,"__esModule",{value:!0});var f,g=(f=c(35))&&f.__esModule?f:{default:f};b.machineIdSync=function(a){var b=e((0,h.execSync)(k[j]).toString());return a?b:d(b)},b.machineId=function(a){return new g.default(function(b,c){return(0,h.exec)(k[j],{},function(f,g,h){if(f)return c(Error("Error while obtaining machine id: "+f.stack));var i=e(g.toString());return b(a?i:d(i))})})};var h=c(70),i=c(71),j=process.platform,k={darwin:"ioreg -rd1 -c IOPlatformExpertDevice",win32:{native:"%windir%\\System32",mixed:"%windir%\\sysnative\\cmd.exe /c %windir%\\System32"}["win32"!==process.platform?"":"ia32"===process.arch&&process.env.hasOwnProperty("PROCESSOR_ARCHITEW6432")?"mixed":"native"]+"\\REG.exe QUERY HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Cryptography /v MachineGuid",linux:"( cat /var/lib/dbus/machine-id /etc/machine-id 2> /dev/null || hostname ) | head -n 1 || :",freebsd:"kenv -q smbios.system.uuid || sysctl -n kern.hostuuid"}},function(a,b,c){a.exports={default:c(36),__esModule:!0}},function(a,b,c){c(66),c(68),c(69),c(67),a.exports=c(6).Promise},function(a,b){a.exports=function(){}},function(a,b){a.exports=function(a,b,c,d){if(!(a instanceof b)||void 0!==d&&d in a)throw TypeError(c+": incorrect invocation!");return a}},function(a,b,c){var d=c(13),e=c(31),f=c(62);a.exports=function(a){return function(b,c,g){var h,i=d(b),j=e(i.length),k=f(g,j);if(a&&c!=c){for(;j>k;)if((h=i[k++])!=h)return!0}else for(;j>k;k++)if((a||k in i)&&i[k]===c)return a||k||0;return!a&&-1}}},function(a,b,c){var d=c(7),e=c(44),f=c(43),g=c(3),h=c(31),i=c(64),j={},k={},b=a.exports=function(a,b,c,l,m){var n,o,p,q,r=m?function(){return a}:i(a),s=d(c,l,b?2:1),t=0;if("function"!=typeof r)throw TypeError(a+" is not iterable!");if(f(r)){for(n=h(a.length);n>t;t++)if((q=b?s(g(o=a[t])[0],o[1]):s(a[t]))===j||q===k)return q}else for(p=r.call(a);!(o=p.next()).done;)if((q=e(p,s,o.value,b))===j||q===k)return q};b.BREAK=j,b.RETURN=k},function(a,b){a.exports=function(a,b,c){var d=void 0===c;switch(b.length){case 0:return d?a():a.call(c);case 1:return d?a(b[0]):a.call(c,b[0]);case 2:return d?a(b[0],b[1]):a.call(c,b[0],b[1]);case 3:return d?a(b[0],b[1],b[2]):a.call(c,b[0],b[1],b[2]);case 4:return d?a(b[0],b[1],b[2],b[3]):a.call(c,b[0],b[1],b[2],b[3])}return a.apply(c,b)}},function(a,b,c){var d=c(11);a.exports=Object("z").propertyIsEnumerable(0)?Object:function(a){return"String"==d(a)?a.split(""):Object(a)}},function(a,b,c){var d=c(10),e=c(1)("iterator"),f=Array.prototype;a.exports=function(a){return void 0!==a&&(d.Array===a||f[e]===a)}},function(a,b,c){var d=c(3);a.exports=function(a,b,c,e){try{return e?b(d(c)[0],c[1]):b(c)}catch(b){var f=a.return;throw void 0!==f&&d(f.call(a)),b}}},function(a,b,c){"use strict";var d=c(49),e=c(17),f=c(18),g={};c(5)(g,c(1)("iterator"),function(){return this}),a.exports=function(a,b,c){a.prototype=d(g,{next:e(1,c)}),f(a,b+" Iterator")}},function(a,b,c){var d=c(1)("iterator"),e=!1;try{var f=[7][d]();f.return=function(){e=!0},Array.from(f,function(){throw 2})}catch(a){}a.exports=function(a,b){if(!b&&!e)return!1;var c=!1;try{var f=[7],g=f[d]();g.next=function(){return{done:c=!0}},f[d]=function(){return g},a(f)}catch(a){}return c}},function(a,b){a.exports=function(a,b){return{value:b,done:!!a}}},function(a,b,c){var d=c(2),e=c(30).set,f=d.MutationObserver||d.WebKitMutationObserver,g=d.process,h=d.Promise,i="process"==c(11)(g);a.exports=function(){var a,b,c,j=function(){var d,e;for(i&&(d=g.domain)&&d.exit();a;){e=a.fn,a=a.next;try{e()}catch(d){throw a?c():b=void 0,d}}b=void 0,d&&d.enter()};if(i)c=function(){g.nextTick(j)};else if(f){var k=!0,l=document.createTextNode("");new f(j).observe(l,{characterData:!0}),c=function(){l.data=k=!k}}else if(h&&h.resolve){var m=h.resolve();c=function(){m.then(j)}}else c=function(){e.call(d,j)};return function(d){var e={fn:d,next:void 0};b&&(b.next=e),a||(a=e,c()),b=e}}},function(a,b,c){var d=c(3),e=c(50),f=c(22),g=c(19)("IE_PROTO"),h=function(){},i="prototype",j=function(){var a,b=c(16)("iframe"),d=f.length;for(b.style.display="none",c(25).appendChild(b),b.src="javascript:",(a=b.contentWindow.document).open(),a.write("<script>document.F=Object<\/script>"),a.close(),j=a.F;d--;)delete j[i][f[d]];return j()};a.exports=Object.create||function(a,b){var c;return null!==a?(h[i]=d(a),c=new h,h[i]=null,c[g]=a):c=j(),void 0===b?c:e(c,b)}},function(a,b,c){var d=c(12),e=c(3),f=c(54);a.exports=c(4)?Object.defineProperties:function(a,b){e(a);for(var c,g=f(b),h=g.length,i=0;h>i;)d.f(a,c=g[i++],b[c]);return a}},function(a,b,c){var d=c(55),e=c(17),f=c(13),g=c(32),h=c(8),i=c(26),j=Object.getOwnPropertyDescriptor;b.f=c(4)?j:function(a,b){if(a=f(a),b=g(b,!0),i)try{return j(a,b)}catch(a){}if(h(a,b))return e(!d.f.call(a,b),a[b])}},function(a,b,c){var d=c(8),e=c(63),f=c(19)("IE_PROTO"),g=Object.prototype;a.exports=Object.getPrototypeOf||function(a){return d(a=e(a),f)?a[f]:"function"==typeof a.constructor&&a instanceof a.constructor?a.constructor.prototype:a instanceof Object?g:null}},function(a,b,c){var d=c(8),e=c(13),f=c(39)(!1),g=c(19)("IE_PROTO");a.exports=function(a,b){var c,h=e(a),i=0,j=[];for(c in h)c!=g&&d(h,c)&&j.push(c);for(;b.length>i;)d(h,c=b[i++])&&(~f(j,c)||j.push(c));return j}},function(a,b,c){var d=c(53),e=c(22);a.exports=Object.keys||function(a){return d(a,e)}},function(a,b){b.f=({}).propertyIsEnumerable},function(a,b,c){var d=c(5);a.exports=function(a,b,c){for(var e in b)c&&a[e]?a[e]=b[e]:d(a,e,b[e]);return a}},function(a,b,c){a.exports=c(5)},function(a,b,c){var d=c(9),e=c(3),f=function(a,b){if(e(a),!d(b)&&null!==b)throw TypeError(b+": can't set as prototype!")};a.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(a,b,d){try{(d=c(7)(Function.call,c(51).f(Object.prototype,"__proto__").set,2))(a,[]),b=!(a instanceof Array)}catch(a){b=!0}return function(a,c){return f(a,c),b?a.__proto__=c:d(a,c),a}}({},!1):void 0),check:f}},function(a,b,c){"use strict";var d=c(2),e=c(6),f=c(12),g=c(4),h=c(1)("species");a.exports=function(a){var b="function"==typeof e[a]?e[a]:d[a];g&&b&&!b[h]&&f.f(b,h,{configurable:!0,get:function(){return this}})}},function(a,b,c){var d=c(3),e=c(14),f=c(1)("species");a.exports=function(a,b){var c,g=d(a).constructor;return void 0===g||void 0==(c=d(g)[f])?b:e(c)}},function(a,b,c){var d=c(20),e=c(15);a.exports=function(a){return function(b,c){var f,g,h=String(e(b)),i=d(c),j=h.length;return i<0||i>=j?a?"":void 0:(f=h.charCodeAt(i))<55296||f>56319||i+1===j||(g=h.charCodeAt(i+1))<56320||g>57343?a?h.charAt(i):f:a?h.slice(i,i+2):(f-55296<<10)+(g-56320)+65536}}},function(a,b,c){var d=c(20),e=Math.max,f=Math.min;a.exports=function(a,b){return(a=d(a))<0?e(a+b,0):f(a,b)}},function(a,b,c){var d=c(15);a.exports=function(a){return Object(d(a))}},function(a,b,c){var d=c(21),e=c(1)("iterator"),f=c(10);a.exports=c(6).getIteratorMethod=function(a){if(void 0!=a)return a[e]||a["@@iterator"]||f[d(a)]}},function(a,b,c){"use strict";var d=c(37),e=c(47),f=c(10),g=c(13);a.exports=c(27)(Array,"Array",function(a,b){this._t=g(a),this._i=0,this._k=b},function(){var a=this._t,b=this._k,c=this._i++;return!a||c>=a.length?(this._t=void 0,e(1)):"keys"==b?e(0,c):"values"==b?e(0,a[c]):e(0,[c,a[c]])},"values"),f.Arguments=f.Array,d("keys"),d("values"),d("entries")},function(a,b){},function(a,b,c){"use strict";var d,e,f,g=c(28),h=c(2),i=c(7),j=c(21),k=c(23),l=c(9),m=(c(3),c(14)),n=c(38),o=c(40),p=(c(58).set,c(60)),q=c(30).set,r=c(48)(),s="Promise",t=h.TypeError,u=h.process,v=h[s],u=h.process,w="process"==j(u),x=function(){},y=!!function(){try{var a=v.resolve(1),b=(a.constructor={})[c(1)("species")]=function(a){a(x,x)};return(w||"function"==typeof PromiseRejectionEvent)&&a.then(x)instanceof b}catch(a){}}(),z=function(a,b){return a===b||a===v&&b===f},A=function(a){var b;return!(!l(a)||"function"!=typeof(b=a.then))&&b},B=function(a){return z(v,a)?new C(a):new e(a)},C=e=function(a){var b,c;this.promise=new a(function(a,d){if(void 0!==b||void 0!==c)throw t("Bad Promise constructor");b=a,c=d}),this.resolve=m(b),this.reject=m(c)},D=function(a){try{a()}catch(a){return{error:a}}},E=function(a,b){if(!a._n){a._n=!0;var c=a._c;r(function(){for(var d=a._v,e=1==a._s,f=0;c.length>f;)!function(b){var c,f,g=e?b.ok:b.fail,h=b.resolve,i=b.reject,j=b.domain;try{g?(e||(2==a._h&&H(a),a._h=1),!0===g?c=d:(j&&j.enter(),c=g(d),j&&j.exit()),c===b.promise?i(t("Promise-chain cycle")):(f=A(c))?f.call(c,h,i):h(c)):i(d)}catch(a){i(a)}}(c[f++]);a._c=[],a._n=!1,b&&!a._h&&F(a)})}},F=function(a){q.call(h,function(){var b,c,d,e=a._v;if(G(a)&&(b=D(function(){w?u.emit("unhandledRejection",e,a):(c=h.onunhandledrejection)?c({promise:a,reason:e}):(d=h.console)&&d.error&&d.error("Unhandled promise rejection",e)}),a._h=w||G(a)?2:1),a._a=void 0,b)throw b.error})},G=function(a){if(1==a._h)return!1;for(var b,c=a._a||a._c,d=0;c.length>d;)if((b=c[d++]).fail||!G(b.promise))return!1;return!0},H=function(a){q.call(h,function(){var b;w?u.emit("rejectionHandled",a):(b=h.onrejectionhandled)&&b({promise:a,reason:a._v})})},I=function(a){var b=this;b._d||(b._d=!0,(b=b._w||b)._v=a,b._s=2,b._a||(b._a=b._c.slice()),E(b,!0))},J=function(a){var b,c=this;if(!c._d){c._d=!0,c=c._w||c;try{if(c===a)throw t("Promise can't be resolved itself");(b=A(a))?r(function(){var d={_w:c,_d:!1};try{b.call(a,i(J,d,1),i(I,d,1))}catch(a){I.call(d,a)}}):(c._v=a,c._s=1,E(c,!1))}catch(a){I.call({_w:c,_d:!1},a)}}};y||(v=function(a){n(this,v,s,"_h"),m(a),d.call(this);try{a(i(J,this,1),i(I,this,1))}catch(a){I.call(this,a)}},(d=function(a){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1}).prototype=c(56)(v.prototype,{then:function(a,b){var c=B(p(this,v));return c.ok="function"!=typeof a||a,c.fail="function"==typeof b&&b,c.domain=w?u.domain:void 0,this._c.push(c),this._a&&this._a.push(c),this._s&&E(this,!1),c.promise},catch:function(a){return this.then(void 0,a)}}),C=function(){var a=new d;this.promise=a,this.resolve=i(J,a,1),this.reject=i(I,a,1)}),k(k.G+k.W+!y*k.F,{Promise:v}),c(18)(v,s),c(59)(s),f=c(6)[s],k(k.S+!y*k.F,s,{reject:function(a){var b=B(this);return(0,b.reject)(a),b.promise}}),k(k.S+k.F*(g||!y),s,{resolve:function(a){if(a instanceof v&&z(a.constructor,this))return a;var b=B(this);return(0,b.resolve)(a),b.promise}}),k(k.S+!(y&&c(46)(function(a){v.all(a).catch(x)}))*k.F,s,{all:function(a){var b=this,c=B(b),d=c.resolve,e=c.reject,f=D(function(){var c=[],f=0,g=1;o(a,!1,function(a){var h=f++,i=!1;c.push(void 0),g++,b.resolve(a).then(function(a){i||(i=!0,c[h]=a,--g||d(c))},e)}),--g||d(c)});return f&&e(f.error),c.promise},race:function(a){var b=this,c=B(b),d=c.reject,e=D(function(){o(a,!1,function(a){b.resolve(a).then(c.resolve,d)})});return e&&d(e.error),c.promise}})},function(a,b,c){"use strict";var d=c(61)(!0);c(27)(String,"String",function(a){this._t=String(a),this._i=0},function(){var a,b=this._t,c=this._i;return c>=b.length?{value:void 0,done:!0}:(a=d(b,c),this._i+=a.length,{value:a,done:!1})})},function(a,b,c){c(65);for(var d=c(2),e=c(5),f=c(10),g=c(1)("toStringTag"),h=["NodeList","DOMTokenList","MediaList","StyleSheetList","CSSRuleList"],i=0;i<5;i++){var j=h[i],k=d[j],l=k&&k.prototype;l&&!l[g]&&e(l,g,j),f[j]=f.Array}},function(a,b){a.exports=c(79646)},function(a,b){a.exports=c(55511)}];function e(a){if(f[a])return f[a].exports;var b=f[a]={exports:{},id:a,loaded:!1};return d[a].call(b.exports,b,b.exports,e),b.loaded=!0,b.exports}var f={};return e.m=d,e.c=f,e.p="",e(0)}(c(79646),c(55511))},21350:(a,b,c)=>{"use strict";c.r(b),c.d(b,{DELETE:()=>R,GET:()=>P,POST:()=>Q});var d=c(49796),e=c(23211),f=c(79748),g=c.n(f),h=c(33873),i=c.n(h),j=c(21820),k=c.n(j),l=c(55511),m=c.n(l),n=c(28286),o=c(30869),p=c(49120),q=c(54603),r=c(24424);let s=o.h0.appPort,t=`http://localhost:${s}/api/mcp/`,u=null,v=async()=>(u||(u=await (0,q.Xj)("9r-cli-auth")),u),w=async a=>{let b=await v();for(let c of a)"string"==typeof c?.url&&c.url.startsWith(t)&&(c.headers={...c.headers||{},"x-9r-cli-token":b});return a},x="gateway",y={coworkEgressAllowedHosts:["*"],disabledBuiltinTools:[],isLocalDevMcpEnabled:!0,isDesktopExtensionEnabled:!0,isDesktopExtensionDirectoryEnabled:!0,isDesktopExtensionSignatureRequired:!1,isClaudeCodeForDesktopEnabled:!0,disableEssentialTelemetry:!0,disableNonessentialTelemetry:!0,disableNonessentialServices:!0},z=()=>{if("darwin"===k().platform()){let a=i().join(k().homedir(),"Library","Application Support");return[i().join(a,"Claude-3p"),i().join(a,"Claude")]}if("win32"===k().platform()){let a=process.env.LOCALAPPDATA||i().join(k().homedir(),"AppData","Local"),b=process.env.APPDATA||i().join(k().homedir(),"AppData","Roaming");return[i().join(a,"Claude-3p"),i().join(b,"Claude-3p"),i().join(a,"Claude"),i().join(b,"Claude")]}return[i().join(k().homedir(),".config","Claude-3p"),i().join(k().homedir(),".config","Claude")]},A=async()=>{let a=z();for(let b of a)try{return await g().access(i().join(b,"configLibrary")),b}catch{}return a[0]},B=()=>z()[0],C=async()=>i().join(await A(),"configLibrary"),D=()=>i().join(B(),"configLibrary"),E=async()=>i().join(await C(),"_meta.json"),F=()=>{if("darwin"===k().platform())return i().join(k().homedir(),"Library","Application Support","Claude");if("win32"===k().platform()){let a=process.env.APPDATA||i().join(k().homedir(),"AppData","Roaming");return i().join(a,"Claude")}return i().join(k().homedir(),".config","Claude")},G=()=>i().join(F(),"claude_desktop_config.json"),H=async()=>{try{return JSON.parse(await g().readFile(G(),"utf-8"))||{}}catch(a){if("ENOENT"===a.code)return{};throw a}},I=async a=>{await g().mkdir(F(),{recursive:!0}),await g().writeFile(G(),JSON.stringify(a,null,2))},J=async()=>{let a=await H();return"3p"!==a.deploymentMode&&(a.deploymentMode="3p",await I(a),!0)},K=async()=>{let a=await H();if(!a.mcpServers||"object"!=typeof a.mcpServers)return;let b=new Set(n.LOCAL_STDIO_PLUGINS.map(a=>a.name));for(let c of Object.keys(a.mcpServers))b.has(c)&&delete a.mcpServers[c];0===Object.keys(a.mcpServers).length&&delete a.mcpServers,await I(a)},L=async()=>{for(let a of[...z(),...(()=>{if("darwin"===k().platform())return["/Applications/Claude.app",i().join(k().homedir(),"Applications","Claude.app")];if("win32"===k().platform()){let a=process.env.LOCALAPPDATA||i().join(k().homedir(),"AppData","Local"),b=process.env.ProgramFiles||"C:\\Program Files";return[i().join(a,"AnthropicClaude"),i().join(b,"Claude"),i().join(b,"AnthropicClaude")]}return[]})()])try{return await g().access(a),!0}catch{}return!1},M=async a=>{try{return JSON.parse(await g().readFile(a,"utf-8"))}catch(a){if("ENOENT"===a.code)return null;throw a}},N=async()=>{let a=i().join(D(),"_meta.json"),b=await M(a);if(!b||!b.appliedId){let c=await M(await E());if(c?.appliedId)b=c;else{let a=m().randomUUID();b={appliedId:a,entries:[{id:a,name:"Default"}]}}await g().mkdir(D(),{recursive:!0}),await g().writeFile(a,JSON.stringify(b,null,2))}return b};async function O(a){let b=i().join(B(),"config.json"),c={};try{c=JSON.parse(await g().readFile(b,"utf-8"))||{}}catch(a){if("ENOENT"!==a.code)return{error:a.code}}let d={};for(let b of a)b?.name&&(d[b.name]=!0);return c.operonSkipMcpApprovals=d,await g().mkdir(B(),{recursive:!0}),await g().writeFile(b,JSON.stringify(c,null,2)),{written:Object.keys(d).length}}async function P(){try{if(!await L())return e.NextResponse.json({installed:!1,config:null,message:"Claude Desktop (Cowork mode) not detected"});let a=await M(await E()),b=a?.appliedId||null,c=await C(),d=b?i().join(c,`${b}.json`):null,f=d?await M(d):null,g=f?.inferenceGatewayBaseUrl||null,h=Array.isArray(f?.inferenceModels)?f.inferenceModels.map(a=>"string"==typeof a?a:a?.name).filter(Boolean):[],j=Array.isArray(f?.managedMcpServers)?f.managedMcpServers:[],k=!!(f?.inferenceProvider===x&&g),l=new Set(n.LOCAL_STDIO_PLUGINS.map(a=>a.name)),m=j.filter(a=>l.has(a.name)&&"string"==typeof a.url&&a.url.includes("/api/mcp/")).map(a=>a.name),o=j.filter(a=>a.custom||!l.has(a.name)&&"string"==typeof a.url&&a.url.includes("/api/mcp/")).map(a=>({name:a.name,url:a.url,transport:a.transport,custom:!0}));return e.NextResponse.json({installed:!0,config:f,hasBluerouter:k,configPath:d,cowork:{appliedId:b,baseUrl:g,models:h,provider:f?.inferenceProvider||null,plugins:j.filter(a=>!a.custom&&!(l.has(a.name)&&"string"==typeof a.url&&a.url.includes("/api/mcp/"))).map(a=>{let b=a.toolPolicy?Object.keys(a.toolPolicy):[],c=`${a.name}-`,d=new Set;for(let a of b){let b=a;for(;b.startsWith(c);)b=b.slice(c.length);d.add(b)}let e=n.DEFAULT_PLUGINS.find(b=>b.name===a.name),f=e&&Array.isArray(e.toolNames)?e.toolNames:Array.from(d);return{name:a.name,url:a.url,transport:a.transport,oauth:!!a.oauth,toolNames:f}}),localPlugins:m,customPlugins:o},defaultPlugins:n.DEFAULT_PLUGINS,localStdioPlugins:n.LOCAL_STDIO_PLUGINS})}catch(a){return console.log("Error reading cowork settings:",a),e.NextResponse.json({error:"Failed to read cowork settings"},{status:500})}}async function Q(a){try{let{baseUrl:b,apiKey:d,models:f,plugins:h,localPlugins:j,customPlugins:k}=await a.json();if(!b||!d)return e.NextResponse.json({error:"baseUrl and apiKey are required"},{status:400});let l=Array.isArray(f)?f.filter(a=>"string"==typeof a&&a.trim()):[];if(0===l.length)return e.NextResponse.json({error:"At least one model is required"},{status:400});let m=Array.isArray(h)?h:n.DEFAULT_PLUGINS,o=Array.isArray(j)?j:[],q=Array.isArray(k)?k:[];if(q.length>0){let{registerCustomPlugin:a}=c(17113),b=q.filter(a=>a&&"string"==typeof a.command&&a.command.trim()).filter(a=>n.ALLOWED_MCP_COMMANDS.has(i().basename(a.command))).map(a=>({name:String(a.name||"").replace(/[^a-zA-Z0-9_-]/g,"").slice(0,64),command:a.command,args:Array.isArray(a.args)?a.args.map(String):[]})).filter(a=>a.name);for(let c of b)try{a(c)}catch{}try{let a=i().join(p.DATA_DIR,"mcp");await g().mkdir(a,{recursive:!0}),await g().writeFile(i().join(a,"customPlugins.json"),JSON.stringify(b,null,2))}catch{}}let r=await w((a=>{let b=Array.isArray(a)?a:[],c=[];for(let a of b){let b=n.LOCAL_STDIO_PLUGINS.find(b=>b.name===a);if(!b)continue;let d={name:b.name,url:`http://localhost:${s}/api/mcp/${b.name}/sse`,transport:"sse"};if(Array.isArray(b.toolNames)&&b.toolNames.length>0){let a=`${b.name}-`,c={};for(let d of b.toolNames)c[d]="allow",c[`${a}${d}`]="allow";d.toolPolicy=c}c.push(d)}return c})(o)),t=await w((a=>{if(!Array.isArray(a))return[];let b=[];for(let c of a)c?.name&&(c.url?b.push({name:c.name,url:c.url,transport:c.transport||"sse",custom:!0}):c.command&&b.push({name:c.name,url:`http://localhost:${s}/api/mcp/${encodeURIComponent(c.name)}/sse`,transport:"sse",custom:!0}));return b})(q)),u=[...(0,n.buildManagedMcpServers)(m),...r,...t],v=await J(),z=await N(),A=i().join(D(),`${z.appliedId}.json`),B={...y,inferenceProvider:x,inferenceGatewayBaseUrl:b,inferenceGatewayApiKey:d,inferenceModels:l.map(a=>({name:a}))};u.length>0&&(B.managedMcpServers=u),await g().writeFile(A,JSON.stringify(B,null,2));let C=null;try{C=await O(u)}catch(a){C={error:a.message}}try{await K()}catch{}return e.NextResponse.json({success:!0,bootstrapped:v,message:v?"Cowork enabled (3p mode set). Quit & reopen Claude Desktop.":"Cowork settings applied. Quit & reopen Claude Desktop.",configPath:A,skipApprovals:C,localMcp:{applied:o,via:"3p-sse-bridge"}})}catch(a){return console.log("Error applying cowork settings:",a),e.NextResponse.json({error:"Failed to apply cowork settings"},{status:500})}}async function R(){try{let a=await M(await E());if(!a?.appliedId)return e.NextResponse.json({success:!0,message:"No active config to reset"});let b=i().join(await C(),`${a.appliedId}.json`);try{await g().writeFile(b,JSON.stringify({},null,2))}catch(a){if("ENOENT"!==a.code)throw a}try{await O([])}catch{}try{await K()}catch{}return e.NextResponse.json({success:!0,message:"Cowork config reset"})}catch(a){return console.log("Error resetting cowork settings:",a),e.NextResponse.json({error:"Failed to reset cowork settings"},{status:500})}}(0,r.D)([P,Q,R]),(0,d.A)(P,"0022fa4f63920673442dcfa4f9945ad0d71b9a6f22",null),(0,d.A)(Q,"408c5a1ac37930a13e9f0df05ed13670a550cf6c23",null),(0,d.A)(R,"00ae29a211252ebd006534ea290fe53503133793a2",null)},28286:a=>{"use strict";a.exports={DEFAULT_PLUGINS:[{name:"exa",title:"Exa",description:"Real-time web search and code documentation",url:"https://mcp.exa.ai/mcp",transport:"http",oauth:!1,toolNames:["web_search_exa","web_fetch_exa"]},{name:"tavily",title:"Tavily",description:"Real-time web search optimized for LLM agents",url:"https://mcp.tavily.com/mcp",transport:"http",oauth:!0,toolNames:["tavily_search","tavily_extract","tavily_crawl","tavily_map"]}],LOCAL_STDIO_PLUGINS:[{name:"browsermcp",title:"Browser MCP",description:"Control your running Chrome (requires Chrome extension)",extensionUrl:"https://chromewebstore.google.com/detail/browser-mcp-automate-your/bjfgambnhccakkhmkepdoekmckoijdlc",command:"npx",args:["-y","@browsermcp/mcp@latest"],toolNames:["browser_navigate","browser_snapshot","browser_click","browser_type","browser_screenshot","browser_get_console_logs","browser_wait","browser_press_key","browser_go_back","browser_go_forward"]}],ALLOWED_MCP_COMMANDS:new Set(["npx","node","uvx","python","python3","bunx","bun"]),buildManagedMcpServers:function(a){let b=Array.isArray(a)?a:[],c=[],d=new Set;for(let a of b){if(!a?.name||!a?.url||d.has(a.name))continue;d.add(a.name);let b={name:a.name,url:a.url,transport:a.transport||(/\/sse(\b|\/)/i.test(a.url)?"sse":"http")};if(a.oauth&&(b.oauth=!0),Array.isArray(a.toolNames)&&a.toolNames.length>0){let c=`${a.name}-`,d=new Set;for(let b of a.toolNames){if("string"!=typeof b||!b)continue;let a=b;for(;a.startsWith(c);)a=a.slice(c.length);d.add(a)}let e={};for(let a of d)e[a]="allow",e[`${c}${a}`]="allow";b.toolPolicy=e}c.push(b)}return c}}},30869:(a,b,c)=>{"use strict";c.d(b,{UY:()=>h,X3:()=>i,eh:()=>f.eh,fg:()=>e.fg,h0:()=>g});var d=c(39006),e=c(75681),f=c(81329);d.rE;let g={npmPackageName:"@jheavenknows/bluerouter",installCmd:"npm i -g @jheavenknows/bluerouter",installCmdLatest:"npm install -g @jheavenknows/bluerouter@latest",shutdownCountdownSec:3,exitDelayMs:500,statusPort:20129,statusPollIntervalMs:1e3,statusLogTailLines:8,installRetries:3,installRetryDelayMs:5e3,lingerAfterDoneMs:3e4,waitForExitMinMs:5e3,waitForExitMaxMs:2e4,waitForExitCheckMs:500,appPort:20128},h={maxLines:200,pollIntervalMs:1e3},i={openrouter:"https://openrouter.ai/api/v1/chat/completions",glm:"https://api.z.ai/api/anthropic/v1/messages","glm-cn":"https://open.bigmodel.cn/api/coding/paas/v4/chat/completions",kimi:"https://api.kimi.com/coding/v1/messages",minimax:"https://api.minimax.io/anthropic/v1/messages","minimax-cn":"https://api.minimaxi.com/anthropic/v1/messages",alicode:"https://coding.dashscope.aliyuncs.com/v1/chat/completions","alicode-intl":"https://coding-intl.dashscope.aliyuncs.com/v1/chat/completions","volcengine-ark":"https://ark.cn-beijing.volces.com/api/coding/v3/chat/completions",byteplus:"https://ark.ap-southeast.bytepluses.com/api/coding/v3/chat/completions",openai:"https://api.openai.com/v1/chat/completions","vercel-ai-gateway":"https://ai-gateway.vercel.sh/v1/chat/completions",anthropic:"https://api.anthropic.com/v1/messages",gemini:"https://generativelanguage.googleapis.com/v1beta/models",ollama:"https://ollama.com/api/chat","ollama-local":"http://localhost:11434/api/chat"}},39006:a=>{"use strict";a.exports={rE:"4.0.81"}},49120:(a,b,c)=>{"use strict";c.r(b),c.d(b,{DATA_DIR:()=>m,getDataDir:()=>l});var d=c(73024),e=c.n(d),f=c(33873),g=c.n(f),h=c(21820),i=c.n(h);let j="bluerouter";function k(){return"win32"===process.platform?g().join(process.env.APPDATA||g().join(i().homedir(),"AppData","Roaming"),j):g().join(i().homedir(),`.${j}`)}function l(){let a=process.env.DATA_DIR;if(!a)return k();try{return e().mkdirSync(a,{recursive:!0}),a}catch(b){if(b?.code==="EACCES"||b?.code==="EPERM")return console.warn(`[DATA_DIR] '${a}' not writable → fallback ~/.${j}`),k();throw b}}let m=l()},54603:(a,b,c)=>{"use strict";c.d(b,{Xj:()=>q});var d=c(19713),e=c(73024),f=c.n(e),g=c(76760),h=c.n(g),i=c(77598),j=c.n(i),k=c(49120);let l=h().join(k.DATA_DIR,"machine-id"),m=h().join(k.DATA_DIR,"auth"),n=h().join(m,"cli-secret"),o=null,p=null;async function q(a=null){let b=a||process.env.MACHINE_ID_SALT||"endpoint-proxy-salt",c=function(){if(o)return o;try{if(o=f().readFileSync(l,"utf8").trim())return o}catch{}try{o=(0,d.machineIdSync)()}catch{o=j().randomUUID()}try{f().mkdirSync(k.DATA_DIR,{recursive:!0}),f().writeFileSync(l,o,{mode:384})}catch{}return o}(),e="9r-cli-auth"===b?function(){if(p)return p;try{if(p=f().readFileSync(n,"utf8").trim())return p}catch{}p=j().randomBytes(32).toString("hex");try{f().mkdirSync(m,{recursive:!0}),f().writeFileSync(n,p,{mode:384})}catch{}return p}():"";return j().createHash("sha256").update(c+b+e).digest("hex").substring(0,16)}},78335:()=>{},96487:()=>{}};
|
|
7
|
+
`)},isRunning:function(a){let b=m().get(a);return!!(b?.proc&&!b.proc.killed&&null===b.proc.exitCode)},findPlugin:p,registerCustomPlugin:function(a){if(!o(a?.command))throw Error(`Blocked: command '${a?.command}' not in MCP allowlist`);n().set(a.name,a)}}},19713:function(a,b,c){a.exports=function(a,b){var d=[function(a,b,c){a.exports=c(34)},function(a,b,c){var d=c(29)("wks"),e=c(33),f=c(2).Symbol,g="function"==typeof f;(a.exports=function(a){return d[a]||(d[a]=g&&f[a]||(g?f:e)("Symbol."+a))}).store=d},function(a,b){var c=a.exports="u">typeof window&&window.Math==Math?window:"u">typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=c)},function(a,b,c){var d=c(9);a.exports=function(a){if(!d(a))throw TypeError(a+" is not an object!");return a}},function(a,b,c){a.exports=!c(24)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(a,b,c){var d=c(12),e=c(17);a.exports=c(4)?function(a,b,c){return d.f(a,b,e(1,c))}:function(a,b,c){return a[b]=c,a}},function(a,b){var c=a.exports={version:"2.4.0"};"number"==typeof __e&&(__e=c)},function(a,b,c){var d=c(14);a.exports=function(a,b,c){if(d(a),void 0===b)return a;switch(c){case 1:return function(c){return a.call(b,c)};case 2:return function(c,d){return a.call(b,c,d)};case 3:return function(c,d,e){return a.call(b,c,d,e)}}return function(){return a.apply(b,arguments)}}},function(a,b){var c={}.hasOwnProperty;a.exports=function(a,b){return c.call(a,b)}},function(a,b){a.exports=function(a){return"object"==typeof a?null!==a:"function"==typeof a}},function(a,b){a.exports={}},function(a,b){var c={}.toString;a.exports=function(a){return c.call(a).slice(8,-1)}},function(a,b,c){var d=c(3),e=c(26),f=c(32),g=Object.defineProperty;b.f=c(4)?Object.defineProperty:function(a,b,c){if(d(a),b=f(b,!0),d(c),e)try{return g(a,b,c)}catch(a){}if("get"in c||"set"in c)throw TypeError("Accessors not supported!");return"value"in c&&(a[b]=c.value),a}},function(a,b,c){var d=c(42),e=c(15);a.exports=function(a){return d(e(a))}},function(a,b){a.exports=function(a){if("function"!=typeof a)throw TypeError(a+" is not a function!");return a}},function(a,b){a.exports=function(a){if(void 0==a)throw TypeError("Can't call method on "+a);return a}},function(a,b,c){var d=c(9),e=c(2).document,f=d(e)&&d(e.createElement);a.exports=function(a){return f?e.createElement(a):{}}},function(a,b){a.exports=function(a,b){return{enumerable:!(1&a),configurable:!(2&a),writable:!(4&a),value:b}}},function(a,b,c){var d=c(12).f,e=c(8),f=c(1)("toStringTag");a.exports=function(a,b,c){a&&!e(a=c?a:a.prototype,f)&&d(a,f,{configurable:!0,value:b})}},function(a,b,c){var d=c(29)("keys"),e=c(33);a.exports=function(a){return d[a]||(d[a]=e(a))}},function(a,b){var c=Math.ceil,d=Math.floor;a.exports=function(a){return isNaN(a*=1)?0:(a>0?d:c)(a)}},function(a,b,c){var d=c(11),e=c(1)("toStringTag"),f="Arguments"==d(function(){return arguments}()),g=function(a,b){try{return a[b]}catch(a){}};a.exports=function(a){var b,c,h;return void 0===a?"Undefined":null===a?"Null":"string"==typeof(c=g(b=Object(a),e))?c:f?d(b):"Object"==(h=d(b))&&"function"==typeof b.callee?"Arguments":h}},function(a,b){a.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(a,b,c){var d=c(2),e=c(6),f=c(7),g=c(5),h="prototype",i=function(a,b,c){var j,k,l,m=a&i.F,n=a&i.G,o=a&i.S,p=a&i.P,q=a&i.B,r=a&i.W,s=n?e:e[b]||(e[b]={}),t=s[h],u=n?d:o?d[b]:(d[b]||{})[h];for(j in n&&(c=b),c)(k=!m&&u&&void 0!==u[j])&&j in s||(l=k?u[j]:c[j],s[j]=n&&"function"!=typeof u[j]?c[j]:q&&k?f(l,d):r&&u[j]==l?function(a){var b=function(b,c,d){if(this instanceof a){switch(arguments.length){case 0:return new a;case 1:return new a(b);case 2:return new a(b,c)}return new a(b,c,d)}return a.apply(this,arguments)};return b[h]=a[h],b}(l):p&&"function"==typeof l?f(Function.call,l):l,p&&((s.virtual||(s.virtual={}))[j]=l,a&i.R&&t&&!t[j]&&g(t,j,l)))};i.F=1,i.G=2,i.S=4,i.P=8,i.B=16,i.W=32,i.U=64,i.R=128,a.exports=i},function(a,b){a.exports=function(a){try{return!!a()}catch(a){return!0}}},function(a,b,c){a.exports=c(2).document&&document.documentElement},function(a,b,c){a.exports=!c(4)&&!c(24)(function(){return 7!=Object.defineProperty(c(16)("div"),"a",{get:function(){return 7}}).a})},function(a,b,c){"use strict";var d=c(28),e=c(23),f=c(57),g=c(5),h=c(8),i=c(10),j=c(45),k=c(18),l=c(52),m=c(1)("iterator"),n=!([].keys&&"next"in[].keys()),o="keys",p="values",q=function(){return this};a.exports=function(a,b,c,r,s,t,u){j(c,b,r);var v,w,x,y=function(a){if(!n&&a in C)return C[a];switch(a){case o:case p:return function(){return new c(this,a)}}return function(){return new c(this,a)}},z=b+" Iterator",A=s==p,B=!1,C=a.prototype,D=C[m]||C["@@iterator"]||s&&C[s],E=D||y(s),F=s?A?y("entries"):E:void 0,G="Array"==b&&C.entries||D;if(G&&(x=l(G.call(new a)))!==Object.prototype&&(k(x,z,!0),d||h(x,m)||g(x,m,q)),A&&D&&D.name!==p&&(B=!0,E=function(){return D.call(this)}),(!d||u)&&(n||B||!C[m])&&g(C,m,E),i[b]=E,i[z]=q,s)if(v={values:A?E:y(p),keys:t?E:y(o),entries:F},u)for(w in v)w in C||f(C,w,v[w]);else e(e.P+e.F*(n||B),b,v);return v}},function(a,b){a.exports=!0},function(a,b,c){var d=c(2),e="__core-js_shared__",f=d[e]||(d[e]={});a.exports=function(a){return f[a]||(f[a]={})}},function(a,b,c){var d,e,f,g=c(7),h=c(41),i=c(25),j=c(16),k=c(2),l=k.process,m=k.setImmediate,n=k.clearImmediate,o=k.MessageChannel,p=0,q={},r="onreadystatechange",s=function(){var a=+this;if(q.hasOwnProperty(a)){var b=q[a];delete q[a],b()}},t=function(a){s.call(a.data)};m&&n||(m=function(a){for(var b=[],c=1;arguments.length>c;)b.push(arguments[c++]);return q[++p]=function(){h("function"==typeof a?a:Function(a),b)},d(p),p},n=function(a){delete q[a]},"process"==c(11)(l)?d=function(a){l.nextTick(g(s,a,1))}:o?(f=(e=new o).port2,e.port1.onmessage=t,d=g(f.postMessage,f,1)):k.addEventListener&&"function"==typeof postMessage&&!k.importScripts?(d=function(a){k.postMessage(a+"","*")},k.addEventListener("message",t,!1)):d=r in j("script")?function(a){i.appendChild(j("script"))[r]=function(){i.removeChild(this),s.call(a)}}:function(a){setTimeout(g(s,a,1),0)}),a.exports={set:m,clear:n}},function(a,b,c){var d=c(20),e=Math.min;a.exports=function(a){return a>0?e(d(a),0x1fffffffffffff):0}},function(a,b,c){var d=c(9);a.exports=function(a,b){var c,e;if(!d(a))return a;if(b&&"function"==typeof(c=a.toString)&&!d(e=c.call(a))||"function"==typeof(c=a.valueOf)&&!d(e=c.call(a))||!b&&"function"==typeof(c=a.toString)&&!d(e=c.call(a)))return e;throw TypeError("Can't convert object to primitive value")}},function(a,b){var c=0,d=Math.random();a.exports=function(a){return"Symbol(".concat(void 0===a?"":a,")_",(++c+d).toString(36))}},function(a,b,c){"use strict";function d(a){return(0,i.createHash)("sha256").update(a).digest("hex")}function e(a){switch(j){case"darwin":return a.split("IOPlatformUUID")[1].split("\n")[0].replace(/\=|\s+|\"/gi,"").toLowerCase();case"win32":return a.toString().split("REG_SZ")[1].replace(/\r+|\n+|\s+/gi,"").toLowerCase();case"linux":case"freebsd":return a.toString().replace(/\r+|\n+|\s+/gi,"").toLowerCase();default:throw Error("Unsupported platform: "+process.platform)}}Object.defineProperty(b,"__esModule",{value:!0});var f,g=(f=c(35))&&f.__esModule?f:{default:f};b.machineIdSync=function(a){var b=e((0,h.execSync)(k[j]).toString());return a?b:d(b)},b.machineId=function(a){return new g.default(function(b,c){return(0,h.exec)(k[j],{},function(f,g,h){if(f)return c(Error("Error while obtaining machine id: "+f.stack));var i=e(g.toString());return b(a?i:d(i))})})};var h=c(70),i=c(71),j=process.platform,k={darwin:"ioreg -rd1 -c IOPlatformExpertDevice",win32:{native:"%windir%\\System32",mixed:"%windir%\\sysnative\\cmd.exe /c %windir%\\System32"}["win32"!==process.platform?"":"ia32"===process.arch&&process.env.hasOwnProperty("PROCESSOR_ARCHITEW6432")?"mixed":"native"]+"\\REG.exe QUERY HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Cryptography /v MachineGuid",linux:"( cat /var/lib/dbus/machine-id /etc/machine-id 2> /dev/null || hostname ) | head -n 1 || :",freebsd:"kenv -q smbios.system.uuid || sysctl -n kern.hostuuid"}},function(a,b,c){a.exports={default:c(36),__esModule:!0}},function(a,b,c){c(66),c(68),c(69),c(67),a.exports=c(6).Promise},function(a,b){a.exports=function(){}},function(a,b){a.exports=function(a,b,c,d){if(!(a instanceof b)||void 0!==d&&d in a)throw TypeError(c+": incorrect invocation!");return a}},function(a,b,c){var d=c(13),e=c(31),f=c(62);a.exports=function(a){return function(b,c,g){var h,i=d(b),j=e(i.length),k=f(g,j);if(a&&c!=c){for(;j>k;)if((h=i[k++])!=h)return!0}else for(;j>k;k++)if((a||k in i)&&i[k]===c)return a||k||0;return!a&&-1}}},function(a,b,c){var d=c(7),e=c(44),f=c(43),g=c(3),h=c(31),i=c(64),j={},k={},b=a.exports=function(a,b,c,l,m){var n,o,p,q,r=m?function(){return a}:i(a),s=d(c,l,b?2:1),t=0;if("function"!=typeof r)throw TypeError(a+" is not iterable!");if(f(r)){for(n=h(a.length);n>t;t++)if((q=b?s(g(o=a[t])[0],o[1]):s(a[t]))===j||q===k)return q}else for(p=r.call(a);!(o=p.next()).done;)if((q=e(p,s,o.value,b))===j||q===k)return q};b.BREAK=j,b.RETURN=k},function(a,b){a.exports=function(a,b,c){var d=void 0===c;switch(b.length){case 0:return d?a():a.call(c);case 1:return d?a(b[0]):a.call(c,b[0]);case 2:return d?a(b[0],b[1]):a.call(c,b[0],b[1]);case 3:return d?a(b[0],b[1],b[2]):a.call(c,b[0],b[1],b[2]);case 4:return d?a(b[0],b[1],b[2],b[3]):a.call(c,b[0],b[1],b[2],b[3])}return a.apply(c,b)}},function(a,b,c){var d=c(11);a.exports=Object("z").propertyIsEnumerable(0)?Object:function(a){return"String"==d(a)?a.split(""):Object(a)}},function(a,b,c){var d=c(10),e=c(1)("iterator"),f=Array.prototype;a.exports=function(a){return void 0!==a&&(d.Array===a||f[e]===a)}},function(a,b,c){var d=c(3);a.exports=function(a,b,c,e){try{return e?b(d(c)[0],c[1]):b(c)}catch(b){var f=a.return;throw void 0!==f&&d(f.call(a)),b}}},function(a,b,c){"use strict";var d=c(49),e=c(17),f=c(18),g={};c(5)(g,c(1)("iterator"),function(){return this}),a.exports=function(a,b,c){a.prototype=d(g,{next:e(1,c)}),f(a,b+" Iterator")}},function(a,b,c){var d=c(1)("iterator"),e=!1;try{var f=[7][d]();f.return=function(){e=!0},Array.from(f,function(){throw 2})}catch(a){}a.exports=function(a,b){if(!b&&!e)return!1;var c=!1;try{var f=[7],g=f[d]();g.next=function(){return{done:c=!0}},f[d]=function(){return g},a(f)}catch(a){}return c}},function(a,b){a.exports=function(a,b){return{value:b,done:!!a}}},function(a,b,c){var d=c(2),e=c(30).set,f=d.MutationObserver||d.WebKitMutationObserver,g=d.process,h=d.Promise,i="process"==c(11)(g);a.exports=function(){var a,b,c,j=function(){var d,e;for(i&&(d=g.domain)&&d.exit();a;){e=a.fn,a=a.next;try{e()}catch(d){throw a?c():b=void 0,d}}b=void 0,d&&d.enter()};if(i)c=function(){g.nextTick(j)};else if(f){var k=!0,l=document.createTextNode("");new f(j).observe(l,{characterData:!0}),c=function(){l.data=k=!k}}else if(h&&h.resolve){var m=h.resolve();c=function(){m.then(j)}}else c=function(){e.call(d,j)};return function(d){var e={fn:d,next:void 0};b&&(b.next=e),a||(a=e,c()),b=e}}},function(a,b,c){var d=c(3),e=c(50),f=c(22),g=c(19)("IE_PROTO"),h=function(){},i="prototype",j=function(){var a,b=c(16)("iframe"),d=f.length;for(b.style.display="none",c(25).appendChild(b),b.src="javascript:",(a=b.contentWindow.document).open(),a.write("<script>document.F=Object<\/script>"),a.close(),j=a.F;d--;)delete j[i][f[d]];return j()};a.exports=Object.create||function(a,b){var c;return null!==a?(h[i]=d(a),c=new h,h[i]=null,c[g]=a):c=j(),void 0===b?c:e(c,b)}},function(a,b,c){var d=c(12),e=c(3),f=c(54);a.exports=c(4)?Object.defineProperties:function(a,b){e(a);for(var c,g=f(b),h=g.length,i=0;h>i;)d.f(a,c=g[i++],b[c]);return a}},function(a,b,c){var d=c(55),e=c(17),f=c(13),g=c(32),h=c(8),i=c(26),j=Object.getOwnPropertyDescriptor;b.f=c(4)?j:function(a,b){if(a=f(a),b=g(b,!0),i)try{return j(a,b)}catch(a){}if(h(a,b))return e(!d.f.call(a,b),a[b])}},function(a,b,c){var d=c(8),e=c(63),f=c(19)("IE_PROTO"),g=Object.prototype;a.exports=Object.getPrototypeOf||function(a){return d(a=e(a),f)?a[f]:"function"==typeof a.constructor&&a instanceof a.constructor?a.constructor.prototype:a instanceof Object?g:null}},function(a,b,c){var d=c(8),e=c(13),f=c(39)(!1),g=c(19)("IE_PROTO");a.exports=function(a,b){var c,h=e(a),i=0,j=[];for(c in h)c!=g&&d(h,c)&&j.push(c);for(;b.length>i;)d(h,c=b[i++])&&(~f(j,c)||j.push(c));return j}},function(a,b,c){var d=c(53),e=c(22);a.exports=Object.keys||function(a){return d(a,e)}},function(a,b){b.f=({}).propertyIsEnumerable},function(a,b,c){var d=c(5);a.exports=function(a,b,c){for(var e in b)c&&a[e]?a[e]=b[e]:d(a,e,b[e]);return a}},function(a,b,c){a.exports=c(5)},function(a,b,c){var d=c(9),e=c(3),f=function(a,b){if(e(a),!d(b)&&null!==b)throw TypeError(b+": can't set as prototype!")};a.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(a,b,d){try{(d=c(7)(Function.call,c(51).f(Object.prototype,"__proto__").set,2))(a,[]),b=!(a instanceof Array)}catch(a){b=!0}return function(a,c){return f(a,c),b?a.__proto__=c:d(a,c),a}}({},!1):void 0),check:f}},function(a,b,c){"use strict";var d=c(2),e=c(6),f=c(12),g=c(4),h=c(1)("species");a.exports=function(a){var b="function"==typeof e[a]?e[a]:d[a];g&&b&&!b[h]&&f.f(b,h,{configurable:!0,get:function(){return this}})}},function(a,b,c){var d=c(3),e=c(14),f=c(1)("species");a.exports=function(a,b){var c,g=d(a).constructor;return void 0===g||void 0==(c=d(g)[f])?b:e(c)}},function(a,b,c){var d=c(20),e=c(15);a.exports=function(a){return function(b,c){var f,g,h=String(e(b)),i=d(c),j=h.length;return i<0||i>=j?a?"":void 0:(f=h.charCodeAt(i))<55296||f>56319||i+1===j||(g=h.charCodeAt(i+1))<56320||g>57343?a?h.charAt(i):f:a?h.slice(i,i+2):(f-55296<<10)+(g-56320)+65536}}},function(a,b,c){var d=c(20),e=Math.max,f=Math.min;a.exports=function(a,b){return(a=d(a))<0?e(a+b,0):f(a,b)}},function(a,b,c){var d=c(15);a.exports=function(a){return Object(d(a))}},function(a,b,c){var d=c(21),e=c(1)("iterator"),f=c(10);a.exports=c(6).getIteratorMethod=function(a){if(void 0!=a)return a[e]||a["@@iterator"]||f[d(a)]}},function(a,b,c){"use strict";var d=c(37),e=c(47),f=c(10),g=c(13);a.exports=c(27)(Array,"Array",function(a,b){this._t=g(a),this._i=0,this._k=b},function(){var a=this._t,b=this._k,c=this._i++;return!a||c>=a.length?(this._t=void 0,e(1)):"keys"==b?e(0,c):"values"==b?e(0,a[c]):e(0,[c,a[c]])},"values"),f.Arguments=f.Array,d("keys"),d("values"),d("entries")},function(a,b){},function(a,b,c){"use strict";var d,e,f,g=c(28),h=c(2),i=c(7),j=c(21),k=c(23),l=c(9),m=(c(3),c(14)),n=c(38),o=c(40),p=(c(58).set,c(60)),q=c(30).set,r=c(48)(),s="Promise",t=h.TypeError,u=h.process,v=h[s],u=h.process,w="process"==j(u),x=function(){},y=!!function(){try{var a=v.resolve(1),b=(a.constructor={})[c(1)("species")]=function(a){a(x,x)};return(w||"function"==typeof PromiseRejectionEvent)&&a.then(x)instanceof b}catch(a){}}(),z=function(a,b){return a===b||a===v&&b===f},A=function(a){var b;return!(!l(a)||"function"!=typeof(b=a.then))&&b},B=function(a){return z(v,a)?new C(a):new e(a)},C=e=function(a){var b,c;this.promise=new a(function(a,d){if(void 0!==b||void 0!==c)throw t("Bad Promise constructor");b=a,c=d}),this.resolve=m(b),this.reject=m(c)},D=function(a){try{a()}catch(a){return{error:a}}},E=function(a,b){if(!a._n){a._n=!0;var c=a._c;r(function(){for(var d=a._v,e=1==a._s,f=0;c.length>f;)!function(b){var c,f,g=e?b.ok:b.fail,h=b.resolve,i=b.reject,j=b.domain;try{g?(e||(2==a._h&&H(a),a._h=1),!0===g?c=d:(j&&j.enter(),c=g(d),j&&j.exit()),c===b.promise?i(t("Promise-chain cycle")):(f=A(c))?f.call(c,h,i):h(c)):i(d)}catch(a){i(a)}}(c[f++]);a._c=[],a._n=!1,b&&!a._h&&F(a)})}},F=function(a){q.call(h,function(){var b,c,d,e=a._v;if(G(a)&&(b=D(function(){w?u.emit("unhandledRejection",e,a):(c=h.onunhandledrejection)?c({promise:a,reason:e}):(d=h.console)&&d.error&&d.error("Unhandled promise rejection",e)}),a._h=w||G(a)?2:1),a._a=void 0,b)throw b.error})},G=function(a){if(1==a._h)return!1;for(var b,c=a._a||a._c,d=0;c.length>d;)if((b=c[d++]).fail||!G(b.promise))return!1;return!0},H=function(a){q.call(h,function(){var b;w?u.emit("rejectionHandled",a):(b=h.onrejectionhandled)&&b({promise:a,reason:a._v})})},I=function(a){var b=this;b._d||(b._d=!0,(b=b._w||b)._v=a,b._s=2,b._a||(b._a=b._c.slice()),E(b,!0))},J=function(a){var b,c=this;if(!c._d){c._d=!0,c=c._w||c;try{if(c===a)throw t("Promise can't be resolved itself");(b=A(a))?r(function(){var d={_w:c,_d:!1};try{b.call(a,i(J,d,1),i(I,d,1))}catch(a){I.call(d,a)}}):(c._v=a,c._s=1,E(c,!1))}catch(a){I.call({_w:c,_d:!1},a)}}};y||(v=function(a){n(this,v,s,"_h"),m(a),d.call(this);try{a(i(J,this,1),i(I,this,1))}catch(a){I.call(this,a)}},(d=function(a){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1}).prototype=c(56)(v.prototype,{then:function(a,b){var c=B(p(this,v));return c.ok="function"!=typeof a||a,c.fail="function"==typeof b&&b,c.domain=w?u.domain:void 0,this._c.push(c),this._a&&this._a.push(c),this._s&&E(this,!1),c.promise},catch:function(a){return this.then(void 0,a)}}),C=function(){var a=new d;this.promise=a,this.resolve=i(J,a,1),this.reject=i(I,a,1)}),k(k.G+k.W+!y*k.F,{Promise:v}),c(18)(v,s),c(59)(s),f=c(6)[s],k(k.S+!y*k.F,s,{reject:function(a){var b=B(this);return(0,b.reject)(a),b.promise}}),k(k.S+k.F*(g||!y),s,{resolve:function(a){if(a instanceof v&&z(a.constructor,this))return a;var b=B(this);return(0,b.resolve)(a),b.promise}}),k(k.S+!(y&&c(46)(function(a){v.all(a).catch(x)}))*k.F,s,{all:function(a){var b=this,c=B(b),d=c.resolve,e=c.reject,f=D(function(){var c=[],f=0,g=1;o(a,!1,function(a){var h=f++,i=!1;c.push(void 0),g++,b.resolve(a).then(function(a){i||(i=!0,c[h]=a,--g||d(c))},e)}),--g||d(c)});return f&&e(f.error),c.promise},race:function(a){var b=this,c=B(b),d=c.reject,e=D(function(){o(a,!1,function(a){b.resolve(a).then(c.resolve,d)})});return e&&d(e.error),c.promise}})},function(a,b,c){"use strict";var d=c(61)(!0);c(27)(String,"String",function(a){this._t=String(a),this._i=0},function(){var a,b=this._t,c=this._i;return c>=b.length?{value:void 0,done:!0}:(a=d(b,c),this._i+=a.length,{value:a,done:!1})})},function(a,b,c){c(65);for(var d=c(2),e=c(5),f=c(10),g=c(1)("toStringTag"),h=["NodeList","DOMTokenList","MediaList","StyleSheetList","CSSRuleList"],i=0;i<5;i++){var j=h[i],k=d[j],l=k&&k.prototype;l&&!l[g]&&e(l,g,j),f[j]=f.Array}},function(a,b){a.exports=c(79646)},function(a,b){a.exports=c(55511)}];function e(a){if(f[a])return f[a].exports;var b=f[a]={exports:{},id:a,loaded:!1};return d[a].call(b.exports,b,b.exports,e),b.loaded=!0,b.exports}var f={};return e.m=d,e.c=f,e.p="",e(0)}(c(79646),c(55511))},21350:(a,b,c)=>{"use strict";c.r(b),c.d(b,{DELETE:()=>R,GET:()=>P,POST:()=>Q});var d=c(49796),e=c(23211),f=c(79748),g=c.n(f),h=c(33873),i=c.n(h),j=c(21820),k=c.n(j),l=c(55511),m=c.n(l),n=c(28286),o=c(30869),p=c(49120),q=c(54603),r=c(24424);let s=o.h0.appPort,t=`http://localhost:${s}/api/mcp/`,u=null,v=async()=>(u||(u=await (0,q.Xj)("9r-cli-auth")),u),w=async a=>{let b=await v();for(let c of a)"string"==typeof c?.url&&c.url.startsWith(t)&&(c.headers={...c.headers||{},"x-9r-cli-token":b});return a},x="gateway",y={coworkEgressAllowedHosts:["*"],disabledBuiltinTools:[],isLocalDevMcpEnabled:!0,isDesktopExtensionEnabled:!0,isDesktopExtensionDirectoryEnabled:!0,isDesktopExtensionSignatureRequired:!1,isClaudeCodeForDesktopEnabled:!0,disableEssentialTelemetry:!0,disableNonessentialTelemetry:!0,disableNonessentialServices:!0},z=()=>{if("darwin"===k().platform()){let a=i().join(k().homedir(),"Library","Application Support");return[i().join(a,"Claude-3p"),i().join(a,"Claude")]}if("win32"===k().platform()){let a=process.env.LOCALAPPDATA||i().join(k().homedir(),"AppData","Local"),b=process.env.APPDATA||i().join(k().homedir(),"AppData","Roaming");return[i().join(a,"Claude-3p"),i().join(b,"Claude-3p"),i().join(a,"Claude"),i().join(b,"Claude")]}return[i().join(k().homedir(),".config","Claude-3p"),i().join(k().homedir(),".config","Claude")]},A=async()=>{let a=z();for(let b of a)try{return await g().access(i().join(b,"configLibrary")),b}catch{}return a[0]},B=()=>z()[0],C=async()=>i().join(await A(),"configLibrary"),D=()=>i().join(B(),"configLibrary"),E=async()=>i().join(await C(),"_meta.json"),F=()=>{if("darwin"===k().platform())return i().join(k().homedir(),"Library","Application Support","Claude");if("win32"===k().platform()){let a=process.env.APPDATA||i().join(k().homedir(),"AppData","Roaming");return i().join(a,"Claude")}return i().join(k().homedir(),".config","Claude")},G=()=>i().join(F(),"claude_desktop_config.json"),H=async()=>{try{return JSON.parse(await g().readFile(G(),"utf-8"))||{}}catch(a){if("ENOENT"===a.code)return{};throw a}},I=async a=>{await g().mkdir(F(),{recursive:!0}),await g().writeFile(G(),JSON.stringify(a,null,2))},J=async()=>{let a=await H();return"3p"!==a.deploymentMode&&(a.deploymentMode="3p",await I(a),!0)},K=async()=>{let a=await H();if(!a.mcpServers||"object"!=typeof a.mcpServers)return;let b=new Set(n.LOCAL_STDIO_PLUGINS.map(a=>a.name));for(let c of Object.keys(a.mcpServers))b.has(c)&&delete a.mcpServers[c];0===Object.keys(a.mcpServers).length&&delete a.mcpServers,await I(a)},L=async()=>{for(let a of[...z(),...(()=>{if("darwin"===k().platform())return["/Applications/Claude.app",i().join(k().homedir(),"Applications","Claude.app")];if("win32"===k().platform()){let a=process.env.LOCALAPPDATA||i().join(k().homedir(),"AppData","Local"),b=process.env.ProgramFiles||"C:\\Program Files";return[i().join(a,"AnthropicClaude"),i().join(b,"Claude"),i().join(b,"AnthropicClaude")]}return[]})()])try{return await g().access(a),!0}catch{}return!1},M=async a=>{try{return JSON.parse(await g().readFile(a,"utf-8"))}catch(a){if("ENOENT"===a.code)return null;throw a}},N=async()=>{let a=i().join(D(),"_meta.json"),b=await M(a);if(!b||!b.appliedId){let c=await M(await E());if(c?.appliedId)b=c;else{let a=m().randomUUID();b={appliedId:a,entries:[{id:a,name:"Default"}]}}await g().mkdir(D(),{recursive:!0}),await g().writeFile(a,JSON.stringify(b,null,2))}return b};async function O(a){let b=i().join(B(),"config.json"),c={};try{c=JSON.parse(await g().readFile(b,"utf-8"))||{}}catch(a){if("ENOENT"!==a.code)return{error:a.code}}let d={};for(let b of a)b?.name&&(d[b.name]=!0);return c.operonSkipMcpApprovals=d,await g().mkdir(B(),{recursive:!0}),await g().writeFile(b,JSON.stringify(c,null,2)),{written:Object.keys(d).length}}async function P(){try{if(!await L())return e.NextResponse.json({installed:!1,config:null,message:"Claude Desktop (Cowork mode) not detected"});let a=await M(await E()),b=a?.appliedId||null,c=await C(),d=b?i().join(c,`${b}.json`):null,f=d?await M(d):null,g=f?.inferenceGatewayBaseUrl||null,h=Array.isArray(f?.inferenceModels)?f.inferenceModels.map(a=>"string"==typeof a?a:a?.name).filter(Boolean):[],j=Array.isArray(f?.managedMcpServers)?f.managedMcpServers:[],k=!!(f?.inferenceProvider===x&&g),l=new Set(n.LOCAL_STDIO_PLUGINS.map(a=>a.name)),m=j.filter(a=>l.has(a.name)&&"string"==typeof a.url&&a.url.includes("/api/mcp/")).map(a=>a.name),o=j.filter(a=>a.custom||!l.has(a.name)&&"string"==typeof a.url&&a.url.includes("/api/mcp/")).map(a=>({name:a.name,url:a.url,transport:a.transport,custom:!0}));return e.NextResponse.json({installed:!0,config:f,hasBluerouter:k,configPath:d,cowork:{appliedId:b,baseUrl:g,models:h,provider:f?.inferenceProvider||null,plugins:j.filter(a=>!a.custom&&!(l.has(a.name)&&"string"==typeof a.url&&a.url.includes("/api/mcp/"))).map(a=>{let b=a.toolPolicy?Object.keys(a.toolPolicy):[],c=`${a.name}-`,d=new Set;for(let a of b){let b=a;for(;b.startsWith(c);)b=b.slice(c.length);d.add(b)}let e=n.DEFAULT_PLUGINS.find(b=>b.name===a.name),f=e&&Array.isArray(e.toolNames)?e.toolNames:Array.from(d);return{name:a.name,url:a.url,transport:a.transport,oauth:!!a.oauth,toolNames:f}}),localPlugins:m,customPlugins:o},defaultPlugins:n.DEFAULT_PLUGINS,localStdioPlugins:n.LOCAL_STDIO_PLUGINS})}catch(a){return console.log("Error reading cowork settings:",a),e.NextResponse.json({error:"Failed to read cowork settings"},{status:500})}}async function Q(a){try{let{baseUrl:b,apiKey:d,models:f,plugins:h,localPlugins:j,customPlugins:k}=await a.json();if(!b||!d)return e.NextResponse.json({error:"baseUrl and apiKey are required"},{status:400});let l=Array.isArray(f)?f.filter(a=>"string"==typeof a&&a.trim()):[];if(0===l.length)return e.NextResponse.json({error:"At least one model is required"},{status:400});let m=Array.isArray(h)?h:n.DEFAULT_PLUGINS,o=Array.isArray(j)?j:[],q=Array.isArray(k)?k:[];if(q.length>0){let{registerCustomPlugin:a}=c(17113),b=q.filter(a=>a&&"string"==typeof a.command&&a.command.trim()).filter(a=>n.ALLOWED_MCP_COMMANDS.has(i().basename(a.command))).map(a=>({name:String(a.name||"").replace(/[^a-zA-Z0-9_-]/g,"").slice(0,64),command:a.command,args:Array.isArray(a.args)?a.args.map(String):[]})).filter(a=>a.name);for(let c of b)try{a(c)}catch{}try{let a=i().join(p.DATA_DIR,"mcp");await g().mkdir(a,{recursive:!0}),await g().writeFile(i().join(a,"customPlugins.json"),JSON.stringify(b,null,2))}catch{}}let r=await w((a=>{let b=Array.isArray(a)?a:[],c=[];for(let a of b){let b=n.LOCAL_STDIO_PLUGINS.find(b=>b.name===a);if(!b)continue;let d={name:b.name,url:`http://localhost:${s}/api/mcp/${b.name}/sse`,transport:"sse"};if(Array.isArray(b.toolNames)&&b.toolNames.length>0){let a=`${b.name}-`,c={};for(let d of b.toolNames)c[d]="allow",c[`${a}${d}`]="allow";d.toolPolicy=c}c.push(d)}return c})(o)),t=await w((a=>{if(!Array.isArray(a))return[];let b=[];for(let c of a)c?.name&&(c.url?b.push({name:c.name,url:c.url,transport:c.transport||"sse",custom:!0}):c.command&&b.push({name:c.name,url:`http://localhost:${s}/api/mcp/${encodeURIComponent(c.name)}/sse`,transport:"sse",custom:!0}));return b})(q)),u=[...(0,n.buildManagedMcpServers)(m),...r,...t],v=await J(),z=await N(),A=i().join(D(),`${z.appliedId}.json`),B={...y,inferenceProvider:x,inferenceGatewayBaseUrl:b,inferenceGatewayApiKey:d,inferenceModels:l.map(a=>({name:a}))};u.length>0&&(B.managedMcpServers=u),await g().writeFile(A,JSON.stringify(B,null,2));let C=null;try{C=await O(u)}catch(a){C={error:a.message}}try{await K()}catch{}return e.NextResponse.json({success:!0,bootstrapped:v,message:v?"Cowork enabled (3p mode set). Quit & reopen Claude Desktop.":"Cowork settings applied. Quit & reopen Claude Desktop.",configPath:A,skipApprovals:C,localMcp:{applied:o,via:"3p-sse-bridge"}})}catch(a){return console.log("Error applying cowork settings:",a),e.NextResponse.json({error:"Failed to apply cowork settings"},{status:500})}}async function R(){try{let a=await M(await E());if(!a?.appliedId)return e.NextResponse.json({success:!0,message:"No active config to reset"});let b=i().join(await C(),`${a.appliedId}.json`);try{await g().writeFile(b,JSON.stringify({},null,2))}catch(a){if("ENOENT"!==a.code)throw a}try{await O([])}catch{}try{await K()}catch{}return e.NextResponse.json({success:!0,message:"Cowork config reset"})}catch(a){return console.log("Error resetting cowork settings:",a),e.NextResponse.json({error:"Failed to reset cowork settings"},{status:500})}}(0,r.D)([P,Q,R]),(0,d.A)(P,"0022fa4f63920673442dcfa4f9945ad0d71b9a6f22",null),(0,d.A)(Q,"408c5a1ac37930a13e9f0df05ed13670a550cf6c23",null),(0,d.A)(R,"00ae29a211252ebd006534ea290fe53503133793a2",null)},28286:a=>{"use strict";a.exports={DEFAULT_PLUGINS:[{name:"exa",title:"Exa",description:"Real-time web search and code documentation",url:"https://mcp.exa.ai/mcp",transport:"http",oauth:!1,toolNames:["web_search_exa","web_fetch_exa"]},{name:"tavily",title:"Tavily",description:"Real-time web search optimized for LLM agents",url:"https://mcp.tavily.com/mcp",transport:"http",oauth:!0,toolNames:["tavily_search","tavily_extract","tavily_crawl","tavily_map"]}],LOCAL_STDIO_PLUGINS:[{name:"browsermcp",title:"Browser MCP",description:"Control your running Chrome (requires Chrome extension)",extensionUrl:"https://chromewebstore.google.com/detail/browser-mcp-automate-your/bjfgambnhccakkhmkepdoekmckoijdlc",command:"npx",args:["-y","@browsermcp/mcp@latest"],toolNames:["browser_navigate","browser_snapshot","browser_click","browser_type","browser_screenshot","browser_get_console_logs","browser_wait","browser_press_key","browser_go_back","browser_go_forward"]}],ALLOWED_MCP_COMMANDS:new Set(["npx","node","uvx","python","python3","bunx","bun"]),buildManagedMcpServers:function(a){let b=Array.isArray(a)?a:[],c=[],d=new Set;for(let a of b){if(!a?.name||!a?.url||d.has(a.name))continue;d.add(a.name);let b={name:a.name,url:a.url,transport:a.transport||(/\/sse(\b|\/)/i.test(a.url)?"sse":"http")};if(a.oauth&&(b.oauth=!0),Array.isArray(a.toolNames)&&a.toolNames.length>0){let c=`${a.name}-`,d=new Set;for(let b of a.toolNames){if("string"!=typeof b||!b)continue;let a=b;for(;a.startsWith(c);)a=a.slice(c.length);d.add(a)}let e={};for(let a of d)e[a]="allow",e[`${c}${a}`]="allow";b.toolPolicy=e}c.push(b)}return c}}},30869:(a,b,c)=>{"use strict";c.d(b,{UY:()=>h,X3:()=>i,eh:()=>f.eh,fg:()=>e.fg,h0:()=>g});var d=c(39006),e=c(75681),f=c(81329);d.rE;let g={npmPackageName:"@jheavenknows/bluerouter",installCmd:"npm i -g @jheavenknows/bluerouter",installCmdLatest:"npm install -g @jheavenknows/bluerouter@latest",shutdownCountdownSec:3,exitDelayMs:500,statusPort:20129,statusPollIntervalMs:1e3,statusLogTailLines:8,installRetries:3,installRetryDelayMs:5e3,lingerAfterDoneMs:3e4,waitForExitMinMs:5e3,waitForExitMaxMs:2e4,waitForExitCheckMs:500,appPort:20128},h={maxLines:200,pollIntervalMs:1e3},i={openrouter:"https://openrouter.ai/api/v1/chat/completions",glm:"https://api.z.ai/api/anthropic/v1/messages","glm-cn":"https://open.bigmodel.cn/api/coding/paas/v4/chat/completions",kimi:"https://api.kimi.com/coding/v1/messages",minimax:"https://api.minimax.io/anthropic/v1/messages","minimax-cn":"https://api.minimaxi.com/anthropic/v1/messages",alicode:"https://coding.dashscope.aliyuncs.com/v1/chat/completions","alicode-intl":"https://coding-intl.dashscope.aliyuncs.com/v1/chat/completions","volcengine-ark":"https://ark.cn-beijing.volces.com/api/coding/v3/chat/completions",byteplus:"https://ark.ap-southeast.bytepluses.com/api/coding/v3/chat/completions",openai:"https://api.openai.com/v1/chat/completions","vercel-ai-gateway":"https://ai-gateway.vercel.sh/v1/chat/completions",anthropic:"https://api.anthropic.com/v1/messages",gemini:"https://generativelanguage.googleapis.com/v1beta/models",ollama:"https://ollama.com/api/chat","ollama-local":"http://localhost:11434/api/chat"}},39006:a=>{"use strict";a.exports={rE:"4.0.83"}},49120:(a,b,c)=>{"use strict";c.r(b),c.d(b,{DATA_DIR:()=>m,getDataDir:()=>l});var d=c(73024),e=c.n(d),f=c(33873),g=c.n(f),h=c(21820),i=c.n(h);let j="bluerouter";function k(){return"win32"===process.platform?g().join(process.env.APPDATA||g().join(i().homedir(),"AppData","Roaming"),j):g().join(i().homedir(),`.${j}`)}function l(){let a=process.env.DATA_DIR;if(!a)return k();try{return e().mkdirSync(a,{recursive:!0}),a}catch(b){if(b?.code==="EACCES"||b?.code==="EPERM")return console.warn(`[DATA_DIR] '${a}' not writable → fallback ~/.${j}`),k();throw b}}let m=l()},54603:(a,b,c)=>{"use strict";c.d(b,{Xj:()=>q});var d=c(19713),e=c(73024),f=c.n(e),g=c(76760),h=c.n(g),i=c(77598),j=c.n(i),k=c(49120);let l=h().join(k.DATA_DIR,"machine-id"),m=h().join(k.DATA_DIR,"auth"),n=h().join(m,"cli-secret"),o=null,p=null;async function q(a=null){let b=a||process.env.MACHINE_ID_SALT||"endpoint-proxy-salt",c=function(){if(o)return o;try{if(o=f().readFileSync(l,"utf8").trim())return o}catch{}try{o=(0,d.machineIdSync)()}catch{o=j().randomUUID()}try{f().mkdirSync(k.DATA_DIR,{recursive:!0}),f().writeFileSync(l,o,{mode:384})}catch{}return o}(),e="9r-cli-auth"===b?function(){if(p)return p;try{if(p=f().readFileSync(n,"utf8").trim())return p}catch{}p=j().randomBytes(32).toString("hex");try{f().mkdirSync(m,{recursive:!0}),f().writeFileSync(n,p,{mode:384})}catch{}return p}():"";return j().createHash("sha256").update(c+b+e).digest("hex").substring(0,16)}},78335:()=>{},96487:()=>{}};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";exports.id=8376,exports.ids=[8376],exports.modules={25060:(a,b,c)=>{c.d(b,{Kj:()=>aY});var d,e=c(34589),f=c(57975),g=c(77598),h=c(77030),i=c(41692),j=c(78474);class k extends Error{constructor(a){super(a),this.name="InvalidAsn1Error"}}class l{size;currentLength=0;currentOffset=0;buffer;constructor(a){if(!Buffer.isBuffer(a))throw TypeError("data must be a Buffer");this.buffer=a,this.size=a.length}get length(){return this.currentLength}get offset(){return this.currentOffset}set offset(a){this.currentOffset=a}get remain(){return this.size-this.currentOffset}get remainingBuffer(){return this.buffer.subarray(this.currentOffset)}setBufferSize(a){this.size=a}readByte(a=!1){if(this.size-this.currentOffset<1)return null;let b=this.buffer.readUInt8(this.currentOffset);return a||(this.currentOffset+=1),b}peek(){return this.readByte(!0)}readLength(a){let b=a??this.currentOffset;if(b>=this.size)return null;let c=this.buffer.readUInt8(b);if(b+=1,(128&c)==128){let a=127&c;if(0===a)throw new k("Indefinite length not supported");if(a>4)throw new k("Encoding too long");if(this.size-b<a)return null;this.currentLength=0;for(let c=0;c<a;c++)this.currentLength=(this.currentLength<<8)+this.buffer.readUInt8(b),b+=1}else this.currentLength=c;return b}readSequence(a){let b=this.peek();if(null===b)return null;if(void 0!==a&&a!==b)throw new k(`Expected 0x${a.toString(16)}: got 0x${b.toString(16)}`);let c=this.readLength(this.currentOffset+1);return null===c?null:(this.currentOffset=c,b)}readInt(){return this.readTag(2)}readBoolean(){let a=this.readTag(1);return null===a?null:0!==a}readEnumeration(){return this.readTag(10)}readString(a=4,b=!1){let c=this.peek();if(null===c)return null;if(c!==a)throw new k(`Expected 0x${a.toString(16)}: got 0x${c.toString(16)}`);let d=this.readLength(this.currentOffset+1);if(null===d||this.currentLength>this.size-d)return null;if(this.currentOffset=d,0===this.currentLength)return b?Buffer.alloc(0):"";let e=this.buffer.subarray(this.currentOffset,this.currentOffset+this.currentLength);return this.currentOffset+=this.currentLength,b?e:e.toString("utf8")}readOID(a=6){let b=this.readString(a,!0);if(null===b)return null;let c=[],d=0;for(let a of b)d=(d<<7)+(127&a),(128&a)==0&&(c.push(d),d=0);let e=c[0]??0;return[Math.trunc(e/40),e%40,...c.slice(1)].join(".")}readTag(a){let b=this.peek();if(null===b)return null;if(b!==a)throw new k(`Expected 0x${a.toString(16)}: got 0x${b.toString(16)}`);let c=this.readLength(this.currentOffset+1);if(null===c)return null;if(this.currentLength>4)throw new k(`Integer too long: ${this.currentLength}`);if(this.currentLength>this.size-c)return null;this.currentOffset=c;let d=this.buffer.readUInt8(this.currentOffset),e=0;for(let a=0;a<this.currentLength;a++)e=e<<8|this.buffer.readUInt8(this.currentOffset),this.currentOffset+=1;return(128&d)==128&&this.currentLength<4&&(e-=1<<8*this.currentLength),0|e}}class m{data;size;currentOffset=0;growthFactor;sequenceOffsets=[];constructor(a={}){const b=a.size??1024;this.growthFactor=a.growthFactor??8,this.data=Buffer.alloc(b),this.size=b}get buffer(){if(this.sequenceOffsets.length>0)throw new k(`${this.sequenceOffsets.length} unended sequence(s)`);return this.data.subarray(0,this.currentOffset)}writeByte(a){this.ensureCapacity(1),this.data[this.currentOffset++]=a}writeInt(a,b=2){let c=a,d=4;for(;((0xff800000&c)==0||(0xff800000&c)==-8388608)&&d>1;)d--,c<<=8;if(d>4)throw new k("BER integers cannot be > 0xffffffff");for(this.ensureCapacity(2+d),this.data[this.currentOffset++]=b,this.data[this.currentOffset++]=d;d>0;)d--,this.data[this.currentOffset++]=(0xff000000&c)>>>24,c<<=8}writeNull(){this.writeByte(5),this.writeByte(0)}writeEnumeration(a,b=10){this.writeInt(a,b)}writeBoolean(a,b=1){this.ensureCapacity(3),this.data[this.currentOffset++]=b,this.data[this.currentOffset++]=1,this.data[this.currentOffset++]=255*!!a}writeString(a,b=4){let c=Buffer.byteLength(a);this.writeByte(b),this.writeLength(c),c>0&&(this.ensureCapacity(c),this.data.write(a,this.currentOffset),this.currentOffset+=c)}writeBuffer(a,b){this.writeByte(b),this.writeLength(a.length),this.ensureCapacity(a.length),a.copy(this.data,this.currentOffset,0,a.length),this.currentOffset+=a.length}writeStringArray(a){for(let b of a)this.writeString(b)}writeOID(a,b=6){if(!/^(\d+\.){3,}\d+$/.test(a))throw Error("Argument is not a valid OID string");let c=a.split("."),d=[],e=c[0]??"0",f=c[1]??"0";for(let a of(d.push(40*Number(e)+Number(f)),c.slice(2)))this.encodeOidOctet(d,Number(a));for(let a of(this.ensureCapacity(2+d.length),this.writeByte(b),this.writeLength(d.length),d))this.writeByte(a)}writeLength(a){if(this.ensureCapacity(4),a<=127)this.data[this.currentOffset++]=a;else if(a<=255)this.data[this.currentOffset++]=129,this.data[this.currentOffset++]=a;else if(a<=65535)this.data[this.currentOffset++]=130,this.data[this.currentOffset++]=a>>8,this.data[this.currentOffset++]=a;else if(a<=0xffffff)this.data[this.currentOffset++]=131,this.data[this.currentOffset++]=a>>16,this.data[this.currentOffset++]=a>>8,this.data[this.currentOffset++]=a;else throw new k("Length too long (> 4 bytes)")}startSequence(a=48){this.writeByte(a),this.sequenceOffsets.push(this.currentOffset),this.ensureCapacity(3),this.currentOffset+=3}endSequence(){let a=this.sequenceOffsets.pop();if(void 0===a)throw new k("No sequence to end");let b=a+3,c=this.currentOffset-b;if(c<=127)this.shiftContent(b,c,-2),this.data[a]=c;else if(c<=255)this.shiftContent(b,c,-1),this.data[a]=129,this.data[a+1]=c;else if(c<=65535)this.data[a]=130,this.data[a+1]=c>>8,this.data[a+2]=c;else if(c<=0xffffff)this.shiftContent(b,c,1),this.data[a]=131,this.data[a+1]=c>>16,this.data[a+2]=c>>8,this.data[a+3]=c;else throw new k("Sequence too long")}encodeOidOctet(a,b){b<128?a.push(b):(b<16384?a.push(b>>>7|128):(b<2097152?a.push(b>>>14|128):(b<0x10000000?a.push(b>>>21|128):(a.push((b>>>28|128)&255),a.push((b>>>21|128)&255)),a.push((b>>>14|128)&255)),a.push((b>>>7|128)&255)),a.push(127&b))}shiftContent(a,b,c){this.data.copy(this.data,a+c,a,a+b),this.currentOffset+=c}ensureCapacity(a){if(this.size-this.currentOffset<a){let b=this.size*this.growthFactor;b-this.currentOffset<a&&(b+=a);let c=Buffer.alloc(b);this.data.copy(c,0,0,this.currentOffset),this.data=c,this.size=b}}}class n{type;critical;constructor(a,b={}){this.type=a,this.critical=!0===b.critical}write(a){a.startSequence(),a.writeString(this.type),a.writeBoolean(this.critical),this.writeControl(a),a.endSequence()}parse(a){this.parseControl(a)}writeControl(a){}parseControl(a){}}class o extends n{static type="2.16.840.1.113730.3.4.7";value;constructor(a={}){super(o.type,a),this.value=a.value}parseControl(a){if(a.readSequence()){let b,c=a.readInt()??0;8===c&&(b=a.readString());let d=a.readInt()??0;this.value={changeType:c,previousDN:b,changeNumber:d}}}writeControl(a){if(!this.value)return;let b=new m;b.startSequence(),b.writeInt(this.value.changeType),this.value.previousDN&&b.writeString(this.value.previousDN),b.writeInt(this.value.changeNumber),b.endSequence(),a.writeBuffer(b.buffer,4)}}class p extends n{static type="1.2.840.113556.1.4.319";value;constructor(a={}){super(p.type,a),this.value=a.value}parseControl(a){if(a.readSequence()){let b=a.readInt()??0,c=a.readString(4,!0)??Buffer.alloc(0);this.value={size:b,cookie:c}}}writeControl(a){if(!this.value)return;let b=new m;b.startSequence(),b.writeInt(this.value.size),this.value.cookie?.length?b.writeBuffer(this.value.cookie,4):b.writeString(""),b.endSequence(),a.writeBuffer(b.buffer,4)}}class q extends n{static type="2.16.840.1.113730.3.4.3";value;constructor(a={}){super(q.type,a),this.value=a.value}parseControl(a){if(a.readSequence()){let b=a.readInt()??0,c=a.readBoolean()??!1,d=a.readBoolean()??!1;this.value={changeTypes:b,changesOnly:c,returnECs:d}}}writeControl(a){if(!this.value)return;let b=new m;b.startSequence(),b.writeInt(this.value.changeTypes),b.writeBoolean(this.value.changesOnly),b.writeBoolean(this.value.returnECs),b.endSequence(),a.writeBuffer(b.buffer,4)}}class r extends n{static type="1.2.840.113556.1.4.473";values;constructor(a={}){super(r.type,a),Array.isArray(a.value)?this.values=a.value:"object"==typeof a.value?this.values=[a.value]:this.values=[]}parseControl(a){if(a.readSequence(48))for(;a.readSequence(48);){let b=a.readString()??"",c="",d=!1;128===a.peek()&&(c=a.readString(128)??""),129===a.peek()&&(d=0!==a.readTag(129)),this.values.push({attributeType:b,orderingRule:c,reverseOrder:d})}}writeControl(a){if(!this.values.length)return;let b=new m;for(let a of(b.startSequence(48),this.values))b.startSequence(48),b.writeString(a.attributeType,4),a.orderingRule&&b.writeString(a.orderingRule,128),void 0!==a.reverseOrder&&b.writeBoolean(a.reverseOrder,129),b.endSequence();b.endSequence(),a.writeBuffer(b.buffer,4)}}class s extends Error{messageDetails;constructor(a){super(a),this.name="MessageParserError",Object.setPrototypeOf(this,s.prototype)}}class t extends Error{code;constructor(a,b){super(`${b} Code: 0x${a.toString(16)}`),this.name="ResultCodeError",this.code=a,Object.setPrototypeOf(this,t.prototype)}}class u extends t{constructor(a){super(11,a??"An LDAP server limit set by an administrative authority has been exceeded."),this.name="AdminLimitExceededError",Object.setPrototypeOf(this,u.prototype)}}class v extends t{constructor(a){super(71,a??"The modify DN operation moves the entry from one LDAP server to another and thus requires more than one LDAP server."),this.name="AffectsMultipleDSAsError",Object.setPrototypeOf(this,v.prototype)}}class w extends t{constructor(a){super(36,a??"Either the client does not have access rights to read the aliased object's name or dereferencing is not allowed."),this.name="AliasDerefProblemError",Object.setPrototypeOf(this,w.prototype)}}class x extends t{constructor(a){super(33,a??"An error occurred when an alias was dereferenced."),this.name="AliasProblemError",Object.setPrototypeOf(this,x.prototype)}}class y extends t{constructor(a){super(68,a??"The add operation attempted to add an entry that already exists, or that the modify operation attempted to rename an entry to the name of an entry that already exists."),this.name="AlreadyExistsError",Object.setPrototypeOf(this,y.prototype)}}class z extends t{constructor(a){super(7,a??"The Directory Server does not support the requested Authentication Method."),this.name="AuthMethodNotSupportedError",Object.setPrototypeOf(this,z.prototype)}}class A extends t{constructor(a){super(51,a??"The LDAP server is too busy to process the client request at this time."),this.name="BusyError",Object.setPrototypeOf(this,A.prototype)}}class B extends t{constructor(a){super(13,a??"The session is not protected by a protocol such as Transport Layer Security (TLS), which provides session confidentiality and the request will not be handled without confidentiality enabled."),this.name="ConfidentialityRequiredError",Object.setPrototypeOf(this,B.prototype)}}class C extends t{constructor(a){super(19,a??"The attribute value specified in a Add Request, Modify Request or ModifyDNRequest operation violates constraints placed on the attribute. The constraint can be one of size or content (string only, no binary)."),this.name="ConstraintViolationError",Object.setPrototypeOf(this,C.prototype)}}class D extends t{constructor(a){super(48,a??"The client is attempting to use an authentication method incorrectly."),this.name="InappropriateAuthError",Object.setPrototypeOf(this,D.prototype)}}class E extends t{constructor(a){super(18,a??"The matching rule specified in the search filter does not match a rule defined for the attribute's syntax."),this.name="InappropriateMatchingError",Object.setPrototypeOf(this,E.prototype)}}class F extends t{constructor(a){super(50,a??"The caller does not have sufficient rights to perform the requested operation."),this.name="InsufficientAccessError",Object.setPrototypeOf(this,F.prototype)}}class G extends t{constructor(a){super(49,a??"Invalid credentials during a bind operation."),this.name="InvalidCredentialsError",Object.setPrototypeOf(this,G.prototype)}}class H extends t{constructor(a){super(34,a??"The syntax of the DN is incorrect."),this.name="InvalidDNSyntaxError",Object.setPrototypeOf(this,H.prototype)}}class I extends t{constructor(a){super(21,a??"The attribute value specified in an Add Request, Compare Request, or Modify Request operation is an unrecognized or invalid syntax for the attribute."),this.name="InvalidSyntaxError",Object.setPrototypeOf(this,I.prototype)}}class J extends t{constructor(a){super(35,a??"The specified operation cannot be performed on a leaf entry."),this.name="IsLeafError",Object.setPrototypeOf(this,J.prototype)}}class K extends t{constructor(a){super(54,a??"The client discovered an alias or LDAP Referral loop, and is thus unable to complete this request."),this.name="LoopDetectError",Object.setPrototypeOf(this,K.prototype)}}class L extends t{constructor(a){super(95,a),this.name="MoreResultsToReturnError",Object.setPrototypeOf(this,L.prototype)}}class M extends t{constructor(a){super(64,a??"The Add Request or Modify DN Request operation violates the schema's structure rules."),this.name="NamingViolationError",Object.setPrototypeOf(this,M.prototype)}}class N extends t{constructor(a){super(69,a??"The modify operation attempted to modify the structure rules of an object class."),this.name="NoObjectClassModsError",Object.setPrototypeOf(this,N.prototype)}}class O extends t{constructor(a){super(16,a??"The attribute specified in the Modify Request or Compare Request operation does not exist in the entry."),this.name="NoSuchAttributeError",Object.setPrototypeOf(this,O.prototype)}}class P extends t{constructor(a){super(32,a??"The target object cannot be found."),this.name="NoSuchObjectError",Object.setPrototypeOf(this,P.prototype)}}class Q extends t{constructor(a){super(66,a??"The requested operation is permitted only on leaf entries."),this.name="NotAllowedOnNonLeafError",Object.setPrototypeOf(this,Q.prototype)}}class R extends t{constructor(a){super(67,a??"The modify operation attempted to remove an attribute value that forms the entry's relative distinguished name."),this.name="NotAllowedOnRDNError",Object.setPrototypeOf(this,R.prototype)}}class S extends t{constructor(a){super(248,a??"No result message for the request."),this.name="NoResultError",Object.setPrototypeOf(this,S.prototype)}}class T extends t{constructor(a){super(65,a??"The Add Request, Modify Request, or modify DN operation violates the object class rules for the entry."),this.name="ObjectClassViolationError",Object.setPrototypeOf(this,T.prototype)}}class U extends t{constructor(a){super(1,a??"Request was out of sequence with another operation in progress."),this.name="OperationsError",Object.setPrototypeOf(this,U.prototype)}}class V extends t{constructor(a){super(2,a??"Client sent data to the server that did not comprise a valid LDAP request."),this.name="ProtocolError",Object.setPrototypeOf(this,V.prototype)}}class W extends t{constructor(a){super(70,a??"Results are too large."),this.name="ResultsTooLargeError",Object.setPrototypeOf(this,W.prototype)}}class X extends t{response;constructor(a){super(14,a.errorMessage||"The server is ready for the next step in the SASL authentication process. The client must send the server the same SASL Mechanism to continue the process."),this.response=a,this.name="SaslBindInProgressError",Object.setPrototypeOf(this,X.prototype)}}class Y extends t{constructor(a){super(4,a??"There were more entries matching the criteria contained in a SearchRequest operation than were allowed to be returned by the size limit configuration."),this.name="SizeLimitExceededError",Object.setPrototypeOf(this,Y.prototype)}}class Z extends t{constructor(a){super(8,a??"Client requested an operation that requires strong authentication."),this.name="StrongAuthRequiredError",Object.setPrototypeOf(this,Z.prototype)}}class $ extends t{constructor(a){super(3,a??"Processing on the associated request Timeout limit specified by either the client request or the server administration limits has been exceeded and has been terminated because it took too long to complete."),this.name="TimeLimitExceededError",Object.setPrototypeOf(this,$.prototype)}}class _ extends t{constructor(a){super(112,a??"TLS is not supported on the server."),this.name="TLSNotSupportedError",Object.setPrototypeOf(this,_.prototype)}}class aa extends t{constructor(a){super(20,a??"The attribute value specified in a Add Request or Modify Request operation already exists as a value for that attribute."),this.name="TypeOrValueExistsError",Object.setPrototypeOf(this,aa.prototype)}}class ab extends t{constructor(a){super(12,a??"One or more critical extensions were not available by the LDAP server. Either the server does not support the control or the control is not appropriate for the operation type."),this.name="UnavailableCriticalExtensionError",Object.setPrototypeOf(this,ab.prototype)}}class ac extends t{constructor(a){super(52,a??"The LDAP server cannot process the client's bind request."),this.name="UnavailableError",Object.setPrototypeOf(this,ac.prototype)}}class ad extends t{constructor(a){super(17,a??"The attribute specified in the modify or add operation does not exist in the LDAP server's schema."),this.name="UndefinedTypeError",Object.setPrototypeOf(this,ad.prototype)}}class ae extends t{constructor(a,b){super(a,b??"Unknown error."),this.name="UnknownStatusCodeError",Object.setPrototypeOf(this,ae.prototype)}}class af extends t{constructor(a){super(53,a??"The LDAP server cannot process the request because of server-defined restrictions."),this.name="UnwillingToPerformError",Object.setPrototypeOf(this,af.prototype)}}class ag{write(a){a.startSequence(this.type),this.writeFilter(a),a.endSequence()}parse(a){this.parseFilter(a)}matches(a={},b){return!0}escape(a){let b="";if(Buffer.isBuffer(a))for(let c of a)c<16?b+=`\\0${c.toString(16)}`:b+=`\\${c.toString(16)}`;else for(let c of a)switch(c){case"*":b+="\\2a";break;case"(":b+="\\28";break;case")":b+="\\29";break;case"\\":b+="\\5c";break;case"\0":b+="\\00";break;default:b+=c}return b}parseFilter(a){}writeFilter(a){}getObjectValue(a,b,c){let d;if(void 0!==a[b])d=b;else if(!c&&"objectclass"===b.toLowerCase()){for(let c of Object.keys(a))if(c.toLowerCase()===b.toLowerCase()){d=c;break}}if(d)return a[d]}}class ah extends ag{type=160;filters;constructor(a){super(),this.filters=a.filters}writeFilter(a){for(let b of this.filters)b.write(a)}matches(a={},b){if(!this.filters.length)return!0;for(let c of this.filters)if(!c.matches(a,b))return!1;return!0}toString(){let a="(&";for(let b of this.filters)a+=b.toString();return a+")"}}class ai extends ag{type=168;attribute;value;constructor(a={}){super(),this.attribute=a.attribute??"",this.value=a.value??""}parseFilter(a){this.attribute=(a.readString()??"").toLowerCase(),this.value=a.readString()??""}writeFilter(a){a.writeString(this.attribute),a.writeString(this.value)}matches(a={},b){throw Error("Approximate match implementation unknown")}toString(){return`(${this.escape(this.attribute)}~=${this.escape(this.value)})`}}class aj extends ag{type=163;attribute;value;constructor(a={}){super(),this.attribute=a.attribute??"",this.value=a.value??""}parseFilter(a){this.attribute=(a.readString()??"").toLowerCase(),this.value=a.readString()??"","objectclass"===this.attribute&&(this.value=this.value.toLowerCase())}writeFilter(a){a.writeString(this.attribute),Buffer.isBuffer(this.value)?a.writeBuffer(this.value,4):a.writeString(this.value)}matches(a={},b){let c=this.getObjectValue(a,this.attribute,b);if(void 0!==c){if(Buffer.isBuffer(this.value)&&Buffer.isBuffer(c))return this.value===c;let a=Buffer.isBuffer(this.value)?this.value.toString("utf8"):this.value;return b?a===c:a.toLowerCase()===c.toLowerCase()}return!1}toString(){return`(${this.escape(this.attribute)}=${this.escape(this.value)})`}}class ak extends ag{type=169;value;rule;matchType;dnAttributes;constructor(a={}){super(),this.matchType=a.matchType??"",this.rule=a.rule??"",this.dnAttributes=!0===a.dnAttributes,this.value=a.value??""}parseFilter(a){let b=a.offset+a.length;for(;a.offset<b;){let b=a.peek();switch(b){case 129:this.rule=a.readString(b)??"";break;case 130:this.matchType=a.readString(b)??"";break;case 131:this.value=a.readString(b)??"";break;case 132:this.dnAttributes=a.readBoolean()??!1;break;default:{let a="<null>";throw b&&(a=`0x${b.toString(16)}`),Error(`Invalid ext_match filter type: ${a}`)}}}}writeFilter(a){this.rule&&a.writeString(this.rule,129),this.matchType&&a.writeString(this.matchType,130),a.writeString(this.value,131),this.dnAttributes&&a.writeBoolean(this.dnAttributes,132)}matches(a={},b){throw Error("Approximate match implementation unknown")}toString(){let a=`(${this.escape(this.matchType)}:`;return this.dnAttributes&&(a+="dn:"),this.rule&&(a+=`${this.escape(this.rule)}:`),a+=`=${this.escape(this.value)})`}}class al extends ag{type=165;attribute;value;constructor(a={}){super(),this.attribute=a.attribute??"",this.value=a.value??""}parseFilter(a){this.attribute=a.readString()?.toLowerCase()??"",this.value=a.readString()??""}writeFilter(a){a.writeString(this.attribute),a.writeString(this.value)}matches(a={},b){let c=this.getObjectValue(a,this.attribute,b);return void 0!==c&&(b?c>=this.value:c.toLowerCase()>=this.value.toLowerCase())}toString(){return`(${this.escape(this.attribute)}>=${this.escape(this.value)})`}}class am extends ag{type=166;attribute;value;constructor(a={}){super(),this.attribute=a.attribute??"",this.value=a.value??""}parseFilter(a){this.attribute=a.readString()?.toLowerCase()??"",this.value=a.readString()??""}writeFilter(a){a.writeString(this.attribute),a.writeString(this.value)}matches(a={},b){let c=this.getObjectValue(a,this.attribute,b);return void 0!==c&&(b?c<=this.value:c.toLowerCase()<=this.value.toLowerCase())}toString(){return`(${this.escape(this.attribute)}<=${this.escape(this.value)})`}}class an extends ag{type=162;filter;constructor(a){super(),this.filter=a.filter}writeFilter(a){this.filter.write(a)}matches(a={},b){return!this.filter.matches(a,b)}toString(){return`(!${this.filter.toString()})`}}class ao extends ag{type=161;filters;constructor(a){super(),this.filters=a.filters}writeFilter(a){for(let b of this.filters)b.write(a)}matches(a={},b){if(!this.filters.length)return!0;for(let c of this.filters)if(c.matches(a,b))return!0;return!1}toString(){let a="(|";for(let b of this.filters)a+=b.toString();return a+")"}}class ap extends ag{type=135;attribute;constructor(a={}){super(),this.attribute=a.attribute??""}parseFilter(a){this.attribute=a.buffer.subarray(0,a.length).toString("utf8").toLowerCase(),a.offset+=a.length}writeFilter(a){for(let b=0;b<this.attribute.length;b+=1)a.writeByte(this.attribute.charCodeAt(b))}matches(a={},b){return void 0!==this.getObjectValue(a,this.attribute,b)}toString(){return`(${this.escape(this.attribute)}=*)`}}class aq extends ag{type=164;attribute;initial;any;final;constructor(a={}){super(),this.attribute=a.attribute??"",this.initial=a.initial??"",this.any=a.any??[],this.final=a.final??""}parseFilter(a){this.attribute=a.readString()?.toLowerCase()??"",a.readSequence();let b=a.offset+a.length;for(;a.offset<b;){let b=a.peek();switch(b){case 128:this.initial=a.readString(b)??"","objectclass"===this.attribute&&(this.initial=this.initial.toLowerCase());break;case 129:{let c=a.readString(b)??"";"objectclass"===this.attribute&&(c=c.toLowerCase()),this.any.push(c);break}case 130:this.final=a.readString(b)??"","objectclass"===this.attribute&&(this.final=this.final.toLowerCase());break;default:{let a="<null>";throw b&&(a=`0x${b.toString(16)}`),Error(`Invalid substring filter type: ${a}`)}}}}writeFilter(a){for(let b of(a.writeString(this.attribute),a.startSequence(),this.initial&&a.writeString(this.initial,128),this.any))a.writeString(b,129);this.final&&a.writeString(this.final,130),a.endSequence()}matches(a={},b){let c=this.getObjectValue(a,this.attribute,b);if(void 0!==c){let a="";for(let b of(this.initial&&(a+=`^${aq._escapeRegExp(this.initial)}.*`),this.any))a+=`${aq._escapeRegExp(b)}.*`;return this.final&&(a+=`${aq._escapeRegExp(this.final)}$`),new RegExp(a,b?"gmu":"igmu").test(c)}return!1}toString(){let a=`(${this.escape(this.attribute)}=${this.escape(this.initial)}*`;for(let b of this.any)a+=`${this.escape(b)}*`;return a+`${this.escape(this.final)})`}static _escapeRegExp(a){return a.replace(/[$()*+./?[\\\]^{|}-]/g,"\\$&")}}class ar{static parse(a,b){let c;if(null===a.readSequence())return null;let d="",e=!1,f=Buffer.alloc(0);if(a.length){let b=a.offset+a.length;d=a.readString()??"",a.offset<b&&1===a.peek()&&(e=a.readBoolean()??!1),a.offset<b&&(f=a.readString(4,!0)??Buffer.alloc(0))}switch(d){case o.type:c=new o({critical:e});break;case p.type:c=new p({critical:e});break;case q.type:c=new q({critical:e});break;case r.type:c=new r({critical:e});break;default:c=b.find(a=>a.type===d)}if(!c)return null;let g=new l(f);return c.parse(g),c}}class as{version=3;messageId=0;controls;constructor(a){this.messageId=a.messageId,this.controls=a.controls}write(){let a=new m;if(a.startSequence(),a.writeInt(this.messageId),a.startSequence(this.protocolOperation),this.writeMessage(a),a.endSequence(),this.controls?.length){for(let b of(a.startSequence(160),this.controls))b.write(a);a.endSequence()}return a.endSequence(),a.buffer}parse(a,b){if(this.controls=[],this.parseMessage(a),160===a.peek()){a.readSequence();let c=a.offset+a.length;for(;a.offset<c;){let c=ar.parse(a,b);c&&this.controls.push(c)}}}toString(){return JSON.stringify({messageId:this.messageId,messageType:this.constructor.name},null,2)}parseMessage(a){}writeMessage(a){}}class at extends as{protocolOperation;abandonId;constructor(a){super(a),this.protocolOperation=80,this.abandonId=a.abandonId??0}writeMessage(a){let b=this.abandonId,c=4;for(;((0xff800000&b)==0||(0xff800000&b)==0xff800000)&&c>1;)c-=1,b<<=8;for(e.ok(c<=4);c-- >0;)a.writeByte((0xff000000&b)>>24),b<<=8}parseMessage(a){let{length:b}=a;if(b){let c,d=1,e=a.buffer[d]??0;c=127&e;for(let e=1;e<b;e+=1)c<<=8,d+=1,c|=255&(a.buffer[d]??0);(128&e)==128&&(c=-c),a.offset+=b,this.abandonId=c}else this.abandonId=0}}let au=new f.TextDecoder("utf8",{fatal:!0});class av{buffers=[];type;values;constructor(a={}){this.type=a.type??"",this.values=a.values??[]}get parsedBuffers(){return this.buffers}write(a){a.startSequence();let{type:b}=this;if(a.writeString(b),a.startSequence(49),this.values.length)for(let b of this.values)Buffer.isBuffer(b)?a.writeBuffer(b,4):a.writeString(b);else a.writeStringArray([]);a.endSequence(),a.endSequence()}parse(a){a.readSequence(),this.type=a.readString()??"";let b=this._isBinaryType();if(49===a.peek()&&a.readSequence(49)){let c=a.offset+a.length;for(;a.offset<c;){let c=a.readString(4,!0)??Buffer.alloc(0);if(this.buffers.push(c),b)this.values.push(c);else try{let a=au.decode(c);this.values.push(a)}catch{this.values.push(c)}}}}_isBinaryType(){return/;binary$/i.test(this.type||"")}}class aw extends as{protocolOperation;dn;attributes;constructor(a){super(a),this.protocolOperation=104,this.dn=a.dn,this.attributes=a.attributes??[]}writeMessage(a){for(let b of(a.writeString(this.dn),a.startSequence(),this.attributes))b.write(a);a.endSequence()}parseMessage(a){this.dn=a.readString()??"",a.readSequence();let b=a.offset+a.length;for(;a.offset<b;){let b=new av;b.parse(a),this.attributes.push(b)}}}class ax extends as{status;matchedDN;errorMessage;constructor(a){super(a),this.status=a.status??0,this.matchedDN=a.matchedDN??"",this.errorMessage=a.errorMessage??""}parseMessage(a){this.status=a.readEnumeration()??0,this.matchedDN=a.readString()??"",this.errorMessage=a.readString()??""}}class ay extends ax{protocolOperation;constructor(a){super(a),this.protocolOperation=105}}let az=["EXTERNAL","PLAIN","DIGEST-MD5","SCRAM-SHA-1"];class aA extends as{protocolOperation;dn;password;mechanism;constructor(a){super(a),this.protocolOperation=96,this.dn=a.dn??"",this.password=a.password??"",this.mechanism=a.mechanism}writeMessage(a){a.writeInt(this.version),a.writeString(this.dn),this.mechanism?(a.startSequence(163),a.writeString(this.mechanism),a.writeString(this.password),a.endSequence()):a.writeString(this.password,128)}parseMessage(a){this.version=a.readInt()??3,this.dn=a.readString()??"";let b=a.peek();if(128!==b){let a="<null>";throw b&&(a=`0x${b.toString(16)}`),Error(`Authentication type not supported: ${a}`)}this.password=a.readString(128)??""}}class aB extends ax{protocolOperation;data=[];constructor(a){super(a),this.protocolOperation=97}parseMessage(a){for(super.parseMessage(a);a.remain>0;){let b=a.peek();if(160===b)break;this.data.push(a.readString("number"==typeof b?b:void 0)??"")}}}class aC extends as{protocolOperation;dn;attribute;value;constructor(a){super(a),this.protocolOperation=110,this.attribute=a.attribute??"",this.value=a.value??"",this.dn=a.dn??""}writeMessage(a){a.writeString(this.dn),a.startSequence(),a.writeString(this.attribute),a.writeString(this.value),a.endSequence()}parseMessage(a){this.dn=a.readString()??"",a.readSequence(),this.attribute=(a.readString()??"").toLowerCase(),this.value=a.readString()??""}}var aD=((d=aD||{})[d.compareTrue=6]="compareTrue",d[d.compareFalse=5]="compareFalse",d[d.noSuchAttribute=22]="noSuchAttribute",d[d.noSuchObject=50]="noSuchObject",d);class aE extends ax{protocolOperation;constructor(a){super(a),this.protocolOperation=111}}class aF extends as{protocolOperation;dn;constructor(a){super(a),this.protocolOperation=74,this.dn=a.dn??""}writeMessage(a){for(let b of Buffer.from(this.dn))a.writeByte(b)}parseMessage(a){let{length:b}=a;this.dn=a.buffer.subarray(0,b).toString("utf8"),a.offset+=a.length}}class aG extends ax{protocolOperation;constructor(a){super(a),this.protocolOperation=107}}class aH extends as{protocolOperation;oid;value;constructor(a){super(a),this.protocolOperation=119,this.oid=a.oid??"",this.value=a.value??""}writeMessage(a){a.writeString(this.oid,128),Buffer.isBuffer(this.value)?a.writeBuffer(this.value,129):this.value&&a.writeString(this.value,129)}parseMessage(a){if(this.oid=a.readString(128)??"",129===a.peek())try{this.value=a.readString(129)??""}catch{this.value=a.readString(129,!0)??Buffer.alloc(0)}}}class aI extends ax{protocolOperation;oid;value;constructor(a){super(a),this.protocolOperation=120,this.oid=a.oid,this.value=a.value}parseMessage(a){super.parseMessage(a),138===a.peek()&&(this.oid=a.readString(138)??""),139===a.peek()&&(this.value=a.readString(139)??void 0)}}class aJ extends as{protocolOperation;deleteOldRdn;dn;newRdn;newSuperior;constructor(a){super(a),this.protocolOperation=108,this.deleteOldRdn=!1!==a.deleteOldRdn,this.dn=a.dn??"",this.newRdn=a.newRdn??"",this.newSuperior=a.newSuperior??""}writeMessage(a){a.writeString(this.dn),a.writeString(this.newRdn),a.writeBoolean(this.deleteOldRdn),this.newSuperior&&a.writeString(this.newSuperior,128)}parseMessage(a){this.dn=a.readString()??"",this.newRdn=a.readString()??"",this.deleteOldRdn=a.readBoolean()??!1,128===a.peek()&&(this.newSuperior=a.readString(128)??"")}}class aK extends ax{protocolOperation;constructor(a){super(a),this.protocolOperation=109}}class aL{operation;modification;constructor(a={modification:new av}){this.operation=a.operation??"add",this.modification=a.modification}write(a){switch(a.startSequence(),this.operation){case"add":a.writeEnumeration(0);break;case"delete":a.writeEnumeration(1);break;case"replace":a.writeEnumeration(2);break;default:throw Error(`Unknown change operation: ${this.operation}`)}this.modification.write(a),a.endSequence()}parse(a){a.readSequence();let b=a.readEnumeration();switch(b){case 0:this.operation="add";break;case 1:this.operation="delete";break;case 2:this.operation="replace";break;case null:throw Error("Unknown change operation - <null> operation value");default:throw Error(`Unknown change operation: 0x${b.toString(16)}`)}this.modification=new av,this.modification.parse(a)}}class aM extends as{protocolOperation;dn;changes;constructor(a){super(a),this.protocolOperation=102,this.dn=a.dn??"",this.changes=a.changes??[]}writeMessage(a){for(let b of(a.writeString(this.dn),a.startSequence(),this.changes))b.write(a);a.endSequence()}parseMessage(a){this.dn=a.readString()??"",a.readSequence();let b=a.offset+a.length;for(;a.offset<b;){let b=new aL;b.parse(a),this.changes.push(b)}}}class aN extends ax{protocolOperation;constructor(a){super(a),this.protocolOperation=103}}class aO extends ax{protocolOperation;name;attributes;constructor(a){super(a),this.protocolOperation=100,this.name=a.name??"",this.attributes=a.attributes??[]}parseMessage(a){this.name=a.readString()??"",a.readSequence();let b=a.offset+a.length;for(;a.offset<b;){let b=new av;b.parse(a),this.attributes.push(b)}}toObject(a,b){let c={dn:this.name},d=new Set;for(let a of this.attributes){d.add(a.type.toLocaleLowerCase());let{values:e}=a;(b.includes(a.type)||e.some(a=>Buffer.isBuffer(a)))&&(e=a.parsedBuffers),e.length?1===e.length?c[a.type]=e[0]??[]:c[a.type]=e:c[a.type]=[]}for(let b of a)void 0!==c[b]||d.has(b.toLocaleLowerCase())||(c[b]=[]);return c}}class aP extends ax{protocolOperation;uris;constructor(a){super(a),this.protocolOperation=115,this.uris=a.uris??[]}parseMessage(a){let b=a.offset+a.length;for(;a.offset<b;){let b=a.readString()??"";this.uris.push(b)}}}class aQ{static parseString(a){if(!a)throw Error("Filter cannot be empty");a.startsWith("(")||(a=`(${a})`);let b=aQ._parseString(a,0,a),c=a.length-1;if(b.end<c)throw Error(`Unbalanced parens in filter string: ${a}`);return b.filter}static parse(a){let b,c=a.readSequence();switch(c){case 160:b=new ah({filters:aQ._parseSet(a)});break;case 168:(b=new ai).parse(a);break;case 163:(b=new aj).parse(a);break;case 169:(b=new ak).parse(a);break;case 165:(b=new al).parse(a);break;case 166:(b=new am).parse(a);break;case 162:b=new an({filter:aQ.parse(a)});break;case 161:b=new ao({filters:aQ._parseSet(a)});break;case 135:(b=new ap).parse(a);break;case 164:(b=new aq).parse(a);break;default:throw Error(`Invalid search filter type: 0x${c??"<null>"}`)}return b}static _parseString(a,b,c){let d,e=b,{length:f}=a;if("("!==a[e])throw Error(`Missing paren: ${a}. Full string: ${c}`);switch(a[e+=1]){case"&":{e+=1;let b=[];do{let d=aQ._parseString(a,e,c);b.push(d.filter),e=d.end+1}while(e<f&&")"!==a[e]);d=new ah({filters:b});break}case"|":{e+=1;let b=[];do{let d=aQ._parseString(a,e,c);b.push(d.filter),e=d.end+1}while(e<f&&")"!==a[e]);d=new ao({filters:b});break}case"!":{let b=aQ._parseString(a,e+1,c);d=new an({filter:b.filter}),e=b.end+1;break}default:{let b=a.indexOf(")",e);if(-1===b)throw Error(`Unbalanced parens: ${a}. Full string: ${c}`);d=aQ._parseExpressionFilterFromString(a.substring(e,b)),e=b}}return{end:e,filter:d}}static _parseExpressionFilterFromString(a){let b,c;if(a.startsWith(":"))b="",c=a;else{let d=/^[\w-]+/.exec(a);if(d?.length)[b]=d,c=a.slice(b.length);else throw Error(`Invalid attribute name: ${a}`)}if("=*"===c)return new ap({attribute:b});if(c.startsWith("=")){if((c=c.slice(1)).includes("*")){let a=aQ._unescapeSubstring(c);return new aq({attribute:b,initial:a.initial,any:a.any,final:a.final})}return new aj({attribute:b,value:aQ._unescapeHexValues(c)})}if(c.startsWith(">")&&"="===c[1])return new al({attribute:b,value:aQ._unescapeHexValues(c.slice(2))});if(c.startsWith("<")&&"="===c[1])return new am({attribute:b,value:aQ._unescapeHexValues(c.slice(2))});if(c.startsWith("~")&&"="===c[1])return new ai({attribute:b,value:aQ._unescapeHexValues(c.slice(2))});if(c.startsWith(":"))return aQ._parseExtensibleFilterFromString(b,c);throw Error(`Invalid expression: ${a}`)}static _parseExtensibleFilterFromString(a,b){let c,d=!1,e=b.split(":");if(e.length<=1)throw Error(`Invalid extensible filter: ${b}`);if(e.shift(),e[0]?.toLowerCase()==="dn"&&(d=!0,e.shift()),e.length&&!e[0]?.startsWith("=")&&(c=e.shift()),e.length&&!e[0]?.startsWith("="))throw Error(`Missing := in extensible filter: ${b}`);let f=e.join(":").slice(1);return new ak({matchType:a,dnAttributes:d,rule:c,value:aQ._unescapeHexValues(f)})}static _unescapeHexValues(a){let b=0,c=a.length,d="";for(;b<c;){let c=a[b];switch(c){case"(":throw Error(`Illegal unescaped character: ${c} in value: ${a}`);case"\\":{let c=a.slice(b+1,b+3);if(null===/^[\dA-Fa-f]{2}$/.exec(c))throw Error(`Invalid escaped hex character: ${c} in value: ${a}`);d+=String.fromCharCode(Number.parseInt(c,16)),b+=3;break}default:c&&(d+=c),b+=1}}return d}static _unescapeSubstring(a){let b=a.split("*");if(b.length<2)throw Error(`Wildcard missing: ${a}`);return{initial:aQ._unescapeHexValues(b.shift()??""),final:aQ._unescapeHexValues(b.pop()??""),any:b.map(a=>aQ._unescapeHexValues(a))}}static _parseSet(a){let b=[],c=a.offset+a.length;for(;a.offset<c;)b.push(aQ.parse(a));return b}}class aR extends as{protocolOperation;baseDN;scope;derefAliases;sizeLimit;timeLimit;returnAttributeValues;filter;attributes;explicitBufferAttributes;constructor(a){super(a),this.protocolOperation=99,this.baseDN=a.baseDN??"",this.scope=a.scope??"sub",this.derefAliases=a.derefAliases??"never",this.sizeLimit=a.sizeLimit??0,this.timeLimit=a.timeLimit??10,this.returnAttributeValues=!1!==a.returnAttributeValues,this.filter=a.filter,this.attributes=a.attributes??[],this.explicitBufferAttributes=a.explicitBufferAttributes??[]}writeMessage(a){switch(a.writeString(this.baseDN),this.scope){case"base":a.writeEnumeration(0);break;case"one":a.writeEnumeration(1);break;case"sub":a.writeEnumeration(2);break;case"children":case"subordinates":a.writeEnumeration(3);break;default:throw Error(`Invalid search scope: ${this.scope}`)}switch(this.derefAliases){case"never":a.writeEnumeration(0);break;case"search":a.writeEnumeration(1);break;case"find":a.writeEnumeration(2);break;case"always":a.writeEnumeration(3);break;default:throw Error(`Invalid deref alias: ${this.derefAliases}`)}for(let b of(a.writeInt(this.sizeLimit),a.writeInt(this.timeLimit),a.writeBoolean(!this.returnAttributeValues),this.filter.write(a),a.startSequence(),this.attributes))a.writeString(b);a.endSequence()}parseMessage(a){this.baseDN=a.readString()??"";let b=a.readEnumeration();switch(b){case 0:this.scope="base";break;case 1:this.scope="one";break;case 2:this.scope="sub";break;case 3:this.scope="children";break;default:throw Error(`Invalid search scope: ${b??"<null>"}`)}let c=a.readEnumeration();switch(b){case 0:this.derefAliases="never";break;case 1:this.derefAliases="search";break;case 2:this.derefAliases="find";break;case 3:this.derefAliases="always";break;default:throw Error(`Invalid deref alias: ${c??"<null>"}`)}if(this.sizeLimit=a.readInt()??0,this.timeLimit=a.readInt()??0,this.returnAttributeValues=!a.readBoolean(),this.filter=aQ.parse(a),48===a.peek()){a.readSequence();let b=a.offset+a.length;for(;a.offset<b;)this.attributes.push((a.readString()??"").toLowerCase())}}}class aS extends ax{protocolOperation;searchEntries;searchReferences;constructor(a){super(a),this.protocolOperation=101,this.searchEntries=a.searchEntries??[],this.searchReferences=a.searchReferences??[]}}class aT extends as{protocolOperation;constructor(a){super(a),this.protocolOperation=66}}class aU extends j.EventEmitter{buffer;read(a,b){let c,d,e;this.buffer?this.buffer=Buffer.concat([this.buffer,a]):this.buffer=a;let f=new l(this.buffer),g=null;try{g=f.readSequence()}catch(a){this.emit("error",a)}if(g&&!(f.remain<f.length)){f.remain>f.length&&(c=this.buffer.subarray(f.offset+f.length),f.setBufferSize(f.offset+f.length)),delete this.buffer;try{if(d=f.readInt(),null==d)throw Error("Unable to read message id");if(e=f.readSequence(),null==e)throw Error(`Unable to read protocol operation sequence for message: ${d}`);let a=b.get(`${d}`),c=this._getMessageFromProtocolOperation(d,e,f,a?.message);this.emit("message",c)}catch(a){if(d){a.messageDetails={messageId:d},e&&(a.messageDetails.protocolOperation=e),this.emit("error",a);return}this.emit("error",a);return}c&&this.read(c,b)}}_getMessageFromProtocolOperation(a,b,c,d){let e;switch(b){case 97:e=new aB({messageId:a});break;case 105:e=new ay({messageId:a});break;case 111:e=new aE({messageId:a});break;case 107:e=new aG({messageId:a});break;case 120:e=new aI({messageId:a});break;case 109:e=new aK({messageId:a});break;case 103:e=new aN({messageId:a});break;case 101:e=new aS({messageId:a});break;case 100:e=new aO({messageId:a});break;case 115:e=new aP({messageId:a});break;default:{let c=new s(`Protocol Operation not supported: 0x${b.toString(16)}`);throw c.messageDetails={messageId:a,protocolOperation:b},c}}return e.parse(c,d?.controls??[]),e}}class aV{static parse(a){if(!a)return new S;switch(a.status){case 1:return new U(a.errorMessage);case 2:return new V(a.errorMessage);case 3:return new $(a.errorMessage);case 4:return new Y(a.errorMessage);case 7:return new z(a.errorMessage);case 8:return new Z(a.errorMessage);case 11:return new u(a.errorMessage);case 12:return new ab(a.errorMessage);case 13:return new B(a.errorMessage);case 14:return new X(a);case 16:return new O(a.errorMessage);case 17:return new ad(a.errorMessage);case 18:return new E(a.errorMessage);case 19:return new C(a.errorMessage);case 20:return new aa(a.errorMessage);case 21:return new I(a.errorMessage);case 32:return new P(a.errorMessage);case 33:return new x(a.errorMessage);case 34:return new H(a.errorMessage);case 35:return new J(a.errorMessage);case 36:return new w(a.errorMessage);case 48:return new D(a.errorMessage);case 49:return new G(a.errorMessage);case 50:return new F(a.errorMessage);case 51:return new A(a.errorMessage);case 52:return new ac(a.errorMessage);case 53:return new af(a.errorMessage);case 54:return new K(a.errorMessage);case 64:return new M(a.errorMessage);case 65:return new T(a.errorMessage);case 66:return new Q(a.errorMessage);case 67:return new R(a.errorMessage);case 68:return new y(a.errorMessage);case 69:return new N(a.errorMessage);case 70:return new W(a.errorMessage);case 71:return new v(a.errorMessage);case 95:return new L(a.errorMessage);case 112:return new _(a.errorMessage);case 248:return new S(a.errorMessage);default:return new ae(a.status,a.errorMessage)}}}let aW=0x80000000-1,aX=(0,f.debuglog)("ldapts");Symbol.asyncDispose??=Symbol("Symbol.asyncDispose");class aY{clientOptions;messageId=1;host;port;secure;connected=!1;socket;connectTimer;messageParser=new aU;messageDetailsByMessageId=new Map;constructor(a){let b;this.clientOptions=a,this.clientOptions.timeout??=0,this.clientOptions.connectTimeout??=0,this.clientOptions.strictDN=!1!==this.clientOptions.strictDN;try{b=new URL(a.url)}catch{throw Error(`${a.url} is an invalid LDAP URL (protocol)`)}const c=b.protocol.replace(/:$/,"");if("ldap"!==c&&"ldaps"!==c)throw Error(`${a.url} is an invalid LDAP URL (protocol)`);const d="ldaps"===c,e=!!this.clientOptions.tlsOptions&&Object.values(this.clientOptions.tlsOptions).some(a=>void 0!==a);this.secure=d||e;let f=b.hostname;f.startsWith("[")&&f.endsWith("]")&&(f=f.slice(1,-1)),this.host=f||"localhost",b.port?this.port=Number(b.port):d?this.port=636:this.port=389,this.messageParser.on("error",a=>{if(a.messageDetails?.messageId){let b=this.messageDetailsByMessageId.get(a.messageDetails.messageId.toString());if(b){this.messageDetailsByMessageId.delete(a.messageDetails.messageId.toString()),b.reject(a);return}}a.stack&&aX(a.stack)}),this.messageParser.on("message",this._handleSendResponse.bind(this))}get isConnected(){return!!this.socket&&this.connected}async startTLS(a={},b){this.isConnected||await this._connect(),await this.exop("1.3.6.1.4.1.1466.20037",void 0,b);let c=this.socket;c&&(c.removeListener("data",this.socketDataHandler),a.socket=c),this.socket=await new Promise((b,d)=>{let e=i.connect(a);e.once("secureConnect",()=>{e.removeAllListeners("error"),e.on("data",this.socketDataHandler),e.on("error",()=>{c&&c.destroy()}),b(e)}),e.once("error",a=>{e.removeAllListeners(),d(a)})}),c&&(this.socket.id=c.id)}async bind(a,b,c){if(c&&!Array.isArray(c)&&(c=[c]),"string"==typeof a&&az.includes(a))return void await this.bindSASL(a,b,c);let d=new aA({messageId:this._nextMessageId(),dn:"string"==typeof a?a:a.toString(),password:b,controls:c});await this._sendBind(d)}async bindSASL(a,b,c){c&&!Array.isArray(c)&&(c=[c]);let d=new aA({messageId:this._nextMessageId(),mechanism:a,password:b,controls:c});await this._sendBind(d)}async add(a,b,c){let d;if(this.isConnected||await this._connect(),c&&!Array.isArray(c)&&(c=[c]),Array.isArray(b))d=b;else for(let[a,c]of(d=[],Object.entries(b))){let b;b=Array.isArray(c)?c:null==c?[]:[c],d.push(new av({type:a,values:b}))}let e=new aw({messageId:this._nextMessageId(),dn:"string"==typeof a?a:a.toString(),attributes:d,controls:c}),f=await this._send(e);if(f?.status!==0)throw aV.parse(f)}async compare(a,b,c,d){this.isConnected||await this._connect(),d&&!Array.isArray(d)&&(d=[d]);let e=new aC({messageId:this._nextMessageId(),dn:"string"==typeof a?a:a.toString(),attribute:b,value:c,controls:d}),f=await this._send(e);switch(f?.status){case aD.compareTrue:return!0;case aD.compareFalse:return!1;default:throw aV.parse(f)}}async del(a,b){this.isConnected||await this._connect(),b&&!Array.isArray(b)&&(b=[b]);let c=new aF({messageId:this._nextMessageId(),dn:"string"==typeof a?a:a.toString(),controls:b}),d=await this._send(c);if(d?.status!==0)throw aV.parse(d)}async exop(a,b,c){this.isConnected||await this._connect(),c&&!Array.isArray(c)&&(c=[c]);let d=new aH({messageId:this._nextMessageId(),oid:a,value:b,controls:c}),e=await this._send(d);if(e?.status!==0)throw aV.parse(e);return{oid:e.oid,value:e.value}}async modify(a,b,c){this.isConnected||await this._connect(),Array.isArray(b)||(b=[b]),c&&!Array.isArray(c)&&(c=[c]);let d=new aM({messageId:this._nextMessageId(),dn:"string"==typeof a?a:a.toString(),changes:b,controls:c}),e=await this._send(d);if(e?.status!==0)throw aV.parse(e)}async modifyDN(a,b,c){let d;if(this.isConnected||await this._connect(),c&&!Array.isArray(c)&&(c=[c]),"string"==typeof b&&/[^\\],/.test(b)){let a=b.search(/[^\\],/);d=b.slice(a+2),b=b.slice(0,a+1)}let e=new aJ({messageId:this._nextMessageId(),dn:"string"==typeof a?a:a.toString(),deleteOldRdn:!0,newRdn:"string"==typeof b?b:b.toString(),newSuperior:d,controls:c}),f=await this._send(e);if(f?.status!==0)throw aV.parse(f)}async search(a,b={},c){let d,e;if(this.isConnected||await this._connect(),c){for(let a of c=Array.isArray(c)?c.slice(0):[c])if(a instanceof p)throw Error("Should not specify PagedResultsControl")}else c=[];let f=100;"object"==typeof b.paged&&b.paged.pageSize?f=b.paged.pageSize:b.sizeLimit&&b.sizeLimit>1&&(f=b.sizeLimit-1);let g=!!b.paged;g&&(d=new p({value:{size:f}}),c.push(d)),e=b.filter?"string"==typeof b.filter?aQ.parseString(b.filter):b.filter:new ap({attribute:"objectclass"});let h=new aR({messageId:-1,baseDN:"string"==typeof a?a:a.toString(),scope:b.scope,filter:e,attributes:b.attributes,explicitBufferAttributes:b.explicitBufferAttributes,returnAttributeValues:b.returnAttributeValues,sizeLimit:b.sizeLimit,timeLimit:b.timeLimit,controls:c}),i={searchEntries:[],searchReferences:[]};return await this._sendSearch(h,i,g,f,d),i}async *searchPaginated(a,b={},c){let d,e;if(this.isConnected||await this._connect(),c){for(let a of c=Array.isArray(c)?c.slice(0):[c])if(a instanceof p)throw Error("Should not specify PagedResultsControl")}else c=[];let f=100;"object"==typeof b.paged&&b.paged.pageSize?f=b.paged.pageSize:b.sizeLimit&&b.sizeLimit>1&&(f=b.sizeLimit-1),d=new p({value:{size:f}}),c.push(d),e=b.filter?"string"==typeof b.filter?aQ.parseString(b.filter):b.filter:new ap({attribute:"objectclass"});let g=new aR({messageId:-1,baseDN:"string"==typeof a?a:a.toString(),scope:b.scope,filter:e,attributes:b.attributes,explicitBufferAttributes:b.explicitBufferAttributes,returnAttributeValues:b.returnAttributeValues,sizeLimit:b.sizeLimit,timeLimit:b.timeLimit,controls:c});do{let a={searchEntries:[],searchReferences:[]};d=await this._sendSearch(g,a,!0,f,d,!1),yield a}while(d)}async unbind(){try{if(!this.connected||!this.socket)return;let a=new aT({messageId:this._nextMessageId()});await this._send(a)}finally{this._destroySocket(this.socket)}}[Symbol.asyncDispose](){return this.unbind()}async _sendBind(a){this.isConnected||await this._connect();let b=await this._send(a);if(b?.status!==0)throw aV.parse(b)}async _sendSearch(a,b,c,d,e,f=!0){a.messageId=this._nextMessageId();let g=await this._send(a);if(g?.status!==0&&!(g?.status===4&&a.sizeLimit))throw aV.parse(g);for(let c of g.searchEntries)b.searchEntries.push(c.toObject(a.attributes,a.explicitBufferAttributes));for(let a of g.searchReferences)b.searchReferences.push(...a.uris);if(c&&(g.searchEntries.length||g.searchReferences.length)&&e){let h;for(let a of g.controls??[])if(a instanceof p){h=a;break}if(h?.value?.cookie?.length){if(e.value=e.value??{size:d},e.value.cookie=h.value.cookie,!f)return e;await this._sendSearch(a,b,c,d,e,!0)}}}socketDataHandler=a=>{this.messageParser&&this.messageParser.read(a,this.messageDetailsByMessageId)};_nextMessageId(){return this.messageId+=1,this.messageId>=aW&&(this.messageId=1),this.messageId}_connect(){if(!this.isConnected)return new Promise((a,b)=>{this.secure?(this.socket=i.connect(this.port,this.host,this.clientOptions.tlsOptions),this.socket.id=g.randomUUID(),this.socket.once("secureConnect",()=>{this._onConnect(a)})):(this.socket=h.connect(this.port,this.host),this.socket.id=g.randomUUID(),this.socket.once("connect",()=>{this._onConnect(a)})),this.socket.once("error",a=>{this._destroySocket(this.socket),b(a)}),this.clientOptions.connectTimeout&&(this.connectTimer=setTimeout(()=>{this._destroySocket(this.socket),b(Error("Connection timeout"))},this.clientOptions.connectTimeout))})}_onConnect(a){this.connectTimer&&(clearTimeout(this.connectTimer),this.connectTimer=void 0),this.socket&&(this.socket.removeAllListeners("error"),this.socket.removeAllListeners("connect"),this.socket.removeAllListeners("secureConnect")),this.connected=!0;let b=a=>{for(let[b,c]of this.messageDetailsByMessageId.entries())c.message instanceof aT?c.resolve():c.reject(Error(`Socket error. Message type: ${c.message.constructor.name} (0x${c.message.protocolOperation.toString(16)})
|
|
2
|
-
${a.message||(a.stack??"Unknown socket error")}`)),this.messageDetailsByMessageId.delete(b);this.socket&&this.socket.destroy()};function c(){this&&this.end()}function d(){this&&this.end()}let e=this;this.socket&&(this.socket.on("error",b),this.socket.on("close",function a(){for(let[f,g]of(this&&(this.removeListener("error",b),this.removeListener("close",a),this.removeListener("data",e.socketDataHandler),this.removeListener("end",c),this.removeListener("timeout",d)),this===e.socket&&(e.connected=!1,delete e.socket,e.connectTimer&&(clearTimeout(e.connectTimer),e.connectTimer=void 0)),e.messageDetailsByMessageId.entries()))g.socket.id===this.id&&(g.message instanceof aT?g.resolve():g.reject(Error(`Connection closed before message response was received. Message type: ${g.message.constructor.name} (0x${g.message.protocolOperation.toString(16)})`)),e.messageDetailsByMessageId.delete(f))}),this.socket.on("data",this.socketDataHandler),this.socket.on("end",c),this.socket.on("timeout",d)),a()}_destroySocket(a){a&&(this.connectTimer&&(clearTimeout(this.connectTimer),this.connectTimer=void 0),a.removeAllListeners("error"),a.on("error",()=>{}),a.end(),a.destroy(),a===this.socket&&(this.connected=!1,this.socket=void 0))}_send(a){if(!this.connected||!this.socket)throw Error("Socket connection not established");let b=a.write(),c=this.clientOptions.timeout?setTimeout(()=>{let b=this.messageDetailsByMessageId.get(a.messageId.toString());b&&(this._destroySocket(b.socket),e(Error(`${a.constructor.name}: Operation timed out`)))},this.clientOptions.timeout):null,d=()=>{},e=()=>{},f=new Promise((a,b)=>{d=a,e=b}).finally(()=>{c&&clearTimeout(c)});return this.messageDetailsByMessageId.set(a.messageId.toString(),{message:a,resolve:d,reject:e,timeoutTimer:c,socket:this.socket}),a.password?aX(`Sending message: ${JSON.stringify({...a,password:"__redacted__"})}`):aX(`Sending message: ${JSON.stringify(a)}`),this.socket.write(b,()=>{a instanceof at?(aX(`Abandoned message: ${a.messageId}`),this.messageDetailsByMessageId.delete(a.messageId.toString()),d()):a instanceof aT?(aX("Unbind success. Ending socket"),this.socket&&this._destroySocket(this.socket)):aX("Message sent successfully.")}),f}_handleSendResponse(a){let b=this.messageDetailsByMessageId.get(a.messageId.toString());b?a instanceof aO?(b.searchEntries=b.searchEntries??[],b.searchEntries.push(a)):a instanceof aP?(b.searchReferences=b.searchReferences??[],b.searchReferences.push(a)):(a instanceof aS&&(b.searchEntries&&a.searchEntries.push(...b.searchEntries),b.searchReferences&&a.searchReferences.push(...b.searchReferences)),this.messageDetailsByMessageId.delete(a.messageId.toString()),b.resolve(a)):aX(`Unable to find details related to message response: ${JSON.stringify(a)}`)}}}
|
|
1
|
+
"use strict";exports.id=5060,exports.ids=[5060],exports.modules={25060:(a,b,c)=>{c.d(b,{Kj:()=>aY});var d,e=c(34589),f=c(57975),g=c(77598),h=c(77030),i=c(41692),j=c(78474);class k extends Error{constructor(a){super(a),this.name="InvalidAsn1Error"}}class l{size;currentLength=0;currentOffset=0;buffer;constructor(a){if(!Buffer.isBuffer(a))throw TypeError("data must be a Buffer");this.buffer=a,this.size=a.length}get length(){return this.currentLength}get offset(){return this.currentOffset}set offset(a){this.currentOffset=a}get remain(){return this.size-this.currentOffset}get remainingBuffer(){return this.buffer.subarray(this.currentOffset)}setBufferSize(a){this.size=a}readByte(a=!1){if(this.size-this.currentOffset<1)return null;let b=this.buffer.readUInt8(this.currentOffset);return a||(this.currentOffset+=1),b}peek(){return this.readByte(!0)}readLength(a){let b=a??this.currentOffset;if(b>=this.size)return null;let c=this.buffer.readUInt8(b);if(b+=1,(128&c)==128){let a=127&c;if(0===a)throw new k("Indefinite length not supported");if(a>4)throw new k("Encoding too long");if(this.size-b<a)return null;this.currentLength=0;for(let c=0;c<a;c++)this.currentLength=(this.currentLength<<8)+this.buffer.readUInt8(b),b+=1}else this.currentLength=c;return b}readSequence(a){let b=this.peek();if(null===b)return null;if(void 0!==a&&a!==b)throw new k(`Expected 0x${a.toString(16)}: got 0x${b.toString(16)}`);let c=this.readLength(this.currentOffset+1);return null===c?null:(this.currentOffset=c,b)}readInt(){return this.readTag(2)}readBoolean(){let a=this.readTag(1);return null===a?null:0!==a}readEnumeration(){return this.readTag(10)}readString(a=4,b=!1){let c=this.peek();if(null===c)return null;if(c!==a)throw new k(`Expected 0x${a.toString(16)}: got 0x${c.toString(16)}`);let d=this.readLength(this.currentOffset+1);if(null===d||this.currentLength>this.size-d)return null;if(this.currentOffset=d,0===this.currentLength)return b?Buffer.alloc(0):"";let e=this.buffer.subarray(this.currentOffset,this.currentOffset+this.currentLength);return this.currentOffset+=this.currentLength,b?e:e.toString("utf8")}readOID(a=6){let b=this.readString(a,!0);if(null===b)return null;let c=[],d=0;for(let a of b)d=(d<<7)+(127&a),(128&a)==0&&(c.push(d),d=0);let e=c[0]??0;return[Math.trunc(e/40),e%40,...c.slice(1)].join(".")}readTag(a){let b=this.peek();if(null===b)return null;if(b!==a)throw new k(`Expected 0x${a.toString(16)}: got 0x${b.toString(16)}`);let c=this.readLength(this.currentOffset+1);if(null===c)return null;if(this.currentLength>4)throw new k(`Integer too long: ${this.currentLength}`);if(this.currentLength>this.size-c)return null;this.currentOffset=c;let d=this.buffer.readUInt8(this.currentOffset),e=0;for(let a=0;a<this.currentLength;a++)e=e<<8|this.buffer.readUInt8(this.currentOffset),this.currentOffset+=1;return(128&d)==128&&this.currentLength<4&&(e-=1<<8*this.currentLength),0|e}}class m{data;size;currentOffset=0;growthFactor;sequenceOffsets=[];constructor(a={}){const b=a.size??1024;this.growthFactor=a.growthFactor??8,this.data=Buffer.alloc(b),this.size=b}get buffer(){if(this.sequenceOffsets.length>0)throw new k(`${this.sequenceOffsets.length} unended sequence(s)`);return this.data.subarray(0,this.currentOffset)}writeByte(a){this.ensureCapacity(1),this.data[this.currentOffset++]=a}writeInt(a,b=2){let c=a,d=4;for(;((0xff800000&c)==0||(0xff800000&c)==-8388608)&&d>1;)d--,c<<=8;if(d>4)throw new k("BER integers cannot be > 0xffffffff");for(this.ensureCapacity(2+d),this.data[this.currentOffset++]=b,this.data[this.currentOffset++]=d;d>0;)d--,this.data[this.currentOffset++]=(0xff000000&c)>>>24,c<<=8}writeNull(){this.writeByte(5),this.writeByte(0)}writeEnumeration(a,b=10){this.writeInt(a,b)}writeBoolean(a,b=1){this.ensureCapacity(3),this.data[this.currentOffset++]=b,this.data[this.currentOffset++]=1,this.data[this.currentOffset++]=255*!!a}writeString(a,b=4){let c=Buffer.byteLength(a);this.writeByte(b),this.writeLength(c),c>0&&(this.ensureCapacity(c),this.data.write(a,this.currentOffset),this.currentOffset+=c)}writeBuffer(a,b){this.writeByte(b),this.writeLength(a.length),this.ensureCapacity(a.length),a.copy(this.data,this.currentOffset,0,a.length),this.currentOffset+=a.length}writeStringArray(a){for(let b of a)this.writeString(b)}writeOID(a,b=6){if(!/^(\d+\.){3,}\d+$/.test(a))throw Error("Argument is not a valid OID string");let c=a.split("."),d=[],e=c[0]??"0",f=c[1]??"0";for(let a of(d.push(40*Number(e)+Number(f)),c.slice(2)))this.encodeOidOctet(d,Number(a));for(let a of(this.ensureCapacity(2+d.length),this.writeByte(b),this.writeLength(d.length),d))this.writeByte(a)}writeLength(a){if(this.ensureCapacity(4),a<=127)this.data[this.currentOffset++]=a;else if(a<=255)this.data[this.currentOffset++]=129,this.data[this.currentOffset++]=a;else if(a<=65535)this.data[this.currentOffset++]=130,this.data[this.currentOffset++]=a>>8,this.data[this.currentOffset++]=a;else if(a<=0xffffff)this.data[this.currentOffset++]=131,this.data[this.currentOffset++]=a>>16,this.data[this.currentOffset++]=a>>8,this.data[this.currentOffset++]=a;else throw new k("Length too long (> 4 bytes)")}startSequence(a=48){this.writeByte(a),this.sequenceOffsets.push(this.currentOffset),this.ensureCapacity(3),this.currentOffset+=3}endSequence(){let a=this.sequenceOffsets.pop();if(void 0===a)throw new k("No sequence to end");let b=a+3,c=this.currentOffset-b;if(c<=127)this.shiftContent(b,c,-2),this.data[a]=c;else if(c<=255)this.shiftContent(b,c,-1),this.data[a]=129,this.data[a+1]=c;else if(c<=65535)this.data[a]=130,this.data[a+1]=c>>8,this.data[a+2]=c;else if(c<=0xffffff)this.shiftContent(b,c,1),this.data[a]=131,this.data[a+1]=c>>16,this.data[a+2]=c>>8,this.data[a+3]=c;else throw new k("Sequence too long")}encodeOidOctet(a,b){b<128?a.push(b):(b<16384?a.push(b>>>7|128):(b<2097152?a.push(b>>>14|128):(b<0x10000000?a.push(b>>>21|128):(a.push((b>>>28|128)&255),a.push((b>>>21|128)&255)),a.push((b>>>14|128)&255)),a.push((b>>>7|128)&255)),a.push(127&b))}shiftContent(a,b,c){this.data.copy(this.data,a+c,a,a+b),this.currentOffset+=c}ensureCapacity(a){if(this.size-this.currentOffset<a){let b=this.size*this.growthFactor;b-this.currentOffset<a&&(b+=a);let c=Buffer.alloc(b);this.data.copy(c,0,0,this.currentOffset),this.data=c,this.size=b}}}class n{type;critical;constructor(a,b={}){this.type=a,this.critical=!0===b.critical}write(a){a.startSequence(),a.writeString(this.type),a.writeBoolean(this.critical),this.writeControl(a),a.endSequence()}parse(a){this.parseControl(a)}writeControl(a){}parseControl(a){}}class o extends n{static type="2.16.840.1.113730.3.4.7";value;constructor(a={}){super(o.type,a),this.value=a.value}parseControl(a){if(a.readSequence()){let b,c=a.readInt()??0;8===c&&(b=a.readString());let d=a.readInt()??0;this.value={changeType:c,previousDN:b,changeNumber:d}}}writeControl(a){if(!this.value)return;let b=new m;b.startSequence(),b.writeInt(this.value.changeType),this.value.previousDN&&b.writeString(this.value.previousDN),b.writeInt(this.value.changeNumber),b.endSequence(),a.writeBuffer(b.buffer,4)}}class p extends n{static type="1.2.840.113556.1.4.319";value;constructor(a={}){super(p.type,a),this.value=a.value}parseControl(a){if(a.readSequence()){let b=a.readInt()??0,c=a.readString(4,!0)??Buffer.alloc(0);this.value={size:b,cookie:c}}}writeControl(a){if(!this.value)return;let b=new m;b.startSequence(),b.writeInt(this.value.size),this.value.cookie?.length?b.writeBuffer(this.value.cookie,4):b.writeString(""),b.endSequence(),a.writeBuffer(b.buffer,4)}}class q extends n{static type="2.16.840.1.113730.3.4.3";value;constructor(a={}){super(q.type,a),this.value=a.value}parseControl(a){if(a.readSequence()){let b=a.readInt()??0,c=a.readBoolean()??!1,d=a.readBoolean()??!1;this.value={changeTypes:b,changesOnly:c,returnECs:d}}}writeControl(a){if(!this.value)return;let b=new m;b.startSequence(),b.writeInt(this.value.changeTypes),b.writeBoolean(this.value.changesOnly),b.writeBoolean(this.value.returnECs),b.endSequence(),a.writeBuffer(b.buffer,4)}}class r extends n{static type="1.2.840.113556.1.4.473";values;constructor(a={}){super(r.type,a),Array.isArray(a.value)?this.values=a.value:"object"==typeof a.value?this.values=[a.value]:this.values=[]}parseControl(a){if(a.readSequence(48))for(;a.readSequence(48);){let b=a.readString()??"",c="",d=!1;128===a.peek()&&(c=a.readString(128)??""),129===a.peek()&&(d=0!==a.readTag(129)),this.values.push({attributeType:b,orderingRule:c,reverseOrder:d})}}writeControl(a){if(!this.values.length)return;let b=new m;for(let a of(b.startSequence(48),this.values))b.startSequence(48),b.writeString(a.attributeType,4),a.orderingRule&&b.writeString(a.orderingRule,128),void 0!==a.reverseOrder&&b.writeBoolean(a.reverseOrder,129),b.endSequence();b.endSequence(),a.writeBuffer(b.buffer,4)}}class s extends Error{messageDetails;constructor(a){super(a),this.name="MessageParserError",Object.setPrototypeOf(this,s.prototype)}}class t extends Error{code;constructor(a,b){super(`${b} Code: 0x${a.toString(16)}`),this.name="ResultCodeError",this.code=a,Object.setPrototypeOf(this,t.prototype)}}class u extends t{constructor(a){super(11,a??"An LDAP server limit set by an administrative authority has been exceeded."),this.name="AdminLimitExceededError",Object.setPrototypeOf(this,u.prototype)}}class v extends t{constructor(a){super(71,a??"The modify DN operation moves the entry from one LDAP server to another and thus requires more than one LDAP server."),this.name="AffectsMultipleDSAsError",Object.setPrototypeOf(this,v.prototype)}}class w extends t{constructor(a){super(36,a??"Either the client does not have access rights to read the aliased object's name or dereferencing is not allowed."),this.name="AliasDerefProblemError",Object.setPrototypeOf(this,w.prototype)}}class x extends t{constructor(a){super(33,a??"An error occurred when an alias was dereferenced."),this.name="AliasProblemError",Object.setPrototypeOf(this,x.prototype)}}class y extends t{constructor(a){super(68,a??"The add operation attempted to add an entry that already exists, or that the modify operation attempted to rename an entry to the name of an entry that already exists."),this.name="AlreadyExistsError",Object.setPrototypeOf(this,y.prototype)}}class z extends t{constructor(a){super(7,a??"The Directory Server does not support the requested Authentication Method."),this.name="AuthMethodNotSupportedError",Object.setPrototypeOf(this,z.prototype)}}class A extends t{constructor(a){super(51,a??"The LDAP server is too busy to process the client request at this time."),this.name="BusyError",Object.setPrototypeOf(this,A.prototype)}}class B extends t{constructor(a){super(13,a??"The session is not protected by a protocol such as Transport Layer Security (TLS), which provides session confidentiality and the request will not be handled without confidentiality enabled."),this.name="ConfidentialityRequiredError",Object.setPrototypeOf(this,B.prototype)}}class C extends t{constructor(a){super(19,a??"The attribute value specified in a Add Request, Modify Request or ModifyDNRequest operation violates constraints placed on the attribute. The constraint can be one of size or content (string only, no binary)."),this.name="ConstraintViolationError",Object.setPrototypeOf(this,C.prototype)}}class D extends t{constructor(a){super(48,a??"The client is attempting to use an authentication method incorrectly."),this.name="InappropriateAuthError",Object.setPrototypeOf(this,D.prototype)}}class E extends t{constructor(a){super(18,a??"The matching rule specified in the search filter does not match a rule defined for the attribute's syntax."),this.name="InappropriateMatchingError",Object.setPrototypeOf(this,E.prototype)}}class F extends t{constructor(a){super(50,a??"The caller does not have sufficient rights to perform the requested operation."),this.name="InsufficientAccessError",Object.setPrototypeOf(this,F.prototype)}}class G extends t{constructor(a){super(49,a??"Invalid credentials during a bind operation."),this.name="InvalidCredentialsError",Object.setPrototypeOf(this,G.prototype)}}class H extends t{constructor(a){super(34,a??"The syntax of the DN is incorrect."),this.name="InvalidDNSyntaxError",Object.setPrototypeOf(this,H.prototype)}}class I extends t{constructor(a){super(21,a??"The attribute value specified in an Add Request, Compare Request, or Modify Request operation is an unrecognized or invalid syntax for the attribute."),this.name="InvalidSyntaxError",Object.setPrototypeOf(this,I.prototype)}}class J extends t{constructor(a){super(35,a??"The specified operation cannot be performed on a leaf entry."),this.name="IsLeafError",Object.setPrototypeOf(this,J.prototype)}}class K extends t{constructor(a){super(54,a??"The client discovered an alias or LDAP Referral loop, and is thus unable to complete this request."),this.name="LoopDetectError",Object.setPrototypeOf(this,K.prototype)}}class L extends t{constructor(a){super(95,a),this.name="MoreResultsToReturnError",Object.setPrototypeOf(this,L.prototype)}}class M extends t{constructor(a){super(64,a??"The Add Request or Modify DN Request operation violates the schema's structure rules."),this.name="NamingViolationError",Object.setPrototypeOf(this,M.prototype)}}class N extends t{constructor(a){super(69,a??"The modify operation attempted to modify the structure rules of an object class."),this.name="NoObjectClassModsError",Object.setPrototypeOf(this,N.prototype)}}class O extends t{constructor(a){super(16,a??"The attribute specified in the Modify Request or Compare Request operation does not exist in the entry."),this.name="NoSuchAttributeError",Object.setPrototypeOf(this,O.prototype)}}class P extends t{constructor(a){super(32,a??"The target object cannot be found."),this.name="NoSuchObjectError",Object.setPrototypeOf(this,P.prototype)}}class Q extends t{constructor(a){super(66,a??"The requested operation is permitted only on leaf entries."),this.name="NotAllowedOnNonLeafError",Object.setPrototypeOf(this,Q.prototype)}}class R extends t{constructor(a){super(67,a??"The modify operation attempted to remove an attribute value that forms the entry's relative distinguished name."),this.name="NotAllowedOnRDNError",Object.setPrototypeOf(this,R.prototype)}}class S extends t{constructor(a){super(248,a??"No result message for the request."),this.name="NoResultError",Object.setPrototypeOf(this,S.prototype)}}class T extends t{constructor(a){super(65,a??"The Add Request, Modify Request, or modify DN operation violates the object class rules for the entry."),this.name="ObjectClassViolationError",Object.setPrototypeOf(this,T.prototype)}}class U extends t{constructor(a){super(1,a??"Request was out of sequence with another operation in progress."),this.name="OperationsError",Object.setPrototypeOf(this,U.prototype)}}class V extends t{constructor(a){super(2,a??"Client sent data to the server that did not comprise a valid LDAP request."),this.name="ProtocolError",Object.setPrototypeOf(this,V.prototype)}}class W extends t{constructor(a){super(70,a??"Results are too large."),this.name="ResultsTooLargeError",Object.setPrototypeOf(this,W.prototype)}}class X extends t{response;constructor(a){super(14,a.errorMessage||"The server is ready for the next step in the SASL authentication process. The client must send the server the same SASL Mechanism to continue the process."),this.response=a,this.name="SaslBindInProgressError",Object.setPrototypeOf(this,X.prototype)}}class Y extends t{constructor(a){super(4,a??"There were more entries matching the criteria contained in a SearchRequest operation than were allowed to be returned by the size limit configuration."),this.name="SizeLimitExceededError",Object.setPrototypeOf(this,Y.prototype)}}class Z extends t{constructor(a){super(8,a??"Client requested an operation that requires strong authentication."),this.name="StrongAuthRequiredError",Object.setPrototypeOf(this,Z.prototype)}}class $ extends t{constructor(a){super(3,a??"Processing on the associated request Timeout limit specified by either the client request or the server administration limits has been exceeded and has been terminated because it took too long to complete."),this.name="TimeLimitExceededError",Object.setPrototypeOf(this,$.prototype)}}class _ extends t{constructor(a){super(112,a??"TLS is not supported on the server."),this.name="TLSNotSupportedError",Object.setPrototypeOf(this,_.prototype)}}class aa extends t{constructor(a){super(20,a??"The attribute value specified in a Add Request or Modify Request operation already exists as a value for that attribute."),this.name="TypeOrValueExistsError",Object.setPrototypeOf(this,aa.prototype)}}class ab extends t{constructor(a){super(12,a??"One or more critical extensions were not available by the LDAP server. Either the server does not support the control or the control is not appropriate for the operation type."),this.name="UnavailableCriticalExtensionError",Object.setPrototypeOf(this,ab.prototype)}}class ac extends t{constructor(a){super(52,a??"The LDAP server cannot process the client's bind request."),this.name="UnavailableError",Object.setPrototypeOf(this,ac.prototype)}}class ad extends t{constructor(a){super(17,a??"The attribute specified in the modify or add operation does not exist in the LDAP server's schema."),this.name="UndefinedTypeError",Object.setPrototypeOf(this,ad.prototype)}}class ae extends t{constructor(a,b){super(a,b??"Unknown error."),this.name="UnknownStatusCodeError",Object.setPrototypeOf(this,ae.prototype)}}class af extends t{constructor(a){super(53,a??"The LDAP server cannot process the request because of server-defined restrictions."),this.name="UnwillingToPerformError",Object.setPrototypeOf(this,af.prototype)}}class ag{write(a){a.startSequence(this.type),this.writeFilter(a),a.endSequence()}parse(a){this.parseFilter(a)}matches(a={},b){return!0}escape(a){let b="";if(Buffer.isBuffer(a))for(let c of a)c<16?b+=`\\0${c.toString(16)}`:b+=`\\${c.toString(16)}`;else for(let c of a)switch(c){case"*":b+="\\2a";break;case"(":b+="\\28";break;case")":b+="\\29";break;case"\\":b+="\\5c";break;case"\0":b+="\\00";break;default:b+=c}return b}parseFilter(a){}writeFilter(a){}getObjectValue(a,b,c){let d;if(void 0!==a[b])d=b;else if(!c&&"objectclass"===b.toLowerCase()){for(let c of Object.keys(a))if(c.toLowerCase()===b.toLowerCase()){d=c;break}}if(d)return a[d]}}class ah extends ag{type=160;filters;constructor(a){super(),this.filters=a.filters}writeFilter(a){for(let b of this.filters)b.write(a)}matches(a={},b){if(!this.filters.length)return!0;for(let c of this.filters)if(!c.matches(a,b))return!1;return!0}toString(){let a="(&";for(let b of this.filters)a+=b.toString();return a+")"}}class ai extends ag{type=168;attribute;value;constructor(a={}){super(),this.attribute=a.attribute??"",this.value=a.value??""}parseFilter(a){this.attribute=(a.readString()??"").toLowerCase(),this.value=a.readString()??""}writeFilter(a){a.writeString(this.attribute),a.writeString(this.value)}matches(a={},b){throw Error("Approximate match implementation unknown")}toString(){return`(${this.escape(this.attribute)}~=${this.escape(this.value)})`}}class aj extends ag{type=163;attribute;value;constructor(a={}){super(),this.attribute=a.attribute??"",this.value=a.value??""}parseFilter(a){this.attribute=(a.readString()??"").toLowerCase(),this.value=a.readString()??"","objectclass"===this.attribute&&(this.value=this.value.toLowerCase())}writeFilter(a){a.writeString(this.attribute),Buffer.isBuffer(this.value)?a.writeBuffer(this.value,4):a.writeString(this.value)}matches(a={},b){let c=this.getObjectValue(a,this.attribute,b);if(void 0!==c){if(Buffer.isBuffer(this.value)&&Buffer.isBuffer(c))return this.value===c;let a=Buffer.isBuffer(this.value)?this.value.toString("utf8"):this.value;return b?a===c:a.toLowerCase()===c.toLowerCase()}return!1}toString(){return`(${this.escape(this.attribute)}=${this.escape(this.value)})`}}class ak extends ag{type=169;value;rule;matchType;dnAttributes;constructor(a={}){super(),this.matchType=a.matchType??"",this.rule=a.rule??"",this.dnAttributes=!0===a.dnAttributes,this.value=a.value??""}parseFilter(a){let b=a.offset+a.length;for(;a.offset<b;){let b=a.peek();switch(b){case 129:this.rule=a.readString(b)??"";break;case 130:this.matchType=a.readString(b)??"";break;case 131:this.value=a.readString(b)??"";break;case 132:this.dnAttributes=a.readBoolean()??!1;break;default:{let a="<null>";throw b&&(a=`0x${b.toString(16)}`),Error(`Invalid ext_match filter type: ${a}`)}}}}writeFilter(a){this.rule&&a.writeString(this.rule,129),this.matchType&&a.writeString(this.matchType,130),a.writeString(this.value,131),this.dnAttributes&&a.writeBoolean(this.dnAttributes,132)}matches(a={},b){throw Error("Approximate match implementation unknown")}toString(){let a=`(${this.escape(this.matchType)}:`;return this.dnAttributes&&(a+="dn:"),this.rule&&(a+=`${this.escape(this.rule)}:`),a+=`=${this.escape(this.value)})`}}class al extends ag{type=165;attribute;value;constructor(a={}){super(),this.attribute=a.attribute??"",this.value=a.value??""}parseFilter(a){this.attribute=a.readString()?.toLowerCase()??"",this.value=a.readString()??""}writeFilter(a){a.writeString(this.attribute),a.writeString(this.value)}matches(a={},b){let c=this.getObjectValue(a,this.attribute,b);return void 0!==c&&(b?c>=this.value:c.toLowerCase()>=this.value.toLowerCase())}toString(){return`(${this.escape(this.attribute)}>=${this.escape(this.value)})`}}class am extends ag{type=166;attribute;value;constructor(a={}){super(),this.attribute=a.attribute??"",this.value=a.value??""}parseFilter(a){this.attribute=a.readString()?.toLowerCase()??"",this.value=a.readString()??""}writeFilter(a){a.writeString(this.attribute),a.writeString(this.value)}matches(a={},b){let c=this.getObjectValue(a,this.attribute,b);return void 0!==c&&(b?c<=this.value:c.toLowerCase()<=this.value.toLowerCase())}toString(){return`(${this.escape(this.attribute)}<=${this.escape(this.value)})`}}class an extends ag{type=162;filter;constructor(a){super(),this.filter=a.filter}writeFilter(a){this.filter.write(a)}matches(a={},b){return!this.filter.matches(a,b)}toString(){return`(!${this.filter.toString()})`}}class ao extends ag{type=161;filters;constructor(a){super(),this.filters=a.filters}writeFilter(a){for(let b of this.filters)b.write(a)}matches(a={},b){if(!this.filters.length)return!0;for(let c of this.filters)if(c.matches(a,b))return!0;return!1}toString(){let a="(|";for(let b of this.filters)a+=b.toString();return a+")"}}class ap extends ag{type=135;attribute;constructor(a={}){super(),this.attribute=a.attribute??""}parseFilter(a){this.attribute=a.buffer.subarray(0,a.length).toString("utf8").toLowerCase(),a.offset+=a.length}writeFilter(a){for(let b=0;b<this.attribute.length;b+=1)a.writeByte(this.attribute.charCodeAt(b))}matches(a={},b){return void 0!==this.getObjectValue(a,this.attribute,b)}toString(){return`(${this.escape(this.attribute)}=*)`}}class aq extends ag{type=164;attribute;initial;any;final;constructor(a={}){super(),this.attribute=a.attribute??"",this.initial=a.initial??"",this.any=a.any??[],this.final=a.final??""}parseFilter(a){this.attribute=a.readString()?.toLowerCase()??"",a.readSequence();let b=a.offset+a.length;for(;a.offset<b;){let b=a.peek();switch(b){case 128:this.initial=a.readString(b)??"","objectclass"===this.attribute&&(this.initial=this.initial.toLowerCase());break;case 129:{let c=a.readString(b)??"";"objectclass"===this.attribute&&(c=c.toLowerCase()),this.any.push(c);break}case 130:this.final=a.readString(b)??"","objectclass"===this.attribute&&(this.final=this.final.toLowerCase());break;default:{let a="<null>";throw b&&(a=`0x${b.toString(16)}`),Error(`Invalid substring filter type: ${a}`)}}}}writeFilter(a){for(let b of(a.writeString(this.attribute),a.startSequence(),this.initial&&a.writeString(this.initial,128),this.any))a.writeString(b,129);this.final&&a.writeString(this.final,130),a.endSequence()}matches(a={},b){let c=this.getObjectValue(a,this.attribute,b);if(void 0!==c){let a="";for(let b of(this.initial&&(a+=`^${aq._escapeRegExp(this.initial)}.*`),this.any))a+=`${aq._escapeRegExp(b)}.*`;return this.final&&(a+=`${aq._escapeRegExp(this.final)}$`),new RegExp(a,b?"gmu":"igmu").test(c)}return!1}toString(){let a=`(${this.escape(this.attribute)}=${this.escape(this.initial)}*`;for(let b of this.any)a+=`${this.escape(b)}*`;return a+`${this.escape(this.final)})`}static _escapeRegExp(a){return a.replace(/[$()*+./?[\\\]^{|}-]/g,"\\$&")}}class ar{static parse(a,b){let c;if(null===a.readSequence())return null;let d="",e=!1,f=Buffer.alloc(0);if(a.length){let b=a.offset+a.length;d=a.readString()??"",a.offset<b&&1===a.peek()&&(e=a.readBoolean()??!1),a.offset<b&&(f=a.readString(4,!0)??Buffer.alloc(0))}switch(d){case o.type:c=new o({critical:e});break;case p.type:c=new p({critical:e});break;case q.type:c=new q({critical:e});break;case r.type:c=new r({critical:e});break;default:c=b.find(a=>a.type===d)}if(!c)return null;let g=new l(f);return c.parse(g),c}}class as{version=3;messageId=0;controls;constructor(a){this.messageId=a.messageId,this.controls=a.controls}write(){let a=new m;if(a.startSequence(),a.writeInt(this.messageId),a.startSequence(this.protocolOperation),this.writeMessage(a),a.endSequence(),this.controls?.length){for(let b of(a.startSequence(160),this.controls))b.write(a);a.endSequence()}return a.endSequence(),a.buffer}parse(a,b){if(this.controls=[],this.parseMessage(a),160===a.peek()){a.readSequence();let c=a.offset+a.length;for(;a.offset<c;){let c=ar.parse(a,b);c&&this.controls.push(c)}}}toString(){return JSON.stringify({messageId:this.messageId,messageType:this.constructor.name},null,2)}parseMessage(a){}writeMessage(a){}}class at extends as{protocolOperation;abandonId;constructor(a){super(a),this.protocolOperation=80,this.abandonId=a.abandonId??0}writeMessage(a){let b=this.abandonId,c=4;for(;((0xff800000&b)==0||(0xff800000&b)==0xff800000)&&c>1;)c-=1,b<<=8;for(e.ok(c<=4);c-- >0;)a.writeByte((0xff000000&b)>>24),b<<=8}parseMessage(a){let{length:b}=a;if(b){let c,d=1,e=a.buffer[d]??0;c=127&e;for(let e=1;e<b;e+=1)c<<=8,d+=1,c|=255&(a.buffer[d]??0);(128&e)==128&&(c=-c),a.offset+=b,this.abandonId=c}else this.abandonId=0}}let au=new f.TextDecoder("utf8",{fatal:!0});class av{buffers=[];type;values;constructor(a={}){this.type=a.type??"",this.values=a.values??[]}get parsedBuffers(){return this.buffers}write(a){a.startSequence();let{type:b}=this;if(a.writeString(b),a.startSequence(49),this.values.length)for(let b of this.values)Buffer.isBuffer(b)?a.writeBuffer(b,4):a.writeString(b);else a.writeStringArray([]);a.endSequence(),a.endSequence()}parse(a){a.readSequence(),this.type=a.readString()??"";let b=this._isBinaryType();if(49===a.peek()&&a.readSequence(49)){let c=a.offset+a.length;for(;a.offset<c;){let c=a.readString(4,!0)??Buffer.alloc(0);if(this.buffers.push(c),b)this.values.push(c);else try{let a=au.decode(c);this.values.push(a)}catch{this.values.push(c)}}}}_isBinaryType(){return/;binary$/i.test(this.type||"")}}class aw extends as{protocolOperation;dn;attributes;constructor(a){super(a),this.protocolOperation=104,this.dn=a.dn,this.attributes=a.attributes??[]}writeMessage(a){for(let b of(a.writeString(this.dn),a.startSequence(),this.attributes))b.write(a);a.endSequence()}parseMessage(a){this.dn=a.readString()??"",a.readSequence();let b=a.offset+a.length;for(;a.offset<b;){let b=new av;b.parse(a),this.attributes.push(b)}}}class ax extends as{status;matchedDN;errorMessage;constructor(a){super(a),this.status=a.status??0,this.matchedDN=a.matchedDN??"",this.errorMessage=a.errorMessage??""}parseMessage(a){this.status=a.readEnumeration()??0,this.matchedDN=a.readString()??"",this.errorMessage=a.readString()??""}}class ay extends ax{protocolOperation;constructor(a){super(a),this.protocolOperation=105}}let az=["EXTERNAL","PLAIN","DIGEST-MD5","SCRAM-SHA-1"];class aA extends as{protocolOperation;dn;password;mechanism;constructor(a){super(a),this.protocolOperation=96,this.dn=a.dn??"",this.password=a.password??"",this.mechanism=a.mechanism}writeMessage(a){a.writeInt(this.version),a.writeString(this.dn),this.mechanism?(a.startSequence(163),a.writeString(this.mechanism),a.writeString(this.password),a.endSequence()):a.writeString(this.password,128)}parseMessage(a){this.version=a.readInt()??3,this.dn=a.readString()??"";let b=a.peek();if(128!==b){let a="<null>";throw b&&(a=`0x${b.toString(16)}`),Error(`Authentication type not supported: ${a}`)}this.password=a.readString(128)??""}}class aB extends ax{protocolOperation;data=[];constructor(a){super(a),this.protocolOperation=97}parseMessage(a){for(super.parseMessage(a);a.remain>0;){let b=a.peek();if(160===b)break;this.data.push(a.readString("number"==typeof b?b:void 0)??"")}}}class aC extends as{protocolOperation;dn;attribute;value;constructor(a){super(a),this.protocolOperation=110,this.attribute=a.attribute??"",this.value=a.value??"",this.dn=a.dn??""}writeMessage(a){a.writeString(this.dn),a.startSequence(),a.writeString(this.attribute),a.writeString(this.value),a.endSequence()}parseMessage(a){this.dn=a.readString()??"",a.readSequence(),this.attribute=(a.readString()??"").toLowerCase(),this.value=a.readString()??""}}var aD=((d=aD||{})[d.compareTrue=6]="compareTrue",d[d.compareFalse=5]="compareFalse",d[d.noSuchAttribute=22]="noSuchAttribute",d[d.noSuchObject=50]="noSuchObject",d);class aE extends ax{protocolOperation;constructor(a){super(a),this.protocolOperation=111}}class aF extends as{protocolOperation;dn;constructor(a){super(a),this.protocolOperation=74,this.dn=a.dn??""}writeMessage(a){for(let b of Buffer.from(this.dn))a.writeByte(b)}parseMessage(a){let{length:b}=a;this.dn=a.buffer.subarray(0,b).toString("utf8"),a.offset+=a.length}}class aG extends ax{protocolOperation;constructor(a){super(a),this.protocolOperation=107}}class aH extends as{protocolOperation;oid;value;constructor(a){super(a),this.protocolOperation=119,this.oid=a.oid??"",this.value=a.value??""}writeMessage(a){a.writeString(this.oid,128),Buffer.isBuffer(this.value)?a.writeBuffer(this.value,129):this.value&&a.writeString(this.value,129)}parseMessage(a){if(this.oid=a.readString(128)??"",129===a.peek())try{this.value=a.readString(129)??""}catch{this.value=a.readString(129,!0)??Buffer.alloc(0)}}}class aI extends ax{protocolOperation;oid;value;constructor(a){super(a),this.protocolOperation=120,this.oid=a.oid,this.value=a.value}parseMessage(a){super.parseMessage(a),138===a.peek()&&(this.oid=a.readString(138)??""),139===a.peek()&&(this.value=a.readString(139)??void 0)}}class aJ extends as{protocolOperation;deleteOldRdn;dn;newRdn;newSuperior;constructor(a){super(a),this.protocolOperation=108,this.deleteOldRdn=!1!==a.deleteOldRdn,this.dn=a.dn??"",this.newRdn=a.newRdn??"",this.newSuperior=a.newSuperior??""}writeMessage(a){a.writeString(this.dn),a.writeString(this.newRdn),a.writeBoolean(this.deleteOldRdn),this.newSuperior&&a.writeString(this.newSuperior,128)}parseMessage(a){this.dn=a.readString()??"",this.newRdn=a.readString()??"",this.deleteOldRdn=a.readBoolean()??!1,128===a.peek()&&(this.newSuperior=a.readString(128)??"")}}class aK extends ax{protocolOperation;constructor(a){super(a),this.protocolOperation=109}}class aL{operation;modification;constructor(a={modification:new av}){this.operation=a.operation??"add",this.modification=a.modification}write(a){switch(a.startSequence(),this.operation){case"add":a.writeEnumeration(0);break;case"delete":a.writeEnumeration(1);break;case"replace":a.writeEnumeration(2);break;default:throw Error(`Unknown change operation: ${this.operation}`)}this.modification.write(a),a.endSequence()}parse(a){a.readSequence();let b=a.readEnumeration();switch(b){case 0:this.operation="add";break;case 1:this.operation="delete";break;case 2:this.operation="replace";break;case null:throw Error("Unknown change operation - <null> operation value");default:throw Error(`Unknown change operation: 0x${b.toString(16)}`)}this.modification=new av,this.modification.parse(a)}}class aM extends as{protocolOperation;dn;changes;constructor(a){super(a),this.protocolOperation=102,this.dn=a.dn??"",this.changes=a.changes??[]}writeMessage(a){for(let b of(a.writeString(this.dn),a.startSequence(),this.changes))b.write(a);a.endSequence()}parseMessage(a){this.dn=a.readString()??"",a.readSequence();let b=a.offset+a.length;for(;a.offset<b;){let b=new aL;b.parse(a),this.changes.push(b)}}}class aN extends ax{protocolOperation;constructor(a){super(a),this.protocolOperation=103}}class aO extends ax{protocolOperation;name;attributes;constructor(a){super(a),this.protocolOperation=100,this.name=a.name??"",this.attributes=a.attributes??[]}parseMessage(a){this.name=a.readString()??"",a.readSequence();let b=a.offset+a.length;for(;a.offset<b;){let b=new av;b.parse(a),this.attributes.push(b)}}toObject(a,b){let c={dn:this.name},d=new Set;for(let a of this.attributes){d.add(a.type.toLocaleLowerCase());let{values:e}=a;(b.includes(a.type)||e.some(a=>Buffer.isBuffer(a)))&&(e=a.parsedBuffers),e.length?1===e.length?c[a.type]=e[0]??[]:c[a.type]=e:c[a.type]=[]}for(let b of a)void 0!==c[b]||d.has(b.toLocaleLowerCase())||(c[b]=[]);return c}}class aP extends ax{protocolOperation;uris;constructor(a){super(a),this.protocolOperation=115,this.uris=a.uris??[]}parseMessage(a){let b=a.offset+a.length;for(;a.offset<b;){let b=a.readString()??"";this.uris.push(b)}}}class aQ{static parseString(a){if(!a)throw Error("Filter cannot be empty");a.startsWith("(")||(a=`(${a})`);let b=aQ._parseString(a,0,a),c=a.length-1;if(b.end<c)throw Error(`Unbalanced parens in filter string: ${a}`);return b.filter}static parse(a){let b,c=a.readSequence();switch(c){case 160:b=new ah({filters:aQ._parseSet(a)});break;case 168:(b=new ai).parse(a);break;case 163:(b=new aj).parse(a);break;case 169:(b=new ak).parse(a);break;case 165:(b=new al).parse(a);break;case 166:(b=new am).parse(a);break;case 162:b=new an({filter:aQ.parse(a)});break;case 161:b=new ao({filters:aQ._parseSet(a)});break;case 135:(b=new ap).parse(a);break;case 164:(b=new aq).parse(a);break;default:throw Error(`Invalid search filter type: 0x${c??"<null>"}`)}return b}static _parseString(a,b,c){let d,e=b,{length:f}=a;if("("!==a[e])throw Error(`Missing paren: ${a}. Full string: ${c}`);switch(a[e+=1]){case"&":{e+=1;let b=[];do{let d=aQ._parseString(a,e,c);b.push(d.filter),e=d.end+1}while(e<f&&")"!==a[e]);d=new ah({filters:b});break}case"|":{e+=1;let b=[];do{let d=aQ._parseString(a,e,c);b.push(d.filter),e=d.end+1}while(e<f&&")"!==a[e]);d=new ao({filters:b});break}case"!":{let b=aQ._parseString(a,e+1,c);d=new an({filter:b.filter}),e=b.end+1;break}default:{let b=a.indexOf(")",e);if(-1===b)throw Error(`Unbalanced parens: ${a}. Full string: ${c}`);d=aQ._parseExpressionFilterFromString(a.substring(e,b)),e=b}}return{end:e,filter:d}}static _parseExpressionFilterFromString(a){let b,c;if(a.startsWith(":"))b="",c=a;else{let d=/^[\w-]+/.exec(a);if(d?.length)[b]=d,c=a.slice(b.length);else throw Error(`Invalid attribute name: ${a}`)}if("=*"===c)return new ap({attribute:b});if(c.startsWith("=")){if((c=c.slice(1)).includes("*")){let a=aQ._unescapeSubstring(c);return new aq({attribute:b,initial:a.initial,any:a.any,final:a.final})}return new aj({attribute:b,value:aQ._unescapeHexValues(c)})}if(c.startsWith(">")&&"="===c[1])return new al({attribute:b,value:aQ._unescapeHexValues(c.slice(2))});if(c.startsWith("<")&&"="===c[1])return new am({attribute:b,value:aQ._unescapeHexValues(c.slice(2))});if(c.startsWith("~")&&"="===c[1])return new ai({attribute:b,value:aQ._unescapeHexValues(c.slice(2))});if(c.startsWith(":"))return aQ._parseExtensibleFilterFromString(b,c);throw Error(`Invalid expression: ${a}`)}static _parseExtensibleFilterFromString(a,b){let c,d=!1,e=b.split(":");if(e.length<=1)throw Error(`Invalid extensible filter: ${b}`);if(e.shift(),e[0]?.toLowerCase()==="dn"&&(d=!0,e.shift()),e.length&&!e[0]?.startsWith("=")&&(c=e.shift()),e.length&&!e[0]?.startsWith("="))throw Error(`Missing := in extensible filter: ${b}`);let f=e.join(":").slice(1);return new ak({matchType:a,dnAttributes:d,rule:c,value:aQ._unescapeHexValues(f)})}static _unescapeHexValues(a){let b=0,c=a.length,d="";for(;b<c;){let c=a[b];switch(c){case"(":throw Error(`Illegal unescaped character: ${c} in value: ${a}`);case"\\":{let c=a.slice(b+1,b+3);if(null===/^[\dA-Fa-f]{2}$/.exec(c))throw Error(`Invalid escaped hex character: ${c} in value: ${a}`);d+=String.fromCharCode(Number.parseInt(c,16)),b+=3;break}default:c&&(d+=c),b+=1}}return d}static _unescapeSubstring(a){let b=a.split("*");if(b.length<2)throw Error(`Wildcard missing: ${a}`);return{initial:aQ._unescapeHexValues(b.shift()??""),final:aQ._unescapeHexValues(b.pop()??""),any:b.map(a=>aQ._unescapeHexValues(a))}}static _parseSet(a){let b=[],c=a.offset+a.length;for(;a.offset<c;)b.push(aQ.parse(a));return b}}class aR extends as{protocolOperation;baseDN;scope;derefAliases;sizeLimit;timeLimit;returnAttributeValues;filter;attributes;explicitBufferAttributes;constructor(a){super(a),this.protocolOperation=99,this.baseDN=a.baseDN??"",this.scope=a.scope??"sub",this.derefAliases=a.derefAliases??"never",this.sizeLimit=a.sizeLimit??0,this.timeLimit=a.timeLimit??10,this.returnAttributeValues=!1!==a.returnAttributeValues,this.filter=a.filter,this.attributes=a.attributes??[],this.explicitBufferAttributes=a.explicitBufferAttributes??[]}writeMessage(a){switch(a.writeString(this.baseDN),this.scope){case"base":a.writeEnumeration(0);break;case"one":a.writeEnumeration(1);break;case"sub":a.writeEnumeration(2);break;case"children":case"subordinates":a.writeEnumeration(3);break;default:throw Error(`Invalid search scope: ${this.scope}`)}switch(this.derefAliases){case"never":a.writeEnumeration(0);break;case"search":a.writeEnumeration(1);break;case"find":a.writeEnumeration(2);break;case"always":a.writeEnumeration(3);break;default:throw Error(`Invalid deref alias: ${this.derefAliases}`)}for(let b of(a.writeInt(this.sizeLimit),a.writeInt(this.timeLimit),a.writeBoolean(!this.returnAttributeValues),this.filter.write(a),a.startSequence(),this.attributes))a.writeString(b);a.endSequence()}parseMessage(a){this.baseDN=a.readString()??"";let b=a.readEnumeration();switch(b){case 0:this.scope="base";break;case 1:this.scope="one";break;case 2:this.scope="sub";break;case 3:this.scope="children";break;default:throw Error(`Invalid search scope: ${b??"<null>"}`)}let c=a.readEnumeration();switch(b){case 0:this.derefAliases="never";break;case 1:this.derefAliases="search";break;case 2:this.derefAliases="find";break;case 3:this.derefAliases="always";break;default:throw Error(`Invalid deref alias: ${c??"<null>"}`)}if(this.sizeLimit=a.readInt()??0,this.timeLimit=a.readInt()??0,this.returnAttributeValues=!a.readBoolean(),this.filter=aQ.parse(a),48===a.peek()){a.readSequence();let b=a.offset+a.length;for(;a.offset<b;)this.attributes.push((a.readString()??"").toLowerCase())}}}class aS extends ax{protocolOperation;searchEntries;searchReferences;constructor(a){super(a),this.protocolOperation=101,this.searchEntries=a.searchEntries??[],this.searchReferences=a.searchReferences??[]}}class aT extends as{protocolOperation;constructor(a){super(a),this.protocolOperation=66}}class aU extends j.EventEmitter{buffer;read(a,b){let c,d,e;this.buffer?this.buffer=Buffer.concat([this.buffer,a]):this.buffer=a;let f=new l(this.buffer),g=null;try{g=f.readSequence()}catch(a){this.emit("error",a)}if(g&&!(f.remain<f.length)){f.remain>f.length&&(c=this.buffer.subarray(f.offset+f.length),f.setBufferSize(f.offset+f.length)),delete this.buffer;try{if(d=f.readInt(),null==d)throw Error("Unable to read message id");if(e=f.readSequence(),null==e)throw Error(`Unable to read protocol operation sequence for message: ${d}`);let a=b.get(`${d}`),c=this._getMessageFromProtocolOperation(d,e,f,a?.message);this.emit("message",c)}catch(a){if(d){a.messageDetails={messageId:d},e&&(a.messageDetails.protocolOperation=e),this.emit("error",a);return}this.emit("error",a);return}c&&this.read(c,b)}}_getMessageFromProtocolOperation(a,b,c,d){let e;switch(b){case 97:e=new aB({messageId:a});break;case 105:e=new ay({messageId:a});break;case 111:e=new aE({messageId:a});break;case 107:e=new aG({messageId:a});break;case 120:e=new aI({messageId:a});break;case 109:e=new aK({messageId:a});break;case 103:e=new aN({messageId:a});break;case 101:e=new aS({messageId:a});break;case 100:e=new aO({messageId:a});break;case 115:e=new aP({messageId:a});break;default:{let c=new s(`Protocol Operation not supported: 0x${b.toString(16)}`);throw c.messageDetails={messageId:a,protocolOperation:b},c}}return e.parse(c,d?.controls??[]),e}}class aV{static parse(a){if(!a)return new S;switch(a.status){case 1:return new U(a.errorMessage);case 2:return new V(a.errorMessage);case 3:return new $(a.errorMessage);case 4:return new Y(a.errorMessage);case 7:return new z(a.errorMessage);case 8:return new Z(a.errorMessage);case 11:return new u(a.errorMessage);case 12:return new ab(a.errorMessage);case 13:return new B(a.errorMessage);case 14:return new X(a);case 16:return new O(a.errorMessage);case 17:return new ad(a.errorMessage);case 18:return new E(a.errorMessage);case 19:return new C(a.errorMessage);case 20:return new aa(a.errorMessage);case 21:return new I(a.errorMessage);case 32:return new P(a.errorMessage);case 33:return new x(a.errorMessage);case 34:return new H(a.errorMessage);case 35:return new J(a.errorMessage);case 36:return new w(a.errorMessage);case 48:return new D(a.errorMessage);case 49:return new G(a.errorMessage);case 50:return new F(a.errorMessage);case 51:return new A(a.errorMessage);case 52:return new ac(a.errorMessage);case 53:return new af(a.errorMessage);case 54:return new K(a.errorMessage);case 64:return new M(a.errorMessage);case 65:return new T(a.errorMessage);case 66:return new Q(a.errorMessage);case 67:return new R(a.errorMessage);case 68:return new y(a.errorMessage);case 69:return new N(a.errorMessage);case 70:return new W(a.errorMessage);case 71:return new v(a.errorMessage);case 95:return new L(a.errorMessage);case 112:return new _(a.errorMessage);case 248:return new S(a.errorMessage);default:return new ae(a.status,a.errorMessage)}}}let aW=0x80000000-1,aX=(0,f.debuglog)("ldapts");Symbol.asyncDispose??=Symbol("Symbol.asyncDispose");class aY{clientOptions;messageId=1;host;port;secure;connected=!1;socket;connectTimer;messageParser=new aU;messageDetailsByMessageId=new Map;constructor(a){let b;this.clientOptions=a,this.clientOptions.timeout??=0,this.clientOptions.connectTimeout??=0,this.clientOptions.strictDN=!1!==this.clientOptions.strictDN;try{b=new URL(a.url)}catch{throw Error(`${a.url} is an invalid LDAP URL (protocol)`)}const c=b.protocol.replace(/:$/,"");if("ldap"!==c&&"ldaps"!==c)throw Error(`${a.url} is an invalid LDAP URL (protocol)`);const d="ldaps"===c,e=!!this.clientOptions.tlsOptions&&Object.values(this.clientOptions.tlsOptions).some(a=>void 0!==a);this.secure=d||e;let f=b.hostname;f.startsWith("[")&&f.endsWith("]")&&(f=f.slice(1,-1)),this.host=f||"localhost",b.port?this.port=Number(b.port):d?this.port=636:this.port=389,this.messageParser.on("error",a=>{if(a.messageDetails?.messageId){let b=this.messageDetailsByMessageId.get(a.messageDetails.messageId.toString());if(b){this.messageDetailsByMessageId.delete(a.messageDetails.messageId.toString()),b.reject(a);return}}a.stack&&aX(a.stack)}),this.messageParser.on("message",this._handleSendResponse.bind(this))}get isConnected(){return!!this.socket&&this.connected}async startTLS(a={},b){this.isConnected||await this._connect(),await this.exop("1.3.6.1.4.1.1466.20037",void 0,b);let c=this.socket;c&&(c.removeListener("data",this.socketDataHandler),a.socket=c),this.socket=await new Promise((b,d)=>{let e=i.connect(a);e.once("secureConnect",()=>{e.removeAllListeners("error"),e.on("data",this.socketDataHandler),e.on("error",()=>{c&&c.destroy()}),b(e)}),e.once("error",a=>{e.removeAllListeners(),d(a)})}),c&&(this.socket.id=c.id)}async bind(a,b,c){if(c&&!Array.isArray(c)&&(c=[c]),"string"==typeof a&&az.includes(a))return void await this.bindSASL(a,b,c);let d=new aA({messageId:this._nextMessageId(),dn:"string"==typeof a?a:a.toString(),password:b,controls:c});await this._sendBind(d)}async bindSASL(a,b,c){c&&!Array.isArray(c)&&(c=[c]);let d=new aA({messageId:this._nextMessageId(),mechanism:a,password:b,controls:c});await this._sendBind(d)}async add(a,b,c){let d;if(this.isConnected||await this._connect(),c&&!Array.isArray(c)&&(c=[c]),Array.isArray(b))d=b;else for(let[a,c]of(d=[],Object.entries(b))){let b;b=Array.isArray(c)?c:null==c?[]:[c],d.push(new av({type:a,values:b}))}let e=new aw({messageId:this._nextMessageId(),dn:"string"==typeof a?a:a.toString(),attributes:d,controls:c}),f=await this._send(e);if(f?.status!==0)throw aV.parse(f)}async compare(a,b,c,d){this.isConnected||await this._connect(),d&&!Array.isArray(d)&&(d=[d]);let e=new aC({messageId:this._nextMessageId(),dn:"string"==typeof a?a:a.toString(),attribute:b,value:c,controls:d}),f=await this._send(e);switch(f?.status){case aD.compareTrue:return!0;case aD.compareFalse:return!1;default:throw aV.parse(f)}}async del(a,b){this.isConnected||await this._connect(),b&&!Array.isArray(b)&&(b=[b]);let c=new aF({messageId:this._nextMessageId(),dn:"string"==typeof a?a:a.toString(),controls:b}),d=await this._send(c);if(d?.status!==0)throw aV.parse(d)}async exop(a,b,c){this.isConnected||await this._connect(),c&&!Array.isArray(c)&&(c=[c]);let d=new aH({messageId:this._nextMessageId(),oid:a,value:b,controls:c}),e=await this._send(d);if(e?.status!==0)throw aV.parse(e);return{oid:e.oid,value:e.value}}async modify(a,b,c){this.isConnected||await this._connect(),Array.isArray(b)||(b=[b]),c&&!Array.isArray(c)&&(c=[c]);let d=new aM({messageId:this._nextMessageId(),dn:"string"==typeof a?a:a.toString(),changes:b,controls:c}),e=await this._send(d);if(e?.status!==0)throw aV.parse(e)}async modifyDN(a,b,c){let d;if(this.isConnected||await this._connect(),c&&!Array.isArray(c)&&(c=[c]),"string"==typeof b&&/[^\\],/.test(b)){let a=b.search(/[^\\],/);d=b.slice(a+2),b=b.slice(0,a+1)}let e=new aJ({messageId:this._nextMessageId(),dn:"string"==typeof a?a:a.toString(),deleteOldRdn:!0,newRdn:"string"==typeof b?b:b.toString(),newSuperior:d,controls:c}),f=await this._send(e);if(f?.status!==0)throw aV.parse(f)}async search(a,b={},c){let d,e;if(this.isConnected||await this._connect(),c){for(let a of c=Array.isArray(c)?c.slice(0):[c])if(a instanceof p)throw Error("Should not specify PagedResultsControl")}else c=[];let f=100;"object"==typeof b.paged&&b.paged.pageSize?f=b.paged.pageSize:b.sizeLimit&&b.sizeLimit>1&&(f=b.sizeLimit-1);let g=!!b.paged;g&&(d=new p({value:{size:f}}),c.push(d)),e=b.filter?"string"==typeof b.filter?aQ.parseString(b.filter):b.filter:new ap({attribute:"objectclass"});let h=new aR({messageId:-1,baseDN:"string"==typeof a?a:a.toString(),scope:b.scope,filter:e,attributes:b.attributes,explicitBufferAttributes:b.explicitBufferAttributes,returnAttributeValues:b.returnAttributeValues,sizeLimit:b.sizeLimit,timeLimit:b.timeLimit,controls:c}),i={searchEntries:[],searchReferences:[]};return await this._sendSearch(h,i,g,f,d),i}async *searchPaginated(a,b={},c){let d,e;if(this.isConnected||await this._connect(),c){for(let a of c=Array.isArray(c)?c.slice(0):[c])if(a instanceof p)throw Error("Should not specify PagedResultsControl")}else c=[];let f=100;"object"==typeof b.paged&&b.paged.pageSize?f=b.paged.pageSize:b.sizeLimit&&b.sizeLimit>1&&(f=b.sizeLimit-1),d=new p({value:{size:f}}),c.push(d),e=b.filter?"string"==typeof b.filter?aQ.parseString(b.filter):b.filter:new ap({attribute:"objectclass"});let g=new aR({messageId:-1,baseDN:"string"==typeof a?a:a.toString(),scope:b.scope,filter:e,attributes:b.attributes,explicitBufferAttributes:b.explicitBufferAttributes,returnAttributeValues:b.returnAttributeValues,sizeLimit:b.sizeLimit,timeLimit:b.timeLimit,controls:c});do{let a={searchEntries:[],searchReferences:[]};d=await this._sendSearch(g,a,!0,f,d,!1),yield a}while(d)}async unbind(){try{if(!this.connected||!this.socket)return;let a=new aT({messageId:this._nextMessageId()});await this._send(a)}finally{this._destroySocket(this.socket)}}[Symbol.asyncDispose](){return this.unbind()}async _sendBind(a){this.isConnected||await this._connect();let b=await this._send(a);if(b?.status!==0)throw aV.parse(b)}async _sendSearch(a,b,c,d,e,f=!0){a.messageId=this._nextMessageId();let g=await this._send(a);if(g?.status!==0&&!(g?.status===4&&a.sizeLimit))throw aV.parse(g);for(let c of g.searchEntries)b.searchEntries.push(c.toObject(a.attributes,a.explicitBufferAttributes));for(let a of g.searchReferences)b.searchReferences.push(...a.uris);if(c&&(g.searchEntries.length||g.searchReferences.length)&&e){let h;for(let a of g.controls??[])if(a instanceof p){h=a;break}if(h?.value?.cookie?.length){if(e.value=e.value??{size:d},e.value.cookie=h.value.cookie,!f)return e;await this._sendSearch(a,b,c,d,e,!0)}}}socketDataHandler=a=>{this.messageParser&&this.messageParser.read(a,this.messageDetailsByMessageId)};_nextMessageId(){return this.messageId+=1,this.messageId>=aW&&(this.messageId=1),this.messageId}_connect(){if(!this.isConnected)return new Promise((a,b)=>{this.secure?(this.socket=i.connect(this.port,this.host,this.clientOptions.tlsOptions),this.socket.id=g.randomUUID(),this.socket.once("secureConnect",()=>{this._onConnect(a)})):(this.socket=h.connect(this.port,this.host),this.socket.id=g.randomUUID(),this.socket.once("connect",()=>{this._onConnect(a)})),this.socket.once("error",a=>{this._destroySocket(this.socket),b(a)}),this.clientOptions.connectTimeout&&(this.connectTimer=setTimeout(()=>{this._destroySocket(this.socket),b(Error("Connection timeout"))},this.clientOptions.connectTimeout))})}_onConnect(a){this.connectTimer&&(clearTimeout(this.connectTimer),this.connectTimer=void 0),this.socket&&(this.socket.removeAllListeners("error"),this.socket.removeAllListeners("connect"),this.socket.removeAllListeners("secureConnect")),this.connected=!0;let b=a=>{for(let[b,c]of this.messageDetailsByMessageId.entries())c.message instanceof aT?c.resolve():c.reject(Error(`Socket error. Message type: ${c.message.constructor.name} (0x${c.message.protocolOperation.toString(16)})
|
|
2
|
+
${a.message||(a.stack??"Unknown socket error")}`)),this.messageDetailsByMessageId.delete(b);this.socket&&this.socket.destroy()};function c(){this&&this.end()}function d(){this&&this.end()}let e=this;this.socket&&(this.socket.on("error",b),this.socket.on("close",function a(){for(let[f,g]of(this&&(this.removeListener("error",b),this.removeListener("close",a),this.removeListener("data",e.socketDataHandler),this.removeListener("end",c),this.removeListener("timeout",d)),this===e.socket&&(e.connected=!1,delete e.socket,e.connectTimer&&(clearTimeout(e.connectTimer),e.connectTimer=void 0)),e.messageDetailsByMessageId.entries()))g.socket.id===this.id&&(g.message instanceof aT?g.resolve():g.reject(Error(`Connection closed before message response was received. Message type: ${g.message.constructor.name} (0x${g.message.protocolOperation.toString(16)})`)),e.messageDetailsByMessageId.delete(f))}),this.socket.on("data",this.socketDataHandler),this.socket.on("end",c),this.socket.on("timeout",d)),a()}_destroySocket(a){a&&(this.connectTimer&&(clearTimeout(this.connectTimer),this.connectTimer=void 0),a.removeAllListeners("error"),a.on("error",()=>{}),a.end(),a.destroy(),a===this.socket&&(this.connected=!1,this.socket=void 0))}_send(a){if(!this.connected||!this.socket)throw Error("Socket connection not established");let b=a.write(),c=this.clientOptions.timeout?setTimeout(()=>{let b=this.messageDetailsByMessageId.get(a.messageId.toString());b&&(this._destroySocket(b.socket),e(Error(`${a.constructor.name}: Operation timed out`)))},this.clientOptions.timeout):null,d=()=>{},e=()=>{},f=new Promise((a,b)=>{d=a,e=b}).finally(()=>{c&&clearTimeout(c)});return this.messageDetailsByMessageId.set(a.messageId.toString(),{message:a,resolve:d,reject:e,timeoutTimer:c,socket:this.socket}),a.password?aX(`Sending message: ${JSON.stringify({...a,password:"__redacted__"})}`):aX(`Sending message: ${JSON.stringify(a)}`),this.socket.write(b,()=>{a instanceof at?(aX(`Abandoned message: ${a.messageId}`),this.messageDetailsByMessageId.delete(a.messageId.toString()),d()):a instanceof aT?(aX("Unbind success. Ending socket"),this.socket&&this._destroySocket(this.socket)):aX("Message sent successfully.")}),f}_handleSendResponse(a){let b=this.messageDetailsByMessageId.get(a.messageId.toString());b?a instanceof aO?(b.searchEntries=b.searchEntries??[],b.searchEntries.push(a)):a instanceof aP?(b.searchReferences=b.searchReferences??[],b.searchReferences.push(a)):(a instanceof aS&&(b.searchEntries&&a.searchEntries.push(...b.searchEntries),b.searchReferences&&a.searchReferences.push(...b.searchReferences)),this.messageDetailsByMessageId.delete(a.messageId.toString()),b.resolve(a)):aX(`Unable to find details related to message response: ${JSON.stringify(a)}`)}}}};
|