@richhardry/codor 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +293 -0
- package/bin/codor.mjs +7 -0
- package/node_modules/@codor/adapter-antigravity/dist/adapter.d.ts +41 -0
- package/node_modules/@codor/adapter-antigravity/dist/adapter.d.ts.map +1 -0
- package/node_modules/@codor/adapter-antigravity/dist/adapter.js +275 -0
- package/node_modules/@codor/adapter-antigravity/dist/adapter.js.map +1 -0
- package/node_modules/@codor/adapter-antigravity/dist/index.d.ts +2 -0
- package/node_modules/@codor/adapter-antigravity/dist/index.d.ts.map +1 -0
- package/node_modules/@codor/adapter-antigravity/dist/index.js +2 -0
- package/node_modules/@codor/adapter-antigravity/dist/index.js.map +1 -0
- package/node_modules/@codor/adapter-antigravity/package.json +18 -0
- package/node_modules/@codor/adapter-claude-code/dist/adapter.d.ts +94 -0
- package/node_modules/@codor/adapter-claude-code/dist/adapter.d.ts.map +1 -0
- package/node_modules/@codor/adapter-claude-code/dist/adapter.js +785 -0
- package/node_modules/@codor/adapter-claude-code/dist/adapter.js.map +1 -0
- package/node_modules/@codor/adapter-claude-code/dist/index.d.ts +8 -0
- package/node_modules/@codor/adapter-claude-code/dist/index.d.ts.map +1 -0
- package/node_modules/@codor/adapter-claude-code/dist/index.js +5 -0
- package/node_modules/@codor/adapter-claude-code/dist/index.js.map +1 -0
- package/node_modules/@codor/adapter-claude-code/dist/limits-probe.d.ts +18 -0
- package/node_modules/@codor/adapter-claude-code/dist/limits-probe.d.ts.map +1 -0
- package/node_modules/@codor/adapter-claude-code/dist/limits-probe.js +67 -0
- package/node_modules/@codor/adapter-claude-code/dist/limits-probe.js.map +1 -0
- package/node_modules/@codor/adapter-claude-code/dist/peek.d.ts +3 -0
- package/node_modules/@codor/adapter-claude-code/dist/peek.d.ts.map +1 -0
- package/node_modules/@codor/adapter-claude-code/dist/peek.js +128 -0
- package/node_modules/@codor/adapter-claude-code/dist/peek.js.map +1 -0
- package/node_modules/@codor/adapter-claude-code/dist/query.d.ts +9 -0
- package/node_modules/@codor/adapter-claude-code/dist/query.d.ts.map +1 -0
- package/node_modules/@codor/adapter-claude-code/dist/query.js +7 -0
- package/node_modules/@codor/adapter-claude-code/dist/query.js.map +1 -0
- package/node_modules/@codor/adapter-claude-code/dist/translate.d.ts +40 -0
- package/node_modules/@codor/adapter-claude-code/dist/translate.d.ts.map +1 -0
- package/node_modules/@codor/adapter-claude-code/dist/translate.js +505 -0
- package/node_modules/@codor/adapter-claude-code/dist/translate.js.map +1 -0
- package/node_modules/@codor/adapter-claude-code/package.json +18 -0
- package/node_modules/@codor/adapter-codex/dist/adapter.d.ts +105 -0
- package/node_modules/@codor/adapter-codex/dist/adapter.d.ts.map +1 -0
- package/node_modules/@codor/adapter-codex/dist/adapter.js +625 -0
- package/node_modules/@codor/adapter-codex/dist/adapter.js.map +1 -0
- package/node_modules/@codor/adapter-codex/dist/app-server-transport.d.ts +39 -0
- package/node_modules/@codor/adapter-codex/dist/app-server-transport.d.ts.map +1 -0
- package/node_modules/@codor/adapter-codex/dist/app-server-transport.js +186 -0
- package/node_modules/@codor/adapter-codex/dist/app-server-transport.js.map +1 -0
- package/node_modules/@codor/adapter-codex/dist/index.d.ts +8 -0
- package/node_modules/@codor/adapter-codex/dist/index.d.ts.map +1 -0
- package/node_modules/@codor/adapter-codex/dist/index.js +5 -0
- package/node_modules/@codor/adapter-codex/dist/index.js.map +1 -0
- package/node_modules/@codor/adapter-codex/dist/limits-probe.d.ts +18 -0
- package/node_modules/@codor/adapter-codex/dist/limits-probe.d.ts.map +1 -0
- package/node_modules/@codor/adapter-codex/dist/limits-probe.js +87 -0
- package/node_modules/@codor/adapter-codex/dist/limits-probe.js.map +1 -0
- package/node_modules/@codor/adapter-codex/dist/peek.d.ts +3 -0
- package/node_modules/@codor/adapter-codex/dist/peek.d.ts.map +1 -0
- package/node_modules/@codor/adapter-codex/dist/peek.js +98 -0
- package/node_modules/@codor/adapter-codex/dist/peek.js.map +1 -0
- package/node_modules/@codor/adapter-codex/dist/translate.d.ts +17 -0
- package/node_modules/@codor/adapter-codex/dist/translate.d.ts.map +1 -0
- package/node_modules/@codor/adapter-codex/dist/translate.js +286 -0
- package/node_modules/@codor/adapter-codex/dist/translate.js.map +1 -0
- package/node_modules/@codor/adapter-codex/package.json +17 -0
- package/node_modules/@codor/adapter-copilot/dist/adapter.d.ts +40 -0
- package/node_modules/@codor/adapter-copilot/dist/adapter.d.ts.map +1 -0
- package/node_modules/@codor/adapter-copilot/dist/adapter.js +190 -0
- package/node_modules/@codor/adapter-copilot/dist/adapter.js.map +1 -0
- package/node_modules/@codor/adapter-copilot/dist/index.d.ts +4 -0
- package/node_modules/@codor/adapter-copilot/dist/index.d.ts.map +1 -0
- package/node_modules/@codor/adapter-copilot/dist/index.js +3 -0
- package/node_modules/@codor/adapter-copilot/dist/index.js.map +1 -0
- package/node_modules/@codor/adapter-copilot/dist/translate.d.ts +11 -0
- package/node_modules/@codor/adapter-copilot/dist/translate.d.ts.map +1 -0
- package/node_modules/@codor/adapter-copilot/dist/translate.js +184 -0
- package/node_modules/@codor/adapter-copilot/dist/translate.js.map +1 -0
- package/node_modules/@codor/adapter-copilot/package.json +18 -0
- package/node_modules/@codor/adapter-cursor/dist/adapter.d.ts +32 -0
- package/node_modules/@codor/adapter-cursor/dist/adapter.d.ts.map +1 -0
- package/node_modules/@codor/adapter-cursor/dist/adapter.js +179 -0
- package/node_modules/@codor/adapter-cursor/dist/adapter.js.map +1 -0
- package/node_modules/@codor/adapter-cursor/dist/index.d.ts +9 -0
- package/node_modules/@codor/adapter-cursor/dist/index.d.ts.map +1 -0
- package/node_modules/@codor/adapter-cursor/dist/index.js +8 -0
- package/node_modules/@codor/adapter-cursor/dist/index.js.map +1 -0
- package/node_modules/@codor/adapter-cursor/dist/translate.d.ts +15 -0
- package/node_modules/@codor/adapter-cursor/dist/translate.d.ts.map +1 -0
- package/node_modules/@codor/adapter-cursor/dist/translate.js +164 -0
- package/node_modules/@codor/adapter-cursor/dist/translate.js.map +1 -0
- package/node_modules/@codor/adapter-cursor/package.json +17 -0
- package/node_modules/@codor/adapter-gemini/dist/adapter.d.ts +36 -0
- package/node_modules/@codor/adapter-gemini/dist/adapter.d.ts.map +1 -0
- package/node_modules/@codor/adapter-gemini/dist/adapter.js +245 -0
- package/node_modules/@codor/adapter-gemini/dist/adapter.js.map +1 -0
- package/node_modules/@codor/adapter-gemini/dist/index.d.ts +4 -0
- package/node_modules/@codor/adapter-gemini/dist/index.d.ts.map +1 -0
- package/node_modules/@codor/adapter-gemini/dist/index.js +3 -0
- package/node_modules/@codor/adapter-gemini/dist/index.js.map +1 -0
- package/node_modules/@codor/adapter-gemini/dist/translate.d.ts +12 -0
- package/node_modules/@codor/adapter-gemini/dist/translate.d.ts.map +1 -0
- package/node_modules/@codor/adapter-gemini/dist/translate.js +123 -0
- package/node_modules/@codor/adapter-gemini/dist/translate.js.map +1 -0
- package/node_modules/@codor/adapter-gemini/package.json +18 -0
- package/node_modules/@codor/adapter-opencode/dist/adapter.d.ts +42 -0
- package/node_modules/@codor/adapter-opencode/dist/adapter.d.ts.map +1 -0
- package/node_modules/@codor/adapter-opencode/dist/adapter.js +240 -0
- package/node_modules/@codor/adapter-opencode/dist/adapter.js.map +1 -0
- package/node_modules/@codor/adapter-opencode/dist/index.d.ts +4 -0
- package/node_modules/@codor/adapter-opencode/dist/index.d.ts.map +1 -0
- package/node_modules/@codor/adapter-opencode/dist/index.js +3 -0
- package/node_modules/@codor/adapter-opencode/dist/index.js.map +1 -0
- package/node_modules/@codor/adapter-opencode/dist/translate.d.ts +12 -0
- package/node_modules/@codor/adapter-opencode/dist/translate.d.ts.map +1 -0
- package/node_modules/@codor/adapter-opencode/dist/translate.js +144 -0
- package/node_modules/@codor/adapter-opencode/dist/translate.js.map +1 -0
- package/node_modules/@codor/adapter-opencode/package.json +18 -0
- package/node_modules/@codor/cli/dist/artifact.d.ts +33 -0
- package/node_modules/@codor/cli/dist/artifact.d.ts.map +1 -0
- package/node_modules/@codor/cli/dist/artifact.js +183 -0
- package/node_modules/@codor/cli/dist/artifact.js.map +1 -0
- package/node_modules/@codor/cli/dist/attach.d.ts +25 -0
- package/node_modules/@codor/cli/dist/attach.d.ts.map +1 -0
- package/node_modules/@codor/cli/dist/attach.js +133 -0
- package/node_modules/@codor/cli/dist/attach.js.map +1 -0
- package/node_modules/@codor/cli/dist/connection.d.ts +21 -0
- package/node_modules/@codor/cli/dist/connection.d.ts.map +1 -0
- package/node_modules/@codor/cli/dist/connection.js +130 -0
- package/node_modules/@codor/cli/dist/connection.js.map +1 -0
- package/node_modules/@codor/cli/dist/detect.d.ts +14 -0
- package/node_modules/@codor/cli/dist/detect.d.ts.map +1 -0
- package/node_modules/@codor/cli/dist/detect.js +99 -0
- package/node_modules/@codor/cli/dist/detect.js.map +1 -0
- package/node_modules/@codor/cli/dist/index.d.ts +17 -0
- package/node_modules/@codor/cli/dist/index.d.ts.map +1 -0
- package/node_modules/@codor/cli/dist/index.js +24 -0
- package/node_modules/@codor/cli/dist/index.js.map +1 -0
- package/node_modules/@codor/cli/dist/mirror.d.ts +4 -0
- package/node_modules/@codor/cli/dist/mirror.d.ts.map +1 -0
- package/node_modules/@codor/cli/dist/mirror.js +93 -0
- package/node_modules/@codor/cli/dist/mirror.js.map +1 -0
- package/node_modules/@codor/cli/dist/program.d.ts +17 -0
- package/node_modules/@codor/cli/dist/program.d.ts.map +1 -0
- package/node_modules/@codor/cli/dist/program.js +1068 -0
- package/node_modules/@codor/cli/dist/program.js.map +1 -0
- package/node_modules/@codor/cli/dist/runtime-install.d.ts +61 -0
- package/node_modules/@codor/cli/dist/runtime-install.d.ts.map +1 -0
- package/node_modules/@codor/cli/dist/runtime-install.js +122 -0
- package/node_modules/@codor/cli/dist/runtime-install.js.map +1 -0
- package/node_modules/@codor/cli/dist/runtime-paths.d.ts +24 -0
- package/node_modules/@codor/cli/dist/runtime-paths.d.ts.map +1 -0
- package/node_modules/@codor/cli/dist/runtime-paths.js +69 -0
- package/node_modules/@codor/cli/dist/runtime-paths.js.map +1 -0
- package/node_modules/@codor/cli/dist/setup-flow.d.ts +69 -0
- package/node_modules/@codor/cli/dist/setup-flow.d.ts.map +1 -0
- package/node_modules/@codor/cli/dist/setup-flow.js +110 -0
- package/node_modules/@codor/cli/dist/setup-flow.js.map +1 -0
- package/node_modules/@codor/cli/dist/setup-session.d.ts +105 -0
- package/node_modules/@codor/cli/dist/setup-session.d.ts.map +1 -0
- package/node_modules/@codor/cli/dist/setup-session.js +346 -0
- package/node_modules/@codor/cli/dist/setup-session.js.map +1 -0
- package/node_modules/@codor/cli/dist/setup-ui.d.ts +93 -0
- package/node_modules/@codor/cli/dist/setup-ui.d.ts.map +1 -0
- package/node_modules/@codor/cli/dist/setup-ui.js +249 -0
- package/node_modules/@codor/cli/dist/setup-ui.js.map +1 -0
- package/node_modules/@codor/cli/dist/setup.d.ts +108 -0
- package/node_modules/@codor/cli/dist/setup.d.ts.map +1 -0
- package/node_modules/@codor/cli/dist/setup.js +878 -0
- package/node_modules/@codor/cli/dist/setup.js.map +1 -0
- package/node_modules/@codor/cli/dist/terminal-keys.d.ts +26 -0
- package/node_modules/@codor/cli/dist/terminal-keys.d.ts.map +1 -0
- package/node_modules/@codor/cli/dist/terminal-keys.js +70 -0
- package/node_modules/@codor/cli/dist/terminal-keys.js.map +1 -0
- package/node_modules/@codor/cli/dist/terminal-qr.d.ts +2 -0
- package/node_modules/@codor/cli/dist/terminal-qr.d.ts.map +1 -0
- package/node_modules/@codor/cli/dist/terminal-qr.js +30 -0
- package/node_modules/@codor/cli/dist/terminal-qr.js.map +1 -0
- package/node_modules/@codor/cli/dist/up.d.ts +52 -0
- package/node_modules/@codor/cli/dist/up.d.ts.map +1 -0
- package/node_modules/@codor/cli/dist/up.js +178 -0
- package/node_modules/@codor/cli/dist/up.js.map +1 -0
- package/node_modules/@codor/cli/package.json +24 -0
- package/node_modules/@codor/cli/packaging/systemd/codor.service +21 -0
- package/node_modules/@codor/cli/runtime/web/assets/LandingPage-BOmG5kSw.js +31 -0
- package/node_modules/@codor/cli/runtime/web/assets/LedgerPage-CecuTS8-.js +1 -0
- package/node_modules/@codor/cli/runtime/web/assets/NoChannels-CYiBXGQd.js +11 -0
- package/node_modules/@codor/cli/runtime/web/assets/PairingCodeInput-Cr6XDWx-.js +1 -0
- package/node_modules/@codor/cli/runtime/web/assets/PairingPage-CQBWNA2L.js +6 -0
- package/node_modules/@codor/cli/runtime/web/assets/SettingsPage-DGLbSXE7.js +16 -0
- package/node_modules/@codor/cli/runtime/web/assets/StartupUnavailable-DdQBHip_.js +1 -0
- package/node_modules/@codor/cli/runtime/web/assets/arrow-left-BOpjMuRi.js +6 -0
- package/node_modules/@codor/cli/runtime/web/assets/browser-BWQYNOsD.js +6 -0
- package/node_modules/@codor/cli/runtime/web/assets/graph-toBZHlC0.js +1 -0
- package/node_modules/@codor/cli/runtime/web/assets/index-Cxi54Xim.js +408 -0
- package/node_modules/@codor/cli/runtime/web/assets/index-DjwJakJC.css +1 -0
- package/node_modules/@codor/cli/runtime/web/assets/qr-DpynCwP9.js +8 -0
- package/node_modules/@codor/cli/runtime/web/assets/react-C8w-UNLI.js +32 -0
- package/node_modules/@codor/cli/runtime/web/assets/sodium-DtsvMzX9.js +1 -0
- package/node_modules/@codor/cli/runtime/web/codor-192.png +0 -0
- package/node_modules/@codor/cli/runtime/web/codor-512.png +0 -0
- package/node_modules/@codor/cli/runtime/web/codor-apple-touch-180.png +0 -0
- package/node_modules/@codor/cli/runtime/web/codor-favicon.svg +86 -0
- package/node_modules/@codor/cli/runtime/web/codor-mark.svg +86 -0
- package/node_modules/@codor/cli/runtime/web/codor-maskable-512.png +0 -0
- package/node_modules/@codor/cli/runtime/web/codor-og.png +0 -0
- package/node_modules/@codor/cli/runtime/web/fonts/BitcountPropSingle-latin.woff2 +0 -0
- package/node_modules/@codor/cli/runtime/web/fonts/Geist-Variable.woff2 +0 -0
- package/node_modules/@codor/cli/runtime/web/fonts/GeistMono-Variable.woff2 +0 -0
- package/node_modules/@codor/cli/runtime/web/fonts/OFL.txt +93 -0
- package/node_modules/@codor/cli/runtime/web/index.html +53 -0
- package/node_modules/@codor/cli/runtime/web/manifest.webmanifest +1 -0
- package/node_modules/@codor/cli/runtime/web/sw.js +2 -0
- package/node_modules/@codor/protocol/dist/adapter.d.ts +118 -0
- package/node_modules/@codor/protocol/dist/adapter.d.ts.map +1 -0
- package/node_modules/@codor/protocol/dist/adapter.js +15 -0
- package/node_modules/@codor/protocol/dist/adapter.js.map +1 -0
- package/node_modules/@codor/protocol/dist/body.d.ts +14 -0
- package/node_modules/@codor/protocol/dist/body.d.ts.map +1 -0
- package/node_modules/@codor/protocol/dist/body.js +50 -0
- package/node_modules/@codor/protocol/dist/body.js.map +1 -0
- package/node_modules/@codor/protocol/dist/changelog.d.ts +30 -0
- package/node_modules/@codor/protocol/dist/changelog.d.ts.map +1 -0
- package/node_modules/@codor/protocol/dist/changelog.js +19 -0
- package/node_modules/@codor/protocol/dist/changelog.js.map +1 -0
- package/node_modules/@codor/protocol/dist/default-recipient.d.ts +8 -0
- package/node_modules/@codor/protocol/dist/default-recipient.d.ts.map +1 -0
- package/node_modules/@codor/protocol/dist/default-recipient.js +19 -0
- package/node_modules/@codor/protocol/dist/default-recipient.js.map +1 -0
- package/node_modules/@codor/protocol/dist/delivery.d.ts +42 -0
- package/node_modules/@codor/protocol/dist/delivery.d.ts.map +1 -0
- package/node_modules/@codor/protocol/dist/delivery.js +44 -0
- package/node_modules/@codor/protocol/dist/delivery.js.map +1 -0
- package/node_modules/@codor/protocol/dist/events.d.ts +284 -0
- package/node_modules/@codor/protocol/dist/events.d.ts.map +1 -0
- package/node_modules/@codor/protocol/dist/events.js +150 -0
- package/node_modules/@codor/protocol/dist/events.js.map +1 -0
- package/node_modules/@codor/protocol/dist/ids.d.ts +19 -0
- package/node_modules/@codor/protocol/dist/ids.d.ts.map +1 -0
- package/node_modules/@codor/protocol/dist/ids.js +27 -0
- package/node_modules/@codor/protocol/dist/ids.js.map +1 -0
- package/node_modules/@codor/protocol/dist/index.d.ts +14 -0
- package/node_modules/@codor/protocol/dist/index.d.ts.map +1 -0
- package/node_modules/@codor/protocol/dist/index.js +14 -0
- package/node_modules/@codor/protocol/dist/index.js.map +1 -0
- package/node_modules/@codor/protocol/dist/interaction.d.ts +45 -0
- package/node_modules/@codor/protocol/dist/interaction.d.ts.map +1 -0
- package/node_modules/@codor/protocol/dist/interaction.js +33 -0
- package/node_modules/@codor/protocol/dist/interaction.js.map +1 -0
- package/node_modules/@codor/protocol/dist/member.d.ts +146 -0
- package/node_modules/@codor/protocol/dist/member.d.ts.map +1 -0
- package/node_modules/@codor/protocol/dist/member.js +169 -0
- package/node_modules/@codor/protocol/dist/member.js.map +1 -0
- package/node_modules/@codor/protocol/dist/message.d.ts +166 -0
- package/node_modules/@codor/protocol/dist/message.d.ts.map +1 -0
- package/node_modules/@codor/protocol/dist/message.js +95 -0
- package/node_modules/@codor/protocol/dist/message.js.map +1 -0
- package/node_modules/@codor/protocol/dist/observability.d.ts +80 -0
- package/node_modules/@codor/protocol/dist/observability.d.ts.map +1 -0
- package/node_modules/@codor/protocol/dist/observability.js +41 -0
- package/node_modules/@codor/protocol/dist/observability.js.map +1 -0
- package/node_modules/@codor/protocol/dist/room.d.ts +430 -0
- package/node_modules/@codor/protocol/dist/room.d.ts.map +1 -0
- package/node_modules/@codor/protocol/dist/room.js +142 -0
- package/node_modules/@codor/protocol/dist/room.js.map +1 -0
- package/node_modules/@codor/protocol/dist/ws.d.ts +1348 -0
- package/node_modules/@codor/protocol/dist/ws.d.ts.map +1 -0
- package/node_modules/@codor/protocol/dist/ws.js +282 -0
- package/node_modules/@codor/protocol/dist/ws.js.map +1 -0
- package/node_modules/@codor/protocol/package.json +17 -0
- package/node_modules/@codor/switchboard/dist/adapter-registry.d.ts +14 -0
- package/node_modules/@codor/switchboard/dist/adapter-registry.d.ts.map +1 -0
- package/node_modules/@codor/switchboard/dist/adapter-registry.js +175 -0
- package/node_modules/@codor/switchboard/dist/adapter-registry.js.map +1 -0
- package/node_modules/@codor/switchboard/dist/authorization.d.ts +13 -0
- package/node_modules/@codor/switchboard/dist/authorization.d.ts.map +1 -0
- package/node_modules/@codor/switchboard/dist/authorization.js +96 -0
- package/node_modules/@codor/switchboard/dist/authorization.js.map +1 -0
- package/node_modules/@codor/switchboard/dist/blobs.d.ts +17 -0
- package/node_modules/@codor/switchboard/dist/blobs.d.ts.map +1 -0
- package/node_modules/@codor/switchboard/dist/blobs.js +54 -0
- package/node_modules/@codor/switchboard/dist/blobs.js.map +1 -0
- package/node_modules/@codor/switchboard/dist/collaboration.d.ts +115 -0
- package/node_modules/@codor/switchboard/dist/collaboration.d.ts.map +1 -0
- package/node_modules/@codor/switchboard/dist/collaboration.js +123 -0
- package/node_modules/@codor/switchboard/dist/collaboration.js.map +1 -0
- package/node_modules/@codor/switchboard/dist/continuation.d.ts +33 -0
- package/node_modules/@codor/switchboard/dist/continuation.d.ts.map +1 -0
- package/node_modules/@codor/switchboard/dist/continuation.js +177 -0
- package/node_modules/@codor/switchboard/dist/continuation.js.map +1 -0
- package/node_modules/@codor/switchboard/dist/crypto/browser-sessions.d.ts +22 -0
- package/node_modules/@codor/switchboard/dist/crypto/browser-sessions.d.ts.map +1 -0
- package/node_modules/@codor/switchboard/dist/crypto/browser-sessions.js +92 -0
- package/node_modules/@codor/switchboard/dist/crypto/browser-sessions.js.map +1 -0
- package/node_modules/@codor/switchboard/dist/crypto/challenge.d.ts +37 -0
- package/node_modules/@codor/switchboard/dist/crypto/challenge.d.ts.map +1 -0
- package/node_modules/@codor/switchboard/dist/crypto/challenge.js +132 -0
- package/node_modules/@codor/switchboard/dist/crypto/challenge.js.map +1 -0
- package/node_modules/@codor/switchboard/dist/crypto/keys.d.ts +41 -0
- package/node_modules/@codor/switchboard/dist/crypto/keys.d.ts.map +1 -0
- package/node_modules/@codor/switchboard/dist/crypto/keys.js +145 -0
- package/node_modules/@codor/switchboard/dist/crypto/keys.js.map +1 -0
- package/node_modules/@codor/switchboard/dist/crypto/pairing.d.ts +53 -0
- package/node_modules/@codor/switchboard/dist/crypto/pairing.d.ts.map +1 -0
- package/node_modules/@codor/switchboard/dist/crypto/pairing.js +182 -0
- package/node_modules/@codor/switchboard/dist/crypto/pairing.js.map +1 -0
- package/node_modules/@codor/switchboard/dist/crypto/roomkeys.d.ts +30 -0
- package/node_modules/@codor/switchboard/dist/crypto/roomkeys.d.ts.map +1 -0
- package/node_modules/@codor/switchboard/dist/crypto/roomkeys.js +101 -0
- package/node_modules/@codor/switchboard/dist/crypto/roomkeys.js.map +1 -0
- package/node_modules/@codor/switchboard/dist/daemon.d.ts +545 -0
- package/node_modules/@codor/switchboard/dist/daemon.d.ts.map +1 -0
- package/node_modules/@codor/switchboard/dist/daemon.js +3907 -0
- package/node_modules/@codor/switchboard/dist/daemon.js.map +1 -0
- package/node_modules/@codor/switchboard/dist/fake-adapter.d.ts +103 -0
- package/node_modules/@codor/switchboard/dist/fake-adapter.d.ts.map +1 -0
- package/node_modules/@codor/switchboard/dist/fake-adapter.js +228 -0
- package/node_modules/@codor/switchboard/dist/fake-adapter.js.map +1 -0
- package/node_modules/@codor/switchboard/dist/index.d.ts +44 -0
- package/node_modules/@codor/switchboard/dist/index.d.ts.map +1 -0
- package/node_modules/@codor/switchboard/dist/index.js +24 -0
- package/node_modules/@codor/switchboard/dist/index.js.map +1 -0
- package/node_modules/@codor/switchboard/dist/ledger/resolve.d.ts +12 -0
- package/node_modules/@codor/switchboard/dist/ledger/resolve.d.ts.map +1 -0
- package/node_modules/@codor/switchboard/dist/ledger/resolve.js +17 -0
- package/node_modules/@codor/switchboard/dist/ledger/resolve.js.map +1 -0
- package/node_modules/@codor/switchboard/dist/ledger/vault.d.ts +47 -0
- package/node_modules/@codor/switchboard/dist/ledger/vault.d.ts.map +1 -0
- package/node_modules/@codor/switchboard/dist/ledger/vault.js +175 -0
- package/node_modules/@codor/switchboard/dist/ledger/vault.js.map +1 -0
- package/node_modules/@codor/switchboard/dist/ledger/watch.d.ts +73 -0
- package/node_modules/@codor/switchboard/dist/ledger/watch.d.ts.map +1 -0
- package/node_modules/@codor/switchboard/dist/ledger/watch.js +232 -0
- package/node_modules/@codor/switchboard/dist/ledger/watch.js.map +1 -0
- package/node_modules/@codor/switchboard/dist/local-dirs.d.ts +14 -0
- package/node_modules/@codor/switchboard/dist/local-dirs.d.ts.map +1 -0
- package/node_modules/@codor/switchboard/dist/local-dirs.js +40 -0
- package/node_modules/@codor/switchboard/dist/local-dirs.js.map +1 -0
- package/node_modules/@codor/switchboard/dist/local-socket.d.ts +3 -0
- package/node_modules/@codor/switchboard/dist/local-socket.d.ts.map +1 -0
- package/node_modules/@codor/switchboard/dist/local-socket.js +16 -0
- package/node_modules/@codor/switchboard/dist/local-socket.js.map +1 -0
- package/node_modules/@codor/switchboard/dist/pricing.d.ts +32 -0
- package/node_modules/@codor/switchboard/dist/pricing.d.ts.map +1 -0
- package/node_modules/@codor/switchboard/dist/pricing.js +64 -0
- package/node_modules/@codor/switchboard/dist/pricing.js.map +1 -0
- package/node_modules/@codor/switchboard/dist/process-liveness.d.ts +2 -0
- package/node_modules/@codor/switchboard/dist/process-liveness.d.ts.map +1 -0
- package/node_modules/@codor/switchboard/dist/process-liveness.js +9 -0
- package/node_modules/@codor/switchboard/dist/process-liveness.js.map +1 -0
- package/node_modules/@codor/switchboard/dist/push/producer.d.ts +54 -0
- package/node_modules/@codor/switchboard/dist/push/producer.d.ts.map +1 -0
- package/node_modules/@codor/switchboard/dist/push/producer.js +168 -0
- package/node_modules/@codor/switchboard/dist/push/producer.js.map +1 -0
- package/node_modules/@codor/switchboard/dist/push/subscriptions.d.ts +29 -0
- package/node_modules/@codor/switchboard/dist/push/subscriptions.d.ts.map +1 -0
- package/node_modules/@codor/switchboard/dist/push/subscriptions.js +83 -0
- package/node_modules/@codor/switchboard/dist/push/subscriptions.js.map +1 -0
- package/node_modules/@codor/switchboard/dist/redact.d.ts +11 -0
- package/node_modules/@codor/switchboard/dist/redact.d.ts.map +1 -0
- package/node_modules/@codor/switchboard/dist/redact.js +65 -0
- package/node_modules/@codor/switchboard/dist/redact.js.map +1 -0
- package/node_modules/@codor/switchboard/dist/residency.d.ts +110 -0
- package/node_modules/@codor/switchboard/dist/residency.d.ts.map +1 -0
- package/node_modules/@codor/switchboard/dist/residency.js +587 -0
- package/node_modules/@codor/switchboard/dist/residency.js.map +1 -0
- package/node_modules/@codor/switchboard/dist/router.d.ts +120 -0
- package/node_modules/@codor/switchboard/dist/router.d.ts.map +1 -0
- package/node_modules/@codor/switchboard/dist/router.js +198 -0
- package/node_modules/@codor/switchboard/dist/router.js.map +1 -0
- package/node_modules/@codor/switchboard/dist/server.d.ts +50 -0
- package/node_modules/@codor/switchboard/dist/server.d.ts.map +1 -0
- package/node_modules/@codor/switchboard/dist/server.js +1425 -0
- package/node_modules/@codor/switchboard/dist/server.js.map +1 -0
- package/node_modules/@codor/switchboard/dist/store.d.ts +534 -0
- package/node_modules/@codor/switchboard/dist/store.d.ts.map +1 -0
- package/node_modules/@codor/switchboard/dist/store.js +2625 -0
- package/node_modules/@codor/switchboard/dist/store.js.map +1 -0
- package/node_modules/@codor/switchboard/dist/transport/hyperswarm.d.ts +59 -0
- package/node_modules/@codor/switchboard/dist/transport/hyperswarm.d.ts.map +1 -0
- package/node_modules/@codor/switchboard/dist/transport/hyperswarm.js +183 -0
- package/node_modules/@codor/switchboard/dist/transport/hyperswarm.js.map +1 -0
- package/node_modules/@codor/switchboard/dist/transport/peer.d.ts +87 -0
- package/node_modules/@codor/switchboard/dist/transport/peer.d.ts.map +1 -0
- package/node_modules/@codor/switchboard/dist/transport/peer.js +316 -0
- package/node_modules/@codor/switchboard/dist/transport/peer.js.map +1 -0
- package/node_modules/@codor/switchboard/dist/working-directory.d.ts +2 -0
- package/node_modules/@codor/switchboard/dist/working-directory.d.ts.map +1 -0
- package/node_modules/@codor/switchboard/dist/working-directory.js +26 -0
- package/node_modules/@codor/switchboard/dist/working-directory.js.map +1 -0
- package/node_modules/@codor/switchboard/package.json +33 -0
- package/package.json +58 -0
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import{c as k,a as s,v as y,j as e,w as l,B as p,x as v,y as w,C as P}from"./index-Cxi54Xim.js";import{Q as N,S as b}from"./browser-BWQYNOsD.js";import{P as C}from"./PairingCodeInput-Cr6XDWx-.js";import"./react-C8w-UNLI.js";import"./sodium-DtsvMzX9.js";import"./qr-DpynCwP9.js";/**
|
|
2
|
+
* @license lucide-react v1.24.0 - ISC
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the ISC license.
|
|
5
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/const S=[["path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z",key:"1s6t7t"}],["circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor",key:"w0ekpg"}]],R=k("key-round",S);function T(o){const t=s.useMemo(()=>new URL(window.location.href),[]),d=t.searchParams.has("pairing_token"),[h,x]=s.useState(),[a,r]=s.useState(o.autoPair===!0&&!d?"checking":"ready"),[u,c]=s.useState(),[g,m]=s.useState(""),f=t.searchParams.get("code")??"";s.useEffect(()=>{d&&N.toDataURL(t.toString(),{margin:4,scale:4}).then(x)},[t,d]),s.useEffect(()=>{if(o.autoPair!==!0||d)return;let i=!0;return y().then(n=>{if(i){if(!n){r("ready");return}r("paired"),window.location.replace(o.returnTo??"/")}},()=>{i&&r("ready")}),()=>{i=!1}},[d,o.autoPair,o.returnTo]);const j=s.useMemo(()=>{const i=t.searchParams.get("endpoint");if(i!==null)try{return new URL(i).host}catch{return}},[t]);return e.jsx("main",{className:"nx-surface is-settings","aria-label":"Pairing","data-testid":"pairing-page",children:e.jsxs("div",{className:"nx-settings",children:[e.jsxs("header",{className:"nx-settings-head",children:[e.jsx(L,{}),e.jsx("h1",{children:"Pair this browser"}),e.jsx("p",{className:"nx-settings-sub",children:"Authorize this browser with Codor on this device — not an account login. Keys are minted here and never leave this origin."})]}),d?e.jsx("section",{className:"nx-settings-card nx-pair-offer","data-testid":"pairing-offer-state",children:e.jsxs("div",{className:"nx-pair-grid",children:[e.jsxs("div",{className:"nx-pair-qr-pane",children:[h!==void 0?e.jsx("img",{className:"nx-pair-qr",src:h,alt:"Pairing QR code","data-testid":"pairing-qr"}):e.jsx("p",{role:"status",className:"nx-field-note",children:"Preparing QR…"}),e.jsxs("p",{className:"nx-pair-host",children:[e.jsx(b,{size:15,"aria-hidden":"true"})," ",j??"unknown Codor host"]})]}),e.jsxs("div",{className:"nx-pair-explain",children:[e.jsx("h2",{children:"Browser authority"}),e.jsxs("ul",{className:"nx-pair-points",children:[e.jsxs("li",{children:[e.jsx(l,{size:14,"aria-hidden":"true"})," dual signing + encryption keys"]}),e.jsxs("li",{children:[e.jsx(l,{size:14,"aria-hidden":"true"})," channel keys stored locally"]}),e.jsxs("li",{children:[e.jsx(l,{size:14,"aria-hidden":"true"})," revoke any time from Settings"]})]}),e.jsxs(p,{variant:"primary","data-testid":"confirm-pair-browser",disabled:a==="pairing"||a==="paired",onClick:()=>{r("pairing"),c(void 0),v(t).then(()=>r("paired"),i=>{const n=i instanceof Error&&i.message.includes("signing key does not match");c(n?"Security check failed — this Codor identity does not match the pairing link. Stop here.":"Pairing failed. Check the connection and request a fresh link."),r("failed")})},children:[e.jsx(R,{size:16,"aria-hidden":"true"}),a==="pairing"?"Pairing…":a==="paired"?"Paired":"Pair this browser"]}),a==="paired"&&e.jsxs("p",{role:"status",className:"nx-pair-done",children:[e.jsx(l,{size:14,"aria-hidden":"true"})," Paired — ",e.jsx("a",{href:o.returnTo??"/",children:"open your channels"})]}),a==="failed"&&e.jsx("p",{role:"alert",className:"nx-field-note is-error",children:u})]})]})}):a==="checking"?e.jsxs("section",{className:"nx-settings-card",role:"status","data-testid":"trusted-pairing-progress",children:[e.jsx("h2",{children:"Checking trusted enrollment…"}),e.jsx("p",{className:"nx-settings-sub",children:"Looking for a trusted network identity for this device."})]}):e.jsxs("section",{className:"nx-settings-card","data-testid":"manual-pairing",children:[e.jsx("h2",{children:"Enter a pairing code"}),e.jsx("p",{className:"nx-settings-sub",children:"Mint one from Settings → Devices on a paired device."}),e.jsx(C,{initialCode:f,busy:a==="pairing",error:u,submitLabel:"Continue",onSubmit:i=>{c(void 0),r("pairing"),w(i).then(n=>window.location.assign(n.toString()),()=>{r("failed"),c("Pairing code not found. Request a fresh code and try again.")})}}),e.jsx("p",{className:"nx-field-note",children:"or paste a pairing link"}),e.jsxs("form",{className:"nx-pair-form",onSubmit:i=>{i.preventDefault();try{const n=new URL(g);if(!n.searchParams.has("pairing_token"))throw new Error("not an offer");window.location.assign(n.toString())}catch{c("That doesn’t look like a pairing link.")}},children:[e.jsx("input",{value:g,"aria-label":"Pairing link",placeholder:"https://…/pair?pairing_token=…","data-testid":"pairing-link",onChange:i=>m(i.target.value)}),e.jsx(p,{type:"submit",variant:"secondary","data-testid":"pairing-link-submit",children:"Open link"})]})]}),e.jsxs("p",{className:"nx-settings-note",children:["Already paired elsewhere? Open this page there: ",e.jsx(P,{children:"Settings → Devices → Pair a new device"}),"."]})]})})}function L(){return e.jsx("span",{className:"nx-eyebrow",children:"Device authority"})}export{T as PairingPage};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import{c as y,r as P,a as i,b as T,d as E,j as e,e as R,S as B,M as A,f as U,g as z,B as p,u as S,h as I,i as C,T as q,m as D,k as j,C as _,l as L,n as K,s as O,o as Q,p as $}from"./index-Cxi54Xim.js";import{Q as H,S as W}from"./browser-BWQYNOsD.js";import{A as F}from"./arrow-left-BOpjMuRi.js";import"./react-C8w-UNLI.js";import"./sodium-DtsvMzX9.js";import"./qr-DpynCwP9.js";/**
|
|
2
|
+
* @license lucide-react v1.24.0 - ISC
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the ISC license.
|
|
5
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/const J=[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]],V=y("moon",J);/**
|
|
7
|
+
* @license lucide-react v1.24.0 - ISC
|
|
8
|
+
*
|
|
9
|
+
* This source code is licensed under the ISC license.
|
|
10
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
11
|
+
*/const G=[["rect",{width:"5",height:"5",x:"3",y:"3",rx:"1",key:"1tu5fj"}],["rect",{width:"5",height:"5",x:"16",y:"3",rx:"1",key:"1v8r4q"}],["rect",{width:"5",height:"5",x:"3",y:"16",rx:"1",key:"1x03jg"}],["path",{d:"M21 16h-3a2 2 0 0 0-2 2v3",key:"177gqh"}],["path",{d:"M21 21v.01",key:"ents32"}],["path",{d:"M12 7v3a2 2 0 0 1-2 2H7",key:"8crl2c"}],["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M12 3h.01",key:"n36tog"}],["path",{d:"M12 16v.01",key:"133mhm"}],["path",{d:"M16 12h1",key:"1slzba"}],["path",{d:"M21 12v.01",key:"1lwtk9"}],["path",{d:"M12 21v-1",key:"1880an"}]],X=y("qr-code",G);/**
|
|
12
|
+
* @license lucide-react v1.24.0 - ISC
|
|
13
|
+
*
|
|
14
|
+
* This source code is licensed under the ISC license.
|
|
15
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
16
|
+
*/const Y=[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]],Z=y("sun",Y);function ee(a){const t=a.replace(/-/g,"+").replace(/_/g,"/").padEnd(Math.ceil(a.length/4)*4,"="),n=atob(t);return Uint8Array.from(n,s=>s.charCodeAt(0)).buffer}function se(a,t){if(!a)return!1;const n=new Uint8Array(a),s=new Uint8Array(t);return n.length===s.length&&n.every((r,d)=>r===s[d])}function ae(){return"Notification"in globalThis?Notification.permission:"unsupported"}async function ne(a){if(!("Notification"in globalThis)||!("serviceWorker"in navigator))throw new Error("notifications are not supported in this browser");if((Notification.permission==="granted"?"granted":await Notification.requestPermission())!=="granted")throw new Error("notification permission was not granted");const n=await navigator.serviceWorker.ready,s=ee(a.vapidPublicKey);let r=await n.pushManager.getSubscription();return r&&!se(r.options.applicationServerKey,s)&&(await r.unsubscribe(),r=null),r??(r=await n.pushManager.subscribe({userVisibleOnly:!0,applicationServerKey:s})),await P(a.deviceId,r.toJSON(),{token:a.token}),r}function me(a){const t={room:a.room},n=i.useMemo(()=>()=>T(a.token),[a.token]),s=i.useRef(null);return s.current===null&&(s.current=E({room:t.room,token:a.token,refreshToken:a.refreshToken})),e.jsx("main",{className:"nx-surface is-settings","aria-label":"Settings",children:e.jsxs("div",{className:"nx-settings",children:[e.jsxs("header",{className:"nx-settings-head",children:[e.jsxs("a",{className:"nx-btn is-quiet nx-settings-back",href:`/?room=${encodeURIComponent(t.room)}`,children:[e.jsx(F,{size:15,"aria-hidden":"true"})," Back to the channel"]}),e.jsx("h1",{children:"Settings"})]}),e.jsx(te,{}),e.jsx(ie,{token:n}),e.jsx(re,{connection:s.current}),e.jsx(oe,{token:n}),e.jsx(ce,{})]})})}function te(){const[a,t]=i.useState(R),n=s=>{t(s),O(s),Q(s)};return e.jsxs("section",{className:"nx-settings-card","aria-labelledby":"s-appearance",children:[e.jsx("h2",{id:"s-appearance",children:"Appearance"}),e.jsx("p",{className:"nx-settings-sub",children:"Light is the base paint; dark is a choice or your system’s."}),e.jsx(B,{label:"Theme",value:a,onChange:n,options:[{value:"system",label:"System",testid:"theme-system"},{value:"light",label:"Light",testid:"theme-light"},{value:"dark",label:"Dark",testid:"theme-dark"}]}),e.jsxs("p",{className:"nx-settings-note",children:[a==="system"?e.jsx(A,{size:13,"aria-hidden":"true"}):a==="dark"?e.jsx(V,{size:13,"aria-hidden":"true"}):e.jsx(Z,{size:13,"aria-hidden":"true"})," ","applies immediately on this device"]})]})}function ie(a){const[t,n]=i.useState(),[s,r]=i.useState(),[d,l]=i.useState("idle"),h=ae();i.useEffect(()=>{Promise.all([U({token:a.token()}),z()]).then(([m,x])=>{n(m),r(x.device_id),h==="granted"&&l("on")}).catch(()=>n({enabled:!1}))},[]);const u=(t==null?void 0:t.enabled)===!0&&t.vapid_public_key!==void 0&&h!=="unsupported";return e.jsxs("section",{className:"nx-settings-card","aria-labelledby":"s-notifications",children:[e.jsx("h2",{id:"s-notifications",children:"Notifications"}),e.jsx("p",{className:"nx-settings-sub",children:"Push arrives sealed; this browser opens it with its own keys."}),t===void 0?e.jsx("p",{className:"nx-field-note",children:"Checking push support…"}):u?e.jsx("div",{className:"nx-settings-actions",children:e.jsx(p,{variant:d==="on"?"secondary":"primary",disabled:d==="enabling"||d==="on"||s===void 0,"data-testid":"push-enable",onClick:()=>{s===void 0||t.vapid_public_key===void 0||(l("enabling"),ne({deviceId:s,token:a.token(),vapidPublicKey:t.vapid_public_key}).then(()=>l("on"),()=>l("failed")))},children:d==="on"?"Push is on for this device":d==="enabling"?"Enabling…":"Enable push on this device"})}):e.jsx("p",{className:"nx-field-note","data-testid":"push-unavailable",children:h==="unsupported"?"This browser does not support Web Push.":"Push is not configured on this Codor host — enable a relay first."}),d==="failed"&&e.jsx("p",{className:"nx-field-note is-error",role:"alert",children:"Couldn’t enable push — check the browser permission and try again."})]})}function re(a){const t=a.connection.room(),n=S(o=>I(o,t).room),s=S(o=>o.connected),[r,d]=i.useState(!1),[l,h]=i.useState("3"),[u,m]=i.useState(!1),[x,g]=i.useState("10"),[c,b]=i.useState("30"),[k,N]=i.useState(!1),w=i.useRef(!1);i.useEffect(()=>{w.current||n===void 0||(w.current=!0,d(n.config.turn_brake!==null),h(String(n.config.turn_brake??3)),m(n.config.spend_brake_usd!==null),g(String(n.config.spend_brake_usd??10)),b(String(n.config.stall_minutes)))},[n]);const M=()=>{const o=Number(l),v=Number(x),f=Number(c);a.connection.act({act:"configure_room",turn_brake:r&&Number.isInteger(o)&&o>0?o:null,spend_brake_usd:u&&Number.isFinite(v)&&v>0?v:null,...Number.isInteger(f)&&f>0&&{stall_minutes:f}}),N(!0),setTimeout(()=>N(!1),1800)};return e.jsxs("section",{className:"nx-settings-card","aria-labelledby":"s-brakes",children:[e.jsxs("h2",{id:"s-brakes",children:["Brakes — ",(n==null?void 0:n.name)??"this channel"]}),e.jsx("p",{className:"nx-settings-sub",children:"Pause agent chains for your attention. Off by default; held work waits in the banner."}),e.jsxs("label",{className:"nx-brake-row",children:[e.jsx("input",{type:"checkbox",checked:r,"data-testid":"brake-turn-toggle",onChange:o=>d(o.target.checked)}),e.jsx("span",{className:"nx-brake-label",children:"Hold after"}),e.jsx("input",{className:"nx-brake-value",inputMode:"numeric",value:l,disabled:!r,"data-testid":"brake-turn-value",onChange:o=>h(o.target.value)}),e.jsx("span",{className:"nx-brake-label",children:"agent-to-agent hops"})]}),e.jsxs("label",{className:"nx-brake-row",children:[e.jsx("input",{type:"checkbox",checked:u,"data-testid":"brake-spend-toggle",onChange:o=>m(o.target.checked)}),e.jsx("span",{className:"nx-brake-label",children:"Hold past"}),e.jsx("input",{className:"nx-brake-value",inputMode:"decimal",value:x,disabled:!u,onChange:o=>g(o.target.value)}),e.jsx("span",{className:"nx-brake-label",children:"dollars spent today"})]}),e.jsxs("label",{className:"nx-brake-row",children:[e.jsx("span",{className:"nx-brake-label",children:"Flag a silent agent after"}),e.jsx("input",{className:"nx-brake-value",inputMode:"numeric",value:c,onChange:o=>b(o.target.value)}),e.jsx("span",{className:"nx-brake-label",children:"minutes"})]}),e.jsx("div",{className:"nx-settings-actions",children:e.jsx(p,{variant:"primary",disabled:!s,"data-testid":"brakes-apply",onClick:M,children:k?"Applied ✓":"Apply brakes"})})]})}function oe(a){const[t,n]=i.useState(),[s,r]=i.useState(),[d,l]=i.useState(),[h,u]=i.useState(),[m,x]=i.useState(),g=()=>{$({token:a.token()}).then(n).catch(()=>x("Couldn’t load paired devices."))};return i.useEffect(g,[]),i.useEffect(()=>{if(!s){l(void 0);return}const c=new URL("/pair",s.endpoint);c.searchParams.set("endpoint",s.endpoint),c.searchParams.set("pairing_token",s.pairing_token),c.searchParams.set("switchboard_sign_pub",s.switchboard_sign_pub);let b=!0;return H.toDataURL(c.toString(),{margin:4,scale:4}).then(k=>{b&&l(k)}),()=>{b=!1}},[s]),e.jsxs("section",{className:"nx-settings-card","aria-labelledby":"s-devices",children:[e.jsx("h2",{id:"s-devices",children:"Devices"}),e.jsx("p",{className:"nx-settings-sub",children:"Browsers paired to this Codor host."}),m!==void 0&&e.jsx("p",{className:"nx-field-note is-error",children:m}),t!==void 0&&e.jsxs("ul",{className:"nx-device-list","data-testid":"device-list",children:[t.length===0&&e.jsx("li",{className:"nx-field-note",children:"No paired devices yet."}),t.map(c=>e.jsxs("li",{className:"nx-device-row","data-testid":`device-${c.device_id}`,children:[e.jsxs("span",{className:"nx-device-id",children:[e.jsx("strong",{children:c.label??c.device_id.slice(0,12)}),e.jsxs("span",{className:"nx-field-note",children:["paired ",C(c.paired_at),c.push_enabled?" · push on":""]})]}),e.jsxs(p,{variant:"danger","data-testid":`device-${c.device_id}-revoke`,onClick:()=>u(c),children:[e.jsx(q,{size:14,"aria-hidden":"true"})," Revoke"]})]},c.device_id))]}),e.jsx("div",{className:"nx-settings-actions",children:e.jsxs(p,{variant:"secondary","data-testid":"pair-new-device",onClick:()=>{D(window.location.origin,{token:a.token()}).then(r).catch(()=>x("Couldn’t mint a pairing offer."))},children:[e.jsx(X,{size:15,"aria-hidden":"true"})," Pair a new device"]})}),s!==void 0&&e.jsxs(j,{label:"Pair a new device",onClose:()=>r(void 0),testid:"pairing-offer",children:[e.jsx("h2",{className:"nx-dialog-title",children:"Pair a new device"}),e.jsxs("p",{className:"nx-dialog-body",children:["Scan from the new device, or type the code at ",e.jsxs(_,{children:[s.endpoint,"/pair"]}),"."]}),d!==void 0&&e.jsx("img",{className:"nx-pair-qr",src:d,alt:"Pairing QR code"}),e.jsx("p",{className:"nx-pair-code","data-testid":"pairing-code",children:e.jsx(_,{children:s.pairing_code})}),e.jsxs("p",{className:"nx-field-note",children:["offer expires ",C(s.expires_at)]})]}),h!==void 0&&e.jsxs(j,{label:"Revoke device",onClose:()=>u(void 0),alert:!0,testid:"revoke-confirm",children:[e.jsxs("h2",{className:"nx-dialog-title",children:["Revoke ",h.label??"this device","?"]}),e.jsx("p",{className:"nx-dialog-body",children:"It loses access immediately and the room keys rotate away from it."}),e.jsxs("div",{className:"nx-dialog-actions",children:[e.jsx(p,{variant:"quiet",onClick:()=>u(void 0),children:"Cancel"}),e.jsx(p,{variant:"danger","data-testid":"revoke-go",onClick:()=>{L(h.device_id,{token:a.token()}).then(()=>{u(void 0),g()}).catch(()=>x("Revoke failed."))},children:"Revoke device"})]})]})]})}function ce(){const[a,t]=i.useState(!1),[n,s]=i.useState(!1);return n?e.jsxs("section",{className:"nx-settings-card","data-testid":"browser-unpaired",children:[e.jsxs("h2",{children:[e.jsx(W,{size:16,"aria-hidden":"true"})," This browser is unpaired"]}),e.jsx("p",{className:"nx-settings-sub",children:"Local keys and cached state are gone. Pair again from another device’s settings."})]}):e.jsxs("section",{className:"nx-settings-card","aria-labelledby":"s-privacy",children:[e.jsx("h2",{id:"s-privacy",children:"Privacy"}),e.jsx("p",{className:"nx-settings-sub",children:"Unpairing deletes this browser’s keys and local state."}),e.jsx("div",{className:"nx-settings-actions",children:e.jsx(p,{variant:"danger","data-testid":"unpair-browser",onClick:()=>t(!0),children:"Unpair this browser"})}),a&&e.jsxs(j,{label:"Unpair this browser",onClose:()=>t(!1),alert:!0,testid:"unpair-confirm",children:[e.jsx("h2",{className:"nx-dialog-title",children:"Unpair this browser?"}),e.jsx("p",{className:"nx-dialog-body",children:"It stops syncing immediately; other devices are untouched."}),e.jsxs("div",{className:"nx-dialog-actions",children:[e.jsx(p,{variant:"quiet",onClick:()=>t(!1),children:"Cancel"}),e.jsx(p,{variant:"danger","data-testid":"unpair-go",onClick:()=>{K().finally(()=>{t(!1),s(!0)})},children:"Unpair"})]})]})]})}export{me as SettingsPage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as a}from"./index-Cxi54Xim.js";import"./react-C8w-UNLI.js";import"./sodium-DtsvMzX9.js";function i(){return a.jsx("main",{className:"nx-upgrade","data-testid":"startup-unavailable",children:a.jsxs("section",{className:"nx-upgrade-card","aria-labelledby":"startup-unavailable-title",children:[a.jsx("p",{className:"nx-eyebrow",children:"Offline"}),a.jsx("h1",{id:"startup-unavailable-title",children:"Can’t reach your channels"}),a.jsx("p",{children:"This device is paired, but the channel list could not be loaded and it has no recent channel to reopen. Reconnect and try again."}),a.jsx("button",{type:"button",className:"nx-btn is-primary","data-testid":"startup-retry",onClick:()=>{window.location.reload()},children:"Try again"})]})})}export{i as StartupUnavailable};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import{c as o}from"./index-Cxi54Xim.js";/**
|
|
2
|
+
* @license lucide-react v1.24.0 - ISC
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the ISC license.
|
|
5
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/const e=[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]],r=o("arrow-left",e);export{r as A};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import{c as o}from"./index-Cxi54Xim.js";import{g as e}from"./react-C8w-UNLI.js";import{r}from"./qr-DpynCwP9.js";/**
|
|
2
|
+
* @license lucide-react v1.24.0 - ISC
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the ISC license.
|
|
5
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/const a=[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],d=o("shield-check",a);var t=r();const i=e(t);export{i as Q,d as S};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function Ct(t,n){var e,r=1;t==null&&(t=0),n==null&&(n=0);function i(){var o,s=e.length,c,_=0,a=0;for(o=0;o<s;++o)c=e[o],_+=c.x,a+=c.y;for(_=(_/s-t)*r,a=(a/s-n)*r,o=0;o<s;++o)c=e[o],c.x-=_,c.y-=a}return i.initialize=function(o){e=o},i.x=function(o){return arguments.length?(t=+o,i):t},i.y=function(o){return arguments.length?(n=+o,i):n},i.strength=function(o){return arguments.length?(r=+o,i):r},i}function ot(t){const n=+this._x.call(null,t),e=+this._y.call(null,t);return q(this.cover(n,e),n,e,t)}function q(t,n,e,r){if(isNaN(n)||isNaN(e))return t;var i,o=t._root,s={data:r},c=t._x0,_=t._y0,a=t._x1,y=t._y1,w,x,h,p,u,f,l,v;if(!o)return t._root=s,t;for(;o.length;)if((u=n>=(w=(c+a)/2))?c=w:a=w,(f=e>=(x=(_+y)/2))?_=x:y=x,i=o,!(o=o[l=f<<1|u]))return i[l]=s,t;if(h=+t._x.call(null,o.data),p=+t._y.call(null,o.data),n===h&&e===p)return s.next=o,i?i[l]=s:t._root=s,t;do i=i?i[l]=new Array(4):t._root=new Array(4),(u=n>=(w=(c+a)/2))?c=w:a=w,(f=e>=(x=(_+y)/2))?_=x:y=x;while((l=f<<1|u)===(v=(p>=x)<<1|h>=w));return i[v]=o,i[l]=s,t}function ft(t){var n,e,r=t.length,i,o,s=new Array(r),c=new Array(r),_=1/0,a=1/0,y=-1/0,w=-1/0;for(e=0;e<r;++e)isNaN(i=+this._x.call(null,n=t[e]))||isNaN(o=+this._y.call(null,n))||(s[e]=i,c[e]=o,i<_&&(_=i),i>y&&(y=i),o<a&&(a=o),o>w&&(w=o));if(_>y||a>w)return this;for(this.cover(_,a).cover(y,w),e=0;e<r;++e)q(this,s[e],c[e],t[e]);return this}function at(t,n){if(isNaN(t=+t)||isNaN(n=+n))return this;var e=this._x0,r=this._y0,i=this._x1,o=this._y1;if(isNaN(e))i=(e=Math.floor(t))+1,o=(r=Math.floor(n))+1;else{for(var s=i-e||1,c=this._root,_,a;e>t||t>=i||r>n||n>=o;)switch(a=(n<r)<<1|t<e,_=new Array(4),_[a]=c,c=_,s*=2,a){case 0:i=e+s,o=r+s;break;case 1:e=i-s,o=r+s;break;case 2:i=e+s,r=o-s;break;case 3:e=i-s,r=o-s;break}this._root&&this._root.length&&(this._root=c)}return this._x0=e,this._y0=r,this._x1=i,this._y1=o,this}function ut(){var t=[];return this.visit(function(n){if(!n.length)do t.push(n.data);while(n=n.next)}),t}function st(t){return arguments.length?this.cover(+t[0][0],+t[0][1]).cover(+t[1][0],+t[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]}function I(t,n,e,r,i){this.node=t,this.x0=n,this.y0=e,this.x1=r,this.y1=i}function ht(t,n,e){var r,i=this._x0,o=this._y0,s,c,_,a,y=this._x1,w=this._y1,x=[],h=this._root,p,u;for(h&&x.push(new I(h,i,o,y,w)),e==null?e=1/0:(i=t-e,o=n-e,y=t+e,w=n+e,e*=e);p=x.pop();)if(!(!(h=p.node)||(s=p.x0)>y||(c=p.y0)>w||(_=p.x1)<i||(a=p.y1)<o))if(h.length){var f=(s+_)/2,l=(c+a)/2;x.push(new I(h[3],f,l,_,a),new I(h[2],s,l,f,a),new I(h[1],f,c,_,l),new I(h[0],s,c,f,l)),(u=(n>=l)<<1|t>=f)&&(p=x[x.length-1],x[x.length-1]=x[x.length-1-u],x[x.length-1-u]=p)}else{var v=t-+this._x.call(null,h.data),m=n-+this._y.call(null,h.data),g=v*v+m*m;if(g<e){var d=Math.sqrt(e=g);i=t-d,o=n-d,y=t+d,w=n+d,r=h.data}}return r}function lt(t){if(isNaN(y=+this._x.call(null,t))||isNaN(w=+this._y.call(null,t)))return this;var n,e=this._root,r,i,o,s=this._x0,c=this._y0,_=this._x1,a=this._y1,y,w,x,h,p,u,f,l;if(!e)return this;if(e.length)for(;;){if((p=y>=(x=(s+_)/2))?s=x:_=x,(u=w>=(h=(c+a)/2))?c=h:a=h,n=e,!(e=e[f=u<<1|p]))return this;if(!e.length)break;(n[f+1&3]||n[f+2&3]||n[f+3&3])&&(r=n,l=f)}for(;e.data!==t;)if(i=e,!(e=e.next))return this;return(o=e.next)&&delete e.next,i?(o?i.next=o:delete i.next,this):n?(o?n[f]=o:delete n[f],(e=n[0]||n[1]||n[2]||n[3])&&e===(n[3]||n[2]||n[1]||n[0])&&!e.length&&(r?r[l]=e:this._root=e),this):(this._root=o,this)}function ct(t){for(var n=0,e=t.length;n<e;++n)this.remove(t[n]);return this}function vt(){return this._root}function gt(){var t=0;return this.visit(function(n){if(!n.length)do++t;while(n=n.next)}),t}function yt(t){var n=[],e,r=this._root,i,o,s,c,_;for(r&&n.push(new I(r,this._x0,this._y0,this._x1,this._y1));e=n.pop();)if(!t(r=e.node,o=e.x0,s=e.y0,c=e.x1,_=e.y1)&&r.length){var a=(o+c)/2,y=(s+_)/2;(i=r[3])&&n.push(new I(i,a,y,c,_)),(i=r[2])&&n.push(new I(i,o,y,a,_)),(i=r[1])&&n.push(new I(i,a,s,c,y)),(i=r[0])&&n.push(new I(i,o,s,a,y))}return this}function xt(t){var n=[],e=[],r;for(this._root&&n.push(new I(this._root,this._x0,this._y0,this._x1,this._y1));r=n.pop();){var i=r.node;if(i.length){var o,s=r.x0,c=r.y0,_=r.x1,a=r.y1,y=(s+_)/2,w=(c+a)/2;(o=i[0])&&n.push(new I(o,s,c,y,w)),(o=i[1])&&n.push(new I(o,y,c,_,w)),(o=i[2])&&n.push(new I(o,s,w,y,a)),(o=i[3])&&n.push(new I(o,y,w,_,a))}e.push(r)}for(;r=e.pop();)t(r.node,r.x0,r.y0,r.x1,r.y1);return this}function _t(t){return t[0]}function pt(t){return arguments.length?(this._x=t,this):this._x}function wt(t){return t[1]}function mt(t){return arguments.length?(this._y=t,this):this._y}function G(t,n,e){var r=new J(n??_t,e??wt,NaN,NaN,NaN,NaN);return t==null?r:r.addAll(t)}function J(t,n,e,r,i,o){this._x=t,this._y=n,this._x0=e,this._y0=r,this._x1=i,this._y1=o,this._root=void 0}function K(t){for(var n={data:t.data},e=n;t=t.next;)e=e.next={data:t.data};return n}var z=G.prototype=J.prototype;z.copy=function(){var t=new J(this._x,this._y,this._x0,this._y0,this._x1,this._y1),n=this._root,e,r;if(!n)return t;if(!n.length)return t._root=K(n),t;for(e=[{source:n,target:t._root=new Array(4)}];n=e.pop();)for(var i=0;i<4;++i)(r=n.source[i])&&(r.length?e.push({source:r,target:n.target[i]=new Array(4)}):n.target[i]=K(r));return t};z.add=ot;z.addAll=ft;z.cover=at;z.data=ut;z.extent=st;z.find=ht;z.remove=lt;z.removeAll=ct;z.root=vt;z.size=gt;z.visit=yt;z.visitAfter=xt;z.x=pt;z.y=mt;function P(t){return function(){return t}}function F(t){return(t()-.5)*1e-6}function dt(t){return t.x+t.vx}function Nt(t){return t.y+t.vy}function Lt(t){var n,e,r,i=1,o=1;typeof t!="function"&&(t=P(t==null?1:+t));function s(){for(var a,y=n.length,w,x,h,p,u,f,l=0;l<o;++l)for(w=G(n,dt,Nt).visitAfter(c),a=0;a<y;++a)x=n[a],u=e[x.index],f=u*u,h=x.x+x.vx,p=x.y+x.vy,w.visit(v);function v(m,g,d,A,E){var N=m.data,T=m.r,M=u+T;if(N){if(N.index>x.index){var j=h-N.x-N.vx,D=p-N.y-N.vy,b=j*j+D*D;b<M*M&&(j===0&&(j=F(r),b+=j*j),D===0&&(D=F(r),b+=D*D),b=(M-(b=Math.sqrt(b)))/b*i,x.vx+=(j*=b)*(M=(T*=T)/(f+T)),x.vy+=(D*=b)*M,N.vx-=j*(M=1-M),N.vy-=D*M)}return}return g>h+M||A<h-M||d>p+M||E<p-M}}function c(a){if(a.data)return a.r=e[a.data.index];for(var y=a.r=0;y<4;++y)a[y]&&a[y].r>a.r&&(a.r=a[y].r)}function _(){if(n){var a,y=n.length,w;for(e=new Array(y),a=0;a<y;++a)w=n[a],e[w.index]=+t(w,a,n)}}return s.initialize=function(a,y){n=a,r=y,_()},s.iterations=function(a){return arguments.length?(o=+a,s):o},s.strength=function(a){return arguments.length?(i=+a,s):i},s.radius=function(a){return arguments.length?(t=typeof a=="function"?a:P(+a),_(),s):t},s}function Mt(t){return t.index}function U(t,n){var e=t.get(n);if(!e)throw new Error("node not found: "+n);return e}function Qt(t){var n=Mt,e=w,r,i=P(30),o,s,c,_,a,y=1;t==null&&(t=[]);function w(f){return 1/Math.min(c[f.source.index],c[f.target.index])}function x(f){for(var l=0,v=t.length;l<y;++l)for(var m=0,g,d,A,E,N,T,M;m<v;++m)g=t[m],d=g.source,A=g.target,E=A.x+A.vx-d.x-d.vx||F(a),N=A.y+A.vy-d.y-d.vy||F(a),T=Math.sqrt(E*E+N*N),T=(T-o[m])/T*f*r[m],E*=T,N*=T,A.vx-=E*(M=_[m]),A.vy-=N*M,d.vx+=E*(M=1-M),d.vy+=N*M}function h(){if(s){var f,l=s.length,v=t.length,m=new Map(s.map((d,A)=>[n(d,A,s),d])),g;for(f=0,c=new Array(l);f<v;++f)g=t[f],g.index=f,typeof g.source!="object"&&(g.source=U(m,g.source)),typeof g.target!="object"&&(g.target=U(m,g.target)),c[g.source.index]=(c[g.source.index]||0)+1,c[g.target.index]=(c[g.target.index]||0)+1;for(f=0,_=new Array(v);f<v;++f)g=t[f],_[f]=c[g.source.index]/(c[g.source.index]+c[g.target.index]);r=new Array(v),p(),o=new Array(v),u()}}function p(){if(s)for(var f=0,l=t.length;f<l;++f)r[f]=+e(t[f],f,t)}function u(){if(s)for(var f=0,l=t.length;f<l;++f)o[f]=+i(t[f],f,t)}return x.initialize=function(f,l){s=f,a=l,h()},x.links=function(f){return arguments.length?(t=f,h(),x):t},x.id=function(f){return arguments.length?(n=f,x):n},x.iterations=function(f){return arguments.length?(y=+f,x):y},x.strength=function(f){return arguments.length?(e=typeof f=="function"?f:P(+f),p(),x):e},x.distance=function(f){return arguments.length?(i=typeof f=="function"?f:P(+f),u(),x):i},x}var At={value:()=>{}};function tt(){for(var t=0,n=arguments.length,e={},r;t<n;++t){if(!(r=arguments[t]+"")||r in e||/[\s.]/.test(r))throw new Error("illegal type: "+r);e[r]=[]}return new Q(e)}function Q(t){this._=t}function It(t,n){return t.trim().split(/^|\s+/).map(function(e){var r="",i=e.indexOf(".");if(i>=0&&(r=e.slice(i+1),e=e.slice(0,i)),e&&!n.hasOwnProperty(e))throw new Error("unknown type: "+e);return{type:e,name:r}})}Q.prototype=tt.prototype={constructor:Q,on:function(t,n){var e=this._,r=It(t+"",e),i,o=-1,s=r.length;if(arguments.length<2){for(;++o<s;)if((i=(t=r[o]).type)&&(i=zt(e[i],t.name)))return i;return}if(n!=null&&typeof n!="function")throw new Error("invalid callback: "+n);for(;++o<s;)if(i=(t=r[o]).type)e[i]=V(e[i],t.name,n);else if(n==null)for(i in e)e[i]=V(e[i],t.name,null);return this},copy:function(){var t={},n=this._;for(var e in n)t[e]=n[e].slice();return new Q(t)},call:function(t,n){if((i=arguments.length-2)>0)for(var e=new Array(i),r=0,i,o;r<i;++r)e[r]=arguments[r+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(o=this._[t],r=0,i=o.length;r<i;++r)o[r].value.apply(n,e)},apply:function(t,n,e){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var r=this._[t],i=0,o=r.length;i<o;++i)r[i].value.apply(n,e)}};function zt(t,n){for(var e=0,r=t.length,i;e<r;++e)if((i=t[e]).name===n)return i.value}function V(t,n,e){for(var r=0,i=t.length;r<i;++r)if(t[r].name===n){t[r]=At,t=t.slice(0,r).concat(t.slice(r+1));break}return e!=null&&t.push({name:n,value:e}),t}var O=0,B=0,k=0,nt=1e3,$,C,H=0,S=0,R=0,L=typeof performance=="object"&&performance.now?performance:Date,et=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function rt(){return S||(et(Et),S=L.now()+R)}function Et(){S=0}function X(){this._call=this._time=this._next=null}X.prototype=it.prototype={constructor:X,restart:function(t,n,e){if(typeof t!="function")throw new TypeError("callback is not a function");e=(e==null?rt():+e)+(n==null?0:+n),!this._next&&C!==this&&(C?C._next=this:$=this,C=this),this._call=t,this._time=e,Y()},stop:function(){this._call&&(this._call=null,this._time=1/0,Y())}};function it(t,n,e){var r=new X;return r.restart(t,n,e),r}function Tt(){rt(),++O;for(var t=$,n;t;)(n=S-t._time)>=0&&t._call.call(void 0,n),t=t._next;--O}function W(){S=(H=L.now())+R,O=B=0;try{Tt()}finally{O=0,jt(),S=0}}function bt(){var t=L.now(),n=t-H;n>nt&&(R-=n,H=t)}function jt(){for(var t,n=$,e,r=1/0;n;)n._call?(r>n._time&&(r=n._time),t=n,n=n._next):(e=n._next,n._next=null,n=t?t._next=e:$=e);C=t,Y(r)}function Y(t){if(!O){B&&(B=clearTimeout(B));var n=t-S;n>24?(t<1/0&&(B=setTimeout(W,t-L.now()-R)),k&&(k=clearInterval(k))):(k||(H=L.now(),k=setInterval(bt,nt)),O=1,et(W))}}const Dt=1664525,Ft=1013904223,Z=4294967296;function Pt(){let t=1;return()=>(t=(Dt*t+Ft)%Z)/Z}function St(t){return t.x}function Ot(t){return t.y}var kt=10,Bt=Math.PI*(3-Math.sqrt(5));function $t(t){var n,e=1,r=.001,i=1-Math.pow(r,1/300),o=0,s=.6,c=new Map,_=it(w),a=tt("tick","end"),y=Pt();t==null&&(t=[]);function w(){x(),a.call("tick",n),e<r&&(_.stop(),a.call("end",n))}function x(u){var f,l=t.length,v;u===void 0&&(u=1);for(var m=0;m<u;++m)for(e+=(o-e)*i,c.forEach(function(g){g(e)}),f=0;f<l;++f)v=t[f],v.fx==null?v.x+=v.vx*=s:(v.x=v.fx,v.vx=0),v.fy==null?v.y+=v.vy*=s:(v.y=v.fy,v.vy=0);return n}function h(){for(var u=0,f=t.length,l;u<f;++u){if(l=t[u],l.index=u,l.fx!=null&&(l.x=l.fx),l.fy!=null&&(l.y=l.fy),isNaN(l.x)||isNaN(l.y)){var v=kt*Math.sqrt(.5+u),m=u*Bt;l.x=v*Math.cos(m),l.y=v*Math.sin(m)}(isNaN(l.vx)||isNaN(l.vy))&&(l.vx=l.vy=0)}}function p(u){return u.initialize&&u.initialize(t,y),u}return h(),n={tick:x,restart:function(){return _.restart(w),n},stop:function(){return _.stop(),n},nodes:function(u){return arguments.length?(t=u,h(),c.forEach(p),n):t},alpha:function(u){return arguments.length?(e=+u,n):e},alphaMin:function(u){return arguments.length?(r=+u,n):r},alphaDecay:function(u){return arguments.length?(i=+u,n):+i},alphaTarget:function(u){return arguments.length?(o=+u,n):o},velocityDecay:function(u){return arguments.length?(s=1-u,n):1-s},randomSource:function(u){return arguments.length?(y=u,c.forEach(p),n):y},force:function(u,f){return arguments.length>1?(f==null?c.delete(u):c.set(u,p(f)),n):c.get(u)},find:function(u,f,l){var v=0,m=t.length,g,d,A,E,N;for(l==null?l=1/0:l*=l,v=0;v<m;++v)E=t[v],g=u-E.x,d=f-E.y,A=g*g+d*d,A<l&&(N=E,l=A);return N},on:function(u,f){return arguments.length>1?(a.on(u,f),n):a.on(u)}}}function Ht(){var t,n,e,r,i=P(-30),o,s=1,c=1/0,_=.81;function a(h){var p,u=t.length,f=G(t,St,Ot).visitAfter(w);for(r=h,p=0;p<u;++p)n=t[p],f.visit(x)}function y(){if(t){var h,p=t.length,u;for(o=new Array(p),h=0;h<p;++h)u=t[h],o[u.index]=+i(u,h,t)}}function w(h){var p=0,u,f,l=0,v,m,g;if(h.length){for(v=m=g=0;g<4;++g)(u=h[g])&&(f=Math.abs(u.value))&&(p+=u.value,l+=f,v+=f*u.x,m+=f*u.y);h.x=v/l,h.y=m/l}else{u=h,u.x=u.data.x,u.y=u.data.y;do p+=o[u.data.index];while(u=u.next)}h.value=p}function x(h,p,u,f){if(!h.value)return!0;var l=h.x-n.x,v=h.y-n.y,m=f-p,g=l*l+v*v;if(m*m/_<g)return g<c&&(l===0&&(l=F(e),g+=l*l),v===0&&(v=F(e),g+=v*v),g<s&&(g=Math.sqrt(s*g)),n.vx+=l*h.value*r/g,n.vy+=v*h.value*r/g),!0;if(h.length||g>=c)return;(h.data!==n||h.next)&&(l===0&&(l=F(e),g+=l*l),v===0&&(v=F(e),g+=v*v),g<s&&(g=Math.sqrt(s*g)));do h.data!==n&&(m=o[h.data.index]*r/g,n.vx+=l*m,n.vy+=v*m);while(h=h.next)}return a.initialize=function(h,p){t=h,e=p,y()},a.strength=function(h){return arguments.length?(i=typeof h=="function"?h:P(+h),y(),a):i},a.distanceMin=function(h){return arguments.length?(s=h*h,a):Math.sqrt(s)},a.distanceMax=function(h){return arguments.length?(c=h*h,a):Math.sqrt(c)},a.theta=function(h){return arguments.length?(_=h*h,a):Math.sqrt(_)},a}export{Qt as a,Ht as b,Ct as c,Lt as d,$t as f};
|